From bd4ee6d4b18dfa1de402344df6d0cb79f33336ec Mon Sep 17 00:00:00 2001 From: MurrayGroves Date: Thu, 22 Oct 2026 12:27:24 +0100 Subject: [PATCH 01/33] Add integration test which simply creates a collector and scrapes it once --- .gitignore | 3 +- collector/redfish_test.go | 19 + collector/test_helpers.go | 50 ++ common/context.go | 17 +- go.mod | 59 +- go.sum | 612 ++++-------------- main.go | 15 +- test_dependencies/Dockerfile | 12 + .../AccountService/Accounts/1/index.json | 19 + .../AccountService/Accounts/index.json | 13 + .../AccountService/Roles/Admin/index.json | 21 + .../AccountService/Roles/Operator/index.json | 16 + .../Roles/ReadOnlyUser/index.json | 14 + .../AccountService/Roles/index.json | 19 + .../DSP2043-server/AccountService/index.json | 25 + .../Chassis/1U/Power/index.json | 143 ++++ .../Chassis/1U/Thermal/index.json | 160 +++++ .../DSP2043-server/Chassis/1U/index.json | 44 ++ .../mockups/DSP2043-server/Chassis/index.json | 13 + .../EventService/Subscriptions/1/index.json | 14 + .../EventService/Subscriptions/index.json | 12 + .../DSP2043-server/EventService/index.json | 39 ++ .../BMC/LogServices/Log/Entries/1/index.json | 27 + .../BMC/LogServices/Log/Entries/index.json | 36 ++ .../Managers/BMC/LogServices/Log/index.json | 27 + .../Managers/BMC/LogServices/index.json | 14 + .../Managers/BMC/NICs/Dedicated/SD/index.json | 80 +++ .../Managers/BMC/NICs/Dedicated/index.json | 79 +++ .../Managers/BMC/NICs/index.json | 15 + .../Managers/BMC/NetworkProtocol/index.json | 55 ++ .../BMC/SerialInterfaces/TTY0/index.json | 22 + .../Managers/BMC/SerialInterfaces/index.json | 15 + .../Managers/BMC/VirtualMedia/CD1/index.json | 17 + .../BMC/VirtualMedia/Floppy1/index.json | 17 + .../Managers/BMC/VirtualMedia/index.json | 18 + .../DSP2043-server/Managers/BMC/index.json | 86 +++ .../DSP2043-server/Managers/index.json | 14 + .../Sessions/1234567890ABCDEF/index.json | 11 + .../SessionService/Sessions/index.json | 12 + .../DSP2043-server/SessionService/index.json | 18 + .../437XR1138R2/BIOS/Settings/index.json | 21 + .../Systems/437XR1138R2/BIOS/index.json | 43 ++ .../12446A3B0411/VLANs/1/index.json | 15 + .../12446A3B0411/VLANs/2/index.json | 15 + .../12446A3B0411/VLANs/index.json | 16 + .../12446A3B0411/index.json | 42 ++ .../12446A3B8890/index.json | 43 ++ .../437XR1138R2/EthernetInterfaces/index.json | 18 + .../LogServices/Log1/Entries/1/index.json | 28 + .../LogServices/Log1/Entries/2/index.json | 28 + .../LogServices/Log1/Entries/index.json | 64 ++ .../437XR1138R2/LogServices/Log1/index.json | 26 + .../437XR1138R2/LogServices/index.json | 15 + .../437XR1138R2/Memory/DIMM1/index.json | 30 + .../437XR1138R2/Memory/DIMM2/index.json | 30 + .../437XR1138R2/Memory/DIMM3/index.json | 30 + .../437XR1138R2/Memory/DIMM4/index.json | 17 + .../Systems/437XR1138R2/Memory/index.json | 17 + .../437XR1138R2/Processors/CPU1/index.json | 28 + .../437XR1138R2/Processors/CPU2/index.json | 12 + .../Systems/437XR1138R2/Processors/index.json | 16 + .../437XR1138R2/SimpleStorage/1/index.json | 49 ++ .../437XR1138R2/SimpleStorage/index.json | 13 + .../Systems/437XR1138R2/index.json | 134 ++++ .../mockups/DSP2043-server/Systems/index.json | 13 + .../TaskService/Tasks/545/index.json | 25 + .../TaskService/Tasks/index.json | 12 + .../DSP2043-server/TaskService/index.json | 20 + .../mockups/DSP2043-server/index.json | 37 ++ test_dependencies/mockups/README2043.html | 502 ++++++++++++++ .../proposed-ocp-profile/$metadata/index.xml | 147 +++++ .../AccountService/Accounts/index.json | 19 + .../AccountService/Accounts/jane/index.json | 19 + .../AccountService/Accounts/john/index.json | 19 + .../AccountService/Accounts/root/index.json | 19 + .../AccountService/Roles/Admin/index.json | 17 + .../AccountService/Roles/Operator/index.json | 15 + .../Roles/ReadOnlyUser/index.json | 13 + .../AccountService/Roles/index.json | 19 + .../AccountService/index.json | 25 + .../Chassis/1/Power/index.json | 28 + .../Chassis/1/Thermal/index.json | 150 +++++ .../proposed-ocp-profile/Chassis/1/index.json | 46 ++ .../proposed-ocp-profile/Chassis/index.json | 13 + .../bmc/EthernetInterfaces/eth0/index.json | 60 ++ .../bmc/EthernetInterfaces/index.json | 15 + .../Managers/bmc/NetworkProtocol/index.json | 47 ++ .../Managers/bmc/index.json | 53 ++ .../proposed-ocp-profile/Managers/index.json | 13 + .../mockups/proposed-ocp-profile/README.md | 39 ++ .../mockups/proposed-ocp-profile/README.txt | 38 ++ .../Sessions/1234567890ABCDEF/index.json | 11 + .../SessionService/Sessions/index.json | 13 + .../SessionService/index.json | 18 + .../1/LogServices/SEL/Entries/1/index.json | 28 + .../1/LogServices/SEL/Entries/2/index.json | 28 + .../1/LogServices/SEL/Entries/index.json | 64 ++ .../Systems/1/LogServices/SEL/index.json | 27 + .../Systems/1/LogServices/index.json | 15 + .../proposed-ocp-profile/Systems/1/index.json | 70 ++ .../proposed-ocp-profile/Systems/index.json | 13 + .../proposed-ocp-profile/explorer_config.json | 35 + .../mockups/proposed-ocp-profile/index.json | 31 + .../proposed-ocp-profile/odata/index.json | 56 ++ .../AccountService/Accounts/1/index.json | 19 + .../AccountService/Accounts/index.json | 13 + .../AccountService/Roles/Admin/index.json | 17 + .../AccountService/Roles/Operator/index.json | 15 + .../Roles/ReadOnlyUser/index.json | 13 + .../AccountService/Roles/index.json | 19 + .../public-bladed/AccountService/index.json | 25 + .../Chassis/Blade1/Thermal/index.json | 53 ++ .../public-bladed/Chassis/Blade1/index.json | 48 ++ .../Chassis/Blade2/Thermal/index.json | 53 ++ .../public-bladed/Chassis/Blade2/index.json | 48 ++ .../Chassis/Blade3/Thermal/index.json | 53 ++ .../public-bladed/Chassis/Blade3/index.json | 48 ++ .../Chassis/Blade4/Thermal/index.json | 53 ++ .../public-bladed/Chassis/Blade4/index.json | 48 ++ .../Chassis/MultiBladeEncl/Power/index.json | 160 +++++ .../Chassis/MultiBladeEncl/Thermal/index.json | 281 ++++++++ .../Chassis/MultiBladeEncl/index.json | 48 ++ .../mockups/public-bladed/Chassis/index.json | 25 + .../EventService/Subscriptions/1/index.json | 14 + .../EventService/Subscriptions/index.json | 13 + .../public-bladed/EventService/index.json | 37 ++ .../Blade1BMC/EthernetInterfaces/1/index.json | 22 + .../Blade1BMC/EthernetInterfaces/index.json | 13 + .../LogServices/Log/Entries/index.json | 9 + .../Blade1BMC/LogServices/Log/index.json | 25 + .../Managers/Blade1BMC/LogServices/index.json | 13 + .../Managers/Blade1BMC/index.json | 40 ++ .../Blade2BMC/EthernetInterfaces/1/index.json | 22 + .../Blade2BMC/EthernetInterfaces/index.json | 13 + .../LogServices/Log/Entries/index.json | 9 + .../Blade2BMC/LogServices/Log/index.json | 25 + .../Managers/Blade2BMC/LogServices/index.json | 13 + .../Managers/Blade2BMC/index.json | 40 ++ .../Blade3BMC/EthernetInterfaces/1/index.json | 22 + .../Blade3BMC/EthernetInterfaces/index.json | 13 + .../LogServices/Log/Entries/1/index.json | 18 + .../LogServices/Log/Entries/index.json | 26 + .../Blade3BMC/LogServices/Log/index.json | 25 + .../Managers/Blade3BMC/LogServices/index.json | 13 + .../Managers/Blade3BMC/index.json | 40 ++ .../Blade4BMC/EthernetInterfaces/1/index.json | 22 + .../Blade4BMC/EthernetInterfaces/index.json | 13 + .../LogServices/Log/Entries/index.json | 9 + .../Blade4BMC/LogServices/Log/index.json | 25 + .../Managers/Blade4BMC/LogServices/index.json | 13 + .../Managers/Blade4BMC/index.json | 40 ++ .../EthernetInterfaces/1/index.json | 22 + .../EthernetInterfaces/index.json | 13 + .../LogServices/Log/Entries/1/index.json | 18 + .../LogServices/Log/Entries/index.json | 26 + .../MultiBladeBMC/LogServices/Log/index.json | 25 + .../MultiBladeBMC/LogServices/index.json | 13 + .../Managers/MultiBladeBMC/index.json | 28 + .../mockups/public-bladed/Managers/index.json | 25 + .../Sessions/12623963E803C264/index.json | 10 + .../SessionService/Sessions/index.json | 13 + .../public-bladed/SessionService/index.json | 18 + .../529QB9450R6/Processors/CPU/index.json | 19 + .../Systems/529QB9450R6/Processors/index.json | 13 + .../529QB9450R6/SimpleStorage/1/index.json | 33 + .../529QB9450R6/SimpleStorage/index.json | 13 + .../Systems/529QB9450R6/index.json | 85 +++ .../529QB9451R6/Processors/CPU/index.json | 19 + .../Systems/529QB9451R6/Processors/index.json | 13 + .../529QB9451R6/SimpleStorage/1/index.json | 33 + .../529QB9451R6/SimpleStorage/index.json | 13 + .../Systems/529QB9451R6/index.json | 85 +++ .../529QB9452R6/Processors/CPU/index.json | 19 + .../Systems/529QB9452R6/Processors/index.json | 13 + .../529QB9452R6/SimpleStorage/1/index.json | 33 + .../529QB9452R6/SimpleStorage/index.json | 13 + .../Systems/529QB9452R6/index.json | 85 +++ .../529QB9453R6/Processors/CPU/index.json | 19 + .../Systems/529QB9453R6/Processors/index.json | 13 + .../529QB9453R6/SimpleStorage/1/index.json | 33 + .../529QB9453R6/SimpleStorage/index.json | 13 + .../Systems/529QB9453R6/index.json | 85 +++ .../mockups/public-bladed/Systems/index.json | 22 + .../TaskService/Tasks/index.json | 9 + .../public-bladed/TaskService/index.json | 19 + .../public-bladed/explorer_config.json | 74 +++ .../mockups/public-bladed/index.json | 36 ++ .../AccountService/Accounts/1/index.json | 19 + .../AccountService/Accounts/index.json | 13 + .../AccountService/Roles/Admin/index.json | 21 + .../AccountService/Roles/Operator/index.json | 16 + .../Roles/ReadOnlyUser/index.json | 14 + .../AccountService/Roles/index.json | 19 + .../AccountService/index.json | 25 + .../Chassis/1U/Power/index.json | 143 ++++ .../Chassis/1U/Thermal/index.json | 160 +++++ .../public-rackmount/Chassis/1U/index.json | 44 ++ .../public-rackmount/Chassis/index.json | 13 + .../EventService/Subscriptions/1/index.json | 14 + .../EventService/Subscriptions/index.json | 12 + .../public-rackmount/EventService/index.json | 39 ++ .../BMC/LogServices/Log/Entries/1/index.json | 27 + .../BMC/LogServices/Log/Entries/index.json | 36 ++ .../Managers/BMC/LogServices/Log/index.json | 27 + .../Managers/BMC/LogServices/index.json | 14 + .../Managers/BMC/NICs/Dedicated/SD/index.json | 80 +++ .../Managers/BMC/NICs/Dedicated/index.json | 79 +++ .../Managers/BMC/NICs/index.json | 15 + .../Managers/BMC/NetworkProtocol/index.json | 55 ++ .../BMC/SerialInterfaces/TTY0/index.json | 22 + .../Managers/BMC/SerialInterfaces/index.json | 15 + .../Managers/BMC/VirtualMedia/CD1/index.json | 17 + .../BMC/VirtualMedia/Floppy1/index.json | 17 + .../Managers/BMC/VirtualMedia/index.json | 18 + .../public-rackmount/Managers/BMC/index.json | 86 +++ .../public-rackmount/Managers/index.json | 14 + .../Sessions/1234567890ABCDEF/index.json | 11 + .../SessionService/Sessions/index.json | 12 + .../SessionService/index.json | 18 + .../437XR1138R2/BIOS/Settings/index.json | 21 + .../Systems/437XR1138R2/BIOS/index.json | 43 ++ .../12446A3B0411/VLANs/1/index.json | 15 + .../12446A3B0411/VLANs/2/index.json | 15 + .../12446A3B0411/VLANs/index.json | 16 + .../12446A3B0411/index.json | 42 ++ .../12446A3B8890/index.json | 43 ++ .../437XR1138R2/EthernetInterfaces/index.json | 18 + .../LogServices/Log1/Entries/1/index.json | 28 + .../LogServices/Log1/Entries/2/index.json | 28 + .../LogServices/Log1/Entries/index.json | 64 ++ .../437XR1138R2/LogServices/Log1/index.json | 26 + .../437XR1138R2/LogServices/index.json | 15 + .../437XR1138R2/Memory/DIMM1/index.json | 30 + .../437XR1138R2/Memory/DIMM2/index.json | 30 + .../437XR1138R2/Memory/DIMM3/index.json | 30 + .../437XR1138R2/Memory/DIMM4/index.json | 17 + .../Systems/437XR1138R2/Memory/index.json | 17 + .../437XR1138R2/Processors/CPU1/index.json | 28 + .../437XR1138R2/Processors/CPU2/index.json | 12 + .../Systems/437XR1138R2/Processors/index.json | 16 + .../437XR1138R2/SimpleStorage/1/index.json | 49 ++ .../437XR1138R2/SimpleStorage/index.json | 13 + .../Systems/437XR1138R2/index.json | 134 ++++ .../public-rackmount/Systems/index.json | 13 + .../TaskService/Tasks/545/index.json | 25 + .../TaskService/Tasks/index.json | 12 + .../public-rackmount/TaskService/index.json | 20 + .../public-rackmount/explorer_config.json | 62 ++ .../mockups/public-rackmount/index.json | 37 ++ test_dependencies/sushy.crt | 19 + test_dependencies/sushy.key | 28 + 251 files changed, 8698 insertions(+), 516 deletions(-) create mode 100644 collector/redfish_test.go create mode 100644 collector/test_helpers.go create mode 100644 test_dependencies/Dockerfile create mode 100644 test_dependencies/mockups/DSP2043-server/AccountService/Accounts/1/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/AccountService/Accounts/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/AccountService/Roles/Admin/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/AccountService/Roles/Operator/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/AccountService/Roles/ReadOnlyUser/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/AccountService/Roles/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/AccountService/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Chassis/1U/Power/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Chassis/1U/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Chassis/1U/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Chassis/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/EventService/Subscriptions/1/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/EventService/Subscriptions/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/EventService/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Managers/BMC/LogServices/Log/Entries/1/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Managers/BMC/LogServices/Log/Entries/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Managers/BMC/LogServices/Log/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Managers/BMC/LogServices/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Managers/BMC/NICs/Dedicated/SD/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Managers/BMC/NICs/Dedicated/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Managers/BMC/NICs/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Managers/BMC/NetworkProtocol/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Managers/BMC/SerialInterfaces/TTY0/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Managers/BMC/SerialInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Managers/BMC/VirtualMedia/CD1/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Managers/BMC/VirtualMedia/Floppy1/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Managers/BMC/VirtualMedia/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Managers/BMC/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Managers/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/SessionService/Sessions/1234567890ABCDEF/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/SessionService/Sessions/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/SessionService/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/BIOS/Settings/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/BIOS/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/1/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/2/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/LogServices/Log1/Entries/2/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/LogServices/Log1/Entries/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/LogServices/Log1/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/LogServices/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Memory/DIMM1/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Memory/DIMM2/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Memory/DIMM3/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Memory/DIMM4/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Processors/CPU1/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Processors/CPU2/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/SimpleStorage/1/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/SimpleStorage/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/Systems/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/TaskService/Tasks/545/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/TaskService/Tasks/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/TaskService/index.json create mode 100644 test_dependencies/mockups/DSP2043-server/index.json create mode 100644 test_dependencies/mockups/README2043.html create mode 100644 test_dependencies/mockups/proposed-ocp-profile/$metadata/index.xml create mode 100644 test_dependencies/mockups/proposed-ocp-profile/AccountService/Accounts/index.json create mode 100644 test_dependencies/mockups/proposed-ocp-profile/AccountService/Accounts/jane/index.json create mode 100644 test_dependencies/mockups/proposed-ocp-profile/AccountService/Accounts/john/index.json create mode 100644 test_dependencies/mockups/proposed-ocp-profile/AccountService/Accounts/root/index.json create mode 100644 test_dependencies/mockups/proposed-ocp-profile/AccountService/Roles/Admin/index.json create mode 100644 test_dependencies/mockups/proposed-ocp-profile/AccountService/Roles/Operator/index.json create mode 100644 test_dependencies/mockups/proposed-ocp-profile/AccountService/Roles/ReadOnlyUser/index.json create mode 100644 test_dependencies/mockups/proposed-ocp-profile/AccountService/Roles/index.json create mode 100644 test_dependencies/mockups/proposed-ocp-profile/AccountService/index.json create mode 100644 test_dependencies/mockups/proposed-ocp-profile/Chassis/1/Power/index.json create mode 100644 test_dependencies/mockups/proposed-ocp-profile/Chassis/1/Thermal/index.json create mode 100644 test_dependencies/mockups/proposed-ocp-profile/Chassis/1/index.json create mode 100644 test_dependencies/mockups/proposed-ocp-profile/Chassis/index.json create mode 100644 test_dependencies/mockups/proposed-ocp-profile/Managers/bmc/EthernetInterfaces/eth0/index.json create mode 100644 test_dependencies/mockups/proposed-ocp-profile/Managers/bmc/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/proposed-ocp-profile/Managers/bmc/NetworkProtocol/index.json create mode 100644 test_dependencies/mockups/proposed-ocp-profile/Managers/bmc/index.json create mode 100644 test_dependencies/mockups/proposed-ocp-profile/Managers/index.json create mode 100644 test_dependencies/mockups/proposed-ocp-profile/README.md create mode 100644 test_dependencies/mockups/proposed-ocp-profile/README.txt create mode 100644 test_dependencies/mockups/proposed-ocp-profile/SessionService/Sessions/1234567890ABCDEF/index.json create mode 100644 test_dependencies/mockups/proposed-ocp-profile/SessionService/Sessions/index.json create mode 100644 test_dependencies/mockups/proposed-ocp-profile/SessionService/index.json create mode 100644 test_dependencies/mockups/proposed-ocp-profile/Systems/1/LogServices/SEL/Entries/1/index.json create mode 100644 test_dependencies/mockups/proposed-ocp-profile/Systems/1/LogServices/SEL/Entries/2/index.json create mode 100644 test_dependencies/mockups/proposed-ocp-profile/Systems/1/LogServices/SEL/Entries/index.json create mode 100644 test_dependencies/mockups/proposed-ocp-profile/Systems/1/LogServices/SEL/index.json create mode 100644 test_dependencies/mockups/proposed-ocp-profile/Systems/1/LogServices/index.json create mode 100644 test_dependencies/mockups/proposed-ocp-profile/Systems/1/index.json create mode 100644 test_dependencies/mockups/proposed-ocp-profile/Systems/index.json create mode 100644 test_dependencies/mockups/proposed-ocp-profile/explorer_config.json create mode 100644 test_dependencies/mockups/proposed-ocp-profile/index.json create mode 100644 test_dependencies/mockups/proposed-ocp-profile/odata/index.json create mode 100644 test_dependencies/mockups/public-bladed/AccountService/Accounts/1/index.json create mode 100644 test_dependencies/mockups/public-bladed/AccountService/Accounts/index.json create mode 100644 test_dependencies/mockups/public-bladed/AccountService/Roles/Admin/index.json create mode 100644 test_dependencies/mockups/public-bladed/AccountService/Roles/Operator/index.json create mode 100644 test_dependencies/mockups/public-bladed/AccountService/Roles/ReadOnlyUser/index.json create mode 100644 test_dependencies/mockups/public-bladed/AccountService/Roles/index.json create mode 100644 test_dependencies/mockups/public-bladed/AccountService/index.json create mode 100644 test_dependencies/mockups/public-bladed/Chassis/Blade1/Thermal/index.json create mode 100644 test_dependencies/mockups/public-bladed/Chassis/Blade1/index.json create mode 100644 test_dependencies/mockups/public-bladed/Chassis/Blade2/Thermal/index.json create mode 100644 test_dependencies/mockups/public-bladed/Chassis/Blade2/index.json create mode 100644 test_dependencies/mockups/public-bladed/Chassis/Blade3/Thermal/index.json create mode 100644 test_dependencies/mockups/public-bladed/Chassis/Blade3/index.json create mode 100644 test_dependencies/mockups/public-bladed/Chassis/Blade4/Thermal/index.json create mode 100644 test_dependencies/mockups/public-bladed/Chassis/Blade4/index.json create mode 100644 test_dependencies/mockups/public-bladed/Chassis/MultiBladeEncl/Power/index.json create mode 100644 test_dependencies/mockups/public-bladed/Chassis/MultiBladeEncl/Thermal/index.json create mode 100644 test_dependencies/mockups/public-bladed/Chassis/MultiBladeEncl/index.json create mode 100644 test_dependencies/mockups/public-bladed/Chassis/index.json create mode 100644 test_dependencies/mockups/public-bladed/EventService/Subscriptions/1/index.json create mode 100644 test_dependencies/mockups/public-bladed/EventService/Subscriptions/index.json create mode 100644 test_dependencies/mockups/public-bladed/EventService/index.json create mode 100644 test_dependencies/mockups/public-bladed/Managers/Blade1BMC/EthernetInterfaces/1/index.json create mode 100644 test_dependencies/mockups/public-bladed/Managers/Blade1BMC/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/public-bladed/Managers/Blade1BMC/LogServices/Log/Entries/index.json create mode 100644 test_dependencies/mockups/public-bladed/Managers/Blade1BMC/LogServices/Log/index.json create mode 100644 test_dependencies/mockups/public-bladed/Managers/Blade1BMC/LogServices/index.json create mode 100644 test_dependencies/mockups/public-bladed/Managers/Blade1BMC/index.json create mode 100644 test_dependencies/mockups/public-bladed/Managers/Blade2BMC/EthernetInterfaces/1/index.json create mode 100644 test_dependencies/mockups/public-bladed/Managers/Blade2BMC/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/public-bladed/Managers/Blade2BMC/LogServices/Log/Entries/index.json create mode 100644 test_dependencies/mockups/public-bladed/Managers/Blade2BMC/LogServices/Log/index.json create mode 100644 test_dependencies/mockups/public-bladed/Managers/Blade2BMC/LogServices/index.json create mode 100644 test_dependencies/mockups/public-bladed/Managers/Blade2BMC/index.json create mode 100644 test_dependencies/mockups/public-bladed/Managers/Blade3BMC/EthernetInterfaces/1/index.json create mode 100644 test_dependencies/mockups/public-bladed/Managers/Blade3BMC/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/public-bladed/Managers/Blade3BMC/LogServices/Log/Entries/1/index.json create mode 100644 test_dependencies/mockups/public-bladed/Managers/Blade3BMC/LogServices/Log/Entries/index.json create mode 100644 test_dependencies/mockups/public-bladed/Managers/Blade3BMC/LogServices/Log/index.json create mode 100644 test_dependencies/mockups/public-bladed/Managers/Blade3BMC/LogServices/index.json create mode 100644 test_dependencies/mockups/public-bladed/Managers/Blade3BMC/index.json create mode 100644 test_dependencies/mockups/public-bladed/Managers/Blade4BMC/EthernetInterfaces/1/index.json create mode 100644 test_dependencies/mockups/public-bladed/Managers/Blade4BMC/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/public-bladed/Managers/Blade4BMC/LogServices/Log/Entries/index.json create mode 100644 test_dependencies/mockups/public-bladed/Managers/Blade4BMC/LogServices/Log/index.json create mode 100644 test_dependencies/mockups/public-bladed/Managers/Blade4BMC/LogServices/index.json create mode 100644 test_dependencies/mockups/public-bladed/Managers/Blade4BMC/index.json create mode 100644 test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/EthernetInterfaces/1/index.json create mode 100644 test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/LogServices/Log/Entries/1/index.json create mode 100644 test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/LogServices/Log/Entries/index.json create mode 100644 test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/LogServices/Log/index.json create mode 100644 test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/LogServices/index.json create mode 100644 test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/index.json create mode 100644 test_dependencies/mockups/public-bladed/Managers/index.json create mode 100644 test_dependencies/mockups/public-bladed/SessionService/Sessions/12623963E803C264/index.json create mode 100644 test_dependencies/mockups/public-bladed/SessionService/Sessions/index.json create mode 100644 test_dependencies/mockups/public-bladed/SessionService/index.json create mode 100644 test_dependencies/mockups/public-bladed/Systems/529QB9450R6/Processors/CPU/index.json create mode 100644 test_dependencies/mockups/public-bladed/Systems/529QB9450R6/Processors/index.json create mode 100644 test_dependencies/mockups/public-bladed/Systems/529QB9450R6/SimpleStorage/1/index.json create mode 100644 test_dependencies/mockups/public-bladed/Systems/529QB9450R6/SimpleStorage/index.json create mode 100644 test_dependencies/mockups/public-bladed/Systems/529QB9450R6/index.json create mode 100644 test_dependencies/mockups/public-bladed/Systems/529QB9451R6/Processors/CPU/index.json create mode 100644 test_dependencies/mockups/public-bladed/Systems/529QB9451R6/Processors/index.json create mode 100644 test_dependencies/mockups/public-bladed/Systems/529QB9451R6/SimpleStorage/1/index.json create mode 100644 test_dependencies/mockups/public-bladed/Systems/529QB9451R6/SimpleStorage/index.json create mode 100644 test_dependencies/mockups/public-bladed/Systems/529QB9451R6/index.json create mode 100644 test_dependencies/mockups/public-bladed/Systems/529QB9452R6/Processors/CPU/index.json create mode 100644 test_dependencies/mockups/public-bladed/Systems/529QB9452R6/Processors/index.json create mode 100644 test_dependencies/mockups/public-bladed/Systems/529QB9452R6/SimpleStorage/1/index.json create mode 100644 test_dependencies/mockups/public-bladed/Systems/529QB9452R6/SimpleStorage/index.json create mode 100644 test_dependencies/mockups/public-bladed/Systems/529QB9452R6/index.json create mode 100644 test_dependencies/mockups/public-bladed/Systems/529QB9453R6/Processors/CPU/index.json create mode 100644 test_dependencies/mockups/public-bladed/Systems/529QB9453R6/Processors/index.json create mode 100644 test_dependencies/mockups/public-bladed/Systems/529QB9453R6/SimpleStorage/1/index.json create mode 100644 test_dependencies/mockups/public-bladed/Systems/529QB9453R6/SimpleStorage/index.json create mode 100644 test_dependencies/mockups/public-bladed/Systems/529QB9453R6/index.json create mode 100644 test_dependencies/mockups/public-bladed/Systems/index.json create mode 100644 test_dependencies/mockups/public-bladed/TaskService/Tasks/index.json create mode 100644 test_dependencies/mockups/public-bladed/TaskService/index.json create mode 100644 test_dependencies/mockups/public-bladed/explorer_config.json create mode 100644 test_dependencies/mockups/public-bladed/index.json create mode 100644 test_dependencies/mockups/public-rackmount/AccountService/Accounts/1/index.json create mode 100644 test_dependencies/mockups/public-rackmount/AccountService/Accounts/index.json create mode 100644 test_dependencies/mockups/public-rackmount/AccountService/Roles/Admin/index.json create mode 100644 test_dependencies/mockups/public-rackmount/AccountService/Roles/Operator/index.json create mode 100644 test_dependencies/mockups/public-rackmount/AccountService/Roles/ReadOnlyUser/index.json create mode 100644 test_dependencies/mockups/public-rackmount/AccountService/Roles/index.json create mode 100644 test_dependencies/mockups/public-rackmount/AccountService/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Chassis/1U/Power/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Chassis/1U/Thermal/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Chassis/1U/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Chassis/index.json create mode 100644 test_dependencies/mockups/public-rackmount/EventService/Subscriptions/1/index.json create mode 100644 test_dependencies/mockups/public-rackmount/EventService/Subscriptions/index.json create mode 100644 test_dependencies/mockups/public-rackmount/EventService/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Managers/BMC/LogServices/Log/Entries/1/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Managers/BMC/LogServices/Log/Entries/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Managers/BMC/LogServices/Log/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Managers/BMC/LogServices/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Managers/BMC/NICs/Dedicated/SD/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Managers/BMC/NICs/Dedicated/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Managers/BMC/NICs/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Managers/BMC/NetworkProtocol/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Managers/BMC/SerialInterfaces/TTY0/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Managers/BMC/SerialInterfaces/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Managers/BMC/VirtualMedia/CD1/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Managers/BMC/VirtualMedia/Floppy1/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Managers/BMC/VirtualMedia/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Managers/BMC/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Managers/index.json create mode 100644 test_dependencies/mockups/public-rackmount/SessionService/Sessions/1234567890ABCDEF/index.json create mode 100644 test_dependencies/mockups/public-rackmount/SessionService/Sessions/index.json create mode 100644 test_dependencies/mockups/public-rackmount/SessionService/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/BIOS/Settings/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/BIOS/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/1/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/2/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/LogServices/Log1/Entries/2/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/LogServices/Log1/Entries/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/LogServices/Log1/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/LogServices/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Memory/DIMM1/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Memory/DIMM2/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Memory/DIMM3/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Memory/DIMM4/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Memory/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Processors/CPU1/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Processors/CPU2/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Processors/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/SimpleStorage/1/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/SimpleStorage/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/index.json create mode 100644 test_dependencies/mockups/public-rackmount/Systems/index.json create mode 100644 test_dependencies/mockups/public-rackmount/TaskService/Tasks/545/index.json create mode 100644 test_dependencies/mockups/public-rackmount/TaskService/Tasks/index.json create mode 100644 test_dependencies/mockups/public-rackmount/TaskService/index.json create mode 100644 test_dependencies/mockups/public-rackmount/explorer_config.json create mode 100644 test_dependencies/mockups/public-rackmount/index.json create mode 100644 test_dependencies/sushy.crt create mode 100644 test_dependencies/sushy.key diff --git a/.gitignore b/.gitignore index f4683b3b..40d54135 100644 --- a/.gitignore +++ b/.gitignore @@ -26,7 +26,8 @@ config.yml # IDE files .vscode +.zed # Commit all Helm chart files !helm/** -helm/*.lock \ No newline at end of file +helm/*.lock diff --git a/collector/redfish_test.go b/collector/redfish_test.go new file mode 100644 index 00000000..3654d2a2 --- /dev/null +++ b/collector/redfish_test.go @@ -0,0 +1,19 @@ +package collector + +import ( + "testing" + + "github.com/prometheus/client_golang/prometheus" +) + +func TestScrape(t *testing.T) { + collector := CreateStaticBMC(t, "DSP2043-server", false) + + ch := make(chan prometheus.Metric) + + go collector.Collect(ch) + + metric := <- ch + + t.Log(metric) +} diff --git a/collector/test_helpers.go b/collector/test_helpers.go new file mode 100644 index 00000000..4047e964 --- /dev/null +++ b/collector/test_helpers.go @@ -0,0 +1,50 @@ +package collector + +import ( + "context" + "fmt" + "testing" + + "github.com/prometheus/common/promslog" + "github.com/stackhpc/redfish_exporter/common" + "github.com/stretchr/testify/require" + "github.com/testcontainers/testcontainers-go" + "github.com/testcontainers/testcontainers-go/wait" +) + +func CreateStaticBMC(t *testing.T, path string, collect_logs bool) *RedfishCollector { + ctx := context.Background() + container, err := testcontainers.Run( + ctx, "", + testcontainers.WithExposedPorts("443/tcp"), + testcontainers.WithWaitStrategy( + wait.ForListeningPort("443/tcp"), + ), + testcontainers.WithDockerfile(testcontainers.FromDockerfile{ + Context: "../test_dependencies", + KeepImage: true, + }), + testcontainers.WithCmd("sushy-static", "-p", "443", "-c", "sushy.crt", "-k", "sushy.key", "-m", fmt.Sprintf("mockups/%s", path)), + ) + testcontainers.CleanupContainer(t, container) + require.NoError(t, err) + + // Get host address and port of exposed container port + endpoint, err := container.Endpoint(ctx, "") + require.NoError(t, err) + + promslogConfig := promslog.Config{} + + targetLoggerCtx := promslog.New(&promslogConfig) + + + hostConfig := common.HostConfig { + Collectlogs: collect_logs, + } + require.NoError(t, err) + + collectionCtx, err := common.NewCollectionContext(endpoint, &hostConfig, targetLoggerCtx, collect_logs) + require.NoError(t, err) + collector := NewRedfishCollector(collectionCtx, targetLoggerCtx) + return collector +} diff --git a/common/context.go b/common/context.go index 4ced5439..8421a9b6 100644 --- a/common/context.go +++ b/common/context.go @@ -3,21 +3,18 @@ package common import ( "fmt" "log/slog" - "net/http" - "strconv" gofish "github.com/stmcginnis/gofish" ) type CollectionContext struct { - Request *http.Request RedfishClient *gofish.APIClient CollectLogs bool LogCount map[string]int DisabledMetrics []string } -func NewCollectionContext(r *http.Request, target string, hostconfig *HostConfig, logger *slog.Logger) (*CollectionContext, error) { +func NewCollectionContext(target string, hostconfig *HostConfig, logger *slog.Logger, collectLogs bool) (*CollectionContext, error) { client, err := newRedfishClient(target, hostconfig.Username, hostconfig.Password) if err != nil { logger.Error("error creating redfish client", "err", err) @@ -29,17 +26,7 @@ func NewCollectionContext(r *http.Request, target string, hostconfig *HostConfig // TODO.. query parameter could logcount_=10 - // Support optionally overriding collectlogs setting using a query parameter - collectLogs := hostconfig.Collectlogs - collectLogsOverride := r.URL.Query().Get("collectlogs") - if collectLogsOverride != "" { - if collectLogsQuery, err := strconv.ParseBool(collectLogsOverride); err != nil { - logger.Error("error parsing collectlogs query parameter as a boolean", "err", err) - } else { - collectLogs = collectLogsQuery - } - } - return &CollectionContext{Request: r, RedfishClient: client, CollectLogs: collectLogs, LogCount: logCount, DisabledMetrics: disabledMetrics}, nil + return &CollectionContext{RedfishClient: client, CollectLogs: collectLogs, LogCount: logCount, DisabledMetrics: disabledMetrics}, nil } func newRedfishClient(host string, username string, password string) (*gofish.APIClient, error) { diff --git a/go.mod b/go.mod index b82bbb21..1bea9c86 100644 --- a/go.mod +++ b/go.mod @@ -1,43 +1,77 @@ module github.com/stackhpc/redfish_exporter -go 1.27.0 +go 1.27 require ( github.com/alecthomas/kingpin/v2 v2.4.0 - github.com/apex/log v1.9.0 - github.com/go-kit/log v0.2.0 github.com/prometheus/client_golang v1.25.0 github.com/prometheus/common v0.72.0 github.com/prometheus/exporter-toolkit v0.20.0 github.com/stmcginnis/gofish v0.27.0 - gopkg.in/alecthomas/kingpin.v2 v2.2.6 + github.com/stretchr/testify v1.12.1 + github.com/testcontainers/testcontainers-go v0.44.0 gopkg.in/yaml.v2 v2.4.0 ) require ( - github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 // indirect + dario.cat/mergo v1.0.2 // indirect + github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c // indirect + github.com/Microsoft/go-winio v0.6.2 // indirect github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b // indirect github.com/beorn7/perks v1.0.1 // indirect + github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect + github.com/containerd/errdefs v1.0.0 // indirect + github.com/containerd/errdefs/pkg v0.3.0 // indirect + github.com/containerd/log v0.1.0 // indirect + github.com/containerd/platforms v0.2.1 // indirect github.com/coreos/go-systemd/v22 v22.7.0 // indirect - github.com/go-kit/kit v0.10.0 // indirect - github.com/go-logfmt/logfmt v0.5.1 // indirect + github.com/cpuguy83/dockercfg v0.3.2 // indirect + github.com/distribution/reference v0.6.0 // indirect + github.com/docker/go-connections v0.7.0 // indirect + github.com/docker/go-units v0.5.0 // indirect + github.com/ebitengine/purego v0.10.1 // indirect + github.com/felixge/httpsnoop v1.1.0 // indirect + github.com/go-logr/logr v1.4.3 // indirect + github.com/go-logr/stdr v1.2.2 // indirect + github.com/go-ole/go-ole v1.3.0 // indirect github.com/golang-jwt/jwt/v5 v5.3.1 // indirect - github.com/golang/protobuf v1.5.0 // indirect github.com/google/uuid v1.6.0 // indirect github.com/jpillora/backoff v1.0.0 // indirect - github.com/konsorten/go-windows-terminal-sequences v1.0.3 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect + github.com/klauspost/compress v1.20.1 // indirect + github.com/lufia/plan9stats v0.0.0-20260330125221-c963978e514e // indirect + github.com/magiconair/properties v1.8.10 // indirect github.com/mdlayher/socket v0.6.0 // indirect github.com/mdlayher/vsock v1.3.0 // indirect + github.com/moby/docker-image-spec v1.3.1 // indirect + github.com/moby/go-archive v0.2.0 // indirect + github.com/moby/moby/api v1.55.0 // indirect + github.com/moby/moby/client v0.5.0 // indirect + github.com/moby/patternmatcher v0.6.1 // indirect + github.com/moby/sys/sequential v0.7.0 // indirect + github.com/moby/sys/user v0.4.0 // indirect + github.com/moby/sys/userns v0.1.0 // indirect + github.com/moby/term v0.5.2 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f // indirect - github.com/pkg/errors v0.9.1 // indirect + github.com/opencontainers/go-digest v1.0.0 // indirect + github.com/opencontainers/image-spec v1.1.1 // indirect + github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 // indirect github.com/prometheus/client_model v0.6.3 // indirect github.com/prometheus/procfs v0.22.0 // indirect - github.com/sirupsen/logrus v1.6.0 // indirect + github.com/shirou/gopsutil/v4 v4.26.6 // indirect + github.com/sirupsen/logrus v1.9.4 // indirect + github.com/tklauser/go-sysconf v0.4.0 // indirect + github.com/tklauser/numcpus v0.12.0 // indirect github.com/xhit/go-str2duration/v2 v2.1.0 // indirect + github.com/yusufpapurcu/wmi v1.2.4 // indirect + go.opentelemetry.io/auto/sdk v1.2.1 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.69.0 // indirect + go.opentelemetry.io/otel v1.44.0 // indirect + go.opentelemetry.io/otel/metric v1.44.0 // indirect + go.opentelemetry.io/otel/trace v1.44.0 // indirect go.yaml.in/yaml/v2 v2.4.4 // indirect + go.yaml.in/yaml/v3 v3.0.5 // indirect golang.org/x/crypto v0.57.0 // indirect golang.org/x/net v0.59.0 // indirect golang.org/x/oauth2 v0.37.0 // indirect @@ -45,6 +79,5 @@ require ( golang.org/x/sys v0.48.0 // indirect golang.org/x/text v0.42.0 // indirect golang.org/x/time v0.15.0 // indirect - google.golang.org/appengine v1.4.0 // indirect google.golang.org/protobuf v1.36.12 // indirect ) diff --git a/go.sum b/go.sum index f098290b..c4794af2 100644 --- a/go.sum +++ b/go.sum @@ -1,558 +1,198 @@ -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= -github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= -github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= -github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= -github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= +dario.cat/mergo v1.0.2 h1:85+piFYR1tMbRrLcDwR18y4UKJ3aH1Tbzi24VRW1TK8= +dario.cat/mergo v1.0.2/go.mod h1:E/hbnu0NxMFBjpMIE34DRGLWqDy0g5FuKDhCb31ngxA= +github.com/AdaLogics/go-fuzz-headers v0.0.0-20240806141605-e8a1dd7889d6 h1:He8afgbRMd7mFxO99hRNu+6tazq8nFF9lIwo9JFroBk= +github.com/AdaLogics/go-fuzz-headers v0.0.0-20240806141605-e8a1dd7889d6/go.mod h1:8o94RPi1/7XTJvwPpRSzSUedZrtlirdB3r9Z20bi2f8= +github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c h1:udKWzYgxTojEKWjV8V+WSxDXJ4NFATAsZjh8iIbsQIg= +github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= +github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= +github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= github.com/alecthomas/kingpin/v2 v2.4.0 h1:f48lwail6p8zpO1bC4TxtqACaGqHYA22qkHjHpqDjYY= github.com/alecthomas/kingpin/v2 v2.4.0/go.mod h1:0gyi0zQnjuFk8xrkNKamJoyUo382HRL7ATRpFZCw6tE= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafoB+tBA3gMyHYHrpOtNuDiK/uB5uXxq5wM= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d h1:UQZhZ2O0vMHr2cI+DC1Mbh0TJxzA3RcLoMsFw+aXw7E= -github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b h1:mimo19zliBX/vSQ6PWWSL9lK8qwHozUj03+zLoEB8O0= github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b/go.mod h1:fvzegU4vN3H1qMT+8wDmzjAcDONcgo2/SZ/TyfdUOFs= -github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= -github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= -github.com/apex/log v1.9.0 h1:FHtw/xuaM8AgmvDDTI9fiwoAL25Sq2cxojnZICUU8l0= -github.com/apex/log v1.9.0/go.mod h1:m82fZlWIuiWzWP04XCTXmnX0xRkYYbCdYn8jbJeLBEA= -github.com/apex/logs v1.0.0/go.mod h1:XzxuLZ5myVHDy9SAmYpamKKRNApGj54PfYLcFrXqDwo= -github.com/aphistic/golf v0.0.0-20180712155816-02c07f170c5a/go.mod h1:3NqKYiepwy8kCu4PNA+aP7WUV72eXWJeP9/r3/K9aLE= -github.com/aphistic/sweet v0.2.0/go.mod h1:fWDlIh/isSE9n6EPsRmC0det+whmX6dJid3stzu0Xys= -github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= -github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= -github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= -github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= -github.com/aws/aws-sdk-go v1.20.6/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= -github.com/aybabtme/rgbterm v0.0.0-20170906152045-cc83f3b3ce59/go.mod h1:q/89r3U2H7sSsE2t6Kca0lfwTK8JdoNGS/yzM/4iH5I= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= -github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= -github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= +github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= -github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= -github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7 h1:u9SHYsPQNyt5tgDm3YN7+9dYrpK96E5wFilTFWIDZOM= -github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/containerd/errdefs v1.0.0 h1:tg5yIfIlQIrxYtu9ajqY42W3lpS19XqdxRQeEwYG8PI= +github.com/containerd/errdefs v1.0.0/go.mod h1:+YBYIdtsnF4Iw6nWZhJcqGSg/dwvV7tyJ/kCkyJ2k+M= +github.com/containerd/errdefs/pkg v0.3.0 h1:9IKJ06FvyNlexW690DXuQNx2KA2cUJXx151Xdx3ZPPE= +github.com/containerd/errdefs/pkg v0.3.0/go.mod h1:NJw6s9HwNuRhnjJhM7pylWwMyAkmCQvQ4GpJHEqRLVk= +github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= +github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= +github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= +github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= github.com/coreos/go-systemd/v22 v22.7.0 h1:LAEzFkke61DFROc7zNLX/WA2i5J8gYqe0rSj9KI28KA= github.com/coreos/go-systemd/v22 v22.7.0/go.mod h1:xNUYtjHu2EDXbsxz1i41wouACIwT7Ybq9o0BQhMwD0w= -github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= +github.com/cpuguy83/dockercfg v0.3.2 h1:DlJTyZGBDlXqUZ2Dk2Q3xHs/FtnooJJVaad2S9GKorA= +github.com/cpuguy83/dockercfg v0.3.2/go.mod h1:sugsbF4//dDlL/i+S+rtpIWp+5h0BHJHfjj5/jFyUJc= +github.com/creack/pty v1.1.24 h1:bJrF4RRfyJnbTJqzRLHzcGaZK1NeM5kTC9jGgovnR1s= +github.com/creack/pty v1.1.24/go.mod h1:08sCNb52WyoAwi2QDyzUCTgcvVFhUzewun7wtTfvcwE= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= -github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= -github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= -github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= -github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= -github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= -github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.10.0 h1:dXFJfIHVvUcpSgDOV+Ne6t7jXri8Tfv2uOLHUZ2XNuo= -github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o= -github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= -github.com/go-kit/log v0.2.0 h1:7i2K3eKTos3Vc0enKCfnVcgHh2olr/MyfboYq7cAcFw= -github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA= -github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= -github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= -github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= -github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk= +github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= +github.com/docker/go-connections v0.7.0 h1:6SsRfJddP22WMrCkj19x9WKjEDTB+ahsdiGYf0mN39c= +github.com/docker/go-connections v0.7.0/go.mod h1:no1qkHdjq7kLMGUXYAduOhYPSJxxvgWBh7ogVvptn3Q= +github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= +github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/ebitengine/purego v0.10.1 h1:dewVBCBT2GaMu1SrNTYxQhgQBethzfhiwvZiLGP/qyY= +github.com/ebitengine/purego v0.10.1/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ= +github.com/felixge/httpsnoop v1.1.0 h1:3YtUj32ZZkqZtt3sZZsClsymw/QDuVfpNhoA31zeORc= +github.com/felixge/httpsnoop v1.1.0/go.mod h1:Zqxgdd+1Rkcz8euOqdr7lqgCRJztwr5hp9vDSi5UZCE= +github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= +github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= +github.com/go-ole/go-ole v1.3.0 h1:Dt6ye7+vXGIKZ7Xtk4s6/xVdGDQynvom7xCFEdWr6uE= +github.com/go-ole/go-ole v1.3.0/go.mod h1:5LS6F96DhAwUc7C+1HLexzMXY1xGRSryjyPPKW6zv78= github.com/golang-jwt/jwt/v5 v5.3.1 h1:kYf81DTWFe7t+1VvL7eS+jKFVWaUnK9cB1qbwn63YCY= github.com/golang-jwt/jwt/v5 v5.3.1/go.mod h1:fxCRLWMO43lRc8nhHWY6LGqRcf+1gQWArsqaEUEa5bE= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.4.3 h1:JjCZWpVbqXDqFVmTfYWEVTMIYrL/NPdPSCHPJ0T/raM= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= +github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= -github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= -github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= -github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= -github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= -github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= -github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= -github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= -github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= -github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= -github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= -github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= -github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= -github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= -github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= -github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= -github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= -github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= -github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= -github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= -github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= -github.com/jpillora/backoff v0.0.0-20180909062703-3050d21c67d7/go.mod h1:2iMrUgbbvHEiQClaW2NsSzMyGHqN+rDFqY705q49KG0= github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= -github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8= -github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.0 h1:s5hAObm+yFO5uHYt5dYjxi2rXrsnmRpJx4OYvIWUaQs= -github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= -github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= -github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= -github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= -github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= -github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/klauspost/compress v1.20.1 h1:T7kKElXUMXrUJ2E9QhQhxFtcK5rPyLdsGZvdbLMPdiQ= +github.com/klauspost/compress v1.20.1/go.mod h1:LUdAzn7YLVvxLpc7y3V1m40wESHTgc1422pwwBSKYuI= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= +github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= +github.com/lufia/plan9stats v0.0.0-20260330125221-c963978e514e h1:Q6MvJtQK/iRcRtzAscm/zF23XxJlbECiGPyRicsX+Ak= +github.com/lufia/plan9stats v0.0.0-20260330125221-c963978e514e/go.mod h1:autxFIvghDt3jPTLoqZ9OZ7s9qTGNAWmYCjVFWPX/zg= +github.com/magiconair/properties v1.8.10 h1:s31yESBquKXCV9a/ScB3ESkOjUYYv+X0rg8SYxI99mE= +github.com/magiconair/properties v1.8.10/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/mdlayher/socket v0.6.0 h1:ScZPaAGyO1icQnbFrhPM8mnXyMu9qukC1K4ZoM2IQKU= github.com/mdlayher/socket v0.6.0/go.mod h1:q7vozUAnxSqnjHc12Fik5yUKIzfZ8ITCfMkhOtE9z18= github.com/mdlayher/vsock v1.3.0 h1:bqQfZ1OznI03y6YiXp2sze05RVdzLn/zsfjnjd4+ivI= github.com/mdlayher/vsock v1.3.0/go.mod h1:WsuksavOvwCnV5UqGHUkvAvCy+Dqy81y4goKQTzxxNY= -github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= -github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= -github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= -github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= -github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= -github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= -github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0= +github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo= +github.com/moby/go-archive v0.2.0 h1:zg5QDUM2mi0JIM9fdQZWC7U8+2ZfixfTYoHL7rWUcP8= +github.com/moby/go-archive v0.2.0/go.mod h1:mNeivT14o8xU+5q1YnNrkQVpK+dnNe/K6fHqnTg4qPU= +github.com/moby/moby/api v1.55.0 h1:2/sexvQyqIWS8pRSCFddBfpW2qE7vR7FCL+vN8pxwMc= +github.com/moby/moby/api v1.55.0/go.mod h1:+RQ6wluLwtYaTd1WnPLykIDPekkuyD/ROWQClE83pzs= +github.com/moby/moby/client v0.5.0 h1:5XhyPk2fuOWf6RlSFa3MkIIgDZkF25xToXW8Q/BH7cc= +github.com/moby/moby/client v0.5.0/go.mod h1:rcVpF8ncl9vo5gaIBdol6CnbEtSj1uxMvEV/UrykF/s= +github.com/moby/patternmatcher v0.6.1 h1:qlhtafmr6kgMIJjKJMDmMWq7WLkKIo23hsrpR3x084U= +github.com/moby/patternmatcher v0.6.1/go.mod h1:hDPoyOpDY7OrrMDLaYoY3hf52gNCR/YOUYxkhApJIxc= +github.com/moby/sys/sequential v0.7.0 h1:ASQNGNROJSuOO6LL6bPHbKvuZu6NU8P4ldPWk31zj/8= +github.com/moby/sys/sequential v0.7.0/go.mod h1:NfSTAp6V3fw4tmkD62PEcOKeZKquXT8VKCkf7aVR79o= +github.com/moby/sys/user v0.4.0 h1:jhcMKit7SA80hivmFJcbB1vqmw//wU61Zdui2eQXuMs= +github.com/moby/sys/user v0.4.0/go.mod h1:bG+tYYYJgaMtRKgEmuueC0hJEAZWwtIbZTB+85uoHjs= +github.com/moby/sys/userns v0.1.0 h1:tVLXkFOxVu9A64/yh59slHVv9ahO9UIev4JZusOLG/g= +github.com/moby/sys/userns v0.1.0/go.mod h1:IHUYgu/kao6N8YZlp9Cf444ySSvCmDlmzUcYfDHOl28= +github.com/moby/term v0.5.2 h1:6qk3FJAFDs6i/q3W/pQ97SX192qKfZgGjCQqfCJkgzQ= +github.com/moby/term v0.5.2/go.mod h1:d3djjFCrjnB+fl8NJux+EJzu0msscUP+f8it8hPkFLc= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= -github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= -github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= -github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w= -github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= -github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= -github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= -github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= -github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= -github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= -github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= -github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= -github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= -github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= -github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= -github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= -github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= -github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= -github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= -github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= -github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= -github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= -github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= -github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= +github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= +github.com/opencontainers/image-spec v1.1.1 h1:y0fUlFfIZhPF1W537XOLg0/fcx6zcHCJwooC2xJA040= +github.com/opencontainers/image-spec v1.1.1/go.mod h1:qpqAh3Dmcf36wStyyWU+kCeDgrGnAve2nCC8+7h8Q0M= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og= -github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.11.1 h1:+4eQaD7vAZ6DsfsxB15hbE0odUjGI5ARs9yskGu1v4s= -github.com/prometheus/client_golang v1.11.1/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.23.2 h1:Je96obch5RDVy3FDMndoUsjAhG5Edi49h0RJWRi/o0o= -github.com/prometheus/client_golang v1.23.2/go.mod h1:Tb1a6LWHB3/SPIzCoaDXI4I8UHKeFTEQ1YCr+0Gyqmg= +github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 h1:o4JXh1EVt9k/+g42oCprj/FisM4qX9L3sZB3upGN2ZU= +github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= github.com/prometheus/client_golang v1.25.0 h1:cDtW1TcFsMi1RJc8khwCKB4VhzwV04aKqbYtNOXuiK0= github.com/prometheus/client_golang v1.25.0/go.mod h1:j2X/4/kaQHLPnmyEU8zjmkndo1T317VpCIQEml8LTKk= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= -github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= -github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= github.com/prometheus/client_model v0.6.3 h1:O0jaTVAYNxTHYInEPFJt5I3+sN8zqBtVMPTB1qyxiEo= github.com/prometheus/client_model v0.6.3/go.mod h1:gpN5P9S7Rr6Yr92PiQ+Ixvhf6JZEkF1dnxsYL2aPBEM= -github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA= -github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= -github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= -github.com/prometheus/common v0.26.0 h1:iMAkS2TDoNWnKM+Kopnx/8tnEStIfpYA0ur0xQzzhMQ= -github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.70.1 h1:1HvjP4D5oL3t8RsPlwxA9onvvStjtIHYE5XuuwOi/PY= -github.com/prometheus/common v0.70.1/go.mod h1:VdFUQDMZK3VLkurFUVhia6uys/0suUp86TJz5qbJRhc= github.com/prometheus/common v0.72.0 h1:tAYsE+sPJxIncDAobm4H5aQjmox9ZxEIIqPbiffa8G4= github.com/prometheus/common v0.72.0/go.mod h1:77NWqAQ2tXT7BIK40qjJdw5Acrsrg1TlHAnsQi3i6mk= -github.com/prometheus/exporter-toolkit v0.5.0 h1:GwrxhCviqOl8Mm0vKqkh7Xy54m+FPlHEJacFs48M3gY= -github.com/prometheus/exporter-toolkit v0.5.0/go.mod h1:OCkM4805mmisBhLmVFw858QYi3v0wKdY6/UxrT0pZVg= github.com/prometheus/exporter-toolkit v0.20.0 h1:hz3g2aPcq3mXlQSt1MGjj2rwVk1wtRalF+/FjYxFRkI= github.com/prometheus/exporter-toolkit v0.20.0/go.mod h1:gIIY0Mw0ci1wgYscdeMqVh6FUPYJca549eOkE39nU64= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= -github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.6.0 h1:mxy4L2jP6qMonqmq+aTtOx1ifVWUgG/TAmntgbh3xv4= -github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.21.0 h1:Qh/e6TlBjZf+XLLqNCqFGmCU6Kj/2Bu7kj3oAc0UnXc= -github.com/prometheus/procfs v0.21.0/go.mod h1:aB55Cww9pdSJVHk0hUf0inxWyyjPogFIjmHKYgMKmtY= github.com/prometheus/procfs v0.22.0 h1:6q9+/JL9IKAPbCmBrv9n5O5Ty3NKnciV5X7YGw0oics= github.com/prometheus/procfs v0.22.0/go.mod h1:CvmFr/GVhIjIvWJZW3tgkODBQMRIf0EyWMQLHCHab58= -github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= -github.com/rogpeppe/fastuuid v1.1.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= -github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= -github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= -github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= -github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.6.0 h1:UBcNElsrwanuuMsnGSlYmtmgbb23qDR5dG+6X6Oo89I= -github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/assertions v1.0.0/go.mod h1:kHHU4qYBaI3q23Pp3VPrmWhuIUrLW/7eUrw0BU5VaoM= -github.com/smartystreets/go-aws-auth v0.0.0-20180515143844-0c1422d1fdb9/go.mod h1:SnhjPscd9TpLiy1LpzGSKh3bXCfxxXuqd9xmQJy3slM= -github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= -github.com/smartystreets/gunit v1.0.0/go.mod h1:qwPWnhz6pn0NnRBP++URONOVyNkPyr4SauJk4cUOwJs= -github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= -github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= -github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= -github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/stmcginnis/gofish v0.20.0 h1:hH2V2Qe898F2wWT1loApnkDUrXXiLKqbSlMaH3Y1n08= -github.com/stmcginnis/gofish v0.20.0/go.mod h1:PzF5i8ecRG9A2ol8XT64npKUunyraJ+7t0kYMpQAtqU= +github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= +github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= +github.com/shirou/gopsutil/v4 v4.26.6 h1:Mzr/npDtQC/xpeEuQKHZt8Zo9CmPvhTj8nkR8w5TLDs= +github.com/shirou/gopsutil/v4 v4.26.6/go.mod h1:LZ6ewCSkBqUpvSOf+LsTGnRinC6iaNUNMGBtDkJBaLQ= +github.com/sirupsen/logrus v1.9.4 h1:TsZE7l11zFCLZnZ+teH4Umoq5BhEIfIzfRDZ1Uzql2w= +github.com/sirupsen/logrus v1.9.4/go.mod h1:ftWc9WdOfJ0a92nsE2jF5u5ZwH8Bv2zdeOC42RjbV2g= github.com/stmcginnis/gofish v0.27.0 h1:jyM2BlBhULXtHnayY+/wnkZYXKjIO0ZdR3oBXKl1VYs= github.com/stmcginnis/gofish v0.27.0/go.mod h1:PzF5i8ecRG9A2ol8XT64npKUunyraJ+7t0kYMpQAtqU= -github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= -github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= -github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/objx v0.5.3 h1:jmXUvGomnU1o3W/V5h2VEradbpJDwGrzugQQvL0POH4= +github.com/stretchr/objx v0.5.3/go.mod h1:rDQraq+vQZU7Fde9LOZLr8Tax6zZvy4kuNKF+QYS+U0= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -github.com/tj/assert v0.0.0-20171129193455-018094318fb0/go.mod h1:mZ9/Rh9oLWpLLDRpvE+3b7gP/C2YyLFYxNmcLnPTMe0= -github.com/tj/assert v0.0.3 h1:Df/BlaZ20mq6kuai7f5z2TvPFiwC3xaWJSDQNiIS3Rk= -github.com/tj/assert v0.0.3/go.mod h1:Ne6X72Q+TB1AteidzQncjw9PabbMp4PBMZ1k+vd1Pvk= -github.com/tj/go-buffer v1.1.0/go.mod h1:iyiJpfFcR2B9sXu7KvjbT9fpM4mOelRSDTbntVj52Uc= -github.com/tj/go-elastic v0.0.0-20171221160941-36157cbbebc2/go.mod h1:WjeM0Oo1eNAjXGDx2yma7uG2XoyRZTq1uv3M/o7imD0= -github.com/tj/go-kinesis v0.0.0-20171128231115-08b17f58cb1b/go.mod h1:/yhzCV0xPfx6jb1bBgRFjl5lytqVqZXEaeqWP8lTEao= -github.com/tj/go-spin v1.1.0/go.mod h1:Mg1mzmePZm4dva8Qz60H2lHwmJ2loum4VIrLgVnKwh4= -github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= -github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/stretchr/testify v1.12.1 h1:EuwCh5fleGS7H32xRwO3wRGT7DxrDhLAT6FF8MpWDWE= +github.com/stretchr/testify v1.12.1/go.mod h1:MDEgiDPPsNp5cuIrHPPCyornHKgEVbtFUmoNlxoYthg= +github.com/testcontainers/testcontainers-go v0.44.0 h1:/Fwh6HY1mIikhnm9e7HwoxGycx0lzRAE0f5VQpjFxzI= +github.com/testcontainers/testcontainers-go v0.44.0/go.mod h1:IcnwQrYTO86xHXu5bvMaBH7ATlbS3Qn1M1QWW3c66rE= +github.com/tklauser/go-sysconf v0.4.0 h1:7H0uAN+7RkwWRaxhYXDLqa5V3LPrJeV8wmD9dRUgPQU= +github.com/tklauser/go-sysconf v0.4.0/go.mod h1:8mTNWyog7H+MpKijp4VmKJAd2bbYQ2zuUwkYRbUArPI= +github.com/tklauser/numcpus v0.12.0 h1:NR85qdvHA9pFse3x3weVZ0r0ST8R6l5RHbZrlRaqob4= +github.com/tklauser/numcpus v0.12.0/go.mod h1:ABHeXzJnr/qqwguhClkZKT1/8VABcYrsyUiUGobwWJg= github.com/xhit/go-str2duration/v2 v2.1.0 h1:lxklc02Drh6ynqX+DdPyp5pCKLUQpRT8bp8Ydu2Bstc= github.com/xhit/go-str2duration/v2 v2.1.0/go.mod h1:ohY8p+0f07DiV6Em5LKB0s2YpLtXVyJfNt1+BlmyAsU= -github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= -go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= -go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= -go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= -go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= -go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= -go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= -go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= -go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= +github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= +github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= +go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= +go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.69.0 h1:8tvICD4vSTOOsNrsI4Ljf6C+6UKvpTEH5XY3JMoyPoo= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.69.0/go.mod h1:z9+yiacE0IHRqM4qFfkbt/JYlmYXgss8GY/jXoNuPJI= +go.opentelemetry.io/otel v1.44.0 h1:JjwHmHpA4iZ3wBxluu2fbbE7j4kqlE8jXyAyPXH7HqU= +go.opentelemetry.io/otel v1.44.0/go.mod h1:BMgjTHL9WPRlRjL2oZCBTL4whCGtXch2H4BhOPIAyYc= +go.opentelemetry.io/otel/metric v1.44.0 h1:1w0gILTcHdr3YI+ixLyjemwrVnsMURbTZFrSYCdDdmc= +go.opentelemetry.io/otel/metric v1.44.0/go.mod h1:8O7hanEPBNgEMmybD3s2VBKcgWOCsA6tzHBPODAiquo= +go.opentelemetry.io/otel/sdk v1.44.0 h1:nHYwb9lK+fJPU/dnT6s7W7Z8itMWyqrnVfbheVYrZ58= +go.opentelemetry.io/otel/sdk v1.44.0/go.mod h1:Osuydd3Se74nqjAKxid74N5eC+jfEqfTegHRnq58oK0= +go.opentelemetry.io/otel/sdk/metric v1.44.0 h1:3LlKgI+VjbVsjNRFZJZAJ30WjXC5VkNRks6si09iEfI= +go.opentelemetry.io/otel/sdk/metric v1.44.0/go.mod h1:5B5pMARnXxKhltooO4xUuCBorl65a4EpnTalObqOigA= +go.opentelemetry.io/otel/trace v1.44.0 h1:jxF5CsGYCe74MCRx2X4g7WsY/VBKRqqpNvXlX/6gtIk= +go.opentelemetry.io/otel/trace v1.44.0/go.mod h1:oLl1jrMQAVo6v3GAggN+1VH9VIz9iUSvW53sW1Q8PIE= +go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.yaml.in/yaml/v2 v2.4.4 h1:tuyd0P+2Ont/d6e2rl3be67goVK4R6deVxCUX5vyPaQ= go.yaml.in/yaml/v2 v2.4.4/go.mod h1:gMZqIpDtDqOfM0uNfy0SkpRhvUryYH0Z6wdMYcacYXQ= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201208171446-5f87f3452ae9 h1:sYNJzB4J8toYPQTM6pAkcmBRgw9SnQKP9oXCHfgy604= -golang.org/x/crypto v0.0.0-20201208171446-5f87f3452ae9/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= -golang.org/x/crypto v0.55.0 h1:+KWHjbgOaAQ66dh/YlkZKHlz9ZUlq61AFirAR9ntP8M= -golang.org/x/crypto v0.55.0/go.mod h1:uq0V9dE/fzQuJtbnL+2EhWOE63vo164FY8xqEnV9xis= +go.yaml.in/yaml/v3 v3.0.5 h1:N6y/pJk8buWs9NY5ERU2HSMfm+IuD/OtfdAnq6kESPw= +go.yaml.in/yaml/v3 v3.0.5/go.mod h1:HVTZu1O7/Vkt2N+BFy8Zza+lnLsABggaTM2ZpNIGuKg= golang.org/x/crypto v0.57.0 h1:3ZVCjf8Ggz7zneR/EHRVx68Ctf+2pmIMP2UFhh9cC6M= golang.org/x/crypto v0.57.0/go.mod h1:Fdz0i5U6CoizGwLda9DttjSk6qlZo25zYNtR+ycvuZA= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200625001655-4c5254603344 h1:vGXIOMxbNfDTk/aXCmfdLgkrSV+Z2tcbze+pEc3v5W4= -golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.57.0 h1:K5+3DljvIuDG9/Jv9rvyMywYNFCQ9RSUY6OOTTkT+tE= -golang.org/x/net v0.57.0/go.mod h1:KpXc8iv+r3XplLAG/f7Jsf9RPszJzdR0f58q9vGOuEU= golang.org/x/net v0.59.0 h1:5zfYln+w5XCxwrnMMJPufRgNoXEaGxl0wo5GqPXyues= golang.org/x/net v0.59.0/go.mod h1:2DA/G1UfVbCpQPeWTmMPGY7Cs2PkBkwu743bVX5PIVg= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421 h1:Wo7BWFiOk0QRFMLYMqJGFMd9CgUAcGx7V+qEg/h5IBI= -golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs= -golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q= golang.org/x/oauth2 v0.37.0 h1:JUlcxA8oAtauLfiH8FX2/FkAWHAdi0QtGCGc+hofE98= golang.org/x/oauth2 v0.37.0/go.mod h1:IxwZNxUULJmpBFf9K/9NTMSIfZZuvuTy1gGxhigP/58= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.22.0 h1:SZjpbeLmrCk4xhRSZFNZW5gFUeCeFgjekvI/+gfScek= -golang.org/x/sync v0.22.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sync v0.23.0 h1:KameEIfc1IkluZyXWLn39Wd4tURc6GbCiISGiZm2bQk= golang.org/x/sync v0.23.0/go.mod h1:sUUOizhqBxiL6pEWpqNLUiaJn1ShEbZ6BBqskPbjZm0= -golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40 h1:JWgyZ1qgdTaF3N3oxC+MdTV7qvEEgHo3otj+HB5CM7Q= -golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs= -golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.48.0 h1:bbX/i/6MgT9BVLM9RT1thmxL04yeTAhbEz4SyadbXoo= golang.org/x/sys v0.48.0/go.mod h1:hNLxWAXmnKAxqDtdwIYC4bM9oQPEecfsnNMuSxOs3og= -golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.41.0 h1:vz/seA0lnX87Othu2f/0L24RcgrXD9/YFTSuGjj3rH8= -golang.org/x/text v0.41.0/go.mod h1:jvf1O8ajNzZqhSrQBPbutR/EB83Cc0CFrezNQIwbb5M= +golang.org/x/term v0.46.0 h1:3+OXuTbaKDgwk8jTi3aSLHRlmWqHEUDUtxnbFigO4YE= +golang.org/x/term v0.46.0/go.mod h1:+K02xbkittuwc0Am4abfA3Fc+XRGXkvBXNO88NCXPoc= golang.org/x/text v0.42.0 h1:JbOZXgfeCPU9gacVtYliJqOhD+zhrEqK4LfdpmlUZqI= golang.org/x/text v0.42.0/go.mod h1:ojzP1Z+2QtioaF8DTtO8K5q7JWVVYwZKenzujK0Zd0E= -golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.15.0 h1:bbrp8t3bGUeFOx08pvsMYRTCVSMk89u4tKbNOZbp88U= golang.org/x/time v0.15.0/go.mod h1:Y4YMaQmXwGQZoFaVFk4YpCt4FLQMYKZe9oeV/f4MSno= -golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.4.0 h1:/wp5JvzpHIxhs/dumFmF7BXTf3Z+dd4uXta4kVyO508= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= -google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/grpc v1.22.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.26.0-rc.1 h1:7QnIQpGRHE5RnLKnESfDoxm2dTapTZua5a0kS0A+VXQ= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE= -google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= google.golang.org/protobuf v1.36.12 h1:pJOKDDOyeXErUroCihFAd5LQuwXBSpVnKGrj5o/fwxc= google.golang.org/protobuf v1.36.12/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= -gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc= -gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= -gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= -gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c h1:grhR+C34yXImVGp7EzNk+DTIk+323eIUWOmEevy6bDo= -gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= -sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= +gotest.tools/v3 v3.5.2 h1:7koQfIKdy+I8UTetycgUqXWSDwpgv193Ka+qRsmBY8Q= +gotest.tools/v3 v3.5.2/go.mod h1:LtdLGcnqToBH83WByAAi/wiwSFCArdFIUV/xxN4pcjA= +pgregory.net/rapid v1.2.0 h1:keKAYRcjm+e1F0oAuU5F5+YPAWcyxNNRK2wud503Gnk= +pgregory.net/rapid v1.2.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= diff --git a/main.go b/main.go index 24dae1ac..2be99124 100755 --- a/main.go +++ b/main.go @@ -7,6 +7,7 @@ import ( "net/http" "os" "os/signal" + "strconv" "syscall" kingpin "github.com/alecthomas/kingpin/v2" @@ -126,7 +127,19 @@ func metricsHandler() http.HandlerFunc { return } } - collectionCtx, err := common.NewCollectionContext(r, target, hostConfig, targetLoggerCtx) + + // Support optionally overriding collectlogs setting using a query parameter + collectLogs := hostConfig.Collectlogs + collectLogsOverride := r.URL.Query().Get("collectlogs") + if collectLogsOverride != "" { + if collectLogsQuery, err := strconv.ParseBool(collectLogsOverride); err != nil { + targetLoggerCtx.Error("error parsing collectlogs query parameter as a boolean", "err", err) + } else { + collectLogs = collectLogsQuery + } + } + + collectionCtx, err := common.NewCollectionContext(target, hostConfig, targetLoggerCtx, collectLogs) if err != nil { targetLoggerCtx.Error("error creating collection context", "err", err) return diff --git a/test_dependencies/Dockerfile b/test_dependencies/Dockerfile new file mode 100644 index 00000000..c23d9e42 --- /dev/null +++ b/test_dependencies/Dockerfile @@ -0,0 +1,12 @@ +FROM python + +RUN pip install sushy-tools + +ADD sushy.crt . +ADD sushy.key . +ADD mockups/ mockups/ + +EXPOSE 443/tcp + +# This CMD is overriden during tests +CMD ["sushy-static", "-p", "443", "-c", "sushy.crt", "-k", "sushy.key", "-m", "mockups/DSP2043-server"] diff --git a/test_dependencies/mockups/DSP2043-server/AccountService/Accounts/1/index.json b/test_dependencies/mockups/DSP2043-server/AccountService/Accounts/1/index.json new file mode 100644 index 00000000..a65cc9c3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/AccountService/Accounts/1/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#ManagerAccount.v1_0_2.ManagerAccount", + "Id": "1", + "Name": "User Account", + "Description": "User Account", + "Enabled": true, + "Password": null, + "UserName": "Administrator", + "RoleId": "Admin", + "Locked": false, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/Admin" + } + }, + "@odata.context": "/redfish/v1/$metadata#ManagerAccount.ManagerAccount", + "@odata.id": "/redfish/v1/AccountService/Accounts/1", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/AccountService/Accounts/index.json b/test_dependencies/mockups/DSP2043-server/AccountService/Accounts/index.json new file mode 100644 index 00000000..fc101411 --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/AccountService/Accounts/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#ManagerAccountCollection.ManagerAccountCollection", + "Name": "Accounts Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Accounts/1" + } + ], + "@odata.context": "/redfish/v1/$metadata#ManagerAccountCollection.ManagerAccountCollection", + "@odata.id": "/redfish/v1/AccountService/Accounts", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/AccountService/Roles/Admin/index.json b/test_dependencies/mockups/DSP2043-server/AccountService/Roles/Admin/index.json new file mode 100644 index 00000000..b8fcc29e --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/AccountService/Roles/Admin/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Role.v1_0_2.Role", + "Id": "Admin", + "Name": "User Role", + "Description": "Admin User Role", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureManager", + "ConfigureUsers", + "ConfigureSelf", + "ConfigureComponents" + ], + "OEMPrivileges": [ + "OemClearLog", + "OemPowerControl" + ], + "@odata.context": "/redfish/v1/$metadata#Role.Role", + "@odata.id": "/redfish/v1/AccountService/Roles/Admin", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/AccountService/Roles/Operator/index.json b/test_dependencies/mockups/DSP2043-server/AccountService/Roles/Operator/index.json new file mode 100644 index 00000000..edb4252a --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/AccountService/Roles/Operator/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Role.v1_0_2.Role", + "Id": "Operator", + "Name": "User Role", + "Description": "Operator User Role", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf", + "ConfigureComponents" + ], + "OEMPrivileges": [], + "@odata.context": "/redfish/v1/$metadata#Role.Role", + "@odata.id": "/redfish/v1/AccountService/Roles/Operator", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/AccountService/Roles/ReadOnlyUser/index.json b/test_dependencies/mockups/DSP2043-server/AccountService/Roles/ReadOnlyUser/index.json new file mode 100644 index 00000000..f6f1f562 --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/AccountService/Roles/ReadOnlyUser/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Role.v1_0_2.Role", + "Id": "ReadOnlyUser", + "Name": "User Role", + "Description": "ReadOnlyUser User Role", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login" + ], + "OEMPrivileges": [], + "@odata.context": "/redfish/v1/$metadata#Role.Role", + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnlyUser", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/AccountService/Roles/index.json b/test_dependencies/mockups/DSP2043-server/AccountService/Roles/index.json new file mode 100644 index 00000000..895b5f72 --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/AccountService/Roles/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#RoleCollection.RoleCollection", + "Name": "Roles Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Roles/Admin" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/Operator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnlyUser" + } + ], + "@odata.context": "/redfish/v1/$metadata#Role.Role", + "@odata.id": "/redfish/v1/AccountService/Roles", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/AccountService/index.json b/test_dependencies/mockups/DSP2043-server/AccountService/index.json new file mode 100644 index 00000000..c302c6b9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/AccountService/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#AccountService.v1_0_2.AccountService", + "Id": "AccountService", + "Name": "Account Service", + "Description": "Account Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "AuthFailureLoggingThreshold": 3, + "MinPasswordLength": 8, + "AccountLockoutThreshold": 5, + "AccountLockoutDuration": 30, + "AccountLockoutCounterResetAfter": 30, + "Accounts": { + "@odata.id": "/redfish/v1/AccountService/Accounts" + }, + "Roles": { + "@odata.id": "/redfish/v1/AccountService/Roles" + }, + "@odata.context": "/redfish/v1/$metadata#AccountService", + "@odata.id": "/redfish/v1/AccountService", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Chassis/1U/Power/index.json b/test_dependencies/mockups/DSP2043-server/Chassis/1U/Power/index.json new file mode 100644 index 00000000..ce000079 --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Chassis/1U/Power/index.json @@ -0,0 +1,143 @@ +{ + "@odata.type": "#Power.v1_1_0.Power", + "Id": "Power", + "Name": "Power", + "PowerControl": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Power#/PowerControl/0", + "MemberId": "0", + "Name": "Server Power Control", + "PowerConsumedWatts": 344, + "PowerRequestedWatts": 800, + "PowerAvailableWatts": 0, + "PowerCapacityWatts": 800, + "PowerAllocatedWatts": 800, + "PowerMetrics": { + "IntervalInMin": 30, + "MinConsumedWatts": 271, + "MaxConsumedWatts": 489, + "AverageConsumedWatts": 319 + }, + "PowerLimit": { + "LimitInWatts": 500, + "LimitException": "LogEventOnly", + "CorrectionInMs": 50 + }, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Oem": {} + } + ], + "Voltages": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Power#/Voltages/0", + "MemberId": "0", + "Name": "VRM1 Voltage", + "SensorNumber": 11, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingVolts": 12, + "UpperThresholdNonCritical": 12.5, + "UpperThresholdCritical": 13, + "UpperThresholdFatal": 15, + "LowerThresholdNonCritical": 11.5, + "LowerThresholdCritical": 11, + "LowerThresholdFatal": 10, + "MinReadingRange": 0, + "MaxReadingRange": 20, + "PhysicalContext": "VoltageRegulator", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Power#/Voltages/1", + "MemberId": "1", + "Name": "VRM2 Voltage", + "SensorNumber": 12, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingVolts": 5, + "UpperThresholdNonCritical": 5.5, + "UpperThresholdCritical": 7, + "LowerThresholdNonCritical": 4.75, + "LowerThresholdCritical": 4.5, + "MinReadingRange": 0, + "MaxReadingRange": 20, + "PhysicalContext": "VoltageRegulator", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ] + } + ], + "PowerSupplies": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Power#/PowerSupplies/0", + "MemberId": "0", + "Name": "Power Supply Bay", + "Status": { + "State": "Enabled", + "Health": "Warning" + }, + "Oem": {}, + "PowerSupplyType": "AC", + "LineInputVoltageType": "ACWideRange", + "LineInputVoltage": 120, + "PowerCapacityWatts": 800, + "LastPowerOutputWatts": 325, + "Model": "499253-B21", + "Manufacturer": "ManufacturerName", + "FirmwareVersion": "1.00", + "SerialNumber": "1Z0000001", + "PartNumber": "0000001A3A", + "SparePartNumber": "0000001A3A", + "InputRanges": [ + { + "InputType": "AC", + "MinimumVoltage": 100, + "MaximumVoltage": 120, + "OutputWattage": 800 + }, + { + "InputType": "AC", + "MinimumVoltage": 200, + "MaximumVoltage": 240, + "OutputWattage": 1300 + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ] + } + ], + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#Power.Power", + "@odata.id": "/redfish/v1/Chassis/1U/Power", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Chassis/1U/Thermal/index.json b/test_dependencies/mockups/DSP2043-server/Chassis/1U/Thermal/index.json new file mode 100644 index 00000000..debdcc02 --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Chassis/1U/Thermal/index.json @@ -0,0 +1,160 @@ +{ + "@odata.type": "#Thermal.v1_0_2.Thermal", + "Id": "Thermal", + "Name": "Thermal", + "Temperatures": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Temperatures/0", + "MemberId": "0", + "Name": "CPU1 Temp", + "SensorNumber": 5, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 41, + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 45, + "UpperThresholdFatal": 48, + "MinReadingRange": 0, + "MaxReadingRange": 60, + "PhysicalContext": "CPU", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Temperatures/1", + "MemberId": "1", + "Name": "CPU2 Temp", + "SensorNumber": 6, + "Status": { + "State": "Disabled" + }, + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 45, + "UpperThresholdFatal": 48, + "MinReadingRange": 0, + "MaxReadingRange": 60, + "PhysicalContext": "CPU", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU2" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Temperatures/2", + "MemberId": "2", + "Name": "Chassis Intake Temp", + "SensorNumber": 9, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 25, + "UpperThresholdNonCritical": 30, + "UpperThresholdCritical": 40, + "UpperThresholdFatal": 50, + "LowerThresholdNonCritical": 10, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 0, + "MinReadingRange": 0, + "MaxReadingRange": 60, + "PhysicalContext": "Intake", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + } + ] + } + ], + "Fans": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Fans/0", + "MemberId": "0", + "Name": "BaseBoard System Fan", + "PhysicalContext": "Backplane", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2100, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 0, + "MinReadingRange": 0, + "MaxReadingRange": 5000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Fans/1", + "MemberId": "1", + "Name": "BaseBoard System Fan Backup", + "PhysicalContext": "Backplane", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2050, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 0, + "MinReadingRange": 0, + "MaxReadingRange": 5000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ] + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Redundancy/0", + "MemberId": "0", + "Name": "BaseBoard System Fans", + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Fans/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Fans/1" + } + ], + "Mode": "N+m", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MinNumNeeded": 1, + "MaxNumSupported": 2 + } + ], + "@odata.context": "/redfish/v1/$metadata#Thermal.Thermal", + "@odata.id": "/redfish/v1/Chassis/1U/Thermal", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Chassis/1U/index.json b/test_dependencies/mockups/DSP2043-server/Chassis/1U/index.json new file mode 100644 index 00000000..afc5a7fa --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Chassis/1U/index.json @@ -0,0 +1,44 @@ +{ + "@odata.type": "#Chassis.v1_2_0.Chassis", + "Id": "1U", + "Name": "Computer System Chassis", + "ChassisType": "RackMount", + "AssetTag": "Chicago-45Z-2381", + "Manufacturer": "Contoso", + "Model": "3500RX", + "SKU": "8675309", + "SerialNumber": "437XR1138R2", + "PartNumber": "224071-J23", + "PowerState": "On", + "IndicatorLED": "Lit", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + }, + "Power": { + "@odata.id": "/redfish/v1/Chassis/1U/Power" + }, + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ], + "ManagersInChassis": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ] + }, + "@odata.context": "/redfish/v1/$metadata#Chassis.Chassis", + "@odata.id": "/redfish/v1/Chassis/1U", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Chassis/index.json b/test_dependencies/mockups/DSP2043-server/Chassis/index.json new file mode 100644 index 00000000..0ca45702 --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Chassis/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#ChassisCollection.ChassisCollection", + "Name": "Chassis Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ], + "@odata.context": "/redfish/v1/$metadata#ChassisCollection", + "@odata.id": "/redfish/v1/Chassis", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/EventService/Subscriptions/1/index.json b/test_dependencies/mockups/DSP2043-server/EventService/Subscriptions/1/index.json new file mode 100644 index 00000000..bdc6d1a8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/EventService/Subscriptions/1/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#EventDestination.v1_0_2.EventDestination", + "Id": "1", + "Name": "EventSubscription 1", + "Destination": "http://www.dnsname.com/Destination1", + "EventTypes": [ + "Alert" + ], + "Context": "WebUser3", + "Protocol": "Redfish", + "@odata.context": "/redfish/v1/$metadata#EventDestination.EventDestination", + "@odata.id": "/redfish/v1/EventService/Subscriptions/1", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/EventService/Subscriptions/index.json b/test_dependencies/mockups/DSP2043-server/EventService/Subscriptions/index.json new file mode 100644 index 00000000..d8bd27f2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/EventService/Subscriptions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#EventDestinationCollection.EventDestinationCollection", + "Name": "Event Subscriptions Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/EventService/Subscriptions/1" + } + ], + "@odata.context": "/redfish/v1/$metadata#EventDestinationCollection.EventDestinationCollection", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/EventService/index.json b/test_dependencies/mockups/DSP2043-server/EventService/index.json new file mode 100644 index 00000000..0477163c --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/EventService/index.json @@ -0,0 +1,39 @@ +{ + "@odata.type": "#EventService.v1_0_2.EventService", + "Id": "EventService", + "Name": "Event Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "DeliveryRetryAttempts": 3, + "DeliveryRetryIntervalInSeconds": 60, + "EventTypesForSubscription": [ + "StatusChange", + "ResourceUpdated", + "ResourceAdded", + "ResourceRemoved", + "Alert" + ], + "Subscriptions": { + "@odata.id": "/redfish/v1/EventService/Subscriptions" + }, + "Actions": { + "#EventService.SubmitTestEvent": { + "target": "/redfish/v1/EventService/Actions/EventService.SubmitTestEvent", + "EventType@Redfish.AllowableValues": [ + "StatusChange", + "ResourceUpdated", + "ResourceAdded", + "ResourceRemoved", + "Alert" + ] + }, + "Oem": {} + }, + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#EventService", + "@odata.id": "/redfish/v1/EventService", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Managers/BMC/LogServices/Log/Entries/1/index.json b/test_dependencies/mockups/DSP2043-server/Managers/BMC/LogServices/Log/Entries/1/index.json new file mode 100644 index 00000000..0669191b --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Managers/BMC/LogServices/Log/Entries/1/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#LogEntry.v1_0_2.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "SEL", + "OEMRecordFormat": "Contoso", + "Severity": "Critical", + "Created": "2012-03-07T14:44", + "EntryCode": "Assert", + "SensorType": "Temperature", + "SensorNumber": 1, + "Message": "System May be Melting", + "MessageId": "Event.1.0.TempWayTooHot", + "MessageArgs": [ + "88" + ], + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + }, + "Oem": {} + }, + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#Managers/Members/BMC/LogServices/Members/Log/Entries/$entity", + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries/1", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Managers/BMC/LogServices/Log/Entries/index.json b/test_dependencies/mockups/DSP2043-server/Managers/BMC/LogServices/Log/Entries/index.json new file mode 100644 index 00000000..3df26511 --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Managers/BMC/LogServices/Log/Entries/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries/1", + "@odata.type": "#LogEntry.v1_0_2.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "SEL", + "OEMRecordFormat": "Contoso", + "Severity": "Critical", + "Created": "2012-03-07T14:44", + "EntryCode": "Assert", + "SensorType": "Temperature", + "SensorNumber": 1, + "Message": "System May be Melting", + "MessageId": "Event.1.0.TempWayTooHot", + "MessageArgs": [ + "88" + ], + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + }, + "Oem": {} + }, + "Oem": {} + } + ], + "@odata.context": "/redfish/v1/$metadata#Managers/Members/BMC/LogServices/Members/Log/Entries", + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Managers/BMC/LogServices/Log/index.json b/test_dependencies/mockups/DSP2043-server/Managers/BMC/LogServices/Log/index.json new file mode 100644 index 00000000..3775fd12 --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Managers/BMC/LogServices/Log/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#LogService.v1_0_2.LogService", + "Id": "Log", + "Name": "System Log Service", + "MaxNumberOfRecords": 1000, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Oem": {}, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Managers/BMC/LogServices/Log/Actions/LogService.Reset" + }, + "Oem": {} + }, + "Entries": { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries" + }, + "@odata.context": "/redfish/v1/$metadata#Managers/Members/BMC/LogServices/Members/$entity", + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Managers/BMC/LogServices/index.json b/test_dependencies/mockups/DSP2043-server/Managers/BMC/LogServices/index.json new file mode 100644 index 00000000..144b9c98 --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Managers/BMC/LogServices/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Description": "Collection of Log Services for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log" + } + ], + "@odata.context": "/redfish/v1/$metadata#LogServicesCollection.LogServicesCollection", + "@odata.id": "/redfish/v1/Managers/BMC/LogServices", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Managers/BMC/NICs/Dedicated/SD/index.json b/test_dependencies/mockups/DSP2043-server/Managers/BMC/NICs/Dedicated/SD/index.json new file mode 100644 index 00000000..d62a691a --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Managers/BMC/NICs/Dedicated/SD/index.json @@ -0,0 +1,80 @@ +{ + "@odata.type": "#EthernetInterface.v1_0_2.EthernetInterface", + "Id": "SD", + "Name": "Manager Ethernet Interface", + "Description": "Management Network Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:33:CF:EA", + "MACAddress": "23:11:8A:33:CF:EA", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.0.1", + "Oem": {} + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred", + "Oem": {} + } + ], + "NameServers": [ + "names.dmtf.org" + ], + "@Redfish.Settings": { + "@odata.type": "#Settings.v1_0_2.Settings", + "SettingsObject": { + "@odata.id": "/redfish/v1/Managers/BMC/NICs/Dedicated/SD" + }, + "Time": "2012-03-07T14:44.30-05:00", + "ETag": "84ffcbb050ddc7fa9cddb59014546e59", + "Messages": [ + { + "MessageId": "Base.1.0.SettingsFailed", + "RelatedProperties": [ + "#/IPv6Addresses/PrefixLength" + ] + } + ] + }, + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#Managers/Members/BMC/NICs/Members/Dedicated/Settings/$entity", + "@odata.id": "/redfish/v1/Managers/BMC/NICs/Dedicated/SD", + "@Redfish.Copyright":"Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} + diff --git a/test_dependencies/mockups/DSP2043-server/Managers/BMC/NICs/Dedicated/index.json b/test_dependencies/mockups/DSP2043-server/Managers/BMC/NICs/Dedicated/index.json new file mode 100644 index 00000000..0e70744b --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Managers/BMC/NICs/Dedicated/index.json @@ -0,0 +1,79 @@ +{ + "@odata.type": "#EthernetInterface.v1_0_2.EthernetInterface", + "Id": "Dedicated", + "Name": "Manager Ethernet Interface", + "Description": "Management Network Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:33:CF:EA", + "MACAddress": "23:11:8A:33:CF:EA", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.0.1", + "Oem": {} + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred", + "Oem": {} + } + ], + "NameServers": [ + "names.dmtf.org" + ], + "@Redfish.Settings": { + "@odata.type": "#Settings.v1_0_2.Settings", + "SettingsObject": { + "@odata.id": "/redfish/v1/Managers/BMC/NICs/Dedicated/SD" + }, + "Time": "2012-03-07T14:44.30-05:00", + "ETag": "84ffcbb050ddc7fa9cddb59014546e59", + "Messages": [ + { + "MessageId": "Base.1.0.SettingsFailed", + "RelatedProperties": [ + "#/IPv6Addresses/PrefixLength" + ] + } + ] + }, + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#Managers/Members/BMC/NICs/Members/$entity", + "@odata.id": "/redfish/v1/Managers/BMC/NICs/Dedicated", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Managers/BMC/NICs/index.json b/test_dependencies/mockups/DSP2043-server/Managers/BMC/NICs/index.json new file mode 100644 index 00000000..06943882 --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Managers/BMC/NICs/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Network Interface Collection", + "Description": "Collection of EthernetInterfaces for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/NICs/Dedicated" + } + ], + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#Managers/Members/BMC/NICs/$entity", + "@odata.id": "/redfish/v1/Managers/BMC/NICs", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Managers/BMC/NetworkProtocol/index.json b/test_dependencies/mockups/DSP2043-server/Managers/BMC/NetworkProtocol/index.json new file mode 100644 index 00000000..ce7dd2f7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Managers/BMC/NetworkProtocol/index.json @@ -0,0 +1,55 @@ +{ + "@odata.type": "#ManagerNetworkProtocol.v1_0_2.ManagerNetworkProtocol", + "Id": "NetworkProtocol", + "Name": "Manager Network Protocol", + "Description": "Manager Network Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "HTTP": { + "ProtocolEnabled": true, + "Port": 80 + }, + "HTTPS": { + "ProtocolEnabled": true, + "Port": 443 + }, + "IPMI": { + "ProtocolEnabled": true, + "Port": 623 + }, + "SSH": { + "ProtocolEnabled": true, + "Port": 22 + }, + "SNMP": { + "ProtocolEnabled": true, + "Port": 161 + }, + "VirtualMedia": { + "ProtocolEnabled": true, + "Port": 17988 + }, + "SSDP": { + "ProtocolEnabled": true, + "Port": 1900, + "NotifyMulticastIntervalSeconds": 600, + "NotifyTTL": 5, + "NotifyIPv6Scope": "Site" + }, + "Telnet": { + "ProtocolEnabled": true, + "Port": 23 + }, + "KVMIP": { + "ProtocolEnabled": true, + "Port": 5288 + }, + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#Managers/Members/BMC/NetworkProtocol/$entity", + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Managers/BMC/SerialInterfaces/TTY0/index.json b/test_dependencies/mockups/DSP2043-server/Managers/BMC/SerialInterfaces/TTY0/index.json new file mode 100644 index 00000000..96a8174e --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Managers/BMC/SerialInterfaces/TTY0/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#SerialInterface.v1_0_2.SerialInterface", + "Id": "TTY0", + "Name": "Manager Serial Interface 1", + "Description": "Management for Serial Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "SignalType": "Rs232", + "BitRate": "115200", + "Parity": "None", + "DataBits": "8", + "StopBits": "1", + "FlowControl": "None", + "ConnectorType": "RJ45", + "PinOut": "Cyclades", + "@odata.context": "/redfish/v1/$metadata#Managers/Members/BMC/SerialInterfaces/Members/$entity", + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces/TTY0", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Managers/BMC/SerialInterfaces/index.json b/test_dependencies/mockups/DSP2043-server/Managers/BMC/SerialInterfaces/index.json new file mode 100644 index 00000000..03285cd8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Managers/BMC/SerialInterfaces/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#SerialInterfaceCollection.SerialInterfaceCollection", + "Name": "Serial Interface Collection", + "Description": "Collection of Serial Interfaces for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces/TTY0" + } + ], + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#Managers/BMC/SerialInterfaces/$entity", + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Managers/BMC/VirtualMedia/CD1/index.json b/test_dependencies/mockups/DSP2043-server/Managers/BMC/VirtualMedia/CD1/index.json new file mode 100644 index 00000000..bfd851eb --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Managers/BMC/VirtualMedia/CD1/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#VirtualMedia.v1_0_2.VirtualMedia", + "Id": "CD1", + "Name": "Virtual CD", + "MediaTypes": [ + "CD", + "DVD" + ], + "Image": "redfish.dmtf.org/freeImages/freeOS.1.1.iso", + "ImageName": "mymedia-read-only", + "ConnectedVia": "Applet", + "Inserted": true, + "WriteProtected": false, + "@odata.context": "/redfish/v1/$metadata#Managers/Members/BMC/VirtualMedia/Members/$entity", + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/CD1", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Managers/BMC/VirtualMedia/Floppy1/index.json b/test_dependencies/mockups/DSP2043-server/Managers/BMC/VirtualMedia/Floppy1/index.json new file mode 100644 index 00000000..cec37c44 --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Managers/BMC/VirtualMedia/Floppy1/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#VirtualMedia.v1_0_2.VirtualMedia", + "Id": "Floppy1", + "Name": "Virtual Removable Media", + "MediaTypes": [ + "Floppy", + "USBStick" + ], + "Image": "https://www.dmtf.org/freeImages/Sardine.img", + "ImageName": "Sardine2.1.43.35.6a", + "ConnectedVia": "URI", + "Inserted": true, + "WriteProtected": false, + "@odata.context": "/redfish/v1/$metadata#Managers/Members/BMC/VirtualMedia/Members/$entity", + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/Floppy1", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Managers/BMC/VirtualMedia/index.json b/test_dependencies/mockups/DSP2043-server/Managers/BMC/VirtualMedia/index.json new file mode 100644 index 00000000..b8a16249 --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Managers/BMC/VirtualMedia/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#VirtualMediaCollection.VirtualMediaCollection", + "Name": "Virtual Media Services", + "Description": "Redfish-BMC Virtual Media Service Settings", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/Floppy1" + }, + { + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/CD1" + } + ], + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#Managers/Members/BMC/VirtualMedia/$entity", + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Managers/BMC/index.json b/test_dependencies/mockups/DSP2043-server/Managers/BMC/index.json new file mode 100644 index 00000000..7fba8e54 --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Managers/BMC/index.json @@ -0,0 +1,86 @@ +{ + "@odata.type": "#Manager.v1_1_0.Manager", + "Id": "BMC", + "Name": "Manager", + "ManagerType": "BMC", + "Description": "Contoso BMC", + "ServiceEntryPointUUID": "92384634-2938-2342-8820-489239905423", + "UUID": "58893887-8974-2487-2389-841168418919", + "Model": "Joo Janta 200", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "GraphicalConsole": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 2, + "ConnectTypesSupported": [ + "KVMIP" + ] + }, + "SerialConsole": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 1, + "ConnectTypesSupported": [ + "Telnet", + "SSH", + "IPMI" + ] + }, + "CommandShell": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 4, + "ConnectTypesSupported": [ + "Telnet", + "SSH" + ] + }, + "FirmwareVersion": "1.00", + "NetworkProtocol": { + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/BMC/NICs" + }, + "SerialInterfaces": { + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices" + }, + "VirtualMedia": { + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia" + }, + "Links": { + "ManagerForServers": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + } + ], + "ManagerForChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ], + "ManagerInChassis": { + "@odata.id": "/redfish/v1/Chassis/1U" + }, + "Oem": {} + }, + "Actions": { + "#Manager.Reset": { + "target": "/redfish/v1/Managers/BMC/Actions/Manager.Reset", + "ResetType@Redfish.AllowableValues": [ + "ForceRestart", + "GracefulRestart" + ] + }, + "Oem": {} + }, + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#Manager.Manager", + "@odata.id": "/redfish/v1/Managers/BMC", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Managers/index.json b/test_dependencies/mockups/DSP2043-server/Managers/index.json new file mode 100644 index 00000000..3f246343 --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Managers/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#ManagerCollection.ManagerCollection", + "Name": "Manager Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ], + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#Managers", + "@odata.id": "/redfish/v1/Managers", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/SessionService/Sessions/1234567890ABCDEF/index.json b/test_dependencies/mockups/DSP2043-server/SessionService/Sessions/1234567890ABCDEF/index.json new file mode 100644 index 00000000..b923c074 --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/SessionService/Sessions/1234567890ABCDEF/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#Session.v1_0_2.Session", + "Id": "1234567890ABCDEF", + "Name": "User Session", + "Description": "Manager User Session", + "UserName": "Administrator", + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#Session.Session", + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/SessionService/Sessions/index.json b/test_dependencies/mockups/DSP2043-server/SessionService/Sessions/index.json new file mode 100644 index 00000000..03824338 --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/SessionService/Sessions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SessionCollection.SessionCollection", + "Name": "Session Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF" + } + ], + "@odata.context": "/redfish/v1/$metadata#SessionService/Sessions/$entity", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/SessionService/index.json b/test_dependencies/mockups/DSP2043-server/SessionService/index.json new file mode 100644 index 00000000..8f4525fd --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/SessionService/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#SessionService.v1_0_2.SessionService", + "Id": "SessionService", + "Name": "Session Service", + "Description": "Session Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "SessionTimeout": 30, + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + }, + "@odata.context": "/redfish/v1/$metadata#SessionService", + "@odata.id": "/redfish/v1/SessionService", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/BIOS/Settings/index.json b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/BIOS/Settings/index.json new file mode 100644 index 00000000..16d2b05d --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/BIOS/Settings/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Bios.v1_0_0.Bios", + "Id": "Settings", + "Name": "BIOS Configuration Pending Settings", + "AttributeRegistry": "BiosAttributeRegistryP89.v1_0_0", + "Attributes": { + "AdminPhone": "(404) 555-1212", + "BootMode": "Uefi", + "EmbeddedSata": "Ahci", + "NicBoot1": "NetworkBoot", + "NicBoot2": "NetworkBoot", + "PowerProfile": "MaxPerf", + "ProcCoreDisable": 0, + "ProcHyperthreading": "Enabled", + "ProcTurboMode": "Disabled", + "UsbControl": "UsbEnabled" + }, + "@odata.context": "/redfish/v1/$metadata#Bios.Bios", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/BIOS/Settings", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/BIOS/index.json b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/BIOS/index.json new file mode 100644 index 00000000..3f0fcf11 --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/BIOS/index.json @@ -0,0 +1,43 @@ +{ + "@odata.type": "#Bios.v1_0_0.Bios", + "Id": "BIOS", + "Name": "BIOS Configuration Current Settings", + "AttributeRegistry": "BiosAttributeRegistryP89.v1_0_0", + "Attributes": { + "AdminPhone": "", + "BootMode": "Uefi", + "EmbeddedSata": "Raid", + "NicBoot1": "NetworkBoot", + "NicBoot2": "Disabled", + "PowerProfile": "MaxPerf", + "ProcCoreDisable": 0, + "ProcHyperthreading": "Enabled", + "ProcTurboMode": "Enabled", + "UsbControl": "UsbEnabled" + }, + "@Redfish.Settings": { + "@odata.type": "#Settings.v1_0_0.Settings", + "ETag": "9234ac83b9700123cc32", + "Messages": [{ + "MessageId": "Base.1.0.SettingsFailed", + "RelatedProperties": [ + "#/Attributes/ProcTurboMode" + ] + }], + "SettingsObject": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/BIOS/Settings" + }, + "Time": "2016-03-07T14:44.30-05:00" + }, + "Actions": { + "#Bios.ResetBios": { + "target": "/redfish/v1/Systems/437XR1138R2/BIOS/Actions/Bios.ResetBios" + }, + "#Bios.ChangePassword": { + "target": "/redfish/v1/Systems/437XR1138R2/BIOS/Actions/Bios.ChangePassword" + } + }, + "@odata.context": "/redfish/v1/$metadata#Bios.Bios", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/BIOS", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/1/index.json b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/1/index.json new file mode 100644 index 00000000..0918fb91 --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/1/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#VLanNetworkInterface.v1_0_2.VLanNetworkInterface", + "Id": "1", + "Name": "VLAN Network Interface", + "Description": "System NIC 1 VLAN", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "VLANEnable": true, + "VLANId": 101, + "@odata.context": "/redfish/v1/$metadata#Systems/Members/437XR1138R2/EthernetInterfaces/Members/12446A3B0411/VLANs/Members/$entity", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/1", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/2/index.json b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/2/index.json new file mode 100644 index 00000000..370d37d5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/2/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#VLanNetworkInterface.v1_0_2.VLanNetworkInterface", + "Id": "2", + "Name": "VLAN Network Interface", + "Description": "System NIC 1 VLAN", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "VLANEnable": true, + "VLANId": 199, + "@odata.context": "/redfish/v1/$metadata#Systems/Members/437XR1138R2/EthernetInterfaces/Members/12446A3B0411/VLANs/Members/$entity", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/2", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/index.json b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/index.json new file mode 100644 index 00000000..ea4a9616 --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#VLanNetworkInterfaceCollection.VLanNetworkInterfaceCollection", + "Name": "VLAN Network Interface Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/2" + } + ], + "@odata.context": "/redfish/v1/$metadata#Systems/Members/437XR1138R2/EthernetInterfaces/Members/12446A3B0411/VLANs/$entity", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/index.json b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/index.json new file mode 100644 index 00000000..fcbdc7ec --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/index.json @@ -0,0 +1,42 @@ +{ + "@odata.type": "#EthernetInterface.v1_0_2.EthernetInterface", + "Id": "1", + "Name": "Ethernet Interface", + "Description": "System NIC 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "FactoryMacAddress": "12:44:6A:3B:04:11", + "MacAddress": "12:44:6A:3B:04:11", + "SpeedMbps": 1000, + "FullDuplex": true, + "HostName": "web483", + "FQDN": "web483.contoso.com", + "IPv6DefaultGateway": "fe80::3ed9:2bff:fe34:600", + "NameServers": [ + "names.contoso.com" + ], + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "Static", + "Gateway": "192.168.0.1" + } + ], + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "Static", + "AddressState": "Preferred" + } + ], + "VLANs": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs" + }, + "@odata.context": "/redfish/v1/$metadata#Systems/Members/437XR1138R2/EthernetInterfaces/Members/$entity", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890/index.json b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890/index.json new file mode 100644 index 00000000..c4f6c09f --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890/index.json @@ -0,0 +1,43 @@ +{ + "@odata.type": "#EthernetInterface.v1_0_2.EthernetInterface", + "Id": "2", + "Name": "Ethernet Interface", + "Description": "System NIC 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PermanentMACAddress": "12:44:6A:3B:88:90", + "MACAddress": "AA:BB:CC:DD:EE:00", + "SpeedMbps": 1000, + "FullDuplex": true, + "HostName": "backup-web483", + "FQDN": "backup-web483.contoso.com", + "IPv6DefaultGateway": "fe80::3ed9:2bff:fe34:600", + "NameServers": [ + "names.contoso.com" + ], + "IPv4Addresses": [ + { + "Address": "192.168.0.11", + "SubnetMask": "255.255.255.0", + "AddressOrigin": "Static", + "Gateway": "192.168.0.1" + } + ], + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e33", + "PrefixLength": 64, + "AddressOrigin": "Static", + "AddressState": "Preferred" + } + ], + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "@odata.context": "/redfish/v1/$metadata#Systems/Members/437XR1138R2/EthernetInterfaces/Members/$entity", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/index.json new file mode 100644 index 00000000..946f78a8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Interface Collection", + "Description": "System NICs on Contoso Servers", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890" + } + ], + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#Systems/Members/437XR1138R2/EthernetInterfaces/$entity", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json new file mode 100644 index 00000000..4a8ba92a --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#LogEntry.v1_0_2.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "SEL", + "OemRecordFormat": "Contoso", + "RecordId": 1, + "Severity": "Critical", + "Created": "2012-03-07T14:44", + "EntryCode": "Assert", + "SensorType": "Temperature", + "SensorNumber": 1, + "Message": "Temperature threshold exceeded", + "MessageID": "Contoso.1.0.TempAssert", + "MessageArgs": [ + "42" + ], + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + }, + "Oem": {} + }, + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#Systems/Members/437XR1138R2/LogServices/Members/Log1/Entries/$entity", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries/1", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/LogServices/Log1/Entries/2/index.json b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/LogServices/Log1/Entries/2/index.json new file mode 100644 index 00000000..9d5725ae --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/LogServices/Log1/Entries/2/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#LogEntry.v1_0_2.LogEntry", + "Id": "2", + "Name": "Log Entry 2", + "EntryType": "SEL", + "OEMRecordFormat": "Contoso", + "RecordId": 2, + "Severity": "Critical", + "Created": "2012-03-07T14:45", + "EntryCode": "Assert", + "SensorType": "Temperature", + "SensorNumber": 2, + "Message": "Temperature threshold exceeded", + "MessageID": "Contoso.1.0.TempAssert", + "MessageArgs": [ + "46" + ], + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + }, + "Oem": {} + }, + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#Systems/Members/437XR1138R2/LogServices/Members/Log1/Entries/$entity", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries/2", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/LogServices/Log1/Entries/index.json b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/LogServices/Log1/Entries/index.json new file mode 100644 index 00000000..a116755b --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/LogServices/Log1/Entries/index.json @@ -0,0 +1,64 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries/1", + "@odata.type": "#LogEntry.v1_0_2.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "SEL", + "OemRecordFormat": "Contoso", + "RecordId": 1, + "Severity": "Warning", + "Created": "2012-03-07T14:44", + "EntryCode": "Assert", + "SensorType": "Temperature", + "Number": 1, + "Message": "Temperature threshold exceeded", + "MessageID": "Contoso.1.0.TempAssert", + "MessageArgs": [ + "42" + ], + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + }, + "Oem": {} + }, + "Oem": {} + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries/2", + "@odata.type": "#LogEntry.v1_0_2.LogEntry", + "Id": "2", + "Name": "Log Entry 2", + "EntryType": "SEL", + "OEMRecordFormat": "Contoso", + "RecordId": 2, + "Severity": "Critical", + "Created": "2012-03-07T14:45", + "EntryCode": "Assert", + "SensorType": "Temperature", + "Number": 2, + "Message": "Temperature threshold exceeded", + "MessageID": "Contoso.1.0.TempAssert", + "MessageArgs": [ + "46" + ], + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + }, + "Oem": {} + }, + "Oem": {} + } + ], + "@odata.nextLink": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries?$skiptoken=2", + "@odata.context": "/redfish/v1/$metadata#Systems/Members/437XR1138R2/LogServices/Members/Log1/Entries", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/LogServices/Log1/index.json b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/LogServices/Log1/index.json new file mode 100644 index 00000000..739df948 --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/LogServices/Log1/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#LogService.v1_0_2.LogService", + "Id": "Log1", + "Name": "System Log Service", + "MaxNumberOfRecords": 1000, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Oem": {}, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Actions/LogService.Reset" + }, + "Oem": {} + }, + "Entries": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries" + }, + "@odata.context": "/redfish/v1/$metadata#Systems/Members/437XR1138R2/LogServices/Members/$entity", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/LogServices/index.json b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/LogServices/index.json new file mode 100644 index 00000000..34b47a63 --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/LogServices/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1" + } + ], + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#Systems/Members/437XR1138R2/LogServices/$entity", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Memory/DIMM1/index.json b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Memory/DIMM1/index.json new file mode 100644 index 00000000..3332c4cf --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Memory/DIMM1/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#Memory.v1_0_0.Memory", + "Name": "DIMM Slot 1", + "Id": "DIMM1", + "RankCount": 2, + "MaxTDPMilliWatts": [12000], + "CapacityMiB": 32768, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.context": "/redfish/v1/$metadata#Memory.Memory", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM1", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Memory/DIMM2/index.json b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Memory/DIMM2/index.json new file mode 100644 index 00000000..d5afa4be --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Memory/DIMM2/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#Memory.v1_0_0.Memory", + "Name": "DIMM Slot 2", + "Id": "DIMM2", + "RankCount": 2, + "MaxTDPMilliWatts": [12000], + "CapacityMiB": 32768, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 2 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.context": "/redfish/v1/$metadata#Memory.Memory", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM2", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Memory/DIMM3/index.json b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Memory/DIMM3/index.json new file mode 100644 index 00000000..8cc263bf --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Memory/DIMM3/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#Memory.v1_0_0.Memory", + "Name": "DIMM Slot 3", + "Id": "DIMM3", + "RankCount": 2, + "MaxTDPMilliWatts": [12000], + "CapacityMiB": 32768, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 2, + "MemoryController": 2, + "Channel": 1, + "Slot": 3 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.context": "/redfish/v1/$metadata#Memory.Memory", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM2", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Memory/DIMM4/index.json b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Memory/DIMM4/index.json new file mode 100644 index 00000000..cefdf8bd --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Memory/DIMM4/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#Memory.v1_0_0.Memory", + "Name": "DIMM Slot 4", + "Id": "DIMM4", + "MemoryLocation": { + "Socket": 2, + "MemoryController": 2, + "Channel": 1, + "Slot": 4 + }, + "Status": { + "State": "Absent" + }, + "@odata.context": "/redfish/v1/$metadata#Memory.Memory", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM4", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Memory/index.json b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Memory/index.json new file mode 100644 index 00000000..5c873c5d --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Memory/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Module Collection", + "Members@odata.count": 4, + "Members": [{ + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM1" + }, { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM2" + }, { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM3" + }, { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM4" + }], + "@odata.context": "/redfish/v1/$metadata#MemoryCollection.MemoryCollection", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Processors/CPU1/index.json b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Processors/CPU1/index.json new file mode 100644 index 00000000..19ce6423 --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Processors/CPU1/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#Processor.v1_0_2.Processor", + "Id": "CPU1", + "Socket": "CPU 1", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Multi-Core Intel(R) Xeon(R) processor 7xxx Series", + "ProcessorID": { + "VendorID": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 3700, + "TotalCores": 8, + "TotalThreads": 16, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.context": "/redfish/v1/$metadata#Systems/Members/437XR1138R2/Processors/Members/$entity", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Processors/CPU2/index.json b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Processors/CPU2/index.json new file mode 100644 index 00000000..a0508514 --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Processors/CPU2/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#Processor.v1_0_2.Processor", + "Id": "CPU2", + "Socket": "CPU 2", + "ProcessorType": "CPU", + "Status": { + "State": "Absent" + }, + "@odata.context": "/redfish/v1/$metadata#Systems/Members/437XR1138R2/Processors/Members/$entity", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU2", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Processors/index.json b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Processors/index.json new file mode 100644 index 00000000..83731804 --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Processors/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#ProcssorCollection.ProcessorCollection", + "Name": "Processors Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU2" + } + ], + "@odata.context": "/redfish/v1/$metadata#Systems/Links/Members/437XR1138R2/Processors/#entity", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/SimpleStorage/1/index.json b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/SimpleStorage/1/index.json new file mode 100644 index 00000000..23a85063 --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/SimpleStorage/1/index.json @@ -0,0 +1,49 @@ +{ + "@odata.type": "#SimpleStorage.v1_0_2.SimpleStorage", + "Id": "1", + "Name": "Simple Storage Controller", + "Description": "System SATA", + "UEFIDevicePath": "Acpi(PNP0A03,0)/Pci(1F|1)/Ata(Primary,Master)/HD(Part3, Sig00110011)", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollUp": "Degraded" + }, + "Devices": [ + { + "Name": "SATA Bay 1", + "Manufacturer": "Contoso", + "Model": "3000GT8", + "CapacityBytes": 8000000000000, + "Status": { + "State": "Enabled", + "Health": "OK" + } + }, + { + "Name": "SATA Bay 2", + "Manufacturer": "Contoso", + "Model": "3000GT7", + "CapacityBytes": 4000000000000, + "Status": { + "State": "Enabled", + "Health": "Degraded" + } + }, + { + "Name": "SATA Bay 3", + "Status": { + "State": "Absent" + } + }, + { + "Name": "SATA Bay 4", + "Status": { + "State": "Absent" + } + } + ], + "@odata.context": "/redfish/v1/$metadata#Systems/Members/437XR1138R2/SimpleStorage/Members/$entity", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SimpleStorage/1", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/SimpleStorage/index.json b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/SimpleStorage/index.json new file mode 100644 index 00000000..a88dddea --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/SimpleStorage/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#SimpleStorageCollection.SimpleStorageCollection", + "Name": "Simple Storage Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SimpleStorage/1" + } + ], + "@odata.context": "/redfish/v1/$metadata#Systems/Members/437XR1138R2/SimpleStorage/$entity", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SimpleStorage", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/index.json b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/index.json new file mode 100644 index 00000000..15bbe421 --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/index.json @@ -0,0 +1,134 @@ +{ + "@odata.type": "#ComputerSystem.v1_1_0.ComputerSystem", + "Id": "437XR1138R2", + "Name": "WebFrontEnd483", + "SystemType": "Physical", + "AssetTag": "Chicago-45Z-2381", + "Manufacturer": "Contoso", + "Model": "3500RX", + "SKU": "8675309", + "SerialNumber": "437XR1138R2", + "PartNumber": "224071-J23", + "Description": "Web Front End node", + "UUID": "38947555-7742-3448-3784-823347823834", + "HostName": "web483", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollUp": "OK" + }, + "IndicatorLED": "Off", + "PowerState": "On", + "Boot": { + "BootSourceOverrideEnabled": "Once", + "BootSourceOverrideTarget": "Pxe", + "BootSourceOverrideTarget@Redfish.AllowableValues": [ + "None", + "Pxe", + "Cd", + "Usb", + "Hdd", + "BiosSetup", + "Utilities", + "Diags", + "SDCard", + "UefiTarget" + ], + "BootSourceOverrideMode": "UEFI", + "UefiTargetBootSourceOverride": "/0x31/0x33/0x01/0x01" + }, + "TrustedModules": [ + { + "FirmwareVersion": "1.13b", + "InterfaceType": "TPM1_2", + "Status": { + "State": "Enabled", + "Health": "OK" + } + } + ], + "Oem": { + "Contoso": { + "@odata.type": "http://Contoso.com/Schema#Contoso.ComputerSystem", + "ProductionLocation": { + "FacilityName": "PacWest Production Facility", + "Country": "USA" + } + }, + "Chipwise": { + "@odata.type": "http://Chipwise.com/Schema#Chipwise.ComputerSystem", + "Style": "Executive" + } + }, + "BiosVersion": "P79 v1.33 (02/28/2015)", + "ProcessorSummary": { + "Count": 2, + "ProcessorFamily": "Multi-Core Intel(R) Xeon(R) processor 7xxx Series", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollUp": "OK" + } + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 96, + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollUp": "OK" + } + }, + "Bios": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/BIOS" + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces" + }, + "SimpleStorage": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SimpleStorage" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ] + }, + "Actions": { + "#ComputerSystem.Reset": { + "target": "/redfish/v1/Systems/437XR1138R2/Actions/ComputerSystem.Reset", + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "GracefulRestart", + "ForceRestart", + "Nmi", + "ForceOn", + "PushPowerButton" + ] + }, + "Oem": { + "#Contoso.Reset": { + "target": "/redfish/v1/Systems/437XR1138R2/Oem/Contoso/Actions/Contoso.Reset" + } + } + }, + "@odata.context": "/redfish/v1/$metadata#ComputerSystem.ComputerSystem", + "@odata.id": "/redfish/v1/Systems/437XR1138R2", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/Systems/index.json b/test_dependencies/mockups/DSP2043-server/Systems/index.json new file mode 100644 index 00000000..50045f1d --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/Systems/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#ComputerSystemCollection.ComputerSystemCollection", + "Name": "Computer System Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + } + ], + "@odata.context": "/redfish/v1/$metadata#Systems", + "@odata.id": "/redfish/v1/Systems", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/TaskService/Tasks/545/index.json b/test_dependencies/mockups/DSP2043-server/TaskService/Tasks/545/index.json new file mode 100644 index 00000000..efb067f1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/TaskService/Tasks/545/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Tasks.v1_0_2.Task", + "Id": "545", + "Name": "Task 545", + "TaskState": "Completed", + "StartTime": "2012-03-07T14:44+06:00", + "EndTime": "2012-03-07T14:45+06:00", + "TaskStatus": "OK", + "Messages": [ + { + "MessageId": "Base.1.0.PropertyNotWriteable", + "RelatedProperties": [ + "SKU" + ], + "Message": "The property SKU is a read only property and cannot be assigned a value", + "MessageArgs": [ + "SKU" + ], + "Severity": "Warning" + } + ], + "@odata.context": "/redfish/v1/$metadata/TaskService/Tasks/Members/$entity", + "@odata.id": "/redfish/v1/TaskService/Tasks/545", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/TaskService/Tasks/index.json b/test_dependencies/mockups/DSP2043-server/TaskService/Tasks/index.json new file mode 100644 index 00000000..424c3338 --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/TaskService/Tasks/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#TasksCollection.TaskCollection", + "Name": "Task Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/TaskService/Tasks/545" + } + ], + "@odata.context": "/redfish/v1/$metadata#TaskService/Tasks/$entity", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/TaskService/index.json b/test_dependencies/mockups/DSP2043-server/TaskService/index.json new file mode 100644 index 00000000..95987aab --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/TaskService/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#TaskService.v1_0_2.TaskService", + "Id": "TaskService", + "Name": "Tasks Service", + "DateTime": "2015-03-13T04:14:33+06:00", + "OverWritePolicy": "Never", + "LifeCycleEventOnTaskStateChange": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "Tasks": { + "@odata.id": "/redfish/v1/TaskService/Tasks" + }, + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata/TaskService", + "@odata.id": "/redfish/v1/TaskService", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/DSP2043-server/index.json b/test_dependencies/mockups/DSP2043-server/index.json new file mode 100644 index 00000000..ff4d0867 --- /dev/null +++ b/test_dependencies/mockups/DSP2043-server/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#ServiceRoot.v1_0_2.ServiceRoot", + "Id": "RootService", + "Name": "Root Service", + "RedfishVersion": "1.0.2", + "UUID": "92384634-2938-2342-8820-489239905423", + "Systems": { + "@odata.id": "/redfish/v1/Systems" + }, + "Chassis": { + "@odata.id": "/redfish/v1/Chassis" + }, + "Managers": { + "@odata.id": "/redfish/v1/Managers" + }, + "Tasks": { + "@odata.id": "/redfish/v1/TaskService" + }, + "SessionService": { + "@odata.id": "/redfish/v1/SessionService" + }, + "AccountService": { + "@odata.id": "/redfish/v1/AccountService" + }, + "EventService": { + "@odata.id": "/redfish/v1/EventService" + }, + "Links": { + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + } + }, + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#ServiceRoot", + "@odata.id": "/redfish/v1/", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/README2043.html b/test_dependencies/mockups/README2043.html new file mode 100644 index 00000000..b029a22d --- /dev/null +++ b/test_dependencies/mockups/README2043.html @@ -0,0 +1,502 @@ + + + + + + + + + + + + + +
+
+
+ +

Document Identifier: DSP2043

+

Date: 2016-06-28

+

Version: 1.0.0

+ +
+

Scalable Platforms Management API Mockup Readme

+
+ Information for Work-in-Progress version: +

IMPORTANT: This document is not a standard. It does not necessarily reflect the views of the DMTF or its members. Because this document is a Work in Progress, this document may still change, perhaps profoundly and without notice. This document is available for public review and comment until superseded.

+

Provide any comments through the DMTF Feedback Portal: http://www.dmtf.org/standards/feedback

+
+
+

Supersedes: None

+

Document Class: Informative

+

Document Status:

+

Document Language: en-US

+
+ +

DMTF is a not-for-profit association of industry members dedicated to promoting enterprise and systems management and interoperability. Members and non-members may reproduce DMTF specifications and documents, provided that correct attribution is given. As DMTF specifications may be revised from time to time, the particular version and release date should always be noted.

+

Implementation of certain elements of this standard or proposed standard may be subject to third party patent rights, including provisional patent rights (herein "patent rights"). DMTF makes no representations to users of the standard as to the existence of such rights, and is not responsible to recognize, disclose, or identify any or all such third party patent right, owners or claimants, nor for any incomplete or inaccurate identification or disclosure of such rights, owners or claimants. DMTF shall have no liability to any party, in any manner or circumstance, under any legal theory whatsoever, for failure to recognize, disclose, or identify any such third party patent rights, or for such party’s reliance on the standard or incorporation thereof in its product, protocols or testing procedures. DMTF shall have no liability to any party implementing such standard, whether such implementation is foreseeable or not, nor to any patent owner or claimant, and shall have no liability or responsibility for costs or losses incurred if a standard is withdrawn or modified after publication, and shall be indemnified and held harmless by any party implementing the standard from any and all claims of infringement by a patent owner for such implementations.

+

For information about patents held by third-parties which have notified the DMTF that, in their opinion, such patent may relate to or impact implementations of DMTF standards, visit http://www.dmtf.org/about/policies/disclosures.php.

+

This document’s normative language is English. Translation into other languages is permitted.

+
+

CONTENTS

+
    +

    Foreword

    +

    The following files are part of the Redfish Scalable Platforms Management API ("Redfish") development effort

    +
      +
    • Specification.md - this file is the main Redfish Scalable Platforms Management API Specification
    • +
    • Whitepaper.md - this is intended to be a non-normative document helping those new to Redfish understand how to interact with the Redfish service and understand common functions and tasks.
    • +
    • Readme2043.md - this document.
    • +
    • Readme8010.md - Schema Readme
    • +
    +

    These other components are part of the Redfish Scalable Platforms Management API development effort

    +
      +
    • Mockup (DSP2043) - this is a mockup that can be used as sample of output from GETs from A Redfish service. Informative in nature, it was used to develop the schema. A person can set up an NGINX or similar server and configure it to output JSON format and then use this directory for demonstration purposes.
    • +
    • Schema - this contains the Redfish Schema definitions. These files are normative in nature and are normatively reference by the Redfish Specification. There are two Schema formats - CSDL (OData Common Schema Definition Language format which is in XML) and JSON Schema. These Schema defintions should be functionally equivalent, thus specifying the schema in two different languages.
    • +
    +

    Redfish Mockups

    +

    This archive contains a number of mockups of various Redfish service implementations. They are intended to be a guide for learning about the Redfish Specification by showing typical examples of implementations. These mockups are not prototypes and do not reflect any actual product or Redfish implementation.

    +

    Many of these mockups are also used to populate the Redfish Resource Explorer, part of the Redfish Developer Hub located at: http://redfish.dmtf.org

    +

    DSP2043 Server (DSP2043-server)

    +

    This mockup provides an example of a 1U or 2U rack-mounted server typically deployed in large scale data centers. In addition, the mockup is intended to be used as a base for "Work in Progress" mockups to demonstrate new features, schemas or properties currently under development within the SPMF.

    +

    Simple Rack-mounted server (public-rackmount)

    +

    This illustration of a Redfish service implementation shows a typical rack-mount server, as commonly used in scale-out data centers. It depicts the types of information that can be expected, but does not represent an actual implementation.

    +

    Bladed Server (public-bladed)

    +

    This example represents an enclosure of “blade servers” that share infrastructure components, such as power supplies and fans. Depicting an enclosure containing four blade servers (a total of five “Chassis”), this mockup demonstrates the modeling of multiple chassis and systems managed from a single Redfish service.

    +

    Proposed OCP Redfish Profile (proposed-ocp-profile)

    +

    This draft example, for ongoing development, represents a proposed minimal Redfish data model "profile" that meets the needs of the Open Compute Project’s Hardware Management requirements. This draft profile is intended to help define a list of required properties so that essential management-related tasks, as defined by OCP, can be performed on any Redfish implementation.

    +

    Concepts

    +

    Every URI represents a resource, which could be a service, a collection, an element or some other construct. But in RESTful terms, these URIs point to resources and clients interact with Resources. So when you see the term resource, you can think of it as what you get back when you access a URI.

    +

    The resource format is defined by a Schema. Each resource has a specific format that is specified in the Redfish Schema that the client can use to determine the semantics about the resource (though we try to make things as intuitive as possible). The Schema is defined in OData's Schema format.

    +

    All properties in the resource are intended to be used as JavaScript variables. This should accelerate adoption and allow JavaScript web pages and enabled apps to use the data directly. URIs are persistent across reboots but clients are expected to start at /redfish/v1 and do discovery of the URIs from there. This is known as a "hypermedia API" approach. Don't fixate on the URIs as URIs can be different between implementations. Current state objects can be separate from desired state objects. +The section below works better if you are actually doing the GETs

    +

    Starting

    +

    All clients start at the base /redfish/v1 object. Many items are broken down in arrays of references for scalable environments. Links to other resources are in the "links" section. You can see links to Systems, managers, the physical Chassis as well as services like Eventing, Tasks, Schema (meta data)). (Note – discovery of service endpoints will be done using UPNP’s SSDP but that’s not in the mockup).

    +

    Versioning

    +

    Redfish has two kinds of versioning - the version of the protocol and the version of the resource schema. The version of the protocol is in the URI - that's why you should start at /redfish/v1. It means you are accessing version one of the protocol. Version 1 is the only one available now, but we needed to accommodate potential future versions.

    +

    Each resource has a resource type definition. Resource types are defined in versioned namespaces. Each resource instance has the type represented using the OData type annotation "@odata.type". The value of the type annotation is the URI of the resourcce type, including the versioned namespace. So when you see "@odata.type" : "#ServiceRoot.v1_0_0.ServiceRoot", you are dealing with a resource that adheres to the ServiceRoot type definition, defined in 1.0.0 version of the ServiceRoot schema. The corresponding schema file would be located at /schema/v1/ServiceRoot in the Redfish schema repository. So the full URI for the type would be "/schem/v1/ServiceRoot#ServiceRoot.v1_0_0.ServiceRoot. The schema file may contain other types used by in the resource type definition (for example, structured types and enums), which would have the same resource path but the fragment would describe a different type definition, typically within the same namespace.

    +

    References

    +

    When you see the links section, it will have a set of references to other resources in it. URIs are either absolute or relative. Absolute ones won’t have the IP address but will start with /redfish/v1. If you have a plug in like the Chrome Advanced REST client, you can click on this to fill in the URI for your next GET.

    +

    Main Objects

    +

    The "main" objects are Systems, Managers and Chassis. These are all collections (see next heading). We will dig into these resources in a minute, but it's good to know a bit about them. Systems can have one or more managers (since some managers are redundant), and are in one chassis. Managers are in a Chassis and can manage more than one system. And Chassis can house more than one System and/or Managers. Chassis can also have Chassis in them. It is the chassis that houses sensors, fans and the like. Systems have the CPU/Memory complex and devices and managers handle various management services but also have their own devices (like NICs). This is just an overview, but looking at the base object you can see this right away.

    +

    Collections

    +

    There are groups of similar resources returned as collections. Examples of these in the Mockup include Systems, Managers, Chassis, LogEntries, Sessions, EventSubscriptions and more.

    +

    So pick either Systems, Managers or Chassis and go down into it. You will see this is a Collection. Collections may be paginated; collections with a property named "@odata.nextLink" are incomplete, and the client can use the URL-value of the property to retrieve the next portion of the collection from the service.

    +

    Collection responses have a "value" property that contains a list of members, or links to members. Links to members are represented as JSON objects with a single "@odata.id" property containing the URI of the related resource.

    +

    Current Configurations vs Settings

    +

    There are basically two kinds of objects in Redfish - Current Configurations and Settings. Most objects represent the current state of any given resource. Occasionally, you'll see a property called "Settings" in the links section for a resource. This link tells you where to do PUTs and PATCHes. It represents the future state of the resource. Some resources can handle changes to them right away, others may require a restart/reboot of the system or service. "Settings" is used to let the client know what type of resource this is and where to make the changes. If you see a Settings link, that's where to make the changes that will be picked up at the next reboot. Examples of resources that need Settings are devices like NICs and Storage as well as BIOS.

    +

    Common Properties

    +

    As you go through the model, you keep seeing some of the same properties. You'll find Name and Modified in every resource. These are required. You'll also see Status as an embedded object and it has the same definition across all usages. All of these are actually in a common part of the Schema and used by other Schema by reference.

    +

    Actions

    +

    Not everything can be done easily using REST, so Redfish leverages OData Actions for procedural operations. Things like "push button" on a System (which would reset the system or turn it off, depending on its setting) can't easily be represented in the System because the service has no idea what the state of the button is.

    +

    So instead of having hidden properties that you could PUT/PATCH to, or complex state machines, we created Actions. Actions are done with POSTs to the Resource (see the spec for specifics). You can tell what actions are supported in any resource by looking for the "Actions" property.

    +

    Redundancy

    +

    Go back to one of the Chassis and take a look at the fans by following the link to "Thermal" and you will see how Redfish shows redundancy.

    +

    You will notice an array called "Redundancy". It shows the two fans in its set using the same values in the RelatedItem properties. Redundancy has a common schema definition in Redfish and has other properties in it besides the members to show other important attributes about redundancy. This is how the client can figure out which items belongs to which redundancy set since the @odata.id values are pointers to the redundancy set members.

    +

    The value of the "@odata.id" property, though, doesn't have to be to a whole resource. The value of this property will be of two formats: a JSON Pointer or an OData reference.

    +
      +
    • In the case of a JSON Pointer, there will be a # in it that indicates where the resource stops and where the property pattern begins. The schema will also have a reference to the property. An example of a JSON Pointer value might be "/redfish/v1/Chassis/1/Thermal#/Fans/0".
    • +
    • In the case of an OData reference, there will not be a # in it. The schema will have a definition of the property. An example of a JSON Pointer value might be "/redfish/v1/Chassis/1/Thermal/Fans/0".
    • +
    +

    RelatedItems

    +

    If you're still in the "Thermal" resource, you can see that the Temperature array elements have a RelatedItem property with an "@odata.id" in it. This is a reference to the sub-resource that this temperature sensor is measuring - perhaps a processor. Like Redudancy links, the value may be to a sub-resource. Thus a client can determine what is being measured by this temperature sensor.

    +

    RelatedItem, while having a common schema definition, is situational dependent in it's usage. But it always is used to show a relationship between two different resources or sub-resources.

    +

    And like redundancy, the value of the "@odata.id" property doesn't have to be to a whole resource.

    +

    ETags

    +

    ETags are used by browsers to optimize IO (caching). They do an If-Match and if it matches, they don’t bother dragging the data. We use them to determine if an object has changed. Thus every ETag will change if a PUT is done or if a tool (like BIOS configuration at the console) takes place. Thus any race condition on PUTs between Redfish and non-Redfish clients (as well as other Redfish clients) are always noticed.

    +

    The problem is that this is a mock-up and not a real web service so you can't see the ETags work.

    +

    Services

    +

    Let's go back to root and take a look at some common services. Tasks, Sessions, EventService and AccountService are all common services. You can read more about them in the spec, but they should be fairly obvious. Tasks contains a list of jobs that may have been started, usually as the result of Actions.

    +

    Where does a client get schema definition?

    +

    Payloads contain a URL that the client can use to retrieve the schema for the service. That service schema file generally references other externally hosted schema files for common schema definitions. Types within a JSON payload are identified by a dereferenceable type URI.

    +

    Enough for now

    +

    Hopefully the information will have been enough for now to get you up to speed and you can start perusing the mockup and reading the spec as well as the schema to get an idea of how all of this works.

    + + +
    + + + \ No newline at end of file diff --git a/test_dependencies/mockups/proposed-ocp-profile/$metadata/index.xml b/test_dependencies/mockups/proposed-ocp-profile/$metadata/index.xml new file mode 100644 index 00000000..52f7119c --- /dev/null +++ b/test_dependencies/mockups/proposed-ocp-profile/$metadata/index.xml @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test_dependencies/mockups/proposed-ocp-profile/AccountService/Accounts/index.json b/test_dependencies/mockups/proposed-ocp-profile/AccountService/Accounts/index.json new file mode 100644 index 00000000..80f0cf34 --- /dev/null +++ b/test_dependencies/mockups/proposed-ocp-profile/AccountService/Accounts/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#ManagerAccountCollection.ManagerAccountCollection", + "Name": "Accounts Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Accounts/root" + }, + { + "@odata.id": "/redfish/v1/AccountService/Accounts/jane" + }, + { + "@odata.id": "/redfish/v1/AccountService/Accounts/john" + } + ], + "@odata.context": "/redfish/v1/$metadata#ManagerAccountCollection.ManagerAccountCollection", + "@odata.id": "/redfish/v1/AccountService/Accounts", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/proposed-ocp-profile/AccountService/Accounts/jane/index.json b/test_dependencies/mockups/proposed-ocp-profile/AccountService/Accounts/jane/index.json new file mode 100644 index 00000000..51e2ce59 --- /dev/null +++ b/test_dependencies/mockups/proposed-ocp-profile/AccountService/Accounts/jane/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#ManagerAccount.v1_0_2.ManagerAccount", + "Id": "jane", + "Name": "UserAccount", + "Description": "User Account", + "Enabled": true, + "Password": null, + "UserName": "jane", + "RoleId": "Operator", + "Locked": false, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/Operator" + } + }, + "@odata.context": "/redfish/v1/$metadata#ManagerAccount.ManagerAccount", + "@odata.id": "/redfish/v1/AccountService/Accounts/jane", + "@Redfish.Copyright":"Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/proposed-ocp-profile/AccountService/Accounts/john/index.json b/test_dependencies/mockups/proposed-ocp-profile/AccountService/Accounts/john/index.json new file mode 100644 index 00000000..a8106d6e --- /dev/null +++ b/test_dependencies/mockups/proposed-ocp-profile/AccountService/Accounts/john/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#ManagerAccount.v1_0_2.ManagerAccount", + "Id": "john", + "Name": "UserAccount", + "Description": "User Account", + "Enabled": true, + "Password": null, + "UserName": "john", + "RoleId": "ReadOnlyUser", + "Locked": false, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnlyUser" + } + }, + "@odata.context": "/redfish/v1/$metadata#ManagerAccount.ManagerAccount", + "@odata.id": "/redfish/v1/AccountService/Accounts/john", + "@Redfish.Copyright":"Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/proposed-ocp-profile/AccountService/Accounts/root/index.json b/test_dependencies/mockups/proposed-ocp-profile/AccountService/Accounts/root/index.json new file mode 100644 index 00000000..c966e7c7 --- /dev/null +++ b/test_dependencies/mockups/proposed-ocp-profile/AccountService/Accounts/root/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#ManagerAccount.v1_0_2.ManagerAccount", + "Id": "root", + "Name": "UserAccount", + "Description": "User Account", + "Enabled": true, + "Password": null, + "UserName": "root", + "RoleId": "Admin", + "Locked": false, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/Admin" + } + }, + "@odata.context": "/redfish/v1/$metadata#ManagerAccount.ManagerAccount", + "@odata.id": "/redfish/v1/AccountService/Accounts/root", + "@Redfish.Copyright":"Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/proposed-ocp-profile/AccountService/Roles/Admin/index.json b/test_dependencies/mockups/proposed-ocp-profile/AccountService/Roles/Admin/index.json new file mode 100644 index 00000000..4debc374 --- /dev/null +++ b/test_dependencies/mockups/proposed-ocp-profile/AccountService/Roles/Admin/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#Role.v1_0_2.Role", + "Id": "Admin", + "Name": "User Role", + "Description": "Admin User Role", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureManager", + "ConfigureUsers", + "ConfigureSelf", + "ConfigureComponents" + ], + "@odata.context": "/redfish/v1/$metadata#Role.Role", + "@odata.id": "/redfish/v1/AccountService/Roles/Admin", + "@Redfish.Copyright":"Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/proposed-ocp-profile/AccountService/Roles/Operator/index.json b/test_dependencies/mockups/proposed-ocp-profile/AccountService/Roles/Operator/index.json new file mode 100644 index 00000000..f30e747c --- /dev/null +++ b/test_dependencies/mockups/proposed-ocp-profile/AccountService/Roles/Operator/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#Role.v1_0_2.Role", + "Id": "Operator", + "Name": "User Role", + "Description": "Operator User Role", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf", + "ConfigureComponents" + ], + "@odata.context": "/redfish/v1/$metadata#Role.Role", + "@odata.id": "/redfish/v1/AccountService/Roles/Operator", + "@Redfish.Copyright":"Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/proposed-ocp-profile/AccountService/Roles/ReadOnlyUser/index.json b/test_dependencies/mockups/proposed-ocp-profile/AccountService/Roles/ReadOnlyUser/index.json new file mode 100644 index 00000000..09a8cc39 --- /dev/null +++ b/test_dependencies/mockups/proposed-ocp-profile/AccountService/Roles/ReadOnlyUser/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#Role.v1_0_2.Role", + "Id": "ReadOnlyUser", + "Name": "User Role", + "Description": "ReadOnlyUser User Role", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login" + ], + "@odata.context": "/redfish/v1/$metadata#Role.Role", + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnlyUser", + "@Redfish.Copyright":"Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/proposed-ocp-profile/AccountService/Roles/index.json b/test_dependencies/mockups/proposed-ocp-profile/AccountService/Roles/index.json new file mode 100644 index 00000000..f295d07d --- /dev/null +++ b/test_dependencies/mockups/proposed-ocp-profile/AccountService/Roles/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#RoleCollection.RoleCollection", + "Name": "Roles Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Roles/Admin" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/Operator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnlyUser" + } + ], + "@odata.context": "/redfish/v1/$metadata#RoleCollection.RoleCollection", + "@odata.id": "/redfish/v1/AccountService/Roles", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/proposed-ocp-profile/AccountService/index.json b/test_dependencies/mockups/proposed-ocp-profile/AccountService/index.json new file mode 100644 index 00000000..f0e36595 --- /dev/null +++ b/test_dependencies/mockups/proposed-ocp-profile/AccountService/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#AccountService.v1_0_2.AccountService", + "Id": "AccountService", + "Name": "Account Service", + "Description": "Account Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "AuthFailureLoggingThreshold": 3, + "MinPasswordLength": 8, + "AccountLockoutThreshold": 5, + "AccountLockoutDuration": 30, + "AccountLockoutCounterResetAfter": 30, + "Accounts": { + "@odata.id": "/redfish/v1/AccountService/Accounts" + }, + "Roles": { + "@odata.id": "/redfish/v1/AccountService/Roles" + }, + "@odata.context": "/redfish/v1/$metadata#AccountService.AccountService", + "@odata.id": "/redfish/v1/AccountService", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/proposed-ocp-profile/Chassis/1/Power/index.json b/test_dependencies/mockups/proposed-ocp-profile/Chassis/1/Power/index.json new file mode 100644 index 00000000..b50b8ee8 --- /dev/null +++ b/test_dependencies/mockups/proposed-ocp-profile/Chassis/1/Power/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#Power.v1_1_0.Power", + "Id": "Power", + "Name": "Power", + "PowerControl": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Power#/PowerControl/0", + "MemberId": "0", + "Name": "System Power Control", + "PowerConsumedWatts": 224, + "PowerCapacityWatts": 600, + "PowerLimit": { + "LimitInWatts": 450, + "LimitException": "LogEventOnly", + "CorrectionInMs": 1000 + }, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Oem": {} + } + ], + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#Power.Power", + "@odata.id": "/redfish/v1/Chassis/1/Power", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/proposed-ocp-profile/Chassis/1/Thermal/index.json b/test_dependencies/mockups/proposed-ocp-profile/Chassis/1/Thermal/index.json new file mode 100644 index 00000000..fdf0cb55 --- /dev/null +++ b/test_dependencies/mockups/proposed-ocp-profile/Chassis/1/Thermal/index.json @@ -0,0 +1,150 @@ +{ + "@odata.type": "#Thermal.v1_1_0.Thermal", + "Id": "Thermal", + "Name": "Thermal", + "Temperatures": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Temperatures/0", + "MemberId": "0", + "Name": "Inlet Temp", + "SensorNumber": 42, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 25, + "UpperThresholdNonCritical": 35, + "UpperThresholdCritical": 40, + "UpperThresholdFatal": 50, + "MinReadingRange": 0, + "MaxReadingRange": 200, + "PhysicalContext": "Intake" + }, + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Temperatures/1", + "MemberId": "1", + "Name": "Board Temp", + "SensorNumber": 43, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 35, + "UpperThresholdNonCritical": 30, + "UpperThresholdCritical": 40, + "UpperThresholdFatal": 50, + "MinReadingRange": 0, + "MaxReadingRange": 200, + "PhysicalContext": "SystemBoard" + }, + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Temperatures/2", + "MemberId": "2", + "Name": "CPU1 Temp", + "SensorNumber": 44, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 45, + "UpperThresholdNonCritical": 60, + "UpperThresholdCritical": 82, + "MinReadingRange": 0, + "MaxReadingRange": 200, + "PhysicalContext": "CPU" + }, + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Temperatures/3", + "MemberId": "3", + "Name": "CPU2 Temp", + "SensorNumber": 45, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 46, + "UpperThresholdNonCritical": 60, + "UpperThresholdCritical": 82, + "MinReadingRange": 0, + "MaxReadingRange": 200, + "PhysicalContext": "CPU" + } + ], + "Fans": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Fans/0", + "MemberId": "0", + "Name": "BaseBoard System Fan 1", + "PhysicalContext": "Backplane", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2100, + "ReadingUnits": "RPM", + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 4200, + "UpperThresholdFatal": 42, + "LowerThresholdNonCritical": 42, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 42, + "MinReadingRange": 0, + "MaxReadingRange": 5000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Redundancy/0" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Fans/1", + "MemberId": "1", + "Name": "BaseBoard System Fan 2", + "PhysicalContext": "Backplane", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2100, + "ReadingUnits": "RPM", + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 4200, + "UpperThresholdFatal": 42, + "LowerThresholdNonCritical": 42, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 42, + "MinReadingRange": 0, + "MaxReadingRange": 5000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Redundancy/0" + } + ] + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Redundancy/0", + "MemberId": "0", + "Name": "BaseBoard System Fans", + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Fans/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Fans/1" + } + ], + "Mode": "N+m", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MinNumNeeded": 1, + "MaxNumSupported": 2 + } + ], + "@odata.context": "/redfish/v1/$metadata#Thermal.Thermal", + "@odata.id": "/redfish/v1/Chassis/1/Thermal", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/proposed-ocp-profile/Chassis/1/index.json b/test_dependencies/mockups/proposed-ocp-profile/Chassis/1/index.json new file mode 100644 index 00000000..e2ff9874 --- /dev/null +++ b/test_dependencies/mockups/proposed-ocp-profile/Chassis/1/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#Chassis.v1_2_0.Chassis", + "Id": "1", + "Name": "Catfish System Chassis", + "ChassisType": "RackMount", + "Manufacturer": "CatfishManufacturer", + "Model": "YellowCat1000", + "SerialNumber": "2M220100SL", + "SKU": "", + "PartNumber": "", + "AssetTag": "CATFISHASSETTAG", + "IndicatorLED": "Lit", + "PowerState": "On", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/1/Thermal" + }, + "Power": { + "@odata.id": "/redfish/v1/Chassis/1/Power" + }, + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/1" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/bmc" + } + ], + "ManagersInChassis": [ + { + "@odata.id": "/redfish/v1/Managers/bmc" + } + ], + "Oem": {} + }, + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#Chassis.Chassis", + "@odata.id": "/redfish/v1/Chassis/1", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/proposed-ocp-profile/Chassis/index.json b/test_dependencies/mockups/proposed-ocp-profile/Chassis/index.json new file mode 100644 index 00000000..3414df15 --- /dev/null +++ b/test_dependencies/mockups/proposed-ocp-profile/Chassis/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#ChassisCollection.ChassisCollection", + "Name": "Chassis Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1" + } + ], + "@odata.context": "/redfish/v1/$metadata#ChassisCollection.ChassisCollection", + "@odata.id": "/redfish/v1/Chassis", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/proposed-ocp-profile/Managers/bmc/EthernetInterfaces/eth0/index.json b/test_dependencies/mockups/proposed-ocp-profile/Managers/bmc/EthernetInterfaces/eth0/index.json new file mode 100644 index 00000000..f3e8528d --- /dev/null +++ b/test_dependencies/mockups/proposed-ocp-profile/Managers/bmc/EthernetInterfaces/eth0/index.json @@ -0,0 +1,60 @@ +{ + "@odata.type": "#EthernetInterface.v1_0_2.EthernetInterface", + "Id": "eth0", + "Name": "Manager Ethernet Interface", + "Description": "Management Network Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "AA:BB:CC:DD:EE:FF", + "MACAddress": "AA:BB:CC:DD:EE:FF", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "MyHostName", + "FQDN": "MyHostName.MyDomainName.com", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.0.1", + "Oem": {} + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred", + "Oem": {} + } + ], + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#EthernetInterface.EthernetInterface", + "@odata.id": "/redfish/v1/Managers/bmc/EthernetInterfaces/eth0", + "@Redfish.Copyright":"Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/proposed-ocp-profile/Managers/bmc/EthernetInterfaces/index.json b/test_dependencies/mockups/proposed-ocp-profile/Managers/bmc/EthernetInterfaces/index.json new file mode 100644 index 00000000..77b85973 --- /dev/null +++ b/test_dependencies/mockups/proposed-ocp-profile/Managers/bmc/EthernetInterfaces/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Network Interface Collection", + "Description": "Collection of EthernetInterfaces for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/bmc/EthernetInterfaces/eth0" + } + ], + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#EthernetInterfaceCollection.EthernetInterfaceCollection", + "@odata.id": "/redfish/v1/Managers/bmc/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/proposed-ocp-profile/Managers/bmc/NetworkProtocol/index.json b/test_dependencies/mockups/proposed-ocp-profile/Managers/bmc/NetworkProtocol/index.json new file mode 100644 index 00000000..192fca54 --- /dev/null +++ b/test_dependencies/mockups/proposed-ocp-profile/Managers/bmc/NetworkProtocol/index.json @@ -0,0 +1,47 @@ +{ + "@odata.type": "#ManagerNetworkProtocol.v1_0_2.ManagerNetworkProtocol", + "Id": "NetworkProtocol", + "Name": "Manager Network Protocol", + "Description": "Manager Network Service Status", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "HostName": "myBmcHostname", + "FQDN": "mymanager.mydomain.com", + "HTTP": { + "ProtocolEnabled": true, + "Port": 80 + }, + "HTTPS": { + "ProtocolEnabled": true, + "Port": 443 + }, + "IPMI": { + "ProtocolEnabled": true, + "Port": 623 + }, + "SSH": { + "ProtocolEnabled": true, + "Port": 22 + }, + "SNMP": { + "ProtocolEnabled": true, + "Port": 161 + }, + "SSDP": { + "ProtocolEnabled": true, + "Port": 1900, + "NotifyMulticastIntervalSeconds": 600, + "NotifyTTL": 5, + "NotifyIPv6Scope": "Site" + }, + "Telnet": { + "ProtocolEnabled": true, + "Port": 23 + }, + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#ManagerNetworkProtocol.ManagerNetworkProtocol", + "@odata.id": "/redfish/v1/Managers/bmc/NetworkProtocol", + "@Redfish.Copyright":"Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/proposed-ocp-profile/Managers/bmc/index.json b/test_dependencies/mockups/proposed-ocp-profile/Managers/bmc/index.json new file mode 100644 index 00000000..adcb6706 --- /dev/null +++ b/test_dependencies/mockups/proposed-ocp-profile/Managers/bmc/index.json @@ -0,0 +1,53 @@ +{ + "@odata.type": "#Manager.v1_1_0.Manager", + "Id": "bmc", + "Name": "Manager", + "ManagerType": "BMC", + "Description": "BMC", + "ServiceEntryPointUUID": "92384634-2938-2342-8820-489239905423", + "UUID": "00000000-0000-0000-0000-000000000000", + "Model": "CatfishBMC", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "FirmwareVersion": "1.00", + "NetworkProtocol": { + "@odata.id": "/redfish/v1/Managers/bmc/NetworkProtocol" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/bmc/EthernetInterfaces" + }, + "Links": { + "ManagerForServers": [ + { + "@odata.id": "/redfish/v1/Systems/1" + } + ], + "ManagerForChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/1" + } + ], + "ManagerInChassis": { + "@odata.id": "/redfish/v1/Chassis/1" + }, + "Oem": {} + }, + "Actions": { + "#Manager.Reset": { + "target": "/redfish/v1/Managers/bmc/Actions/Manager.Reset", + "ResetType@Redfish.AllowableValues": [ + "ForceRestart", + "GracefulRestart" + ] + }, + "Oem": {} + }, + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#Manager.Manager", + "@odata.id": "/redfish/v1/Managers/bmc", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/proposed-ocp-profile/Managers/index.json b/test_dependencies/mockups/proposed-ocp-profile/Managers/index.json new file mode 100644 index 00000000..8e5f5e03 --- /dev/null +++ b/test_dependencies/mockups/proposed-ocp-profile/Managers/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#ManagerCollection.ManagerCollection", + "Name": "Manager Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/bmc" + } + ], + "@odata.context": "/redfish/v1/$metadata#ManagerCollection.ManagerCollection", + "@odata.id": "/redfish/v1/Managers", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/proposed-ocp-profile/README.md b/test_dependencies/mockups/proposed-ocp-profile/README.md new file mode 100644 index 00000000..27b02f6f --- /dev/null +++ b/test_dependencies/mockups/proposed-ocp-profile/README.md @@ -0,0 +1,39 @@ +--- +DocTitle: Catfish Mockup +--- +# Catfish Mockup: + * A simple, minimal Redfish Service + * For a monolithic Server + * Aligned with: OCP Remote Machine Management Spec feature set + + +# Top Level Description: + * A Monolithic server: + * One ComputerSystem + * One Chassis + * One Manager + --Provides basic management features aligned with OCP Remote Machine Management Spec 1.01: + * Power-on/off/reset + * Boot to PXE, HDD, BIOS setup (boot override) + * 4 temp sensors per DCMI (CPU1, CPU2, Board, Inlet) + * Simple Power Reading, and DCMI Power Limiting + * Fan Monitoring w/ redundancy + * Set asset tag and Indicator LED + * Basic inventory (serial#, model, SKU, Vendor, BIOS ver…) + * User Management + * BMC management: get/set IP, version, enable/disable protocol + +# What it does NOT have -- that the Redfish 1.0 model supports + * No PSUs in model (RMM spec did not include PSUs) + * No ProcessorInfo, MemoryInfo, StorageInfo, System-EthernetInterfaceInfo + * No Tasks + * JsonSchema and Registries collections left out (since that is optional) + * No EventService + * Remote Machine Management spec used basic PET alerts + + +# Discussion + * Opportunity to define some Redfish ‘Integration Recipe’ that specify + * What APIs and properties are supported / required + * How to capture + diff --git a/test_dependencies/mockups/proposed-ocp-profile/README.txt b/test_dependencies/mockups/proposed-ocp-profile/README.txt new file mode 100644 index 00000000..1a876704 --- /dev/null +++ b/test_dependencies/mockups/proposed-ocp-profile/README.txt @@ -0,0 +1,38 @@ + +Catfish Mockup: + -- A simple, minimal Redfish Service + -- For a monolythic Server + -- Aligned with: OCP Remote Machine Management Spec feature set + + +Top Level Description: + --A Monolythic server: + --One ComputerSystem + --One Chassis + --One Manager + --Provides basic management features aligned with OCP Remote Machine Management Spec 1.01: + --Power-on/off/reset + --Boot to PXE, HDD, BIOS setup (boot override) + --4 temp sensors per DCMI (CPU1, CPU2, Board, Inlet) + --Simple Power Reading, and DCMI Power Limiting + --Fan Monitoring w/ redundancy + --Set asset tag and Indicator LED + --Basic inventory (serial#, model, SKU, Vendor, BIOS ver…) + --User Management + --BMC management: get/set IP, version, enable/disable protocol + +What it does NOT have -- that the Redfish 1.0 model supports + --No PSUs in model (RMM spec did not include PSUs) + --No ProcessorInfo, MemoryInfo, StorageInfo, System-EthernetInterfaceInfo + --No Tasks + --JsonSchema and Registries collections left out (since that is optional) + --No EventService + --Remote Machine Management spec used basic PET alerts + + +Discussion + --Opportunity to define some Redfish ‘API Profiles’ that specify + --What APIs and properties are supported / required + --Min and Max issue + --How to capture + diff --git a/test_dependencies/mockups/proposed-ocp-profile/SessionService/Sessions/1234567890ABCDEF/index.json b/test_dependencies/mockups/proposed-ocp-profile/SessionService/Sessions/1234567890ABCDEF/index.json new file mode 100644 index 00000000..b39a907a --- /dev/null +++ b/test_dependencies/mockups/proposed-ocp-profile/SessionService/Sessions/1234567890ABCDEF/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#Session.v1_0_2.Session", + "Id": "1234567890ABCDEF", + "Name": "User Session", + "Description": "Manager User Session", + "UserName": "root", + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#Session.Session", + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF", + "@Redfish.Copyright":"Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/proposed-ocp-profile/SessionService/Sessions/index.json b/test_dependencies/mockups/proposed-ocp-profile/SessionService/Sessions/index.json new file mode 100644 index 00000000..99fb5c53 --- /dev/null +++ b/test_dependencies/mockups/proposed-ocp-profile/SessionService/Sessions/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#SessionCollection.SessionCollection", + "Name": "Session Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF" + } + ], + "@odata.context": "/redfish/v1/$metadata#SessionService/SessionCollection.SessionCollection", + "@odata.id": "/redfish/v1/SessionService/Sessions", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/proposed-ocp-profile/SessionService/index.json b/test_dependencies/mockups/proposed-ocp-profile/SessionService/index.json new file mode 100644 index 00000000..10de424c --- /dev/null +++ b/test_dependencies/mockups/proposed-ocp-profile/SessionService/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#SessionService.v1_0_2.SessionService", + "Id": "SessionService", + "Name": "Session Service", + "Description": "Session Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "SessionTimeout": 30, + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + }, + "@odata.context": "/redfish/v1/$metadata#SessionService.SessionService", + "@odata.id": "/redfish/v1/SessionService", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/proposed-ocp-profile/Systems/1/LogServices/SEL/Entries/1/index.json b/test_dependencies/mockups/proposed-ocp-profile/Systems/1/LogServices/SEL/Entries/1/index.json new file mode 100644 index 00000000..0e166565 --- /dev/null +++ b/test_dependencies/mockups/proposed-ocp-profile/Systems/1/LogServices/SEL/Entries/1/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#LogEntry.v1_0_2.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "SEL", + "OemRecordFormat": "CompanyX", + "RecordId": 1, + "Severity": "Critical", + "Created": "2012-03-07T14:44", + "EntryCode": "Assert", + "SensorType": "Temperature", + "SensorNumber": 1, + "Message": "Message for Event, Description for SEL, OEM depends", + "MessageId": "Event.1.0.TempAssert", + "MessageArgs": [ + "ArrayOfMessageArgs" + ], + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1/Thermal" + }, + "Oem": {} + }, + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#LogEntry.LogEntry", + "@odata.id": "/redfish/v1/Systems/1/LogServices/SEL/Entries/1", + "@Redfish.Copyright":"Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/proposed-ocp-profile/Systems/1/LogServices/SEL/Entries/2/index.json b/test_dependencies/mockups/proposed-ocp-profile/Systems/1/LogServices/SEL/Entries/2/index.json new file mode 100644 index 00000000..c64c36de --- /dev/null +++ b/test_dependencies/mockups/proposed-ocp-profile/Systems/1/LogServices/SEL/Entries/2/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#LogEntry.v1_0_2.LogEntry", + "Id": "2", + "Name": "Log Entry 2", + "EntryType": "SEL", + "OEMRecordFormat": "CompanyX", + "RecordId": 2, + "Severity": "Critical", + "Created": "2012-03-07T14:45", + "EntryCode": "Assert", + "SensorType": "Temperature", + "SensorNumber": 2, + "Message": "Message for Event, Description for SEL, OEM depends", + "MessageId": "Event.1.0.TempAssert", + "MessageArgs": [ + "ArrayOfMessageArgs" + ], + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1/Thermal" + }, + "Oem": {} + }, + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#LogEntry.LogEntry", + "@odata.id": "/redfish/v1/Systems/1/LogServices/SEL/Entries/2", + "@Redfish.Copyright":"Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/proposed-ocp-profile/Systems/1/LogServices/SEL/Entries/index.json b/test_dependencies/mockups/proposed-ocp-profile/Systems/1/LogServices/SEL/Entries/index.json new file mode 100644 index 00000000..bd63d476 --- /dev/null +++ b/test_dependencies/mockups/proposed-ocp-profile/Systems/1/LogServices/SEL/Entries/index.json @@ -0,0 +1,64 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 2, + "Members": [ + { + "@odata.type": "#LogEntry.v1_0_2.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "SEL", + "OemRecordFormat": "CompanyX", + "RecordId": 1, + "Severity": "Critical", + "Created": "2012-03-07T14:44", + "EntryCode": "Assert", + "SensorType": "Temperature", + "Number": 1, + "Message": "Message for Event, Description for SEL, OEM depends", + "MessageId": "Event.1.0.TempAssert", + "MessageArgs": [ + "ArrayOfMessageArgs" + ], + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1/Thermal" + }, + "Oem": {} + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Systems/1/LogServices/SEL/Entries/1" + }, + { + "@odata.type": "#LogEntry.v1_0_2.LogEntry", + "Id": "2", + "Name": "Log Entry 2", + "EntryType": "SEL", + "OEMRecordFormat": "CompanyX", + "RecordId": 2, + "Severity": "Critical", + "Created": "2012-03-07T14:45", + "EntryCode": "Assert", + "SensorType": "Temperature", + "Number": 2, + "Message": "Message for Event, Description for SEL, OEM depends", + "MessageId": "Event.1.0.TempAssert", + "MessageArgs": [ + "ArrayOfMessageArgs" + ], + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1/Thermal" + }, + "Oem": {} + }, + "Oem": {}, + "@odata.id": "/redfish/v1/Systems/1/LogServices/SEL/Entries/2" + } + ], + "@odata.nextLink": "/redfish/v1/Systems/1/LogServices/SEL/Entries?$skiptoken=2", + "@odata.context": "/redfish/v1/$metadata#LogEntryCollection.LogEntryCollection", + "@odata.id": "/redfish/v1/Systems/1/LogServices/SEL/Entries", + "@Redfish.Copyright":"Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/proposed-ocp-profile/Systems/1/LogServices/SEL/index.json b/test_dependencies/mockups/proposed-ocp-profile/Systems/1/LogServices/SEL/index.json new file mode 100644 index 00000000..4688b050 --- /dev/null +++ b/test_dependencies/mockups/proposed-ocp-profile/Systems/1/LogServices/SEL/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#LogService.v1_0_2.LogService", + "Id": "SEL", + "Name": "System Log Service", + "MaxNumberOfRecords": 1000, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Oem": {}, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Systems/1/LogServices/SEL/Actions/LogService.Reset" + }, + "Oem": {} + }, + "Entries": { + "@odata.id": "/redfish/v1/Systems/1/LogServices/SEL/Entries" + }, + "@odata.context": "/redfish/v1/$metadata#LogService.LogService", + "@odata.id": "/redfish/v1/Systems/1/LogServices/SEL", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/proposed-ocp-profile/Systems/1/LogServices/index.json b/test_dependencies/mockups/proposed-ocp-profile/Systems/1/LogServices/index.json new file mode 100644 index 00000000..f10c4d40 --- /dev/null +++ b/test_dependencies/mockups/proposed-ocp-profile/Systems/1/LogServices/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/1/LogServices/SEL" + } + ], + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#LogServiceCollection.LogServiceCollection", + "@odata.id": "/redfish/v1/Systems/1/LogServices", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/proposed-ocp-profile/Systems/1/index.json b/test_dependencies/mockups/proposed-ocp-profile/Systems/1/index.json new file mode 100644 index 00000000..25f541fa --- /dev/null +++ b/test_dependencies/mockups/proposed-ocp-profile/Systems/1/index.json @@ -0,0 +1,70 @@ +{ + "@odata.type": "#ComputerSystem.v1_1_0.ComputerSystem", + "Id": "1", + "Name": "Catfish System", + "SystemType": "Physical", + "AssetTag": "CATFISHASSETTAG", + "Manufacturer": "CatfishManufacturer", + "Model": "YellowCat1000", + "SerialNumber": "2M220100SL", + "SKU": "", + "PartNumber": "", + "Description": "Catfish Implementation Recipe of simple scale-out monolithic server", + "UUID": "00000000-0000-0000-0000-000000000000", + "HostName": "catfishHostname", + "PowerState": "On", + "BiosVersion": "X00.1.2.3.4(build-23)", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "IndicatorLED": "Off", + "Boot": { + "BootSourceOverrideEnabled": "Once", + "BootSourceOverrideMode": "UEFI", + "UefiTargetBootSourceOverride": "uefiDevicePath", + "BootSourceOverrideTarget": "Pxe", + "BootSourceOverrideTarget@Redfish.AllowableValues": [ + "None", + "Pxe", + "Usb", + "Hdd", + "BiosSetup", + "UefiTarget", + "UefiHttp" + ] + }, + "LogServices": { + "@odata.id": "/redfish/v1/Systems/1/LogServices" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/1" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/bmc" + } + ], + "Oem": {} + }, + "Actions": { + "#ComputerSystem.Reset": { + "target": "/redfish/v1/Systems/1/Actions/ComputerSystem.Reset", + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "ForceRestart", + "Nmi", + "GracefulRestart", + "ForceOn" + ] + } + }, + "@odata.context": "/redfish/v1/$metadata#ComputerSystem.ComputerSystem", + "@odata.id": "/redfish/v1/Systems/1", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/proposed-ocp-profile/Systems/index.json b/test_dependencies/mockups/proposed-ocp-profile/Systems/index.json new file mode 100644 index 00000000..3869f6a0 --- /dev/null +++ b/test_dependencies/mockups/proposed-ocp-profile/Systems/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#ComputerSystemCollection.ComputerSystemCollection", + "Name": "Computer System Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/1" + } + ], + "@odata.context": "/redfish/v1/$metadata#ComputerSystemCollection.ComputerSystemCollection", + "@odata.id": "/redfish/v1/Systems", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/proposed-ocp-profile/explorer_config.json b/test_dependencies/mockups/proposed-ocp-profile/explorer_config.json new file mode 100644 index 00000000..1f61b3b9 --- /dev/null +++ b/test_dependencies/mockups/proposed-ocp-profile/explorer_config.json @@ -0,0 +1,35 @@ +{ + "name": "Proposed OCP Redfish Profile", + "description": "This draft example, for ongoing development, represents a proposed minimal Redfish data model \"profile\" that meets the needs of the Open Compute Project’s Hardware Management requirements. This draft profile is intended to help define a list of required properties so that essential management-related tasks, as defined by OCP, can be performed on any Redfish implementation.", + "navlinks": [{ + "text": "Main", + "target": "main" + }, { + "text": "Systems", + "target": "Systems", + "navlinks": [{ + "text": "1", + "target": "1" + }] + }, { + "text": "Chassis", + "target": "Chassis", + "navlinks": [{ + "text": "1", + "target": "1" + }] + }, { + "text": "Managers", + "target": "Managers", + "navlinks": [{ + "text": "BMC", + "target": "bmc" + }] + }, { + "text": "Session Service", + "target": "SessionService" + }, { + "target": "AccountService", + "text": "Account Service" + }] +} diff --git a/test_dependencies/mockups/proposed-ocp-profile/index.json b/test_dependencies/mockups/proposed-ocp-profile/index.json new file mode 100644 index 00000000..89312bce --- /dev/null +++ b/test_dependencies/mockups/proposed-ocp-profile/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#ServiceRoot.v1_0_2.ServiceRoot", + "Id": "RootService", + "Name": "Root Service", + "RedfishVersion": "1.0.2", + "UUID": "92384634-2938-2342-8820-489239905423", + "Systems": { + "@odata.id": "/redfish/v1/Systems" + }, + "Chassis": { + "@odata.id": "/redfish/v1/Chassis" + }, + "Managers": { + "@odata.id": "/redfish/v1/Managers" + }, + "SessionService": { + "@odata.id": "/redfish/v1/SessionService" + }, + "AccountService": { + "@odata.id": "/redfish/v1/AccountService" + }, + "Links": { + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + } + }, + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#ServiceRoot.ServiceRoot", + "@odata.id": "/redfish/v1/", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/proposed-ocp-profile/odata/index.json b/test_dependencies/mockups/proposed-ocp-profile/odata/index.json new file mode 100644 index 00000000..ef253a35 --- /dev/null +++ b/test_dependencies/mockups/proposed-ocp-profile/odata/index.json @@ -0,0 +1,56 @@ +{ + "value": [ + { + "name": "Service", + "kind": "Singleton", + "url": "/redfish/v1/" + }, + { + "name": "Systems", + "kind": "Singleton", + "url": "/redfish/v1/Systems" + }, + { + "name": "Chassis", + "kind": "Singleton", + "url": "/redfish/v1/Chassis" + }, + { + "name": "Managers", + "kind": "Singleton", + "url": "/redfish/v1/Managers" + }, + { + "name": "AccountService", + "kind": "Singleton", + "url": "/redfish/v1/AccountService" + }, + { + "name": "SessionService", + "kind": "Singleton", + "url": "/redfish/v1/SessionService" + }, + { + "name": "EventService", + "kind": "Singleton", + "url": "/redfish/v1/EventService" + }, + { + "name": "JsonSchemas", + "kind": "Singleton", + "url": "/redfish/v1/JsonSchemas" + }, + { + "name": "Registries", + "kind": "Singleton", + "url": "/redfish/v1/Registries" + }, + { + "name": "Sessions", + "kind": "Singleton", + "url": "/redfish/v1/SessionService/Sessions" + } + ], + "@odata.context": "/redfish/v1/$metadata", + "@Redfish.Copyright":"Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/AccountService/Accounts/1/index.json b/test_dependencies/mockups/public-bladed/AccountService/Accounts/1/index.json new file mode 100644 index 00000000..a1e22bd4 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/AccountService/Accounts/1/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#ManagerAccount.v1_0_2.ManagerAccount", + "Id": "1", + "Name": "User Account", + "Description": "User Account", + "Enabled": true, + "Password": null, + "UserName": "Administrator", + "RoleId": "Admin", + "Locked": false, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/Admin" + } + }, + "@odata.context": "/redfish/v1/$metadata#AccountService/Accounts/Members/$entity", + "@odata.id": "/redfish/v1/AccountService/Accounts/1", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/AccountService/Accounts/index.json b/test_dependencies/mockups/public-bladed/AccountService/Accounts/index.json new file mode 100644 index 00000000..b2368862 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/AccountService/Accounts/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#ManagerAccountCollection.ManagerAccountCollection", + "Name": "Accounts Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Accounts/1" + } + ], + "@odata.context": "/redfish/v1/$metadata#AccountService/Accounts/$entity", + "@odata.id": "/redfish/v1/AccountService/Accounts", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/AccountService/Roles/Admin/index.json b/test_dependencies/mockups/public-bladed/AccountService/Roles/Admin/index.json new file mode 100644 index 00000000..a4c60330 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/AccountService/Roles/Admin/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#Role.v1_0_2.Role", + "Id": "Admin", + "Name": "User Role", + "Description": "Admin User Role", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureManager", + "ConfigureUsers", + "ConfigureSelf", + "ConfigureComponents" + ], + "@odata.context": "/redfish/v1/$metadata#AccountService/Members/Roles/Members/$entity", + "@odata.id": "/redfish/v1/AccountService/Roles/Admin", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/AccountService/Roles/Operator/index.json b/test_dependencies/mockups/public-bladed/AccountService/Roles/Operator/index.json new file mode 100644 index 00000000..78006c81 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/AccountService/Roles/Operator/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#Role.v1_0_2.Role", + "Id": "Operator", + "Name": "User Role", + "Description": "Operator User Role", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf", + "ConfigureComponents" + ], + "@odata.context": "/redfish/v1/$metadata#AccountService/Members/Roles/Members/$entity", + "@odata.id": "/redfish/v1/AccountService/Roles/Operator", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/AccountService/Roles/ReadOnlyUser/index.json b/test_dependencies/mockups/public-bladed/AccountService/Roles/ReadOnlyUser/index.json new file mode 100644 index 00000000..bf248ccf --- /dev/null +++ b/test_dependencies/mockups/public-bladed/AccountService/Roles/ReadOnlyUser/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#Role.v1_0_2.Role", + "Id": "ReadOnlyUser", + "Name": "User Role", + "Description": "ReadOnlyUser User Role", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login" + ], + "@odata.context": "/redfish/v1/$metadata#AccountService/Members/Roles/Members/$entity", + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnlyUser", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/AccountService/Roles/index.json b/test_dependencies/mockups/public-bladed/AccountService/Roles/index.json new file mode 100644 index 00000000..ac82be9a --- /dev/null +++ b/test_dependencies/mockups/public-bladed/AccountService/Roles/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#RoleCollection.RoleCollection", + "Name": "Roles Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Roles/Admin" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/Operator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnlyUser" + } + ], + "@odata.context": "/redfish/v1/$metadata#AccountService/Members/Roles/$entity", + "@odata.id": "/redfish/v1/AccountService/Roles", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/AccountService/index.json b/test_dependencies/mockups/public-bladed/AccountService/index.json new file mode 100644 index 00000000..c302c6b9 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/AccountService/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#AccountService.v1_0_2.AccountService", + "Id": "AccountService", + "Name": "Account Service", + "Description": "Account Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "AuthFailureLoggingThreshold": 3, + "MinPasswordLength": 8, + "AccountLockoutThreshold": 5, + "AccountLockoutDuration": 30, + "AccountLockoutCounterResetAfter": 30, + "Accounts": { + "@odata.id": "/redfish/v1/AccountService/Accounts" + }, + "Roles": { + "@odata.id": "/redfish/v1/AccountService/Roles" + }, + "@odata.context": "/redfish/v1/$metadata#AccountService", + "@odata.id": "/redfish/v1/AccountService", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Chassis/Blade1/Thermal/index.json b/test_dependencies/mockups/public-bladed/Chassis/Blade1/Thermal/index.json new file mode 100644 index 00000000..c1f78f3f --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Chassis/Blade1/Thermal/index.json @@ -0,0 +1,53 @@ +{ + "@odata.type": "#Thermal.v1_1_0.Thermal", + "Id": "Thermal", + "Name": "Blade Thermal", + "Temperatures": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade1/Thermal#/Temperatures/0", + "MemberId": "0", + "Name": "CPU Temp", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 62, + "UpperThresholdNonCritical": 75, + "UpperThresholdCritical": 90, + "UpperThresholdFatal": 95, + "MinReadingRange": 0, + "MaxReadingRange": 120, + "PhysicalContext": "CPU", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9450R6/Processors/CPU" + } + ] + } + ], + "Fans": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade1/Thermal#/Fans/0", + "MemberId": "0", + "Name": "CPU Fan", + "PhysicalContext": "CPU", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 6000, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 2000, + "MinReadingRange": 0, + "MaxReadingRange": 10000, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9450R6/Processors/CPU" + } + ] + } + ], + "@odata.context": "/redfish/v1/$metadata#Chassis/Members/Blade1/Thermal/$entity", + "@odata.id": "/redfish/v1/Chassis/Blade1/Thermal", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Chassis/Blade1/index.json b/test_dependencies/mockups/public-bladed/Chassis/Blade1/index.json new file mode 100644 index 00000000..81519121 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Chassis/Blade1/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#Chassis.v1_2_0.Chassis", + "Id": "Blade1", + "Name": "Blade", + "ChassisType": "Blade", + "Manufacturer": "Contoso", + "Model": "SX1000", + "SKU": "6914260", + "SerialNumber": "529QB9450R6", + "PartNumber": "166480-S23", + "PowerState": "On", + "IndicatorLED": "Off", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/Blade1/Thermal" + }, + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9450R6" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/Blade1BMC" + } + ], + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl" + }, + "CooledBy": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Fans" + } + ], + "PoweredBy": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Power#/PowerSupplies" + } + ] + }, + "@odata.context": "/redfish/v1/$metadata#Chassis/Members/$entity", + "@odata.id": "/redfish/v1/Chassis/Blade1", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Chassis/Blade2/Thermal/index.json b/test_dependencies/mockups/public-bladed/Chassis/Blade2/Thermal/index.json new file mode 100644 index 00000000..4fb25b56 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Chassis/Blade2/Thermal/index.json @@ -0,0 +1,53 @@ +{ + "@odata.type": "#Thermal.v1_1_0.Thermal", + "Id": "Thermal", + "Name": "Blade Thermal", + "Temperatures": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade2/Thermal#/Temperatures/0", + "MemberId": "0", + "Name": "CPU Temp", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 57, + "UpperThresholdNonCritical": 75, + "UpperThresholdCritical": 90, + "UpperThresholdFatal": 95, + "MinReadingRange": 0, + "MaxReadingRange": 120, + "PhysicalContext": "CPU", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9451R6/Processors/CPU" + } + ] + } + ], + "Fans": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade2/Thermal#/Fans/0", + "MemberId": "0", + "Name": "CPU Fan", + "PhysicalContext": "CPU", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 5800, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 2000, + "MinReadingRange": 0, + "MaxReadingRange": 10000, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9451R6/Processors/CPU" + } + ] + } + ], + "@odata.context": "/redfish/v1/$metadata#Chassis/Members/Blade2/Thermal/$entity", + "@odata.id": "/redfish/v1/Chassis/Blade2/Thermal", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Chassis/Blade2/index.json b/test_dependencies/mockups/public-bladed/Chassis/Blade2/index.json new file mode 100644 index 00000000..01a00613 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Chassis/Blade2/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#Chassis.v1_2_0.Chassis", + "Id": "Blade2", + "Name": "Blade", + "ChassisType": "Blade", + "Manufacturer": "Contoso", + "Model": "SX1000", + "SKU": "6914260", + "SerialNumber": "529QB9451R6", + "PartNumber": "166480-S23", + "PowerState": "On", + "IndicatorLED": "Off", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/Blade2/Thermal" + }, + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9451R6" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/Blade2BMC" + } + ], + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl" + }, + "CooledBy": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Fans" + } + ], + "PoweredBy": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Power#/PowerSupplies" + } + ] + }, + "@odata.context": "/redfish/v1/$metadata#Chassis/Members/$entity", + "@odata.id": "/redfish/v1/Chassis/Blade2", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Chassis/Blade3/Thermal/index.json b/test_dependencies/mockups/public-bladed/Chassis/Blade3/Thermal/index.json new file mode 100644 index 00000000..4bc6ca30 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Chassis/Blade3/Thermal/index.json @@ -0,0 +1,53 @@ +{ + "@odata.type": "#Thermal.v1_1_0.Thermal", + "Id": "Thermal", + "Name": "Blade Thermal", + "Temperatures": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade3/Thermal#/Temperatures/0", + "MemberId": "0", + "Name": "CPU Temp", + "Status": { + "State": "Enabled", + "Health": "Warning" + }, + "ReadingCelsius": 77, + "UpperThresholdNonCritical": 75, + "UpperThresholdCritical": 90, + "UpperThresholdFatal": 95, + "MinReadingRange": 0, + "MaxReadingRange": 120, + "PhysicalContext": "CPU", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9452R6/Processors/CPU" + } + ] + } + ], + "Fans": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade3/Thermal#/Fans/0", + "MemberId": "0", + "Name": "CPU Fan", + "PhysicalContext": "CPU", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 9600, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 2000, + "MinReadingRange": 0, + "MaxReadingRange": 10000, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9452R6/Processors/CPU" + } + ] + } + ], + "@odata.context": "/redfish/v1/$metadata#Chassis/Members/Blade3/Thermal/$entity", + "@odata.id": "/redfish/v1/Chassis/Blade3/Thermal", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Chassis/Blade3/index.json b/test_dependencies/mockups/public-bladed/Chassis/Blade3/index.json new file mode 100644 index 00000000..911a10cf --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Chassis/Blade3/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#Chassis.v1_2_0.Chassis", + "Id": "Blade3", + "Name": "Blade", + "ChassisType": "Blade", + "Manufacturer": "Contoso", + "Model": "SX1000", + "SKU": "6914260", + "SerialNumber": "529QB9452R6", + "PartNumber": "166480-S23", + "PowerState": "On", + "IndicatorLED": "Off", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/Blade3/Thermal" + }, + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9452R6" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/Blade3BMC" + } + ], + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl" + }, + "CooledBy": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Fans" + } + ], + "PoweredBy": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Power#/PowerSupplies" + } + ] + }, + "@odata.context": "/redfish/v1/$metadata#Chassis/Members/$entity", + "@odata.id": "/redfish/v1/Chassis/Blade3", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Chassis/Blade4/Thermal/index.json b/test_dependencies/mockups/public-bladed/Chassis/Blade4/Thermal/index.json new file mode 100644 index 00000000..6df3cdb2 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Chassis/Blade4/Thermal/index.json @@ -0,0 +1,53 @@ +{ + "@odata.type": "#Thermal.v1_1_0.Thermal", + "Id": "Thermal", + "Name": "Blade Thermal", + "Temperatures": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade4/Thermal#/Temperatures/0", + "MemberId": "0", + "Name": "CPU Temp", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 50, + "UpperThresholdNonCritical": 75, + "UpperThresholdCritical": 90, + "UpperThresholdFatal": 95, + "MinReadingRange": 0, + "MaxReadingRange": 120, + "PhysicalContext": "CPU", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9453R6/Processors/CPU" + } + ] + } + ], + "Fans": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade4/Thermal#/Fans/0", + "MemberId": "0", + "Name": "CPU Fan", + "PhysicalContext": "CPU", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 4800, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 2000, + "MinReadingRange": 0, + "MaxReadingRange": 10000, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9453R6/Processors/CPU" + } + ] + } + ], + "@odata.context": "/redfish/v1/$metadata#Chassis/Members/Blade4/Thermal/$entity", + "@odata.id": "/redfish/v1/Chassis/Blade4/Thermal", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Chassis/Blade4/index.json b/test_dependencies/mockups/public-bladed/Chassis/Blade4/index.json new file mode 100644 index 00000000..f47804fa --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Chassis/Blade4/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#Chassis.v1_2_0.Chassis", + "Id": "Blade4", + "Name": "Blade", + "ChassisType": "Blade", + "Manufacturer": "Contoso", + "Model": "SX1000", + "SKU": "6914260", + "SerialNumber": "529QB9453R6", + "PartNumber": "166480-S23", + "PowerState": "On", + "IndicatorLED": "Off", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/Blade4/Thermal" + }, + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9453R6" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/Blade4BMC" + } + ], + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl" + }, + "CooledBy": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Fans" + } + ], + "PoweredBy": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Power#/PowerSupplies" + } + ] + }, + "@odata.context": "/redfish/v1/$metadata#Chassis/Members/$entity", + "@odata.id": "/redfish/v1/Chassis/Blade4", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Chassis/MultiBladeEncl/Power/index.json b/test_dependencies/mockups/public-bladed/Chassis/MultiBladeEncl/Power/index.json new file mode 100644 index 00000000..59462e5c --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Chassis/MultiBladeEncl/Power/index.json @@ -0,0 +1,160 @@ +{ + "@odata.type": "#Power.v1_1_0.Power", + "Id": "Power", + "Name": "Quad Blade Chassis Power", + "PowerSupplies": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Power#/PowerSupplies/0", + "MemberId": "0", + "Name": "Power Supply 0", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PowerSupplyType": "AC", + "LineInputVoltageType": "AC240V", + "LineInputVoltage": 220, + "PowerCapacityWatts": 1450, + "InputRanges": [ + { + "InputType": "AC", + "MinimumVoltage": 185, + "MaximumVoltage": 250, + "MinimumFrequencyHz": 47, + "MaximumFrequencyHz": 63, + "OutputWattage": 1450 + } + ], + "LastPowerOutputWatts": 650, + "Model": "325457-A06", + "Manufacturer": "ManufacturerName", + "FirmwareVersion": "2.20", + "SerialNumber": "1S0000523", + "PartNumber": "425-591-654", + "SparePartNumber": "425-591-654", + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Power#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade3" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade4" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9450R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9451R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9452R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9453R6" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Power#/PowerSupplies/1", + "MemberId": "1", + "Name": "Power Supply 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PowerSupplyType": "AC", + "LineInputVoltageType": "AC240V", + "LineInputVoltage": 222, + "PowerCapacityWatts": 1450, + "InputRanges": [ + { + "InputType": "AC", + "MinimumVoltage": 185, + "MaximumVoltage": 250, + "MinimumFrequencyHz": 47, + "MaximumFrequencyHz": 63, + "OutputWattage": 1450 + } + ], + "LastPowerOutputWatts": 635, + "Model": "325457-A06", + "Manufacturer": "ManufacturerName", + "FirmwareVersion": "2.20", + "SerialNumber": "1S0000524", + "PartNumber": "425-591-654", + "SparePartNumber": "425-591-654", + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Power#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade3" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade4" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9450R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9451R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9452R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9453R6" + } + ] + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Power#/Redundancy/0", + "MemberId": "0", + "Name": "Power Supply Redundancy", + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Power#/PowerSupplies/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Power#/PowerSupplies/1" + } + ], + "Mode": "N+m", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MinNumNeeded": 1, + "MaxNumSupported": 2 + } + ], + "@odata.context": "/redfish/v1/$metadata#Chassis/Members/MultiBladeEncl/Power/$entity", + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Power", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Chassis/MultiBladeEncl/Thermal/index.json b/test_dependencies/mockups/public-bladed/Chassis/MultiBladeEncl/Thermal/index.json new file mode 100644 index 00000000..ae938a5a --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Chassis/MultiBladeEncl/Thermal/index.json @@ -0,0 +1,281 @@ +{ + "@odata.type": "#Thermal.v1_1_0.Thermal", + "Id": "Thermal", + "Name": "Quad Blade Chassis Thermal", + "Temperatures": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Temperatures/0", + "MemberId": "0", + "Name": "Chassis Intake", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 24, + "UpperThresholdNonCritical": 35, + "UpperThresholdCritical": 42, + "UpperThresholdFatal": 50, + "MinReadingRange": 0, + "MaxReadingRange": 60, + "PhysicalContext": "Intake", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade3" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade4" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9450R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9451R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9452R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9453R6" + } + ] + } + ], + "Fans": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Fans/0", + "MemberId": "0", + "Name": "System Fan 0", + "PhysicalContext": "Front", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 15100, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 3000, + "MinReadingRange": 0, + "MaxReadingRange": 16000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade3" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade4" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9450R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9451R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9452R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9453R6" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Fans/1", + "MemberId": "1", + "Name": "System Fan 1", + "PhysicalContext": "Front", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 14800, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 3000, + "MinReadingRange": 0, + "MaxReadingRange": 16000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade3" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade4" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9450R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9451R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9452R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9453R6" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Fans/2", + "MemberId": "2", + "Name": "System Fan 2", + "PhysicalContext": "Front", + "Status": { + "State": "Enabled", + "Health": "Critical" + }, + "Reading": 0, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 3000, + "MinReadingRange": 0, + "MaxReadingRange": 16000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade3" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade4" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9450R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9451R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9452R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9453R6" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Fans/3", + "MemberId": "3", + "Name": "System Fan 3", + "PhysicalContext": "Front", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 15000, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 3000, + "MinReadingRange": 0, + "MaxReadingRange": 16000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade3" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade4" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9450R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9451R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9452R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9453R6" + } + ] + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Redundancy/0", + "MemberId": "0", + "Name": "System Fans", + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Fans/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Fans/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Fans/2" + }, + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Fans/3" + } + ], + "Mode": "N+m", + "Status": { + "State": "Enabled", + "Health": "Warning" + }, + "MinNumNeeded": 3, + "MaxNumSupported": 4 + } + ], + "@odata.context": "/redfish/v1/$metadata#Chassis/Members/MultiBladeEncl/Thermal/$entity", + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Chassis/MultiBladeEncl/index.json b/test_dependencies/mockups/public-bladed/Chassis/MultiBladeEncl/index.json new file mode 100644 index 00000000..d9856db3 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Chassis/MultiBladeEncl/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#Chassis.v1_2_0.Chassis", + "Id": "MultiBladeEncl", + "Name": "Quad Blade Enclosure", + "ChassisType": "Enclosure", + "Manufacturer": "Contoso", + "Model": "QB6000", + "SKU": "6914255", + "SerialNumber": "528QB1654R1", + "PartNumber": "166472-S44", + "AssetTag": null, + "PowerState": "On", + "IndicatorLED": "Off", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal" + }, + "Power": { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Power" + }, + "Links": { + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/MultiBladeBMC" + } + ], + "Contains": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade3" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade4" + } + ] + }, + "@odata.context": "/redfish/v1/$metadata#Chassis/Members/$entity", + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Chassis/index.json b/test_dependencies/mockups/public-bladed/Chassis/index.json new file mode 100644 index 00000000..649caabf --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Chassis/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#ChassisCollection.ChassisCollection", + "Name": "Chassis Collection", + "Members@odata.count": 5, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade3" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade4" + } + ], + "@odata.context": "/redfish/v1/$metadata#Chassis", + "@odata.id": "/redfish/v1/Chassis", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/EventService/Subscriptions/1/index.json b/test_dependencies/mockups/public-bladed/EventService/Subscriptions/1/index.json new file mode 100644 index 00000000..4e8c691c --- /dev/null +++ b/test_dependencies/mockups/public-bladed/EventService/Subscriptions/1/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#EventDestination.v1_0_2.EventDestination", + "Id": "1", + "Name": "Event Subscription 1", + "Destination": "http://Contoso.com/CallHomeService", + "EventTypes": [ + "Alert" + ], + "Context": "CustomerServiceAttention", + "Protocol": "Redfish", + "@odata.context": "/redfish/v1/$metadata#EventService/Subscriptions/Members/$entity", + "@odata.id": "/redfish/v1/EventService/Subscriptions/1", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/EventService/Subscriptions/index.json b/test_dependencies/mockups/public-bladed/EventService/Subscriptions/index.json new file mode 100644 index 00000000..bbe1c5be --- /dev/null +++ b/test_dependencies/mockups/public-bladed/EventService/Subscriptions/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#EventDestinationCollection.EventDestinationCollection", + "Name": "Event Subscriptions Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/EventService/Subscriptions/1" + } + ], + "@odata.context": "/redfish/v1/$metadata#EventService/Subscriptions/$entity", + "@odata.id": "/redfish/v1/EventService/Subscriptions", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/EventService/index.json b/test_dependencies/mockups/public-bladed/EventService/index.json new file mode 100644 index 00000000..a72459af --- /dev/null +++ b/test_dependencies/mockups/public-bladed/EventService/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#EventService.v1_0_2.EventService", + "Id": "EventService", + "Name": "Event Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "DeliveryRetryAttempts": 3, + "DeliveryRetryIntervalInSeconds": 60, + "EventTypesForSubscription": [ + "StatusChange", + "ResourceUpdated", + "ResourceAdded", + "ResourceRemoved", + "Alert" + ], + "Subscriptions": { + "@odata.id": "/redfish/v1/EventService/Subscriptions" + }, + "Actions": { + "#EventService.SubmitTestEvent": { + "target": "/redfish/v1/EventService/Actions/EventService.SubmitTestEvent", + "EventType@Redfish.AllowableValues": [ + "StatusChange", + "ResourceUpdated", + "ResourceAdded", + "ResourceRemoved", + "Alert" + ] + } + }, + "@odata.context": "/redfish/v1/$metadata#EventService", + "@odata.id": "/redfish/v1/EventService", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade1BMC/EthernetInterfaces/1/index.json b/test_dependencies/mockups/public-bladed/Managers/Blade1BMC/EthernetInterfaces/1/index.json new file mode 100644 index 00000000..004601a9 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Managers/Blade1BMC/EthernetInterfaces/1/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#EthernetInterface.v1_0_2.EthernetInterface", + "Id": "1", + "Name": "Manager Ethernet Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:38:C0:20", + "IPv4Addresses": [ + { + "Address": "192.168.56.120", + "SubnetMask": "255.255.255.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.56.1" + } + ], + "@odata.context": "/redfish/v1/$metadata#Managers/Members/Blade1BMC/EthernetInterfaces/Members/$entity", + "@odata.id": "/redfish/v1/Managers/Blade1BMC/EthernetInterfaces/1", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade1BMC/EthernetInterfaces/index.json b/test_dependencies/mockups/public-bladed/Managers/Blade1BMC/EthernetInterfaces/index.json new file mode 100644 index 00000000..3a3efb4f --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Managers/Blade1BMC/EthernetInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Network Interface Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/Blade1BMC/EthernetInterfaces/1" + } + ], + "@odata.context": "/redfish/v1/$metadata#Managers/Members/Blade1BMC/EthernetInterfaces/$entity", + "@odata.id": "/redfish/v1/Managers/Blade1BMC/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade1BMC/LogServices/Log/Entries/index.json b/test_dependencies/mockups/public-bladed/Managers/Blade1BMC/LogServices/Log/Entries/index.json new file mode 100644 index 00000000..8286425b --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Managers/Blade1BMC/LogServices/Log/Entries/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Entry Collection", + "Members@odata.count": 0, + "Members": [], + "@odata.context": "/redfish/v1/$metadata#Managers/Members/Blade1BMC/LogServices/Members/Log/Entries/$entity", + "@odata.id": "/redfish/v1/Managers/Blade1BMC/LogServices/Log/Entries", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade1BMC/LogServices/Log/index.json b/test_dependencies/mockups/public-bladed/Managers/Blade1BMC/LogServices/Log/index.json new file mode 100644 index 00000000..8c2e7357 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Managers/Blade1BMC/LogServices/Log/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#LogService.v1_0_2.LogService", + "Id": "Log", + "Name": "System Log Service", + "MaxNumberOfRecords": 1024, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2016-01-14T02:13:48+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Managers/Blade1BMC/LogServices/Log/Actions/LogService.Reset" + } + }, + "Entries": { + "@odata.id": "/redfish/v1/Managers/Blade1BMC/LogServices/Log/Entries" + }, + "@odata.context": "/redfish/v1/$metadata#Managers/Members/Blade1BMC/LogServices/Members/$entity", + "@odata.id": "/redfish/v1/Managers/Blade1BMC/LogServices/Log", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade1BMC/LogServices/index.json b/test_dependencies/mockups/public-bladed/Managers/Blade1BMC/LogServices/index.json new file mode 100644 index 00000000..68d89e73 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Managers/Blade1BMC/LogServices/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/Blade1BMC/LogServices/Log" + } + ], + "@odata.context": "/redfish/v1/$metadata#Managers/Members/Blade1BMC/LogServices/$entity", + "@odata.id": "/redfish/v1/Managers/Blade1BMC/LogServices", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade1BMC/index.json b/test_dependencies/mockups/public-bladed/Managers/Blade1BMC/index.json new file mode 100644 index 00000000..d353f277 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Managers/Blade1BMC/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Manager.v1_1_0.Manager", + "Id": "Blade1BMC", + "Name": "Blade Manager", + "ManagerType": "BMC", + "Description": "Contoso BMC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "GraphicalConsole": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 1, + "ConnectTypesSupported": [ + "KVMIP" + ] + }, + "FirmwareVersion": "1.00", + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/Blade1BMC/EthernetInterfaces" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Managers/Blade1BMC/LogServices" + }, + "Links": { + "ManagerForServers": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9450R6" + } + ], + "ManagerForChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade1" + } + ] + }, + "@odata.context": "/redfish/v1/$metadata#Managers/Members/$entity", + "@odata.id": "/redfish/v1/Managers/Blade1BMC", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade2BMC/EthernetInterfaces/1/index.json b/test_dependencies/mockups/public-bladed/Managers/Blade2BMC/EthernetInterfaces/1/index.json new file mode 100644 index 00000000..473dd844 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Managers/Blade2BMC/EthernetInterfaces/1/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#EthernetInterface.v1_0_2.EthernetInterface", + "Id": "1", + "Name": "Manager Ethernet Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:38:C0:21", + "IPv4Addresses": [ + { + "Address": "192.168.56.121", + "SubnetMask": "255.255.255.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.56.1" + } + ], + "@odata.context": "/redfish/v1/$metadata#Managers/Members/Blade2BMC/EthernetInterfaces/Members/$entity", + "@odata.id": "/redfish/v1/Managers/Blade2BMC/EthernetInterfaces/1", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade2BMC/EthernetInterfaces/index.json b/test_dependencies/mockups/public-bladed/Managers/Blade2BMC/EthernetInterfaces/index.json new file mode 100644 index 00000000..c231194c --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Managers/Blade2BMC/EthernetInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Network Interface Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/Blade2BMC/EthernetInterfaces/1" + } + ], + "@odata.context": "/redfish/v1/$metadata#Managers/Members/Blade2BMC/EthernetInterfaces/$entity", + "@odata.id": "/redfish/v1/Managers/Blade2BMC/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade2BMC/LogServices/Log/Entries/index.json b/test_dependencies/mockups/public-bladed/Managers/Blade2BMC/LogServices/Log/Entries/index.json new file mode 100644 index 00000000..042b3a72 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Managers/Blade2BMC/LogServices/Log/Entries/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Entry Collection", + "Members@odata.count": 0, + "Members": [], + "@odata.context": "/redfish/v1/$metadata#Managers/Members/Blade2BMC/LogServices/Members/Log/Entries/$entity", + "@odata.id": "/redfish/v1/Managers/Blade2BMC/LogServices/Log/Entries", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade2BMC/LogServices/Log/index.json b/test_dependencies/mockups/public-bladed/Managers/Blade2BMC/LogServices/Log/index.json new file mode 100644 index 00000000..2068e82d --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Managers/Blade2BMC/LogServices/Log/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#LogService.v1_0_2.LogService", + "Id": "Log", + "Name": "System Log Service", + "MaxNumberOfRecords": 1024, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2016-01-14T02:13:48+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Managers/Blade2BMC/LogServices/Log/Actions/LogService.Reset" + } + }, + "Entries": { + "@odata.id": "/redfish/v1/Managers/Blade2BMC/LogServices/Log/Entries" + }, + "@odata.context": "/redfish/v1/$metadata#Managers/Members/Blade2BMC/LogServices/Members/$entity", + "@odata.id": "/redfish/v1/Managers/Blade2BMC/LogServices/Log", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade2BMC/LogServices/index.json b/test_dependencies/mockups/public-bladed/Managers/Blade2BMC/LogServices/index.json new file mode 100644 index 00000000..44a03331 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Managers/Blade2BMC/LogServices/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/Blade2BMC/LogServices/Log" + } + ], + "@odata.context": "/redfish/v1/$metadata#Managers/Members/Blade2BMC/LogServices/$entity", + "@odata.id": "/redfish/v1/Managers/Blade2BMC/LogServices", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade2BMC/index.json b/test_dependencies/mockups/public-bladed/Managers/Blade2BMC/index.json new file mode 100644 index 00000000..6f929325 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Managers/Blade2BMC/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Manager.v1_1_0.Manager", + "Id": "Blade2BMC", + "Name": "Blade Manager", + "ManagerType": "BMC", + "Description": "Contoso BMC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "GraphicalConsole": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 1, + "ConnectTypesSupported": [ + "KVMIP" + ] + }, + "FirmwareVersion": "1.00", + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/Blade2BMC/EthernetInterfaces" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Managers/Blade2BMC/LogServices" + }, + "Links": { + "ManagerForServers": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9451R6" + } + ], + "ManagerForChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade2" + } + ] + }, + "@odata.context": "/redfish/v1/$metadata#Managers/Members/$entity", + "@odata.id": "/redfish/v1/Managers/Blade2BMC", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade3BMC/EthernetInterfaces/1/index.json b/test_dependencies/mockups/public-bladed/Managers/Blade3BMC/EthernetInterfaces/1/index.json new file mode 100644 index 00000000..f8e5cdf0 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Managers/Blade3BMC/EthernetInterfaces/1/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#EthernetInterface.v1_0_2.EthernetInterface", + "Id": "1", + "Name": "Manager Ethernet Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:38:C0:22", + "IPv4Addresses": [ + { + "Address": "192.168.56.122", + "SubnetMask": "255.255.255.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.56.1" + } + ], + "@odata.context": "/redfish/v1/$metadata#Managers/Members/Blade3BMC/EthernetInterfaces/Members/$entity", + "@odata.id": "/redfish/v1/Managers/Blade3BMC/EthernetInterfaces/1", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade3BMC/EthernetInterfaces/index.json b/test_dependencies/mockups/public-bladed/Managers/Blade3BMC/EthernetInterfaces/index.json new file mode 100644 index 00000000..73459cb5 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Managers/Blade3BMC/EthernetInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Network Interface Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/Blade3BMC/EthernetInterfaces/1" + } + ], + "@odata.context": "/redfish/v1/$metadata#Managers/Members/Blade3BMC/EthernetInterfaces/$entity", + "@odata.id": "/redfish/v1/Managers/Blade3BMC/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade3BMC/LogServices/Log/Entries/1/index.json b/test_dependencies/mockups/public-bladed/Managers/Blade3BMC/LogServices/Log/Entries/1/index.json new file mode 100644 index 00000000..06d5ad1a --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Managers/Blade3BMC/LogServices/Log/Entries/1/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#LogEntry.v1_0_2.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "Event", + "Severity": "Warning", + "Created": "2016-01-15T03:01", + "MessageId": "Event.1.0.TempWayTooHot", + "Message": "CPU temperature crossed Upper Non Critical Threshold", + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/Blade3/Thermal" + } + }, + "@odata.context": "/redfish/v1/$metadata#Managers/Members/Blade3BMC/LogServices/Members/Log/Entries/Members/$entity", + "@odata.id": "/redfish/v1/Managers/Blade3BMC/LogServices/Log/Entries/1", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade3BMC/LogServices/Log/Entries/index.json b/test_dependencies/mockups/public-bladed/Managers/Blade3BMC/LogServices/Log/Entries/index.json new file mode 100644 index 00000000..6a337671 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Managers/Blade3BMC/LogServices/Log/Entries/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Entry Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/Blade3BMC/LogServices/Log/Entries/1", + "@odata.type": "#LogEntry.v1_0_2.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "Event", + "Severity": "Warning", + "Created": "2016-01-15T03:01", + "MessageId": "Event.1.0.TempWayTooHot", + "Message": "CPU temperature crossed Upper Non Critical Threshold", + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/Blade3/Thermal" + } + } + } + ], + "@odata.context": "/redfish/v1/$metadata#Managers/Members/Blade3BMC/LogServices/Members/Log/Entries/$entity", + "@odata.id": "/redfish/v1/Managers/Blade3BMC/LogServices/Log/Entries", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade3BMC/LogServices/Log/index.json b/test_dependencies/mockups/public-bladed/Managers/Blade3BMC/LogServices/Log/index.json new file mode 100644 index 00000000..f9c3e4fb --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Managers/Blade3BMC/LogServices/Log/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#LogService.v1_0_2.LogService", + "Id": "Log", + "Name": "System Log Service", + "MaxNumberOfRecords": 1024, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2016-01-14T02:13:48+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Managers/Blade3BMC/LogServices/Log/Actions/LogService.Reset" + } + }, + "Entries": { + "@odata.id": "/redfish/v1/Managers/Blade3BMC/LogServices/Log/Entries" + }, + "@odata.context": "/redfish/v1/$metadata#Managers/Members/Blade3BMC/LogServices/Members/$entity", + "@odata.id": "/redfish/v1/Managers/Blade3BMC/LogServices/Log", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade3BMC/LogServices/index.json b/test_dependencies/mockups/public-bladed/Managers/Blade3BMC/LogServices/index.json new file mode 100644 index 00000000..0fef7099 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Managers/Blade3BMC/LogServices/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/Blade3BMC/LogServices/Log" + } + ], + "@odata.context": "/redfish/v1/$metadata#Managers/Members/Blade3BMC/LogServices/$entity", + "@odata.id": "/redfish/v1/Managers/Blade3BMC/LogServices", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade3BMC/index.json b/test_dependencies/mockups/public-bladed/Managers/Blade3BMC/index.json new file mode 100644 index 00000000..8c65fb2c --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Managers/Blade3BMC/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Manager.v1_1_0.Manager", + "Id": "Blade3BMC", + "Name": "Blade Manager", + "ManagerType": "BMC", + "Description": "Contoso BMC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "GraphicalConsole": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 1, + "ConnectTypesSupported": [ + "KVMIP" + ] + }, + "FirmwareVersion": "1.00", + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/Blade3BMC/EthernetInterfaces" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Managers/Blade3BMC/LogServices" + }, + "Links": { + "ManagerForServers": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9452R6" + } + ], + "ManagerForChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade3" + } + ] + }, + "@odata.context": "/redfish/v1/$metadata#Managers/Members/$entity", + "@odata.id": "/redfish/v1/Managers/Blade3BMC", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade4BMC/EthernetInterfaces/1/index.json b/test_dependencies/mockups/public-bladed/Managers/Blade4BMC/EthernetInterfaces/1/index.json new file mode 100644 index 00000000..35a13b16 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Managers/Blade4BMC/EthernetInterfaces/1/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#EthernetInterface.v1_0_2.EthernetInterface", + "Id": "1", + "Name": "Manager Ethernet Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:38:C0:23", + "IPv4Addresses": [ + { + "Address": "192.168.56.123", + "SubnetMask": "255.255.255.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.56.1" + } + ], + "@odata.context": "/redfish/v1/$metadata#Managers/Members/Blade4BMC/EthernetInterfaces/Members/$entity", + "@odata.id": "/redfish/v1/Managers/Blade4BMC/EthernetInterfaces/1", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade4BMC/EthernetInterfaces/index.json b/test_dependencies/mockups/public-bladed/Managers/Blade4BMC/EthernetInterfaces/index.json new file mode 100644 index 00000000..25590243 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Managers/Blade4BMC/EthernetInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Network Interface Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/Blade4BMC/EthernetInterfaces/1" + } + ], + "@odata.context": "/redfish/v1/$metadata#Managers/Members/Blade4BMC/EthernetInterfaces/$entity", + "@odata.id": "/redfish/v1/Managers/Blade4BMC/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade4BMC/LogServices/Log/Entries/index.json b/test_dependencies/mockups/public-bladed/Managers/Blade4BMC/LogServices/Log/Entries/index.json new file mode 100644 index 00000000..d4555c29 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Managers/Blade4BMC/LogServices/Log/Entries/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Entry Collection", + "Members@odata.count": 0, + "Members": [], + "@odata.context": "/redfish/v1/$metadata#Managers/Members/Blade4BMC/LogServices/Members/Log/Entries/$entity", + "@odata.id": "/redfish/v1/Managers/Blade4BMC/LogServices/Log/Entries", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade4BMC/LogServices/Log/index.json b/test_dependencies/mockups/public-bladed/Managers/Blade4BMC/LogServices/Log/index.json new file mode 100644 index 00000000..6eef34db --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Managers/Blade4BMC/LogServices/Log/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#LogService.v1_0_2.LogService", + "Id": "Log", + "Name": "System Log Service", + "MaxNumberOfRecords": 1024, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2016-01-14T02:13:48+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Managers/Blade4BMC/LogServices/Log/Actions/LogService.Reset" + } + }, + "Entries": { + "@odata.id": "/redfish/v1/Managers/Blade4BMC/LogServices/Log/Entries" + }, + "@odata.context": "/redfish/v1/$metadata#Managers/Members/Blade4BMC/LogServices/Members/$entity", + "@odata.id": "/redfish/v1/Managers/Blade4BMC/LogServices/Log", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade4BMC/LogServices/index.json b/test_dependencies/mockups/public-bladed/Managers/Blade4BMC/LogServices/index.json new file mode 100644 index 00000000..e803bbdf --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Managers/Blade4BMC/LogServices/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/Blade4BMC/LogServices/Log" + } + ], + "@odata.context": "/redfish/v1/$metadata#Managers/Members/Blade4BMC/LogServices/$entity", + "@odata.id": "/redfish/v1/Managers/Blade4BMC/LogServices", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade4BMC/index.json b/test_dependencies/mockups/public-bladed/Managers/Blade4BMC/index.json new file mode 100644 index 00000000..5bbb2094 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Managers/Blade4BMC/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Manager.v1_1_0.Manager", + "Id": "Blade4BMC", + "Name": "Blade Manager", + "ManagerType": "BMC", + "Description": "Contoso BMC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "GraphicalConsole": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 1, + "ConnectTypesSupported": [ + "KVMIP" + ] + }, + "FirmwareVersion": "1.00", + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/Blade4BMC/EthernetInterfaces" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Managers/Blade4BMC/LogServices" + }, + "Links": { + "ManagerForServers": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9453R6" + } + ], + "ManagerForChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade4" + } + ] + }, + "@odata.context": "/redfish/v1/$metadata#Managers/Members/$entity", + "@odata.id": "/redfish/v1/Managers/Blade4BMC", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/EthernetInterfaces/1/index.json b/test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/EthernetInterfaces/1/index.json new file mode 100644 index 00000000..f7abb1c6 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/EthernetInterfaces/1/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#EthernetInterface.v1_0_2.EthernetInterface", + "Id": "1", + "Name": "Manager Ethernet Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:38:C0:10", + "IPv4Addresses": [ + { + "Address": "192.168.56.100", + "SubnetMask": "255.255.255.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.56.1" + } + ], + "@odata.context": "/redfish/v1/$metadata#Managers/Members/MultiBladeBMC/EthernetInterfaces/Members/$entity", + "@odata.id": "/redfish/v1/Managers/MultiBladeBMC/EthernetInterfaces/1", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/EthernetInterfaces/index.json b/test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/EthernetInterfaces/index.json new file mode 100644 index 00000000..3be20892 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/EthernetInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Network Interface Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/MultiBladeBMC/EthernetInterfaces/1" + } + ], + "@odata.context": "/redfish/v1/$metadata#Managers/Members/MultiBladeBMC/EthernetInterfaces/$entity", + "@odata.id": "/redfish/v1/Managers/MultiBladeBMC/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/LogServices/Log/Entries/1/index.json b/test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/LogServices/Log/Entries/1/index.json new file mode 100644 index 00000000..c19d8527 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/LogServices/Log/Entries/1/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#LogEntry.v1_0_2.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "Event", + "Severity": "Critical", + "Created": "2016-01-10T18:02", + "MessageId": "Event.1.0.FanWayTooSlow", + "Message": "Fan 2 crossed Lower Fatal Threshold; fans are no longer redundant", + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal" + } + }, + "@odata.context": "/redfish/v1/$metadata#Managers/Members/MultiBladeBMC/LogServices/Members/Log/Entries/Members/$entity", + "@odata.id": "/redfish/v1/Managers/MultiBladeBMC/LogServices/Log/Entries/1", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/LogServices/Log/Entries/index.json b/test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/LogServices/Log/Entries/index.json new file mode 100644 index 00000000..616fe473 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/LogServices/Log/Entries/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Entry Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/MultiBladeBMC/LogServices/Log/Entries/1", + "@odata.type": "#LogEntry.v1_0_2.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "Event", + "Severity": "Critical", + "Created": "2016-01-10T18:02", + "MessageId": "Event.1.0.FanWayTooSlow", + "Message": "Fan 2 crossed Lower Fatal Threshold; fans are no longer redundant", + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal" + } + } + } + ], + "@odata.context": "/redfish/v1/$metadata#Managers/Members/MultiBladeBMC/LogServices/Members/Log/Entries/$entity", + "@odata.id": "/redfish/v1/Managers/MultiBladeBMC/LogServices/Log/Entries", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/LogServices/Log/index.json b/test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/LogServices/Log/index.json new file mode 100644 index 00000000..b12a722f --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/LogServices/Log/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#LogService.v1_0_2.LogService", + "Id": "Log", + "Name": "System Log Service", + "MaxNumberOfRecords": 1024, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2016-01-14T02:13:48+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Managers/MultiBladeBMC/LogServices/Log/Actions/LogService.Reset" + } + }, + "Entries": { + "@odata.id": "/redfish/v1/Managers/MultiBladeBMC/LogServices/Log/Entries" + }, + "@odata.context": "/redfish/v1/$metadata#Managers/Members/MultiBladeBMC/LogServices/Members/$entity", + "@odata.id": "/redfish/v1/Managers/MultiBladeBMC/LogServices/Log", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/LogServices/index.json b/test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/LogServices/index.json new file mode 100644 index 00000000..836f0b76 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/LogServices/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/MultiBladeBMC/LogServices/Log" + } + ], + "@odata.context": "/redfish/v1/$metadata#Managers/Members/MultiBladeBMC/LogServices/$entity", + "@odata.id": "/redfish/v1/Managers/MultiBladeBMC/LogServices", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/index.json b/test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/index.json new file mode 100644 index 00000000..84447e32 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#Manager.v1_1_0.Manager", + "Id": "MultiBladeBMC", + "Name": "Enclosure Manager", + "ManagerType": "EnclosureManager", + "Description": "Contoso BMC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "FirmwareVersion": "1.00", + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/MultiBladeBMC/EthernetInterfaces" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Managers/MultiBladeBMC/LogServices" + }, + "Links": { + "ManagerForChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl" + } + ] + }, + "@odata.context": "/redfish/v1/$metadata#Managers/Members/$entity", + "@odata.id": "/redfish/v1/Managers/MultiBladeBMC", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Managers/index.json b/test_dependencies/mockups/public-bladed/Managers/index.json new file mode 100644 index 00000000..abf79366 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Managers/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#ManagerCollection.ManagerCollection", + "Name": "Manager Collection", + "Members@odata.count": 5, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/MultiBladeBMC" + }, + { + "@odata.id": "/redfish/v1/Managers/Blade1BMC" + }, + { + "@odata.id": "/redfish/v1/Managers/Blade2BMC" + }, + { + "@odata.id": "/redfish/v1/Managers/Blade3BMC" + }, + { + "@odata.id": "/redfish/v1/Managers/Blade4BMC" + } + ], + "@odata.context": "/redfish/v1/$metadata#Managers", + "@odata.id": "/redfish/v1/Managers", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/SessionService/Sessions/12623963E803C264/index.json b/test_dependencies/mockups/public-bladed/SessionService/Sessions/12623963E803C264/index.json new file mode 100644 index 00000000..ca5f8ef4 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/SessionService/Sessions/12623963E803C264/index.json @@ -0,0 +1,10 @@ +{ + "@odata.type": "#Session.v1_0_2.Session", + "Id": "12623963E803C264", + "Name": "User Session", + "Description": "Manager User Session", + "UserName": "Administrator", + "@odata.context": "/redfish/v1/$metadata#Session.Session", + "@odata.id": "/redfish/v1/SessionService/Sessions/12623963E803C264", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/SessionService/Sessions/index.json b/test_dependencies/mockups/public-bladed/SessionService/Sessions/index.json new file mode 100644 index 00000000..39ac60ac --- /dev/null +++ b/test_dependencies/mockups/public-bladed/SessionService/Sessions/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#SessionCollection.SessionCollection", + "Name": "Session Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/SessionService/Sessions/12623963E803C264" + } + ], + "@odata.context": "/redfish/v1/$metadata#SessionService/Sessions/$entity", + "@odata.id": "/redfish/v1/SessionService/Sessions", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/SessionService/index.json b/test_dependencies/mockups/public-bladed/SessionService/index.json new file mode 100644 index 00000000..8f4525fd --- /dev/null +++ b/test_dependencies/mockups/public-bladed/SessionService/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#SessionService.v1_0_2.SessionService", + "Id": "SessionService", + "Name": "Session Service", + "Description": "Session Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "SessionTimeout": 30, + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + }, + "@odata.context": "/redfish/v1/$metadata#SessionService", + "@odata.id": "/redfish/v1/SessionService", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9450R6/Processors/CPU/index.json b/test_dependencies/mockups/public-bladed/Systems/529QB9450R6/Processors/CPU/index.json new file mode 100644 index 00000000..5fdab164 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Systems/529QB9450R6/Processors/CPU/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Processor.v1_0_2.Processor", + "Id": "CPU", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Multi-Core Intel(R) Xeon(R) processor E5-1603", + "MaxSpeedMHz": 2800, + "TotalCores": 4, + "TotalThreads": 8, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.context": "/redfish/v1/$metadata#Systems/Members/529QB9450R6/Processors/Members/$entity", + "@odata.id": "/redfish/v1/Systems/529QB9450R6/Processors/CPU", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9450R6/Processors/index.json b/test_dependencies/mockups/public-bladed/Systems/529QB9450R6/Processors/index.json new file mode 100644 index 00000000..d3980546 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Systems/529QB9450R6/Processors/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processor Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9450R6/Processors/CPU" + } + ], + "@odata.context": "/redfish/v1/$metadata#Systems/Members/529QB9450R6/Processors/$entity", + "@odata.id": "/redfish/v1/Systems/529QB9450R6/Processors", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9450R6/SimpleStorage/1/index.json b/test_dependencies/mockups/public-bladed/Systems/529QB9450R6/SimpleStorage/1/index.json new file mode 100644 index 00000000..3dc90282 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Systems/529QB9450R6/SimpleStorage/1/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#SimpleStorage.v1_1_0.SimpleStorage", + "Id": "1", + "Name": "Simple Storage Controller", + "Description": "System SATA", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Devices": [ + { + "Name": "SATA Bay 1", + "Manufacturer": "Contoso", + "Model": "3000GT8", + "Status": { + "State": "Enabled", + "Health": "OK" + } + }, + { + "Name": "SATA Bay 2", + "Manufacturer": "Contoso", + "Model": "3000GT8", + "Status": { + "State": "Enabled", + "Health": "OK" + } + } + ], + "@odata.context": "/redfish/v1/$metadata#Systems/Members/529QB9450R6/SimpleStorage/Members/$entity", + "@odata.id": "/redfish/v1/Systems/529QB9450R6/SimpleStorage/1", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9450R6/SimpleStorage/index.json b/test_dependencies/mockups/public-bladed/Systems/529QB9450R6/SimpleStorage/index.json new file mode 100644 index 00000000..e65dc794 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Systems/529QB9450R6/SimpleStorage/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#SimpleStorageCollection.SimpleStorageCollection", + "Name": "Simple Storage Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9450R6/SimpleStorage/1" + } + ], + "@odata.context": "/redfish/v1/$metadata#Systems/Members/529QB9450R6/SimpleStorage/$entity", + "@odata.id": "/redfish/v1/Systems/529QB9450R6/SimpleStorage", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9450R6/index.json b/test_dependencies/mockups/public-bladed/Systems/529QB9450R6/index.json new file mode 100644 index 00000000..0ee76554 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Systems/529QB9450R6/index.json @@ -0,0 +1,85 @@ +{ + "@odata.type": "#ComputerSystem.v1_1_0.ComputerSystem", + "Id": "529QB9450R6", + "Name": "Bladed System", + "SystemType": "Physical", + "Manufacturer": "Contoso", + "Model": "SX1000", + "SKU": "6914260", + "SerialNumber": "529QB9450R6", + "PartNumber": "166480-S23", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollUp": "OK" + }, + "IndicatorLED": "Off", + "PowerState": "On", + "Boot": { + "BootSourceOverrideEnabled": "Disabled", + "BootSourceOverrideTarget": "None", + "BootSourceOverrideTarget@Redfish.AllowableValues": [ + "None", + "Pxe", + "Floppy", + "Cd", + "Usb", + "Hdd", + "BiosSetup" + ] + }, + "BiosVersion": "P86 v1.58 (10/15/2015)", + "ProcessorSummary": { + "Count": 1, + "ProcessorFamily": "Multi-Core Intel(R) Xeon(R) processor E5-16xx Series", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollUp": "OK" + } + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 64, + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollUp": "OK" + } + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/529QB9450R6/Processors" + }, + "SimpleStorage": { + "@odata.id": "/redfish/v1/Systems/529QB9450R6/SimpleStorage" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade1" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/Blade1BMC" + } + ] + }, + "Actions": { + "#ComputerSystem.Reset": { + "target": "/redfish/v1/Systems/529QB9450R6/Actions/ComputerSystem.Reset", + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "GracefulRestart", + "ForceRestart", + "Nmi", + "ForceOn", + "PushPowerButton" + ] + } + }, + "@odata.context": "/redfish/v1/$metadata#Systems/Members/$entity", + "@odata.id": "/redfish/v1/Systems/529QB9450R6", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9451R6/Processors/CPU/index.json b/test_dependencies/mockups/public-bladed/Systems/529QB9451R6/Processors/CPU/index.json new file mode 100644 index 00000000..3af969e1 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Systems/529QB9451R6/Processors/CPU/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Processor.v1_0_2.Processor", + "Id": "CPU", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Multi-Core Intel(R) Xeon(R) processor E5-1603", + "MaxSpeedMHz": 2800, + "TotalCores": 4, + "TotalThreads": 8, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.context": "/redfish/v1/$metadata#Systems/Members/529QB9451R6/Processors/Members/$entity", + "@odata.id": "/redfish/v1/Systems/529QB9451R6/Processors/CPU", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9451R6/Processors/index.json b/test_dependencies/mockups/public-bladed/Systems/529QB9451R6/Processors/index.json new file mode 100644 index 00000000..4e9d87f9 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Systems/529QB9451R6/Processors/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processor Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9451R6/Processors/CPU" + } + ], + "@odata.context": "/redfish/v1/$metadata#Systems/Members/529QB9451R6/Processors/$entity", + "@odata.id": "/redfish/v1/Systems/529QB9451R6/Processors", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9451R6/SimpleStorage/1/index.json b/test_dependencies/mockups/public-bladed/Systems/529QB9451R6/SimpleStorage/1/index.json new file mode 100644 index 00000000..74f5a8d8 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Systems/529QB9451R6/SimpleStorage/1/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#SimpleStorage.v1_1_0.SimpleStorage", + "Id": "1", + "Name": "Simple Storage Controller", + "Description": "System SATA", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Devices": [ + { + "Name": "SATA Bay 1", + "Manufacturer": "Contoso", + "Model": "3000GT8", + "Status": { + "State": "Enabled", + "Health": "OK" + } + }, + { + "Name": "SATA Bay 2", + "Manufacturer": "Contoso", + "Model": "3000GT8", + "Status": { + "State": "Enabled", + "Health": "OK" + } + } + ], + "@odata.context": "/redfish/v1/$metadata#Systems/Members/529QB9451R6/SimpleStorage/Members/$entity", + "@odata.id": "/redfish/v1/Systems/529QB9451R6/SimpleStorage/1", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9451R6/SimpleStorage/index.json b/test_dependencies/mockups/public-bladed/Systems/529QB9451R6/SimpleStorage/index.json new file mode 100644 index 00000000..11983f08 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Systems/529QB9451R6/SimpleStorage/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#SimpleStorageCollection.SimpleStorageCollection", + "Name": "Simple Storage Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9451R6/SimpleStorage/1" + } + ], + "@odata.context": "/redfish/v1/$metadata#Systems/Members/529QB9451R6/SimpleStorage/$entity", + "@odata.id": "/redfish/v1/Systems/529QB9451R6/SimpleStorage", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9451R6/index.json b/test_dependencies/mockups/public-bladed/Systems/529QB9451R6/index.json new file mode 100644 index 00000000..1647a2f2 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Systems/529QB9451R6/index.json @@ -0,0 +1,85 @@ +{ + "@odata.type": "#ComputerSystem.v1_1_0.ComputerSystem", + "Id": "529QB9451R6", + "Name": "Bladed System", + "SystemType": "Physical", + "Manufacturer": "Contoso", + "Model": "SX1000", + "SKU": "6914260", + "SerialNumber": "529QB9451R6", + "PartNumber": "166480-S23", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollUp": "OK" + }, + "IndicatorLED": "Off", + "PowerState": "On", + "Boot": { + "BootSourceOverrideEnabled": "Disabled", + "BootSourceOverrideTarget": "None", + "BootSourceOverrideTarget@Redfish.AllowableValues": [ + "None", + "Pxe", + "Floppy", + "Cd", + "Usb", + "Hdd", + "BiosSetup" + ] + }, + "BiosVersion": "P86 v1.58 (10/15/2015)", + "ProcessorSummary": { + "Count": 1, + "ProcessorFamily": "Multi-Core Intel(R) Xeon(R) processor E5-16xx Series", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollUp": "OK" + } + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 64, + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollUp": "OK" + } + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/529QB9451R6/Processors" + }, + "SimpleStorage": { + "@odata.id": "/redfish/v1/Systems/529QB9451R6/SimpleStorage" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade2" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/Blade2BMC" + } + ] + }, + "Actions": { + "#ComputerSystem.Reset": { + "target": "/redfish/v1/Systems/529QB9451R6/Actions/ComputerSystem.Reset", + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "GracefulRestart", + "ForceRestart", + "Nmi", + "ForceOn", + "PushPowerButton" + ] + } + }, + "@odata.context": "/redfish/v1/$metadata#Systems/Members/$entity", + "@odata.id": "/redfish/v1/Systems/529QB9451R6", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9452R6/Processors/CPU/index.json b/test_dependencies/mockups/public-bladed/Systems/529QB9452R6/Processors/CPU/index.json new file mode 100644 index 00000000..e2b503b7 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Systems/529QB9452R6/Processors/CPU/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Processor.v1_0_2.Processor", + "Id": "CPU", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Multi-Core Intel(R) Xeon(R) processor E5-1603", + "MaxSpeedMHz": 2800, + "TotalCores": 4, + "TotalThreads": 8, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.context": "/redfish/v1/$metadata#Systems/Members/529QB9452R6/Processors/Members/$entity", + "@odata.id": "/redfish/v1/Systems/529QB9452R6/Processors/CPU", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9452R6/Processors/index.json b/test_dependencies/mockups/public-bladed/Systems/529QB9452R6/Processors/index.json new file mode 100644 index 00000000..b6164796 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Systems/529QB9452R6/Processors/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processor Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9452R6/Processors/CPU" + } + ], + "@odata.context": "/redfish/v1/$metadata#Systems/Members/529QB9452R6/Processors/$entity", + "@odata.id": "/redfish/v1/Systems/529QB9452R6/Processors", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9452R6/SimpleStorage/1/index.json b/test_dependencies/mockups/public-bladed/Systems/529QB9452R6/SimpleStorage/1/index.json new file mode 100644 index 00000000..ba46bf65 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Systems/529QB9452R6/SimpleStorage/1/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#SimpleStorage.v1_1_0.SimpleStorage", + "Id": "1", + "Name": "Simple Storage Controller", + "Description": "System SATA", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Devices": [ + { + "Name": "SATA Bay 1", + "Manufacturer": "Contoso", + "Model": "3000GT8", + "Status": { + "State": "Enabled", + "Health": "OK" + } + }, + { + "Name": "SATA Bay 2", + "Manufacturer": "Contoso", + "Model": "3000GT8", + "Status": { + "State": "Enabled", + "Health": "OK" + } + } + ], + "@odata.context": "/redfish/v1/$metadata#Systems/Members/529QB9452R6/SimpleStorage/Members/$entity", + "@odata.id": "/redfish/v1/Systems/529QB9452R6/SimpleStorage/1", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9452R6/SimpleStorage/index.json b/test_dependencies/mockups/public-bladed/Systems/529QB9452R6/SimpleStorage/index.json new file mode 100644 index 00000000..d7fda46a --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Systems/529QB9452R6/SimpleStorage/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#SimpleStorageCollection.SimpleStorageCollection", + "Name": "Simple Storage Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9452R6/SimpleStorage/1" + } + ], + "@odata.context": "/redfish/v1/$metadata#Systems/Members/529QB9452R6/SimpleStorage/$entity", + "@odata.id": "/redfish/v1/Systems/529QB9452R6/SimpleStorage", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9452R6/index.json b/test_dependencies/mockups/public-bladed/Systems/529QB9452R6/index.json new file mode 100644 index 00000000..5ed30fd6 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Systems/529QB9452R6/index.json @@ -0,0 +1,85 @@ +{ + "@odata.type": "#ComputerSystem.v1_1_0.ComputerSystem", + "Id": "529QB9452R6", + "Name": "Bladed System", + "SystemType": "Physical", + "Manufacturer": "Contoso", + "Model": "SX1000", + "SKU": "6914260", + "SerialNumber": "529QB9452R6", + "PartNumber": "166480-S23", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollUp": "OK" + }, + "IndicatorLED": "Off", + "PowerState": "On", + "Boot": { + "BootSourceOverrideEnabled": "Disabled", + "BootSourceOverrideTarget": "None", + "BootSourceOverrideTarget@Redfish.AllowableValues": [ + "None", + "Pxe", + "Floppy", + "Cd", + "Usb", + "Hdd", + "BiosSetup" + ] + }, + "BiosVersion": "P86 v1.58 (10/15/2015)", + "ProcessorSummary": { + "Count": 1, + "ProcessorFamily": "Multi-Core Intel(R) Xeon(R) processor E5-16xx Series", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollUp": "OK" + } + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 64, + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollUp": "OK" + } + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/529QB9452R6/Processors" + }, + "SimpleStorage": { + "@odata.id": "/redfish/v1/Systems/529QB9452R6/SimpleStorage" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade3" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/Blade3BMC" + } + ] + }, + "Actions": { + "#ComputerSystem.Reset": { + "target": "/redfish/v1/Systems/529QB9452R6/Actions/ComputerSystem.Reset", + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "GracefulRestart", + "ForceRestart", + "Nmi", + "ForceOn", + "PushPowerButton" + ] + } + }, + "@odata.context": "/redfish/v1/$metadata#Systems/Members/$entity", + "@odata.id": "/redfish/v1/Systems/529QB9452R6", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9453R6/Processors/CPU/index.json b/test_dependencies/mockups/public-bladed/Systems/529QB9453R6/Processors/CPU/index.json new file mode 100644 index 00000000..391bd229 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Systems/529QB9453R6/Processors/CPU/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Processor.v1_0_2.Processor", + "Id": "CPU", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Multi-Core Intel(R) Xeon(R) processor E5-1603", + "MaxSpeedMHz": 2800, + "TotalCores": 4, + "TotalThreads": 8, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.context": "/redfish/v1/$metadata#Systems/Members/529QB9453R6/Processors/Members/$entity", + "@odata.id": "/redfish/v1/Systems/529QB9453R6/Processors/CPU", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9453R6/Processors/index.json b/test_dependencies/mockups/public-bladed/Systems/529QB9453R6/Processors/index.json new file mode 100644 index 00000000..f8437291 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Systems/529QB9453R6/Processors/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processor Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9453R6/Processors/CPU" + } + ], + "@odata.context": "/redfish/v1/$metadata#Systems/Members/529QB9453R6/Processors/$entity", + "@odata.id": "/redfish/v1/Systems/529QB9453R6/Processors", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9453R6/SimpleStorage/1/index.json b/test_dependencies/mockups/public-bladed/Systems/529QB9453R6/SimpleStorage/1/index.json new file mode 100644 index 00000000..9c061c91 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Systems/529QB9453R6/SimpleStorage/1/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#SimpleStorage.v1_1_0.SimpleStorage", + "Id": "1", + "Name": "Simple Storage Controller", + "Description": "System SATA", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Devices": [ + { + "Name": "SATA Bay 1", + "Manufacturer": "Contoso", + "Model": "3000GT8", + "Status": { + "State": "Enabled", + "Health": "OK" + } + }, + { + "Name": "SATA Bay 2", + "Manufacturer": "Contoso", + "Model": "3000GT8", + "Status": { + "State": "Enabled", + "Health": "OK" + } + } + ], + "@odata.context": "/redfish/v1/$metadata#Systems/Members/529QB9453R6/SimpleStorage/Members/$entity", + "@odata.id": "/redfish/v1/Systems/529QB9453R6/SimpleStorage/1", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9453R6/SimpleStorage/index.json b/test_dependencies/mockups/public-bladed/Systems/529QB9453R6/SimpleStorage/index.json new file mode 100644 index 00000000..dfcaf085 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Systems/529QB9453R6/SimpleStorage/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#SimpleStorageCollection.SimpleStorageCollection", + "Name": "Simple Storage Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9453R6/SimpleStorage/1" + } + ], + "@odata.context": "/redfish/v1/$metadata#Systems/Members/529QB9453R6/SimpleStorage/$entity", + "@odata.id": "/redfish/v1/Systems/529QB9453R6/SimpleStorage", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9453R6/index.json b/test_dependencies/mockups/public-bladed/Systems/529QB9453R6/index.json new file mode 100644 index 00000000..c436597f --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Systems/529QB9453R6/index.json @@ -0,0 +1,85 @@ +{ + "@odata.type": "#ComputerSystem.v1_1_0.ComputerSystem", + "Id": "529QB9453R6", + "Name": "Bladed System", + "SystemType": "Physical", + "Manufacturer": "Contoso", + "Model": "SX1000", + "SKU": "6914260", + "SerialNumber": "529QB9453R6", + "PartNumber": "166480-S23", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollUp": "OK" + }, + "IndicatorLED": "Off", + "PowerState": "On", + "Boot": { + "BootSourceOverrideEnabled": "Disabled", + "BootSourceOverrideTarget": "None", + "BootSourceOverrideTarget@Redfish.AllowableValues": [ + "None", + "Pxe", + "Floppy", + "Cd", + "Usb", + "Hdd", + "BiosSetup" + ] + }, + "BiosVersion": "P86 v1.58 (10/15/2015)", + "ProcessorSummary": { + "Count": 1, + "ProcessorFamily": "Multi-Core Intel(R) Xeon(R) processor E5-16xx Series", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollUp": "OK" + } + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 64, + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollUp": "OK" + } + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/529QB9453R6/Processors" + }, + "SimpleStorage": { + "@odata.id": "/redfish/v1/Systems/529QB9453R6/SimpleStorage" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade4" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/Blade4BMC" + } + ] + }, + "Actions": { + "#ComputerSystem.Reset": { + "target": "/redfish/v1/Systems/529QB9453R6/Actions/ComputerSystem.Reset", + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "GracefulRestart", + "ForceRestart", + "Nmi", + "ForceOn", + "PushPowerButton" + ] + } + }, + "@odata.context": "/redfish/v1/$metadata#Systems/Members/$entity", + "@odata.id": "/redfish/v1/Systems/529QB9453R6", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/Systems/index.json b/test_dependencies/mockups/public-bladed/Systems/index.json new file mode 100644 index 00000000..624a7577 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/Systems/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#ComputerSystemCollection.ComputerSystemCollection", + "Name": "Computer System Collection", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9450R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9451R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9452R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9453R6" + } + ], + "@odata.context": "/redfish/v1/$metadata#Systems", + "@odata.id": "/redfish/v1/Systems", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/TaskService/Tasks/index.json b/test_dependencies/mockups/public-bladed/TaskService/Tasks/index.json new file mode 100644 index 00000000..2ebef050 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/TaskService/Tasks/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#TasksCollection.TaskCollection", + "Name": "Task Collection", + "Members@odata.count": 0, + "Members": [], + "@odata.context": "/redfish/v1/$metadata#TaskService/Tasks/$entity", + "@odata.id": "/redfish/v1/TaskService/Tasks", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/TaskService/index.json b/test_dependencies/mockups/public-bladed/TaskService/index.json new file mode 100644 index 00000000..04f060e2 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/TaskService/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#TaskService.v1_0_2.TaskService", + "Id": "TaskService", + "Name": "Tasks Service", + "DateTime": "2016-01-13T12:48:12+06:00", + "OverWritePolicy": "Never", + "LifeCycleEventOnTaskStateChange": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "Tasks": { + "@odata.id": "/redfish/v1/TaskService/Tasks" + }, + "@odata.context": "/redfish/v1/$metadata/TaskService", + "@odata.id": "/redfish/v1/TaskService", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-bladed/explorer_config.json b/test_dependencies/mockups/public-bladed/explorer_config.json new file mode 100644 index 00000000..38e246f7 --- /dev/null +++ b/test_dependencies/mockups/public-bladed/explorer_config.json @@ -0,0 +1,74 @@ +{ + "name": "Bladed System", + "description": "This example represents an enclosure of \"blade servers\" that share infrastructure components, such as power supplies and fans. Depicting an enclosure containing four blade servers (a total of five \"Chassis\"), this mockup demonstrates the modeling of multiple chassis and systems managed from a single Redfish service.", + "navlinks": [{ + "text": "Main", + "target": "main" + }, { + "text": "Systems", + "target": "Systems", + "navlinks": [{ + "text": "529QB9450R6", + "target": "529QB9450R6" + }, { + "text": "529QB9451R6", + "target": "529QB9451R6" + }, { + "text": "529QB9452R6", + "target": "529QB9452R6" + }, { + "text": "529QB9453R6", + "target": "529QB9453R6" + }] + }, { + "text": "Chassis", + "target": "Chassis", + "navlinks": [{ + "text": "Multi-blade Enclosure", + "target": "MultiBladeEncl" + }, { + "text": "Blade 1", + "target": "Blade1" + }, { + "text": "Blade 2", + "target": "Blade2" + }, { + "text": "Blade 3", + "target": "Blade3" + }, { + "text": "Blade 4", + "target": "Blade4" + }] + }, { + "text": "Managers", + "target": "Managers", + "navlinks": [{ + "text": "Multi-blade Manager", + "target": "MultiBladeBMC" + }, { + "text": "Blade 1 Manager", + "target": "Blade1BMC" + }, { + "text": "Blade 2 Manager", + "target": "Blade2BMC" + }, { + "text": "Blade 3 Manager", + "target": "Blade3BMC" + }, { + "text": "Blade 4 Manager", + "target": "Blade4BMC" + }] + }, { + "text": "Task Service", + "target": "TaskService" + }, { + "text": "Session Service", + "target": "SessionService" + }, { + "target": "AccountService", + "text": "Account Service" + }, { + "target": "EventService", + "text": "Event Service" + }] +} \ No newline at end of file diff --git a/test_dependencies/mockups/public-bladed/index.json b/test_dependencies/mockups/public-bladed/index.json new file mode 100644 index 00000000..5883d38b --- /dev/null +++ b/test_dependencies/mockups/public-bladed/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#ServiceRoot.v1_0_2.ServiceRoot", + "Id": "RootService", + "Name": "Root Service", + "RedfishVersion": "1.0.2", + "UUID": "85775665-c110-4b85-8989-e6162170b3ec", + "Systems": { + "@odata.id": "/redfish/v1/Systems" + }, + "Chassis": { + "@odata.id": "/redfish/v1/Chassis" + }, + "Managers": { + "@odata.id": "/redfish/v1/Managers" + }, + "Tasks": { + "@odata.id": "/redfish/v1/TaskService" + }, + "SessionService": { + "@odata.id": "/redfish/v1/SessionService" + }, + "AccountService": { + "@odata.id": "/redfish/v1/AccountService" + }, + "EventService": { + "@odata.id": "/redfish/v1/EventService" + }, + "Links": { + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + } + }, + "@odata.context": "/redfish/v1/$metadata#ServiceRoot", + "@odata.id": "/redfish/v1/", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/AccountService/Accounts/1/index.json b/test_dependencies/mockups/public-rackmount/AccountService/Accounts/1/index.json new file mode 100644 index 00000000..a65cc9c3 --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/AccountService/Accounts/1/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#ManagerAccount.v1_0_2.ManagerAccount", + "Id": "1", + "Name": "User Account", + "Description": "User Account", + "Enabled": true, + "Password": null, + "UserName": "Administrator", + "RoleId": "Admin", + "Locked": false, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/Admin" + } + }, + "@odata.context": "/redfish/v1/$metadata#ManagerAccount.ManagerAccount", + "@odata.id": "/redfish/v1/AccountService/Accounts/1", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/AccountService/Accounts/index.json b/test_dependencies/mockups/public-rackmount/AccountService/Accounts/index.json new file mode 100644 index 00000000..fc101411 --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/AccountService/Accounts/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#ManagerAccountCollection.ManagerAccountCollection", + "Name": "Accounts Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Accounts/1" + } + ], + "@odata.context": "/redfish/v1/$metadata#ManagerAccountCollection.ManagerAccountCollection", + "@odata.id": "/redfish/v1/AccountService/Accounts", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/AccountService/Roles/Admin/index.json b/test_dependencies/mockups/public-rackmount/AccountService/Roles/Admin/index.json new file mode 100644 index 00000000..b8fcc29e --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/AccountService/Roles/Admin/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Role.v1_0_2.Role", + "Id": "Admin", + "Name": "User Role", + "Description": "Admin User Role", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureManager", + "ConfigureUsers", + "ConfigureSelf", + "ConfigureComponents" + ], + "OEMPrivileges": [ + "OemClearLog", + "OemPowerControl" + ], + "@odata.context": "/redfish/v1/$metadata#Role.Role", + "@odata.id": "/redfish/v1/AccountService/Roles/Admin", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/AccountService/Roles/Operator/index.json b/test_dependencies/mockups/public-rackmount/AccountService/Roles/Operator/index.json new file mode 100644 index 00000000..edb4252a --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/AccountService/Roles/Operator/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Role.v1_0_2.Role", + "Id": "Operator", + "Name": "User Role", + "Description": "Operator User Role", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf", + "ConfigureComponents" + ], + "OEMPrivileges": [], + "@odata.context": "/redfish/v1/$metadata#Role.Role", + "@odata.id": "/redfish/v1/AccountService/Roles/Operator", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/AccountService/Roles/ReadOnlyUser/index.json b/test_dependencies/mockups/public-rackmount/AccountService/Roles/ReadOnlyUser/index.json new file mode 100644 index 00000000..f6f1f562 --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/AccountService/Roles/ReadOnlyUser/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Role.v1_0_2.Role", + "Id": "ReadOnlyUser", + "Name": "User Role", + "Description": "ReadOnlyUser User Role", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login" + ], + "OEMPrivileges": [], + "@odata.context": "/redfish/v1/$metadata#Role.Role", + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnlyUser", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/AccountService/Roles/index.json b/test_dependencies/mockups/public-rackmount/AccountService/Roles/index.json new file mode 100644 index 00000000..895b5f72 --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/AccountService/Roles/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#RoleCollection.RoleCollection", + "Name": "Roles Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Roles/Admin" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/Operator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnlyUser" + } + ], + "@odata.context": "/redfish/v1/$metadata#Role.Role", + "@odata.id": "/redfish/v1/AccountService/Roles", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/AccountService/index.json b/test_dependencies/mockups/public-rackmount/AccountService/index.json new file mode 100644 index 00000000..c302c6b9 --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/AccountService/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#AccountService.v1_0_2.AccountService", + "Id": "AccountService", + "Name": "Account Service", + "Description": "Account Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "AuthFailureLoggingThreshold": 3, + "MinPasswordLength": 8, + "AccountLockoutThreshold": 5, + "AccountLockoutDuration": 30, + "AccountLockoutCounterResetAfter": 30, + "Accounts": { + "@odata.id": "/redfish/v1/AccountService/Accounts" + }, + "Roles": { + "@odata.id": "/redfish/v1/AccountService/Roles" + }, + "@odata.context": "/redfish/v1/$metadata#AccountService", + "@odata.id": "/redfish/v1/AccountService", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Chassis/1U/Power/index.json b/test_dependencies/mockups/public-rackmount/Chassis/1U/Power/index.json new file mode 100644 index 00000000..ce000079 --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Chassis/1U/Power/index.json @@ -0,0 +1,143 @@ +{ + "@odata.type": "#Power.v1_1_0.Power", + "Id": "Power", + "Name": "Power", + "PowerControl": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Power#/PowerControl/0", + "MemberId": "0", + "Name": "Server Power Control", + "PowerConsumedWatts": 344, + "PowerRequestedWatts": 800, + "PowerAvailableWatts": 0, + "PowerCapacityWatts": 800, + "PowerAllocatedWatts": 800, + "PowerMetrics": { + "IntervalInMin": 30, + "MinConsumedWatts": 271, + "MaxConsumedWatts": 489, + "AverageConsumedWatts": 319 + }, + "PowerLimit": { + "LimitInWatts": 500, + "LimitException": "LogEventOnly", + "CorrectionInMs": 50 + }, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Oem": {} + } + ], + "Voltages": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Power#/Voltages/0", + "MemberId": "0", + "Name": "VRM1 Voltage", + "SensorNumber": 11, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingVolts": 12, + "UpperThresholdNonCritical": 12.5, + "UpperThresholdCritical": 13, + "UpperThresholdFatal": 15, + "LowerThresholdNonCritical": 11.5, + "LowerThresholdCritical": 11, + "LowerThresholdFatal": 10, + "MinReadingRange": 0, + "MaxReadingRange": 20, + "PhysicalContext": "VoltageRegulator", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Power#/Voltages/1", + "MemberId": "1", + "Name": "VRM2 Voltage", + "SensorNumber": 12, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingVolts": 5, + "UpperThresholdNonCritical": 5.5, + "UpperThresholdCritical": 7, + "LowerThresholdNonCritical": 4.75, + "LowerThresholdCritical": 4.5, + "MinReadingRange": 0, + "MaxReadingRange": 20, + "PhysicalContext": "VoltageRegulator", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ] + } + ], + "PowerSupplies": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Power#/PowerSupplies/0", + "MemberId": "0", + "Name": "Power Supply Bay", + "Status": { + "State": "Enabled", + "Health": "Warning" + }, + "Oem": {}, + "PowerSupplyType": "AC", + "LineInputVoltageType": "ACWideRange", + "LineInputVoltage": 120, + "PowerCapacityWatts": 800, + "LastPowerOutputWatts": 325, + "Model": "499253-B21", + "Manufacturer": "ManufacturerName", + "FirmwareVersion": "1.00", + "SerialNumber": "1Z0000001", + "PartNumber": "0000001A3A", + "SparePartNumber": "0000001A3A", + "InputRanges": [ + { + "InputType": "AC", + "MinimumVoltage": 100, + "MaximumVoltage": 120, + "OutputWattage": 800 + }, + { + "InputType": "AC", + "MinimumVoltage": 200, + "MaximumVoltage": 240, + "OutputWattage": 1300 + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ] + } + ], + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#Power.Power", + "@odata.id": "/redfish/v1/Chassis/1U/Power", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Chassis/1U/Thermal/index.json b/test_dependencies/mockups/public-rackmount/Chassis/1U/Thermal/index.json new file mode 100644 index 00000000..debdcc02 --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Chassis/1U/Thermal/index.json @@ -0,0 +1,160 @@ +{ + "@odata.type": "#Thermal.v1_0_2.Thermal", + "Id": "Thermal", + "Name": "Thermal", + "Temperatures": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Temperatures/0", + "MemberId": "0", + "Name": "CPU1 Temp", + "SensorNumber": 5, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 41, + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 45, + "UpperThresholdFatal": 48, + "MinReadingRange": 0, + "MaxReadingRange": 60, + "PhysicalContext": "CPU", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Temperatures/1", + "MemberId": "1", + "Name": "CPU2 Temp", + "SensorNumber": 6, + "Status": { + "State": "Disabled" + }, + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 45, + "UpperThresholdFatal": 48, + "MinReadingRange": 0, + "MaxReadingRange": 60, + "PhysicalContext": "CPU", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU2" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Temperatures/2", + "MemberId": "2", + "Name": "Chassis Intake Temp", + "SensorNumber": 9, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 25, + "UpperThresholdNonCritical": 30, + "UpperThresholdCritical": 40, + "UpperThresholdFatal": 50, + "LowerThresholdNonCritical": 10, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 0, + "MinReadingRange": 0, + "MaxReadingRange": 60, + "PhysicalContext": "Intake", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + } + ] + } + ], + "Fans": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Fans/0", + "MemberId": "0", + "Name": "BaseBoard System Fan", + "PhysicalContext": "Backplane", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2100, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 0, + "MinReadingRange": 0, + "MaxReadingRange": 5000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Fans/1", + "MemberId": "1", + "Name": "BaseBoard System Fan Backup", + "PhysicalContext": "Backplane", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2050, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 0, + "MinReadingRange": 0, + "MaxReadingRange": 5000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ] + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Redundancy/0", + "MemberId": "0", + "Name": "BaseBoard System Fans", + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Fans/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Fans/1" + } + ], + "Mode": "N+m", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MinNumNeeded": 1, + "MaxNumSupported": 2 + } + ], + "@odata.context": "/redfish/v1/$metadata#Thermal.Thermal", + "@odata.id": "/redfish/v1/Chassis/1U/Thermal", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Chassis/1U/index.json b/test_dependencies/mockups/public-rackmount/Chassis/1U/index.json new file mode 100644 index 00000000..afc5a7fa --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Chassis/1U/index.json @@ -0,0 +1,44 @@ +{ + "@odata.type": "#Chassis.v1_2_0.Chassis", + "Id": "1U", + "Name": "Computer System Chassis", + "ChassisType": "RackMount", + "AssetTag": "Chicago-45Z-2381", + "Manufacturer": "Contoso", + "Model": "3500RX", + "SKU": "8675309", + "SerialNumber": "437XR1138R2", + "PartNumber": "224071-J23", + "PowerState": "On", + "IndicatorLED": "Lit", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + }, + "Power": { + "@odata.id": "/redfish/v1/Chassis/1U/Power" + }, + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ], + "ManagersInChassis": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ] + }, + "@odata.context": "/redfish/v1/$metadata#Chassis.Chassis", + "@odata.id": "/redfish/v1/Chassis/1U", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Chassis/index.json b/test_dependencies/mockups/public-rackmount/Chassis/index.json new file mode 100644 index 00000000..0ca45702 --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Chassis/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#ChassisCollection.ChassisCollection", + "Name": "Chassis Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ], + "@odata.context": "/redfish/v1/$metadata#ChassisCollection", + "@odata.id": "/redfish/v1/Chassis", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/EventService/Subscriptions/1/index.json b/test_dependencies/mockups/public-rackmount/EventService/Subscriptions/1/index.json new file mode 100644 index 00000000..bdc6d1a8 --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/EventService/Subscriptions/1/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#EventDestination.v1_0_2.EventDestination", + "Id": "1", + "Name": "EventSubscription 1", + "Destination": "http://www.dnsname.com/Destination1", + "EventTypes": [ + "Alert" + ], + "Context": "WebUser3", + "Protocol": "Redfish", + "@odata.context": "/redfish/v1/$metadata#EventDestination.EventDestination", + "@odata.id": "/redfish/v1/EventService/Subscriptions/1", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/EventService/Subscriptions/index.json b/test_dependencies/mockups/public-rackmount/EventService/Subscriptions/index.json new file mode 100644 index 00000000..d8bd27f2 --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/EventService/Subscriptions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#EventDestinationCollection.EventDestinationCollection", + "Name": "Event Subscriptions Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/EventService/Subscriptions/1" + } + ], + "@odata.context": "/redfish/v1/$metadata#EventDestinationCollection.EventDestinationCollection", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/EventService/index.json b/test_dependencies/mockups/public-rackmount/EventService/index.json new file mode 100644 index 00000000..0477163c --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/EventService/index.json @@ -0,0 +1,39 @@ +{ + "@odata.type": "#EventService.v1_0_2.EventService", + "Id": "EventService", + "Name": "Event Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "DeliveryRetryAttempts": 3, + "DeliveryRetryIntervalInSeconds": 60, + "EventTypesForSubscription": [ + "StatusChange", + "ResourceUpdated", + "ResourceAdded", + "ResourceRemoved", + "Alert" + ], + "Subscriptions": { + "@odata.id": "/redfish/v1/EventService/Subscriptions" + }, + "Actions": { + "#EventService.SubmitTestEvent": { + "target": "/redfish/v1/EventService/Actions/EventService.SubmitTestEvent", + "EventType@Redfish.AllowableValues": [ + "StatusChange", + "ResourceUpdated", + "ResourceAdded", + "ResourceRemoved", + "Alert" + ] + }, + "Oem": {} + }, + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#EventService", + "@odata.id": "/redfish/v1/EventService", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Managers/BMC/LogServices/Log/Entries/1/index.json b/test_dependencies/mockups/public-rackmount/Managers/BMC/LogServices/Log/Entries/1/index.json new file mode 100644 index 00000000..0669191b --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Managers/BMC/LogServices/Log/Entries/1/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#LogEntry.v1_0_2.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "SEL", + "OEMRecordFormat": "Contoso", + "Severity": "Critical", + "Created": "2012-03-07T14:44", + "EntryCode": "Assert", + "SensorType": "Temperature", + "SensorNumber": 1, + "Message": "System May be Melting", + "MessageId": "Event.1.0.TempWayTooHot", + "MessageArgs": [ + "88" + ], + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + }, + "Oem": {} + }, + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#Managers/Members/BMC/LogServices/Members/Log/Entries/$entity", + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries/1", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Managers/BMC/LogServices/Log/Entries/index.json b/test_dependencies/mockups/public-rackmount/Managers/BMC/LogServices/Log/Entries/index.json new file mode 100644 index 00000000..3df26511 --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Managers/BMC/LogServices/Log/Entries/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries/1", + "@odata.type": "#LogEntry.v1_0_2.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "SEL", + "OEMRecordFormat": "Contoso", + "Severity": "Critical", + "Created": "2012-03-07T14:44", + "EntryCode": "Assert", + "SensorType": "Temperature", + "SensorNumber": 1, + "Message": "System May be Melting", + "MessageId": "Event.1.0.TempWayTooHot", + "MessageArgs": [ + "88" + ], + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + }, + "Oem": {} + }, + "Oem": {} + } + ], + "@odata.context": "/redfish/v1/$metadata#Managers/Members/BMC/LogServices/Members/Log/Entries", + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Managers/BMC/LogServices/Log/index.json b/test_dependencies/mockups/public-rackmount/Managers/BMC/LogServices/Log/index.json new file mode 100644 index 00000000..3775fd12 --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Managers/BMC/LogServices/Log/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#LogService.v1_0_2.LogService", + "Id": "Log", + "Name": "System Log Service", + "MaxNumberOfRecords": 1000, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Oem": {}, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Managers/BMC/LogServices/Log/Actions/LogService.Reset" + }, + "Oem": {} + }, + "Entries": { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries" + }, + "@odata.context": "/redfish/v1/$metadata#Managers/Members/BMC/LogServices/Members/$entity", + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Managers/BMC/LogServices/index.json b/test_dependencies/mockups/public-rackmount/Managers/BMC/LogServices/index.json new file mode 100644 index 00000000..144b9c98 --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Managers/BMC/LogServices/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Description": "Collection of Log Services for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log" + } + ], + "@odata.context": "/redfish/v1/$metadata#LogServicesCollection.LogServicesCollection", + "@odata.id": "/redfish/v1/Managers/BMC/LogServices", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Managers/BMC/NICs/Dedicated/SD/index.json b/test_dependencies/mockups/public-rackmount/Managers/BMC/NICs/Dedicated/SD/index.json new file mode 100644 index 00000000..d62a691a --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Managers/BMC/NICs/Dedicated/SD/index.json @@ -0,0 +1,80 @@ +{ + "@odata.type": "#EthernetInterface.v1_0_2.EthernetInterface", + "Id": "SD", + "Name": "Manager Ethernet Interface", + "Description": "Management Network Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:33:CF:EA", + "MACAddress": "23:11:8A:33:CF:EA", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.0.1", + "Oem": {} + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred", + "Oem": {} + } + ], + "NameServers": [ + "names.dmtf.org" + ], + "@Redfish.Settings": { + "@odata.type": "#Settings.v1_0_2.Settings", + "SettingsObject": { + "@odata.id": "/redfish/v1/Managers/BMC/NICs/Dedicated/SD" + }, + "Time": "2012-03-07T14:44.30-05:00", + "ETag": "84ffcbb050ddc7fa9cddb59014546e59", + "Messages": [ + { + "MessageId": "Base.1.0.SettingsFailed", + "RelatedProperties": [ + "#/IPv6Addresses/PrefixLength" + ] + } + ] + }, + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#Managers/Members/BMC/NICs/Members/Dedicated/Settings/$entity", + "@odata.id": "/redfish/v1/Managers/BMC/NICs/Dedicated/SD", + "@Redfish.Copyright":"Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} + diff --git a/test_dependencies/mockups/public-rackmount/Managers/BMC/NICs/Dedicated/index.json b/test_dependencies/mockups/public-rackmount/Managers/BMC/NICs/Dedicated/index.json new file mode 100644 index 00000000..0e70744b --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Managers/BMC/NICs/Dedicated/index.json @@ -0,0 +1,79 @@ +{ + "@odata.type": "#EthernetInterface.v1_0_2.EthernetInterface", + "Id": "Dedicated", + "Name": "Manager Ethernet Interface", + "Description": "Management Network Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:33:CF:EA", + "MACAddress": "23:11:8A:33:CF:EA", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.0.1", + "Oem": {} + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred", + "Oem": {} + } + ], + "NameServers": [ + "names.dmtf.org" + ], + "@Redfish.Settings": { + "@odata.type": "#Settings.v1_0_2.Settings", + "SettingsObject": { + "@odata.id": "/redfish/v1/Managers/BMC/NICs/Dedicated/SD" + }, + "Time": "2012-03-07T14:44.30-05:00", + "ETag": "84ffcbb050ddc7fa9cddb59014546e59", + "Messages": [ + { + "MessageId": "Base.1.0.SettingsFailed", + "RelatedProperties": [ + "#/IPv6Addresses/PrefixLength" + ] + } + ] + }, + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#Managers/Members/BMC/NICs/Members/$entity", + "@odata.id": "/redfish/v1/Managers/BMC/NICs/Dedicated", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Managers/BMC/NICs/index.json b/test_dependencies/mockups/public-rackmount/Managers/BMC/NICs/index.json new file mode 100644 index 00000000..06943882 --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Managers/BMC/NICs/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Network Interface Collection", + "Description": "Collection of EthernetInterfaces for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/NICs/Dedicated" + } + ], + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#Managers/Members/BMC/NICs/$entity", + "@odata.id": "/redfish/v1/Managers/BMC/NICs", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Managers/BMC/NetworkProtocol/index.json b/test_dependencies/mockups/public-rackmount/Managers/BMC/NetworkProtocol/index.json new file mode 100644 index 00000000..ce7dd2f7 --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Managers/BMC/NetworkProtocol/index.json @@ -0,0 +1,55 @@ +{ + "@odata.type": "#ManagerNetworkProtocol.v1_0_2.ManagerNetworkProtocol", + "Id": "NetworkProtocol", + "Name": "Manager Network Protocol", + "Description": "Manager Network Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "HTTP": { + "ProtocolEnabled": true, + "Port": 80 + }, + "HTTPS": { + "ProtocolEnabled": true, + "Port": 443 + }, + "IPMI": { + "ProtocolEnabled": true, + "Port": 623 + }, + "SSH": { + "ProtocolEnabled": true, + "Port": 22 + }, + "SNMP": { + "ProtocolEnabled": true, + "Port": 161 + }, + "VirtualMedia": { + "ProtocolEnabled": true, + "Port": 17988 + }, + "SSDP": { + "ProtocolEnabled": true, + "Port": 1900, + "NotifyMulticastIntervalSeconds": 600, + "NotifyTTL": 5, + "NotifyIPv6Scope": "Site" + }, + "Telnet": { + "ProtocolEnabled": true, + "Port": 23 + }, + "KVMIP": { + "ProtocolEnabled": true, + "Port": 5288 + }, + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#Managers/Members/BMC/NetworkProtocol/$entity", + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Managers/BMC/SerialInterfaces/TTY0/index.json b/test_dependencies/mockups/public-rackmount/Managers/BMC/SerialInterfaces/TTY0/index.json new file mode 100644 index 00000000..96a8174e --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Managers/BMC/SerialInterfaces/TTY0/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#SerialInterface.v1_0_2.SerialInterface", + "Id": "TTY0", + "Name": "Manager Serial Interface 1", + "Description": "Management for Serial Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "SignalType": "Rs232", + "BitRate": "115200", + "Parity": "None", + "DataBits": "8", + "StopBits": "1", + "FlowControl": "None", + "ConnectorType": "RJ45", + "PinOut": "Cyclades", + "@odata.context": "/redfish/v1/$metadata#Managers/Members/BMC/SerialInterfaces/Members/$entity", + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces/TTY0", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Managers/BMC/SerialInterfaces/index.json b/test_dependencies/mockups/public-rackmount/Managers/BMC/SerialInterfaces/index.json new file mode 100644 index 00000000..03285cd8 --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Managers/BMC/SerialInterfaces/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#SerialInterfaceCollection.SerialInterfaceCollection", + "Name": "Serial Interface Collection", + "Description": "Collection of Serial Interfaces for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces/TTY0" + } + ], + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#Managers/BMC/SerialInterfaces/$entity", + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Managers/BMC/VirtualMedia/CD1/index.json b/test_dependencies/mockups/public-rackmount/Managers/BMC/VirtualMedia/CD1/index.json new file mode 100644 index 00000000..bfd851eb --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Managers/BMC/VirtualMedia/CD1/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#VirtualMedia.v1_0_2.VirtualMedia", + "Id": "CD1", + "Name": "Virtual CD", + "MediaTypes": [ + "CD", + "DVD" + ], + "Image": "redfish.dmtf.org/freeImages/freeOS.1.1.iso", + "ImageName": "mymedia-read-only", + "ConnectedVia": "Applet", + "Inserted": true, + "WriteProtected": false, + "@odata.context": "/redfish/v1/$metadata#Managers/Members/BMC/VirtualMedia/Members/$entity", + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/CD1", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Managers/BMC/VirtualMedia/Floppy1/index.json b/test_dependencies/mockups/public-rackmount/Managers/BMC/VirtualMedia/Floppy1/index.json new file mode 100644 index 00000000..cec37c44 --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Managers/BMC/VirtualMedia/Floppy1/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#VirtualMedia.v1_0_2.VirtualMedia", + "Id": "Floppy1", + "Name": "Virtual Removable Media", + "MediaTypes": [ + "Floppy", + "USBStick" + ], + "Image": "https://www.dmtf.org/freeImages/Sardine.img", + "ImageName": "Sardine2.1.43.35.6a", + "ConnectedVia": "URI", + "Inserted": true, + "WriteProtected": false, + "@odata.context": "/redfish/v1/$metadata#Managers/Members/BMC/VirtualMedia/Members/$entity", + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/Floppy1", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Managers/BMC/VirtualMedia/index.json b/test_dependencies/mockups/public-rackmount/Managers/BMC/VirtualMedia/index.json new file mode 100644 index 00000000..b8a16249 --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Managers/BMC/VirtualMedia/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#VirtualMediaCollection.VirtualMediaCollection", + "Name": "Virtual Media Services", + "Description": "Redfish-BMC Virtual Media Service Settings", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/Floppy1" + }, + { + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/CD1" + } + ], + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#Managers/Members/BMC/VirtualMedia/$entity", + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Managers/BMC/index.json b/test_dependencies/mockups/public-rackmount/Managers/BMC/index.json new file mode 100644 index 00000000..7fba8e54 --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Managers/BMC/index.json @@ -0,0 +1,86 @@ +{ + "@odata.type": "#Manager.v1_1_0.Manager", + "Id": "BMC", + "Name": "Manager", + "ManagerType": "BMC", + "Description": "Contoso BMC", + "ServiceEntryPointUUID": "92384634-2938-2342-8820-489239905423", + "UUID": "58893887-8974-2487-2389-841168418919", + "Model": "Joo Janta 200", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "GraphicalConsole": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 2, + "ConnectTypesSupported": [ + "KVMIP" + ] + }, + "SerialConsole": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 1, + "ConnectTypesSupported": [ + "Telnet", + "SSH", + "IPMI" + ] + }, + "CommandShell": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 4, + "ConnectTypesSupported": [ + "Telnet", + "SSH" + ] + }, + "FirmwareVersion": "1.00", + "NetworkProtocol": { + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/BMC/NICs" + }, + "SerialInterfaces": { + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices" + }, + "VirtualMedia": { + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia" + }, + "Links": { + "ManagerForServers": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + } + ], + "ManagerForChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ], + "ManagerInChassis": { + "@odata.id": "/redfish/v1/Chassis/1U" + }, + "Oem": {} + }, + "Actions": { + "#Manager.Reset": { + "target": "/redfish/v1/Managers/BMC/Actions/Manager.Reset", + "ResetType@Redfish.AllowableValues": [ + "ForceRestart", + "GracefulRestart" + ] + }, + "Oem": {} + }, + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#Manager.Manager", + "@odata.id": "/redfish/v1/Managers/BMC", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Managers/index.json b/test_dependencies/mockups/public-rackmount/Managers/index.json new file mode 100644 index 00000000..3f246343 --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Managers/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#ManagerCollection.ManagerCollection", + "Name": "Manager Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ], + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#Managers", + "@odata.id": "/redfish/v1/Managers", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/SessionService/Sessions/1234567890ABCDEF/index.json b/test_dependencies/mockups/public-rackmount/SessionService/Sessions/1234567890ABCDEF/index.json new file mode 100644 index 00000000..b923c074 --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/SessionService/Sessions/1234567890ABCDEF/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#Session.v1_0_2.Session", + "Id": "1234567890ABCDEF", + "Name": "User Session", + "Description": "Manager User Session", + "UserName": "Administrator", + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#Session.Session", + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/SessionService/Sessions/index.json b/test_dependencies/mockups/public-rackmount/SessionService/Sessions/index.json new file mode 100644 index 00000000..03824338 --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/SessionService/Sessions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SessionCollection.SessionCollection", + "Name": "Session Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF" + } + ], + "@odata.context": "/redfish/v1/$metadata#SessionService/Sessions/$entity", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/SessionService/index.json b/test_dependencies/mockups/public-rackmount/SessionService/index.json new file mode 100644 index 00000000..8f4525fd --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/SessionService/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#SessionService.v1_0_2.SessionService", + "Id": "SessionService", + "Name": "Session Service", + "Description": "Session Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "SessionTimeout": 30, + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + }, + "@odata.context": "/redfish/v1/$metadata#SessionService", + "@odata.id": "/redfish/v1/SessionService", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/BIOS/Settings/index.json b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/BIOS/Settings/index.json new file mode 100644 index 00000000..16d2b05d --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/BIOS/Settings/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Bios.v1_0_0.Bios", + "Id": "Settings", + "Name": "BIOS Configuration Pending Settings", + "AttributeRegistry": "BiosAttributeRegistryP89.v1_0_0", + "Attributes": { + "AdminPhone": "(404) 555-1212", + "BootMode": "Uefi", + "EmbeddedSata": "Ahci", + "NicBoot1": "NetworkBoot", + "NicBoot2": "NetworkBoot", + "PowerProfile": "MaxPerf", + "ProcCoreDisable": 0, + "ProcHyperthreading": "Enabled", + "ProcTurboMode": "Disabled", + "UsbControl": "UsbEnabled" + }, + "@odata.context": "/redfish/v1/$metadata#Bios.Bios", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/BIOS/Settings", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/BIOS/index.json b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/BIOS/index.json new file mode 100644 index 00000000..3f0fcf11 --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/BIOS/index.json @@ -0,0 +1,43 @@ +{ + "@odata.type": "#Bios.v1_0_0.Bios", + "Id": "BIOS", + "Name": "BIOS Configuration Current Settings", + "AttributeRegistry": "BiosAttributeRegistryP89.v1_0_0", + "Attributes": { + "AdminPhone": "", + "BootMode": "Uefi", + "EmbeddedSata": "Raid", + "NicBoot1": "NetworkBoot", + "NicBoot2": "Disabled", + "PowerProfile": "MaxPerf", + "ProcCoreDisable": 0, + "ProcHyperthreading": "Enabled", + "ProcTurboMode": "Enabled", + "UsbControl": "UsbEnabled" + }, + "@Redfish.Settings": { + "@odata.type": "#Settings.v1_0_0.Settings", + "ETag": "9234ac83b9700123cc32", + "Messages": [{ + "MessageId": "Base.1.0.SettingsFailed", + "RelatedProperties": [ + "#/Attributes/ProcTurboMode" + ] + }], + "SettingsObject": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/BIOS/Settings" + }, + "Time": "2016-03-07T14:44.30-05:00" + }, + "Actions": { + "#Bios.ResetBios": { + "target": "/redfish/v1/Systems/437XR1138R2/BIOS/Actions/Bios.ResetBios" + }, + "#Bios.ChangePassword": { + "target": "/redfish/v1/Systems/437XR1138R2/BIOS/Actions/Bios.ChangePassword" + } + }, + "@odata.context": "/redfish/v1/$metadata#Bios.Bios", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/BIOS", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/1/index.json b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/1/index.json new file mode 100644 index 00000000..0918fb91 --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/1/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#VLanNetworkInterface.v1_0_2.VLanNetworkInterface", + "Id": "1", + "Name": "VLAN Network Interface", + "Description": "System NIC 1 VLAN", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "VLANEnable": true, + "VLANId": 101, + "@odata.context": "/redfish/v1/$metadata#Systems/Members/437XR1138R2/EthernetInterfaces/Members/12446A3B0411/VLANs/Members/$entity", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/1", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/2/index.json b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/2/index.json new file mode 100644 index 00000000..370d37d5 --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/2/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#VLanNetworkInterface.v1_0_2.VLanNetworkInterface", + "Id": "2", + "Name": "VLAN Network Interface", + "Description": "System NIC 1 VLAN", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "VLANEnable": true, + "VLANId": 199, + "@odata.context": "/redfish/v1/$metadata#Systems/Members/437XR1138R2/EthernetInterfaces/Members/12446A3B0411/VLANs/Members/$entity", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/2", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/index.json b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/index.json new file mode 100644 index 00000000..ea4a9616 --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#VLanNetworkInterfaceCollection.VLanNetworkInterfaceCollection", + "Name": "VLAN Network Interface Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/2" + } + ], + "@odata.context": "/redfish/v1/$metadata#Systems/Members/437XR1138R2/EthernetInterfaces/Members/12446A3B0411/VLANs/$entity", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/index.json b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/index.json new file mode 100644 index 00000000..fcbdc7ec --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/index.json @@ -0,0 +1,42 @@ +{ + "@odata.type": "#EthernetInterface.v1_0_2.EthernetInterface", + "Id": "1", + "Name": "Ethernet Interface", + "Description": "System NIC 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "FactoryMacAddress": "12:44:6A:3B:04:11", + "MacAddress": "12:44:6A:3B:04:11", + "SpeedMbps": 1000, + "FullDuplex": true, + "HostName": "web483", + "FQDN": "web483.contoso.com", + "IPv6DefaultGateway": "fe80::3ed9:2bff:fe34:600", + "NameServers": [ + "names.contoso.com" + ], + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "Static", + "Gateway": "192.168.0.1" + } + ], + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "Static", + "AddressState": "Preferred" + } + ], + "VLANs": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs" + }, + "@odata.context": "/redfish/v1/$metadata#Systems/Members/437XR1138R2/EthernetInterfaces/Members/$entity", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890/index.json b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890/index.json new file mode 100644 index 00000000..c4f6c09f --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890/index.json @@ -0,0 +1,43 @@ +{ + "@odata.type": "#EthernetInterface.v1_0_2.EthernetInterface", + "Id": "2", + "Name": "Ethernet Interface", + "Description": "System NIC 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PermanentMACAddress": "12:44:6A:3B:88:90", + "MACAddress": "AA:BB:CC:DD:EE:00", + "SpeedMbps": 1000, + "FullDuplex": true, + "HostName": "backup-web483", + "FQDN": "backup-web483.contoso.com", + "IPv6DefaultGateway": "fe80::3ed9:2bff:fe34:600", + "NameServers": [ + "names.contoso.com" + ], + "IPv4Addresses": [ + { + "Address": "192.168.0.11", + "SubnetMask": "255.255.255.0", + "AddressOrigin": "Static", + "Gateway": "192.168.0.1" + } + ], + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e33", + "PrefixLength": 64, + "AddressOrigin": "Static", + "AddressState": "Preferred" + } + ], + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "@odata.context": "/redfish/v1/$metadata#Systems/Members/437XR1138R2/EthernetInterfaces/Members/$entity", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/index.json b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/index.json new file mode 100644 index 00000000..946f78a8 --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Interface Collection", + "Description": "System NICs on Contoso Servers", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890" + } + ], + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#Systems/Members/437XR1138R2/EthernetInterfaces/$entity", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json new file mode 100644 index 00000000..4a8ba92a --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#LogEntry.v1_0_2.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "SEL", + "OemRecordFormat": "Contoso", + "RecordId": 1, + "Severity": "Critical", + "Created": "2012-03-07T14:44", + "EntryCode": "Assert", + "SensorType": "Temperature", + "SensorNumber": 1, + "Message": "Temperature threshold exceeded", + "MessageID": "Contoso.1.0.TempAssert", + "MessageArgs": [ + "42" + ], + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + }, + "Oem": {} + }, + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#Systems/Members/437XR1138R2/LogServices/Members/Log1/Entries/$entity", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries/1", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/LogServices/Log1/Entries/2/index.json b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/LogServices/Log1/Entries/2/index.json new file mode 100644 index 00000000..9d5725ae --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/LogServices/Log1/Entries/2/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#LogEntry.v1_0_2.LogEntry", + "Id": "2", + "Name": "Log Entry 2", + "EntryType": "SEL", + "OEMRecordFormat": "Contoso", + "RecordId": 2, + "Severity": "Critical", + "Created": "2012-03-07T14:45", + "EntryCode": "Assert", + "SensorType": "Temperature", + "SensorNumber": 2, + "Message": "Temperature threshold exceeded", + "MessageID": "Contoso.1.0.TempAssert", + "MessageArgs": [ + "46" + ], + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + }, + "Oem": {} + }, + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#Systems/Members/437XR1138R2/LogServices/Members/Log1/Entries/$entity", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries/2", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/LogServices/Log1/Entries/index.json b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/LogServices/Log1/Entries/index.json new file mode 100644 index 00000000..a116755b --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/LogServices/Log1/Entries/index.json @@ -0,0 +1,64 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries/1", + "@odata.type": "#LogEntry.v1_0_2.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "SEL", + "OemRecordFormat": "Contoso", + "RecordId": 1, + "Severity": "Warning", + "Created": "2012-03-07T14:44", + "EntryCode": "Assert", + "SensorType": "Temperature", + "Number": 1, + "Message": "Temperature threshold exceeded", + "MessageID": "Contoso.1.0.TempAssert", + "MessageArgs": [ + "42" + ], + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + }, + "Oem": {} + }, + "Oem": {} + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries/2", + "@odata.type": "#LogEntry.v1_0_2.LogEntry", + "Id": "2", + "Name": "Log Entry 2", + "EntryType": "SEL", + "OEMRecordFormat": "Contoso", + "RecordId": 2, + "Severity": "Critical", + "Created": "2012-03-07T14:45", + "EntryCode": "Assert", + "SensorType": "Temperature", + "Number": 2, + "Message": "Temperature threshold exceeded", + "MessageID": "Contoso.1.0.TempAssert", + "MessageArgs": [ + "46" + ], + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + }, + "Oem": {} + }, + "Oem": {} + } + ], + "@odata.nextLink": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries?$skiptoken=2", + "@odata.context": "/redfish/v1/$metadata#Systems/Members/437XR1138R2/LogServices/Members/Log1/Entries", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/LogServices/Log1/index.json b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/LogServices/Log1/index.json new file mode 100644 index 00000000..739df948 --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/LogServices/Log1/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#LogService.v1_0_2.LogService", + "Id": "Log1", + "Name": "System Log Service", + "MaxNumberOfRecords": 1000, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Oem": {}, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Actions/LogService.Reset" + }, + "Oem": {} + }, + "Entries": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries" + }, + "@odata.context": "/redfish/v1/$metadata#Systems/Members/437XR1138R2/LogServices/Members/$entity", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/LogServices/index.json b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/LogServices/index.json new file mode 100644 index 00000000..34b47a63 --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/LogServices/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1" + } + ], + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#Systems/Members/437XR1138R2/LogServices/$entity", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Memory/DIMM1/index.json b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Memory/DIMM1/index.json new file mode 100644 index 00000000..3332c4cf --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Memory/DIMM1/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#Memory.v1_0_0.Memory", + "Name": "DIMM Slot 1", + "Id": "DIMM1", + "RankCount": 2, + "MaxTDPMilliWatts": [12000], + "CapacityMiB": 32768, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.context": "/redfish/v1/$metadata#Memory.Memory", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM1", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Memory/DIMM2/index.json b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Memory/DIMM2/index.json new file mode 100644 index 00000000..d5afa4be --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Memory/DIMM2/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#Memory.v1_0_0.Memory", + "Name": "DIMM Slot 2", + "Id": "DIMM2", + "RankCount": 2, + "MaxTDPMilliWatts": [12000], + "CapacityMiB": 32768, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 2 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.context": "/redfish/v1/$metadata#Memory.Memory", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM2", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Memory/DIMM3/index.json b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Memory/DIMM3/index.json new file mode 100644 index 00000000..8cc263bf --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Memory/DIMM3/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#Memory.v1_0_0.Memory", + "Name": "DIMM Slot 3", + "Id": "DIMM3", + "RankCount": 2, + "MaxTDPMilliWatts": [12000], + "CapacityMiB": 32768, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 2, + "MemoryController": 2, + "Channel": 1, + "Slot": 3 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.context": "/redfish/v1/$metadata#Memory.Memory", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM2", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Memory/DIMM4/index.json b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Memory/DIMM4/index.json new file mode 100644 index 00000000..cefdf8bd --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Memory/DIMM4/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#Memory.v1_0_0.Memory", + "Name": "DIMM Slot 4", + "Id": "DIMM4", + "MemoryLocation": { + "Socket": 2, + "MemoryController": 2, + "Channel": 1, + "Slot": 4 + }, + "Status": { + "State": "Absent" + }, + "@odata.context": "/redfish/v1/$metadata#Memory.Memory", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM4", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Memory/index.json b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Memory/index.json new file mode 100644 index 00000000..5c873c5d --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Memory/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Module Collection", + "Members@odata.count": 4, + "Members": [{ + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM1" + }, { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM2" + }, { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM3" + }, { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM4" + }], + "@odata.context": "/redfish/v1/$metadata#MemoryCollection.MemoryCollection", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Processors/CPU1/index.json b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Processors/CPU1/index.json new file mode 100644 index 00000000..19ce6423 --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Processors/CPU1/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#Processor.v1_0_2.Processor", + "Id": "CPU1", + "Socket": "CPU 1", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Multi-Core Intel(R) Xeon(R) processor 7xxx Series", + "ProcessorID": { + "VendorID": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 3700, + "TotalCores": 8, + "TotalThreads": 16, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.context": "/redfish/v1/$metadata#Systems/Members/437XR1138R2/Processors/Members/$entity", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Processors/CPU2/index.json b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Processors/CPU2/index.json new file mode 100644 index 00000000..a0508514 --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Processors/CPU2/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#Processor.v1_0_2.Processor", + "Id": "CPU2", + "Socket": "CPU 2", + "ProcessorType": "CPU", + "Status": { + "State": "Absent" + }, + "@odata.context": "/redfish/v1/$metadata#Systems/Members/437XR1138R2/Processors/Members/$entity", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU2", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Processors/index.json b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Processors/index.json new file mode 100644 index 00000000..83731804 --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Processors/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#ProcssorCollection.ProcessorCollection", + "Name": "Processors Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU2" + } + ], + "@odata.context": "/redfish/v1/$metadata#Systems/Links/Members/437XR1138R2/Processors/#entity", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/SimpleStorage/1/index.json b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/SimpleStorage/1/index.json new file mode 100644 index 00000000..23a85063 --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/SimpleStorage/1/index.json @@ -0,0 +1,49 @@ +{ + "@odata.type": "#SimpleStorage.v1_0_2.SimpleStorage", + "Id": "1", + "Name": "Simple Storage Controller", + "Description": "System SATA", + "UEFIDevicePath": "Acpi(PNP0A03,0)/Pci(1F|1)/Ata(Primary,Master)/HD(Part3, Sig00110011)", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollUp": "Degraded" + }, + "Devices": [ + { + "Name": "SATA Bay 1", + "Manufacturer": "Contoso", + "Model": "3000GT8", + "CapacityBytes": 8000000000000, + "Status": { + "State": "Enabled", + "Health": "OK" + } + }, + { + "Name": "SATA Bay 2", + "Manufacturer": "Contoso", + "Model": "3000GT7", + "CapacityBytes": 4000000000000, + "Status": { + "State": "Enabled", + "Health": "Degraded" + } + }, + { + "Name": "SATA Bay 3", + "Status": { + "State": "Absent" + } + }, + { + "Name": "SATA Bay 4", + "Status": { + "State": "Absent" + } + } + ], + "@odata.context": "/redfish/v1/$metadata#Systems/Members/437XR1138R2/SimpleStorage/Members/$entity", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SimpleStorage/1", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/SimpleStorage/index.json b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/SimpleStorage/index.json new file mode 100644 index 00000000..a88dddea --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/SimpleStorage/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#SimpleStorageCollection.SimpleStorageCollection", + "Name": "Simple Storage Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SimpleStorage/1" + } + ], + "@odata.context": "/redfish/v1/$metadata#Systems/Members/437XR1138R2/SimpleStorage/$entity", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SimpleStorage", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/index.json b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/index.json new file mode 100644 index 00000000..15bbe421 --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/index.json @@ -0,0 +1,134 @@ +{ + "@odata.type": "#ComputerSystem.v1_1_0.ComputerSystem", + "Id": "437XR1138R2", + "Name": "WebFrontEnd483", + "SystemType": "Physical", + "AssetTag": "Chicago-45Z-2381", + "Manufacturer": "Contoso", + "Model": "3500RX", + "SKU": "8675309", + "SerialNumber": "437XR1138R2", + "PartNumber": "224071-J23", + "Description": "Web Front End node", + "UUID": "38947555-7742-3448-3784-823347823834", + "HostName": "web483", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollUp": "OK" + }, + "IndicatorLED": "Off", + "PowerState": "On", + "Boot": { + "BootSourceOverrideEnabled": "Once", + "BootSourceOverrideTarget": "Pxe", + "BootSourceOverrideTarget@Redfish.AllowableValues": [ + "None", + "Pxe", + "Cd", + "Usb", + "Hdd", + "BiosSetup", + "Utilities", + "Diags", + "SDCard", + "UefiTarget" + ], + "BootSourceOverrideMode": "UEFI", + "UefiTargetBootSourceOverride": "/0x31/0x33/0x01/0x01" + }, + "TrustedModules": [ + { + "FirmwareVersion": "1.13b", + "InterfaceType": "TPM1_2", + "Status": { + "State": "Enabled", + "Health": "OK" + } + } + ], + "Oem": { + "Contoso": { + "@odata.type": "http://Contoso.com/Schema#Contoso.ComputerSystem", + "ProductionLocation": { + "FacilityName": "PacWest Production Facility", + "Country": "USA" + } + }, + "Chipwise": { + "@odata.type": "http://Chipwise.com/Schema#Chipwise.ComputerSystem", + "Style": "Executive" + } + }, + "BiosVersion": "P79 v1.33 (02/28/2015)", + "ProcessorSummary": { + "Count": 2, + "ProcessorFamily": "Multi-Core Intel(R) Xeon(R) processor 7xxx Series", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollUp": "OK" + } + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 96, + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollUp": "OK" + } + }, + "Bios": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/BIOS" + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces" + }, + "SimpleStorage": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SimpleStorage" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ] + }, + "Actions": { + "#ComputerSystem.Reset": { + "target": "/redfish/v1/Systems/437XR1138R2/Actions/ComputerSystem.Reset", + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "GracefulRestart", + "ForceRestart", + "Nmi", + "ForceOn", + "PushPowerButton" + ] + }, + "Oem": { + "#Contoso.Reset": { + "target": "/redfish/v1/Systems/437XR1138R2/Oem/Contoso/Actions/Contoso.Reset" + } + } + }, + "@odata.context": "/redfish/v1/$metadata#ComputerSystem.ComputerSystem", + "@odata.id": "/redfish/v1/Systems/437XR1138R2", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/Systems/index.json b/test_dependencies/mockups/public-rackmount/Systems/index.json new file mode 100644 index 00000000..50045f1d --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/Systems/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#ComputerSystemCollection.ComputerSystemCollection", + "Name": "Computer System Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + } + ], + "@odata.context": "/redfish/v1/$metadata#Systems", + "@odata.id": "/redfish/v1/Systems", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/TaskService/Tasks/545/index.json b/test_dependencies/mockups/public-rackmount/TaskService/Tasks/545/index.json new file mode 100644 index 00000000..efb067f1 --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/TaskService/Tasks/545/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Tasks.v1_0_2.Task", + "Id": "545", + "Name": "Task 545", + "TaskState": "Completed", + "StartTime": "2012-03-07T14:44+06:00", + "EndTime": "2012-03-07T14:45+06:00", + "TaskStatus": "OK", + "Messages": [ + { + "MessageId": "Base.1.0.PropertyNotWriteable", + "RelatedProperties": [ + "SKU" + ], + "Message": "The property SKU is a read only property and cannot be assigned a value", + "MessageArgs": [ + "SKU" + ], + "Severity": "Warning" + } + ], + "@odata.context": "/redfish/v1/$metadata/TaskService/Tasks/Members/$entity", + "@odata.id": "/redfish/v1/TaskService/Tasks/545", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/TaskService/Tasks/index.json b/test_dependencies/mockups/public-rackmount/TaskService/Tasks/index.json new file mode 100644 index 00000000..424c3338 --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/TaskService/Tasks/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#TasksCollection.TaskCollection", + "Name": "Task Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/TaskService/Tasks/545" + } + ], + "@odata.context": "/redfish/v1/$metadata#TaskService/Tasks/$entity", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/TaskService/index.json b/test_dependencies/mockups/public-rackmount/TaskService/index.json new file mode 100644 index 00000000..95987aab --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/TaskService/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#TaskService.v1_0_2.TaskService", + "Id": "TaskService", + "Name": "Tasks Service", + "DateTime": "2015-03-13T04:14:33+06:00", + "OverWritePolicy": "Never", + "LifeCycleEventOnTaskStateChange": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "Tasks": { + "@odata.id": "/redfish/v1/TaskService/Tasks" + }, + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata/TaskService", + "@odata.id": "/redfish/v1/TaskService", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/mockups/public-rackmount/explorer_config.json b/test_dependencies/mockups/public-rackmount/explorer_config.json new file mode 100644 index 00000000..7aa87cdc --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/explorer_config.json @@ -0,0 +1,62 @@ +{ + "name" : "Simple Rack-mounted Server", + "description" : "A typical 1U or 2U server intended for scale-out deployments.", + "navlinks" : [ + { + "text" : "Main", + "target" : "main" + }, + { + "text" : "Systems", + "target" : "Systems", + "navlinks" : [ + { + "text" : "437XR1138R2", + "target" : "437XR1138R2" + } + ] + }, + { + "text" : "Chassis", + "target": "Chassis", + "navlinks" : [ + { + "text" : "1U", + "target" : "1U" + } + ] + }, + { + "text" : "Managers", + "target" : "Managers", + "navlinks" : [ + { + "text" : "BMC", + "target" : "BMC" + } + ] + }, + { + "text" : "Task Service", + "target" : "TaskService" + }, + { + "text" : "Session Service", + "target" : "SessionService" + }, + { + "target" : "AccountService", + "text" : "Account Service" + }, + { + "target" : "EventService", + "text" : "Event Service", + "navlinks" : [ + { + "text" : "Subscriptions", + "target" : "Subscriptions" + } + ] + } + ] +} diff --git a/test_dependencies/mockups/public-rackmount/index.json b/test_dependencies/mockups/public-rackmount/index.json new file mode 100644 index 00000000..ff4d0867 --- /dev/null +++ b/test_dependencies/mockups/public-rackmount/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#ServiceRoot.v1_0_2.ServiceRoot", + "Id": "RootService", + "Name": "Root Service", + "RedfishVersion": "1.0.2", + "UUID": "92384634-2938-2342-8820-489239905423", + "Systems": { + "@odata.id": "/redfish/v1/Systems" + }, + "Chassis": { + "@odata.id": "/redfish/v1/Chassis" + }, + "Managers": { + "@odata.id": "/redfish/v1/Managers" + }, + "Tasks": { + "@odata.id": "/redfish/v1/TaskService" + }, + "SessionService": { + "@odata.id": "/redfish/v1/SessionService" + }, + "AccountService": { + "@odata.id": "/redfish/v1/AccountService" + }, + "EventService": { + "@odata.id": "/redfish/v1/EventService" + }, + "Links": { + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + } + }, + "Oem": {}, + "@odata.context": "/redfish/v1/$metadata#ServiceRoot", + "@odata.id": "/redfish/v1/", + "@Redfish.Copyright": "Copyright 2014-2016 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} diff --git a/test_dependencies/sushy.crt b/test_dependencies/sushy.crt new file mode 100644 index 00000000..a8ebd3e2 --- /dev/null +++ b/test_dependencies/sushy.crt @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDCTCCAfGgAwIBAgIUKbdWX9o+p1N9eULe6Td0SYYIp2owDQYJKoZIhvcNAQEL +BQAwFDESMBAGA1UEAwwJMTI3LjAuMC4xMB4XDTI2MTAxNTE1NTMxN1oXDTI2MTEx +NDE1NTMxN1owFDESMBAGA1UEAwwJMTI3LjAuMC4xMIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEAqASdAgiQSibpYAsUrPbUXLsGHwmyBjYeotpi8WFcBVka +MuCkeShy0XTUmWKhk97psjE0lnK7nPBtZ5cuRZt0Fi72uldOgUiw7e1ELuXKQcZd +IkK0F1pzfiJGtq63cG+MgQKcGzaXojs5kIm+KHbNwMJ0x50c7a/u9lDB9Frj5w2S +UJdaN5yt9X8F9gE2vcEA9eth0BbQfrC1pFU+9PQiKaBtiaU0juW2QlxlF49XbB2q +bQCCQnWUHboQQ+jdlCex/nJ45MSeiMNdHtsS/4n8KD7N6nbG3olFvQbMXBsFPcbW +QMe5A60bKc74HW2o4qpbZqcDubkIbCAqVkVAduAjqQIDAQABo1MwUTAdBgNVHQ4E +FgQUu2PljJEzLiyP0KBBdcZsZC5deocwHwYDVR0jBBgwFoAUu2PljJEzLiyP0KBB +dcZsZC5deocwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAao/B +xNJv1QR2pPMRXgRNg8O/x8nwIL8seRzclLGsLT+8P2HP57AsCe53eIbMjIcgM1bt +GdViUES16BvcNPgAQJyo+VPEvnIWkzEEtHDrn3BAZrGBy/KnC2SivfH4gDDCHehY +kIN4OpWHnjV2vZS7w4XyYjIu1wrR3xZkrINTnG4fiL4/+1f5CwoFDqYpjSNAwCYY +ZMbv6MPTF1Ufx9nWROtHFIy8JMNl1/DV4VN4DhJFatdacXi2KRbPegHgGoA9SSyu +7GNts8v7kH0hnuaoOnxXxLp9NZk5g8IkwqtAktTN5jjMfWfLm4xDTV50HaXa6QVI +tnZZEnD/75sp191SCg== +-----END CERTIFICATE----- diff --git a/test_dependencies/sushy.key b/test_dependencies/sushy.key new file mode 100644 index 00000000..e0ad27cd --- /dev/null +++ b/test_dependencies/sushy.key @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCoBJ0CCJBKJulg +CxSs9tRcuwYfCbIGNh6i2mLxYVwFWRoy4KR5KHLRdNSZYqGT3umyMTSWcruc8G1n +ly5Fm3QWLva6V06BSLDt7UQu5cpBxl0iQrQXWnN+Ika2rrdwb4yBApwbNpeiOzmQ +ib4ods3AwnTHnRztr+72UMH0WuPnDZJQl1o3nK31fwX2ATa9wQD162HQFtB+sLWk +VT709CIpoG2JpTSO5bZCXGUXj1dsHaptAIJCdZQduhBD6N2UJ7H+cnjkxJ6Iw10e +2xL/ifwoPs3qdsbeiUW9BsxcGwU9xtZAx7kDrRspzvgdbajiqltmpwO5uQhsICpW +RUB24COpAgMBAAECggEAIcWTnZYFErKRlDmF9WJDu0PobhKv0unL7KYC30vXiEep +qXJX/PZxZcKa/R3DJorW5HdZf6geJ+R3ySutJFaj1dWoyDnGUNxAnAJmAxszNVde +3wUTV+JZdpADMLMbsiDp2ACjSiEGB5jp8DCPpWiD4Ov1Ny5QY0JKwP3ojmo6hvVy +7RI+/ReRRQX8hg9pXv/g4Yly/FIALKxzwpljYG/OQY/EMMEEdYKJ4OOF/+2MOpo0 +uCvgdPMKODp1f6+hyb2oT9xYZ4+NhJymapFRXzC7Ys6tIDQlm8SjL1/V0b0PffAv +6AWcBgWDai4I2bTxYwoDSYGHlV+cTpDbPrsw1QDl0QKBgQDZXxM2g5SmkArIv7Gw +ZaTQJPk/VXa3REG3s9kjFxTxA9pcMiWWBnyWmB4j7PtMuZRQ/zLdd/VJo3b2bj3H +upW5sFpQoRXbRa+fKPLXIKVgm+Mw/9UyioADFYyWXWaHtF8KBgDBGU50lKfanRyK +9f/qVoBTtoa1ZsYmYNDpuJ6aTQKBgQDF4EtpTuM74A5lXHrLlBPgGZob/h0vABTZ +neh9swRa7D/iB7MiQ3q5GulytqVLvTJ5d73j5UVnT90yKa13a1BwQlf47P1j0elW +UQR44fErhaHx3Q+nzW8EHcoPaG04+YZPyqd8JkX7Gw/GWJ4rbmW3wLWyxiHU0Knp +Od87jTrkzQKBgHbab2ztQUhZlivx9LxYt2c/8DDbEBBg9/X0FpQDOOYXjzu+B6Mi +ZNkKz+Ag4b8v8ZLgFvXVc38SLCfOW2Vr9hYUAS35BjRgxAgooa9TIFnUosLV/8Kk +zB3jmH1XEIq+6wBWC++JYMaJycXVBhhNLeL57SzYrotdaJbvdQt2cPI5AoGAPNtq +1gyJHpUeWFZE/e+g3T+CgjF5UEc6ImPKaT5xjHU0gJPVqCgQynVYbwt1cwHRUEJf +iIOvAMMzSIZA74V1y9DbtZdNpzGcDgwE0BjNT5Fd6UEP24/3IND4oByB2xADGu88 +65Xp1/zOsTX4D2t4pTcDquP867LxTuWZnnslLdECgYA6XILaYsQiaTaw4+u/yt+z +jhZvEtl/n29myy/RJM3uCoaDJX6ZmqyidWlUHXTX2x8C4Q9HIbp8C+EedKqMSqug +zJVYQW+ByvdleIE5qrWqY3uBd5GYIypTowO3q1tLY8xGWaHfAkNDjB3cf8Kj0SAU +1AkYrAEi+HYIEk7gmrcs3A== +-----END PRIVATE KEY----- From b31b6d3e7cdcc2e7ea56fcd190cf1c508e964a7d Mon Sep 17 00:00:00 2001 From: MurrayGroves Date: Fri, 23 Oct 2026 12:37:16 +0100 Subject: [PATCH 02/33] Move collectors into sub-packages --- .../collector.go} | 224 +++++++++------- collector/collector.go | 109 ++++++++ collector/collector_test.go | 21 ++ .../collector.go} | 42 +-- collector/redfish_collector.go | 211 --------------- collector/redfish_test.go | 19 -- .../collector.go} | 243 ++++++++++-------- collector/test_helpers.go | 1 - .../collector.go | 39 ++- common/context.go | 10 + common/redfish.go | 72 ++++++ go.mod | 12 +- go.sum | 13 + 13 files changed, 527 insertions(+), 489 deletions(-) rename collector/{chassis_collector.go => chassis/collector.go} (61%) create mode 100755 collector/collector.go create mode 100644 collector/collector_test.go rename collector/{manager_collector.go => manager/collector.go} (66%) delete mode 100755 collector/redfish_collector.go delete mode 100644 collector/redfish_test.go rename collector/{system_collector.go => system/collector.go} (65%) rename collector/common_collector.go => common/collector.go (64%) create mode 100644 common/redfish.go diff --git a/collector/chassis_collector.go b/collector/chassis/collector.go similarity index 61% rename from collector/chassis_collector.go rename to collector/chassis/collector.go index 25aa892b..6f3deff5 100755 --- a/collector/chassis_collector.go +++ b/collector/chassis/collector.go @@ -1,14 +1,16 @@ -package collector +package chassis import ( + "bytes" "fmt" "log/slog" "strings" "sync" "github.com/prometheus/client_golang/prometheus" - "github.com/stackhpc/redfish_exporter/common" "github.com/stmcginnis/gofish/schemas" + + "github.com/stackhpc/redfish_exporter/common" ) // ChassisSubsystem is the chassis subsystem @@ -33,57 +35,57 @@ var ( // ChassisCollector implements the prometheus.Collector. type ChassisCollector struct { Ctx *common.CollectionContext - metrics map[string]Metric + metrics map[string]common.Metric collectorScrapeStatus *prometheus.GaugeVec Log *slog.Logger } -func createChassisMetricMap() map[string]Metric { - chassisMetrics := make(map[string]Metric) - addToMetricMap(chassisMetrics, ChassisSubsystem, "health", fmt.Sprintf("health of chassis,%s", CommonHealthHelp), ChassisLabelNames) - addToMetricMap(chassisMetrics, ChassisSubsystem, "state", fmt.Sprintf("state of chassis,%s", CommonStateHelp), ChassisLabelNames) - addToMetricMap(chassisMetrics, ChassisSubsystem, "model_info", "organization responsible for producing the chassis, the name by which the manufacturer generally refers to the chassis, and a part number and sku assigned by the organization that is responsible for producing or manufacturing the chassis", ChassisModel) - - addToMetricMap(chassisMetrics, ChassisSubsystem, "temperature_sensor_state", fmt.Sprintf("status state of temperature on this chassis component,%s", CommonStateHelp), ChassisTemperatureLabelNames) - addToMetricMap(chassisMetrics, ChassisSubsystem, "temperature_sensor_health", fmt.Sprintf("status health of temperature on this chassis component,%s", CommonStateHelp), ChassisTemperatureLabelNames) - addToMetricMap(chassisMetrics, ChassisSubsystem, "temperature_celsius", "celsius of temperature on this chassis component", ChassisTemperatureLabelNames) - - addToMetricMap(chassisMetrics, ChassisSubsystem, "fan_health", fmt.Sprintf("fan health on this chassis component,%s", CommonHealthHelp), ChassisFanLabelNames) - addToMetricMap(chassisMetrics, ChassisSubsystem, "fan_state", fmt.Sprintf("fan state on this chassis component,%s", CommonStateHelp), ChassisFanLabelNames) - addToMetricMap(chassisMetrics, ChassisSubsystem, "fan_rpm", "fan RPM or percentage on this chassis component", ChassisFanLabelNames) - addToMetricMap(chassisMetrics, ChassisSubsystem, "fan_rpm_percentage", "fan RPM, as a percentage of the min-max RPMs possible, on this chassis component", ChassisFanLabelNames) - addToMetricMap(chassisMetrics, ChassisSubsystem, "fan_rpm_min", "lowest possible fan RPM or percentage, on this chassis component", ChassisFanLabelNames) - addToMetricMap(chassisMetrics, ChassisSubsystem, "fan_rpm_max", "highest possible fan RPM or percentage, on this chassis component", ChassisFanLabelNames) - addToMetricMap(chassisMetrics, ChassisSubsystem, "fan_rpm_lower_threshold_critical", "threshold below the normal range fan RPM or percentage, but not fatal, on this chassis component", ChassisFanLabelNames) - addToMetricMap(chassisMetrics, ChassisSubsystem, "fan_rpm_lower_threshold_non_critical", "threshold below the normal range fan RPM or percentage, but not critical, on this chassis component", ChassisFanLabelNames) - addToMetricMap(chassisMetrics, ChassisSubsystem, "fan_rpm_lower_threshold_fatal", "threshold below the normal range fan RPM or percentage, and is fatal, on this chassis component", ChassisFanLabelNames) - addToMetricMap(chassisMetrics, ChassisSubsystem, "fan_rpm_upper_threshold_critical", "threshold above the normal range fan RPM or percentage, but not fatal, on this chassis component", ChassisFanLabelNames) - addToMetricMap(chassisMetrics, ChassisSubsystem, "fan_rpm_upper_threshold_non_critical", "threshold above the normal range fan RPM or percentage, but not critical, on this chassis component", ChassisFanLabelNames) - addToMetricMap(chassisMetrics, ChassisSubsystem, "fan_rpm_upper_threshold_fatal", "threshold above the normal range fan RPM or percentage, and is fatal, on this chassis component", ChassisFanLabelNames) - - addToMetricMap(chassisMetrics, ChassisSubsystem, "power_voltage_state", fmt.Sprintf("power voltage state of chassis component,%s", CommonStateHelp), ChassisPowerVoltageLabelNames) - addToMetricMap(chassisMetrics, ChassisSubsystem, "power_voltage_volts", "power voltage volts number of chassis component", ChassisPowerVoltageLabelNames) - addToMetricMap(chassisMetrics, ChassisSubsystem, "power_average_consumed_watts", "power wattage watts number of chassis component", ChassisPowerVoltageLabelNames) - - addToMetricMap(chassisMetrics, ChassisSubsystem, "power_powersupply_state", fmt.Sprintf("powersupply state of chassis component,%s", CommonStateHelp), ChassisPowerSupplyLabelNames) - addToMetricMap(chassisMetrics, ChassisSubsystem, "power_powersupply_health", fmt.Sprintf("powersupply health of chassis component,%s", CommonHealthHelp), ChassisPowerSupplyLabelNames) - addToMetricMap(chassisMetrics, ChassisSubsystem, "power_powersupply_power_efficiency_percentage", "rated efficiency, as a percentage, of the associated power supply on this chassis", ChassisPowerSupplyLabelNames) - addToMetricMap(chassisMetrics, ChassisSubsystem, "power_powersupply_last_power_output_watts", "average power output, measured in Watts, of the associated power supply on this chassis", ChassisPowerSupplyLabelNames) - addToMetricMap(chassisMetrics, ChassisSubsystem, "power_powersupply_power_input_watts", "measured input power, in Watts, of powersupply on this chassis", ChassisPowerSupplyLabelNames) - addToMetricMap(chassisMetrics, ChassisSubsystem, "power_powersupply_power_output_watts", "measured output power, in Watts, of powersupply on this chassis", ChassisPowerSupplyLabelNames) - addToMetricMap(chassisMetrics, ChassisSubsystem, "power_powersupply_power_capacity_watts", "power_capacity_watts of powersupply on this chassis", ChassisPowerSupplyLabelNames) - - addToMetricMap(chassisMetrics, ChassisSubsystem, "network_adapter_state", fmt.Sprintf("chassis network adapter state,%s", CommonStateHelp), ChassisNetworkAdapterLabelNames) - addToMetricMap(chassisMetrics, ChassisSubsystem, "network_adapter_health_state", fmt.Sprintf("chassis network adapter health state,%s", CommonHealthHelp), ChassisNetworkAdapterLabelNames) - - addToMetricMap(chassisMetrics, ChassisSubsystem, "network_port_state", fmt.Sprintf("chassis network port state,%s", CommonStateHelp), ChassisNetworkPortLabelNames) - addToMetricMap(chassisMetrics, ChassisSubsystem, "network_port_health_state", fmt.Sprintf("chassis network port health state,%s", CommonHealthHelp), ChassisNetworkPortLabelNames) - addToMetricMap(chassisMetrics, ChassisSubsystem, "network_port_link_state", fmt.Sprintf("chassis network port link state state,%s", CommonPortLinkHelp), ChassisNetworkPortLabelNames) - addToMetricMap(chassisMetrics, ChassisSubsystem, "physical_security_sensor_state", fmt.Sprintf("indicates the known state of the physical security sensor, such as if it is hardware intrusion detected,%s", CommonIntrusionSensorHelp), ChassisPhysicalSecurityLabelNames) - - addToMetricMap(chassisMetrics, ChassisSubsystem, "log_service_state", fmt.Sprintf("chassis log service state,%s", CommonStateHelp), ChassisLogServiceLabelNames) - addToMetricMap(chassisMetrics, ChassisSubsystem, "log_service_health_state", fmt.Sprintf("chassis log service health state,%s", CommonHealthHelp), ChassisLogServiceLabelNames) - addToMetricMap(chassisMetrics, ChassisSubsystem, "log_entry_severity_state", fmt.Sprintf("chassis log entry severity state,%s", CommonSeverityHelp), ChassisLogEntryLabelNames) +func createChassisMetricMap() map[string]common.Metric { + chassisMetrics := make(map[string]common.Metric) + common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "health", fmt.Sprintf("health of chassis,%s", common.HealthHelp), ChassisLabelNames) + common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "state", fmt.Sprintf("state of chassis,%s", common.StateHelp), ChassisLabelNames) + common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "model_info", "organization responsible for producing the chassis, the name by which the manufacturer generally refers to the chassis, and a part number and sku assigned by the organization that is responsible for producing or manufacturing the chassis", ChassisModel) + + common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "temperature_sensor_state", fmt.Sprintf("status state of temperature on this chassis component,%s", common.StateHelp), ChassisTemperatureLabelNames) + common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "temperature_sensor_health", fmt.Sprintf("status health of temperature on this chassis component,%s", common.StateHelp), ChassisTemperatureLabelNames) + common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "temperature_celsius", "celsius of temperature on this chassis component", ChassisTemperatureLabelNames) + + common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "fan_health", fmt.Sprintf("fan health on this chassis component,%s", common.HealthHelp), ChassisFanLabelNames) + common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "fan_state", fmt.Sprintf("fan state on this chassis component,%s", common.StateHelp), ChassisFanLabelNames) + common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "fan_rpm", "fan RPM or percentage on this chassis component", ChassisFanLabelNames) + common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "fan_rpm_percentage", "fan RPM, as a percentage of the min-max RPMs possible, on this chassis component", ChassisFanLabelNames) + common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "fan_rpm_min", "lowest possible fan RPM or percentage, on this chassis component", ChassisFanLabelNames) + common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "fan_rpm_max", "highest possible fan RPM or percentage, on this chassis component", ChassisFanLabelNames) + common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "fan_rpm_lower_threshold_critical", "threshold below the normal range fan RPM or percentage, but not fatal, on this chassis component", ChassisFanLabelNames) + common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "fan_rpm_lower_threshold_non_critical", "threshold below the normal range fan RPM or percentage, but not critical, on this chassis component", ChassisFanLabelNames) + common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "fan_rpm_lower_threshold_fatal", "threshold below the normal range fan RPM or percentage, and is fatal, on this chassis component", ChassisFanLabelNames) + common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "fan_rpm_upper_threshold_critical", "threshold above the normal range fan RPM or percentage, but not fatal, on this chassis component", ChassisFanLabelNames) + common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "fan_rpm_upper_threshold_non_critical", "threshold above the normal range fan RPM or percentage, but not critical, on this chassis component", ChassisFanLabelNames) + common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "fan_rpm_upper_threshold_fatal", "threshold above the normal range fan RPM or percentage, and is fatal, on this chassis component", ChassisFanLabelNames) + + common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "power_voltage_state", fmt.Sprintf("power voltage state of chassis component,%s", common.StateHelp), ChassisPowerVoltageLabelNames) + common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "power_voltage_volts", "power voltage volts number of chassis component", ChassisPowerVoltageLabelNames) + common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "power_average_consumed_watts", "power wattage watts number of chassis component", ChassisPowerVoltageLabelNames) + + common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "power_powersupply_state", fmt.Sprintf("powersupply state of chassis component,%s", common.StateHelp), ChassisPowerSupplyLabelNames) + common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "power_powersupply_health", fmt.Sprintf("powersupply health of chassis component,%s", common.HealthHelp), ChassisPowerSupplyLabelNames) + common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "power_powersupply_power_efficiency_percentage", "rated efficiency, as a percentage, of the associated power supply on this chassis", ChassisPowerSupplyLabelNames) + common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "power_powersupply_last_power_output_watts", "average power output, measured in Watts, of the associated power supply on this chassis", ChassisPowerSupplyLabelNames) + common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "power_powersupply_power_input_watts", "measured input power, in Watts, of powersupply on this chassis", ChassisPowerSupplyLabelNames) + common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "power_powersupply_power_output_watts", "measured output power, in Watts, of powersupply on this chassis", ChassisPowerSupplyLabelNames) + common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "power_powersupply_power_capacity_watts", "power_capacity_watts of powersupply on this chassis", ChassisPowerSupplyLabelNames) + + common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "network_adapter_state", fmt.Sprintf("chassis network adapter state,%s", common.StateHelp), ChassisNetworkAdapterLabelNames) + common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "network_adapter_health_state", fmt.Sprintf("chassis network adapter health state,%s", common.HealthHelp), ChassisNetworkAdapterLabelNames) + + common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "network_port_state", fmt.Sprintf("chassis network port state,%s", common.StateHelp), ChassisNetworkPortLabelNames) + common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "network_port_health_state", fmt.Sprintf("chassis network port health state,%s", common.HealthHelp), ChassisNetworkPortLabelNames) + common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "network_port_link_state", fmt.Sprintf("chassis network port link state state,%s", common.PortLinkHelp), ChassisNetworkPortLabelNames) + common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "physical_security_sensor_state", fmt.Sprintf("indicates the known state of the physical security sensor, such as if it is hardware intrusion detected,%s", common.IntrusionSensorHelp), ChassisPhysicalSecurityLabelNames) + + common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "log_service_state", fmt.Sprintf("chassis log service state,%s", common.StateHelp), ChassisLogServiceLabelNames) + common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "log_service_health_state", fmt.Sprintf("chassis log service health state,%s", common.HealthHelp), ChassisLogServiceLabelNames) + common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "log_entry_severity_state", fmt.Sprintf("chassis log entry severity state,%s", common.SeverityHelp), ChassisLogEntryLabelNames) return chassisMetrics } @@ -100,7 +102,7 @@ func NewChassisCollector(ctx *common.CollectionContext, logger *slog.Logger) *Ch ), collectorScrapeStatus: prometheus.NewGaugeVec( prometheus.GaugeOpts{ - Namespace: namespace, + Namespace: common.Namespace, Name: "collector_scrape_status", Help: "collector_scrape_status", }, @@ -112,7 +114,7 @@ func NewChassisCollector(ctx *common.CollectionContext, logger *slog.Logger) *Ch // Describe implemented prometheus.Collector func (c *ChassisCollector) Describe(ch chan<- *prometheus.Desc) { for _, metric := range c.metrics { - ch <- metric.desc + ch <- metric.Desc } c.collectorScrapeStatus.Describe(ch) @@ -137,11 +139,11 @@ func (c *ChassisCollector) Collect(ch chan<- prometheus.Metric) { chassisStatusState := chassisStatus.State chassisStatusHealth := chassisStatus.Health ChassisLabelValues := []string{"chassis", chassisID} - if chassisStatusHealthValue, ok := parseCommonStatusHealth(chassisStatusHealth); ok { - ch <- prometheus.MustNewConstMetric(c.metrics["chassis_health"].desc, prometheus.GaugeValue, chassisStatusHealthValue, ChassisLabelValues...) + if chassisStatusHealthValue, ok := common.ParseCommonStatusHealth(chassisStatusHealth); ok { + ch <- prometheus.MustNewConstMetric(c.metrics["chassis_health"].Desc, prometheus.GaugeValue, chassisStatusHealthValue, ChassisLabelValues...) } - if chassisStatusStateValue, ok := parseCommonStatusState(chassisStatusState); ok { - ch <- prometheus.MustNewConstMetric(c.metrics["chassis_state"].desc, prometheus.GaugeValue, chassisStatusStateValue, ChassisLabelValues...) + if chassisStatusStateValue, ok := common.ParseCommonStatusState(chassisStatusState); ok { + ch <- prometheus.MustNewConstMetric(c.metrics["chassis_state"].Desc, prometheus.GaugeValue, chassisStatusStateValue, ChassisLabelValues...) } chassisManufacturer := chassis.Manufacturer @@ -149,7 +151,7 @@ func (c *ChassisCollector) Collect(ch chan<- prometheus.Metric) { chassisPartNumber := chassis.PartNumber chassisSKU := chassis.SKU ChassisModelLabelValues := []string{"chassis", chassisID, chassisManufacturer, chassisModel, chassisPartNumber, chassisSKU} - ch <- prometheus.MustNewConstMetric(c.metrics["chassis_model_info"].desc, prometheus.GaugeValue, 1, ChassisModelLabelValues...) + ch <- prometheus.MustNewConstMetric(c.metrics["chassis_model_info"].Desc, prometheus.GaugeValue, 1, ChassisModelLabelValues...) chassisThermal, err := chassis.Thermal() if err != nil { @@ -233,7 +235,7 @@ func (c *ChassisCollector) Collect(ch chan<- prometheus.Metric) { if phySecIntrusionSensor, ok := parsePhySecIntrusionSensor(physicalSecurityIntrusionSensor); ok { ChassisPhysicalSecurityLabelValues := []string{"physical_security", chassisID, physicalSecurityIntrusionSensorNumber, physicalSecurityIntrusionSensorReArmMethod} - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_physical_security_sensor_state"].desc, prometheus.GaugeValue, phySecIntrusionSensor, ChassisPhysicalSecurityLabelValues...) + ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_physical_security_sensor_state"].Desc, prometheus.GaugeValue, phySecIntrusionSensor, ChassisPhysicalSecurityLabelValues...) } } @@ -249,7 +251,7 @@ func (c *ChassisCollector) Collect(ch chan<- prometheus.Metric) { wg6.Add(len(logServices)) for _, logService := range logServices { - if err = parseLogService(ch, chassisMetrics, c.Ctx, chassisLogContext, ChassisSubsystem, chassisID, logService, wg6); err != nil { + if err = common.ParseLogService(ch, chassisMetrics, c.Ctx, chassisLogContext, ChassisSubsystem, chassisID, logService, wg6); err != nil { chassisLogContext.Error("error getting log entries from log service", "operation", "chassis.LogServices()", "err", err) } } @@ -270,19 +272,19 @@ func parseChassisTemperature(ch chan<- prometheus.Metric, chassisID string, chas chassisTemperatureLabelvalues := []string{"temperature", chassisID, chassisTemperatureSensorName, chassisTemperatureSensorID} chassisTemperatureStatusHealth := chassisTemperatureStatus.Health - if chassisTemperatureStatusHealthValue, ok := parseCommonStatusHealth(chassisTemperatureStatusHealth); ok { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_temperature_sensor_health"].desc, prometheus.GaugeValue, chassisTemperatureStatusHealthValue, chassisTemperatureLabelvalues...) + if chassisTemperatureStatusHealthValue, ok := common.ParseCommonStatusHealth(chassisTemperatureStatusHealth); ok { + ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_temperature_sensor_health"].Desc, prometheus.GaugeValue, chassisTemperatureStatusHealthValue, chassisTemperatureLabelvalues...) } chassisTemperatureStatusState := chassisTemperatureStatus.State // chassisTemperatureStatusLabelNames :=[]string{BaseLabelNames,"temperature_sensor_name","temperature_sensor_member_id") - // ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_temperature_status_health"].desc, prometheus.GaugeValue, parseCommonStatusHealth(chassisTemperatureStatusHealth), chassisTemperatureLabelvalues...) - if chassisTemperatureStatusStateValue, ok := parseCommonStatusState(chassisTemperatureStatusState); ok { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_temperature_sensor_state"].desc, prometheus.GaugeValue, chassisTemperatureStatusStateValue, chassisTemperatureLabelvalues...) + // ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_temperature_status_health"].Desc, prometheus.GaugeValue, parseCommonStatusHealth(chassisTemperatureStatusHealth), chassisTemperatureLabelvalues...) + if chassisTemperatureStatusStateValue, ok := common.ParseCommonStatusState(chassisTemperatureStatusState); ok { + ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_temperature_sensor_state"].Desc, prometheus.GaugeValue, chassisTemperatureStatusStateValue, chassisTemperatureLabelvalues...) } if chassisTemperature.ReadingCelsius != nil { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_temperature_celsius"].desc, prometheus.GaugeValue, float64(*chassisTemperature.ReadingCelsius), chassisTemperatureLabelvalues...) + ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_temperature_celsius"].Desc, prometheus.GaugeValue, float64(*chassisTemperature.ReadingCelsius), chassisTemperatureLabelvalues...) } } @@ -334,42 +336,42 @@ func parseChassisFan(ch chan<- prometheus.Metric, chassisID string, chassisFan s *chassisFanPercentage = (rpm_f - min_f) / (max_f - min_f) * 100.0 } - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_fan_rpm"].desc, prometheus.GaugeValue, rpm_f, chassisFanLabelvalues...) + ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_fan_rpm"].Desc, prometheus.GaugeValue, rpm_f, chassisFanLabelvalues...) } - if chassisFanStatusHealthValue, ok := parseCommonStatusHealth(chassisFan.Status.Health); ok { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_fan_health"].desc, prometheus.GaugeValue, chassisFanStatusHealthValue, chassisFanLabelvalues...) + if chassisFanStatusHealthValue, ok := common.ParseCommonStatusHealth(chassisFan.Status.Health); ok { + ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_fan_health"].Desc, prometheus.GaugeValue, chassisFanStatusHealthValue, chassisFanLabelvalues...) } - if chassisFanStatusStateValue, ok := parseCommonStatusState(chassisFan.Status.State); ok { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_fan_state"].desc, prometheus.GaugeValue, chassisFanStatusStateValue, chassisFanLabelvalues...) + if chassisFanStatusStateValue, ok := common.ParseCommonStatusState(chassisFan.Status.State); ok { + ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_fan_state"].Desc, prometheus.GaugeValue, chassisFanStatusStateValue, chassisFanLabelvalues...) } if chassisFan.MinReadingRange != nil { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_fan_rpm_min"].desc, prometheus.GaugeValue, float64(*chassisFan.MinReadingRange), chassisFanLabelvalues...) + ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_fan_rpm_min"].Desc, prometheus.GaugeValue, float64(*chassisFan.MinReadingRange), chassisFanLabelvalues...) } if chassisFan.MaxReadingRange != nil { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_fan_rpm_max"].desc, prometheus.GaugeValue, float64(*chassisFan.MaxReadingRange), chassisFanLabelvalues...) + ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_fan_rpm_max"].Desc, prometheus.GaugeValue, float64(*chassisFan.MaxReadingRange), chassisFanLabelvalues...) } if chassisFanPercentage != nil { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_fan_rpm_percentage"].desc, prometheus.GaugeValue, *chassisFanPercentage, chassisFanLabelvalues...) + ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_fan_rpm_percentage"].Desc, prometheus.GaugeValue, *chassisFanPercentage, chassisFanLabelvalues...) } if chassisFan.LowerThresholdCritical != nil { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_fan_rpm_lower_threshold_critical"].desc, prometheus.GaugeValue, float64(*chassisFan.LowerThresholdCritical), chassisFanLabelvalues...) + ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_fan_rpm_lower_threshold_critical"].Desc, prometheus.GaugeValue, float64(*chassisFan.LowerThresholdCritical), chassisFanLabelvalues...) } if chassisFan.LowerThresholdFatal != nil { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_fan_rpm_lower_threshold_fatal"].desc, prometheus.GaugeValue, float64(*chassisFan.LowerThresholdFatal), chassisFanLabelvalues...) + ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_fan_rpm_lower_threshold_fatal"].Desc, prometheus.GaugeValue, float64(*chassisFan.LowerThresholdFatal), chassisFanLabelvalues...) } if chassisFan.LowerThresholdNonCritical != nil { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_fan_rpm_lower_threshold_non_critical"].desc, prometheus.GaugeValue, float64(*chassisFan.LowerThresholdNonCritical), chassisFanLabelvalues...) + ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_fan_rpm_lower_threshold_non_critical"].Desc, prometheus.GaugeValue, float64(*chassisFan.LowerThresholdNonCritical), chassisFanLabelvalues...) } if chassisFan.UpperThresholdCritical != nil { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_fan_rpm_upper_threshold_critical"].desc, prometheus.GaugeValue, float64(*chassisFan.UpperThresholdCritical), chassisFanLabelvalues...) + ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_fan_rpm_upper_threshold_critical"].Desc, prometheus.GaugeValue, float64(*chassisFan.UpperThresholdCritical), chassisFanLabelvalues...) } if chassisFan.UpperThresholdFatal != nil { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_fan_rpm_upper_threshold_fatal"].desc, prometheus.GaugeValue, float64(*chassisFan.UpperThresholdFatal), chassisFanLabelvalues...) + ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_fan_rpm_upper_threshold_fatal"].Desc, prometheus.GaugeValue, float64(*chassisFan.UpperThresholdFatal), chassisFanLabelvalues...) } if chassisFan.UpperThresholdNonCritical != nil { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_fan_rpm_upper_threshold_non_critical"].desc, prometheus.GaugeValue, float64(*chassisFan.UpperThresholdNonCritical), chassisFanLabelvalues...) + ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_fan_rpm_upper_threshold_non_critical"].Desc, prometheus.GaugeValue, float64(*chassisFan.UpperThresholdNonCritical), chassisFanLabelvalues...) } } @@ -377,18 +379,18 @@ func parseChassisPowerInfoVoltage(ch chan<- prometheus.Metric, chassisID string, defer wg.Done() voltageInfoID := voltageInfo.MemberID chassisPowerVoltageLabelvalues := []string{"power_voltage", chassisID, voltageInfo.Name, voltageInfoID} - if chassisPowerInfoVoltageStateValue, ok := parseCommonStatusState(voltageInfo.Status.State); ok { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_power_voltage_state"].desc, prometheus.GaugeValue, chassisPowerInfoVoltageStateValue, chassisPowerVoltageLabelvalues...) + if chassisPowerInfoVoltageStateValue, ok := common.ParseCommonStatusState(voltageInfo.Status.State); ok { + ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_power_voltage_state"].Desc, prometheus.GaugeValue, chassisPowerInfoVoltageStateValue, chassisPowerVoltageLabelvalues...) } if voltageInfo.ReadingVolts != nil { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_power_voltage_volts"].desc, prometheus.GaugeValue, float64(*voltageInfo.ReadingVolts), chassisPowerVoltageLabelvalues...) + ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_power_voltage_volts"].Desc, prometheus.GaugeValue, float64(*voltageInfo.ReadingVolts), chassisPowerVoltageLabelvalues...) } } func parseChassisPowerInfoPowerControl(ch chan<- prometheus.Metric, chassisID string, powerControl schemas.PowerControl, wg *sync.WaitGroup) { defer wg.Done() chassisPowerVoltageLabelvalues := []string{"power_wattage", chassisID, powerControl.Name, powerControl.MemberID} - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_power_average_consumed_watts"].desc, prometheus.GaugeValue, float64(*powerControl.PowerMetrics.AverageConsumedWatts), chassisPowerVoltageLabelvalues...) + ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_power_average_consumed_watts"].Desc, prometheus.GaugeValue, float64(*powerControl.PowerMetrics.AverageConsumedWatts), chassisPowerVoltageLabelvalues...) } func parseChassisPowerInfoPowerSupply(ch chan<- prometheus.Metric, chassisID string, powerSupply schemas.PowerSupply, wg *sync.WaitGroup) { @@ -398,26 +400,26 @@ func parseChassisPowerInfoPowerSupply(ch chan<- prometheus.Metric, chassisID str chassisPowerInfoPowerSupplyState := powerSupply.Status.State chassisPowerInfoPowerSupplyHealth := powerSupply.Status.Health chassisPowerSupplyLabelvalues := []string{"power_supply", chassisID, powerSupply.Name, powerSupplyID} - if chassisPowerInfoPowerSupplyStateValue, ok := parseCommonStatusState(chassisPowerInfoPowerSupplyState); ok { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_power_powersupply_state"].desc, prometheus.GaugeValue, chassisPowerInfoPowerSupplyStateValue, chassisPowerSupplyLabelvalues...) + if chassisPowerInfoPowerSupplyStateValue, ok := common.ParseCommonStatusState(chassisPowerInfoPowerSupplyState); ok { + ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_power_powersupply_state"].Desc, prometheus.GaugeValue, chassisPowerInfoPowerSupplyStateValue, chassisPowerSupplyLabelvalues...) } - if chassisPowerInfoPowerSupplyHealthValue, ok := parseCommonStatusHealth(chassisPowerInfoPowerSupplyHealth); ok { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_power_powersupply_health"].desc, prometheus.GaugeValue, chassisPowerInfoPowerSupplyHealthValue, chassisPowerSupplyLabelvalues...) + if chassisPowerInfoPowerSupplyHealthValue, ok := common.ParseCommonStatusHealth(chassisPowerInfoPowerSupplyHealth); ok { + ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_power_powersupply_health"].Desc, prometheus.GaugeValue, chassisPowerInfoPowerSupplyHealthValue, chassisPowerSupplyLabelvalues...) } if powerSupply.EfficiencyPercent != nil { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_power_powersupply_power_efficiency_percentage"].desc, prometheus.GaugeValue, float64(*powerSupply.EfficiencyPercent), chassisPowerSupplyLabelvalues...) + ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_power_powersupply_power_efficiency_percentage"].Desc, prometheus.GaugeValue, float64(*powerSupply.EfficiencyPercent), chassisPowerSupplyLabelvalues...) } if powerSupply.LastPowerOutputWatts != nil { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_power_powersupply_last_power_output_watts"].desc, prometheus.GaugeValue, float64(*powerSupply.LastPowerOutputWatts), chassisPowerSupplyLabelvalues...) + ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_power_powersupply_last_power_output_watts"].Desc, prometheus.GaugeValue, float64(*powerSupply.LastPowerOutputWatts), chassisPowerSupplyLabelvalues...) } if powerSupply.PowerCapacityWatts != nil { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_power_powersupply_power_capacity_watts"].desc, prometheus.GaugeValue, float64(*powerSupply.PowerCapacityWatts), chassisPowerSupplyLabelvalues...) + ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_power_powersupply_power_capacity_watts"].Desc, prometheus.GaugeValue, float64(*powerSupply.PowerCapacityWatts), chassisPowerSupplyLabelvalues...) } if powerSupply.PowerInputWatts != nil { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_power_powersupply_power_input_watts"].desc, prometheus.GaugeValue, float64(*powerSupply.PowerInputWatts), chassisPowerSupplyLabelvalues...) + ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_power_powersupply_power_input_watts"].Desc, prometheus.GaugeValue, float64(*powerSupply.PowerInputWatts), chassisPowerSupplyLabelvalues...) } if powerSupply.PowerOutputWatts != nil { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_power_powersupply_power_output_watts"].desc, prometheus.GaugeValue, float64(*powerSupply.PowerOutputWatts), chassisPowerSupplyLabelvalues...) + ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_power_powersupply_power_output_watts"].Desc, prometheus.GaugeValue, float64(*powerSupply.PowerOutputWatts), chassisPowerSupplyLabelvalues...) } } @@ -428,11 +430,11 @@ func parseNetworkAdapter(ch chan<- prometheus.Metric, chassisID string, networkA networkAdapterState := networkAdapter.Status.State networkAdapterHealthState := networkAdapter.Status.Health chassisNetworkAdapterLabelValues := []string{"network_adapter", chassisID, networkAdapterName, networkAdapterID} - if networkAdapterStateValue, ok := parseCommonStatusState(networkAdapterState); ok { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_network_adapter_state"].desc, prometheus.GaugeValue, networkAdapterStateValue, chassisNetworkAdapterLabelValues...) + if networkAdapterStateValue, ok := common.ParseCommonStatusState(networkAdapterState); ok { + ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_network_adapter_state"].Desc, prometheus.GaugeValue, networkAdapterStateValue, chassisNetworkAdapterLabelValues...) } - if networkAdapterHealthStateValue, ok := parseCommonStatusHealth(networkAdapterHealthState); ok { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_network_adapter_health_state"].desc, prometheus.GaugeValue, networkAdapterHealthStateValue, chassisNetworkAdapterLabelValues...) + if networkAdapterHealthStateValue, ok := common.ParseCommonStatusHealth(networkAdapterHealthState); ok { + ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_network_adapter_health_state"].Desc, prometheus.GaugeValue, networkAdapterHealthStateValue, chassisNetworkAdapterLabelValues...) } if networkPorts, err := networkAdapter.NetworkPorts(); err != nil { @@ -448,6 +450,13 @@ func parseNetworkAdapter(ch chan<- prometheus.Metric, chassisID string, networkA return nil } +func parsePortLinkStatus(status schemas.NetworkPortLinkStatus) (float64, bool) { + if bytes.Equal([]byte(status), []byte("Up")) { + return float64(1), true + } + return float64(0), false +} + func parseNetworkPort(ch chan<- prometheus.Metric, chassisID string, networkPort *schemas.NetworkPort, networkAdapterName string, networkAdapterID string, wg *sync.WaitGroup) { defer wg.Done() networkPortName := networkPort.Name @@ -462,13 +471,28 @@ func parseNetworkPort(ch chan<- prometheus.Metric, chassisID string, networkPort chassisNetworkPortLabelValues := []string{"network_port", chassisID, networkAdapterName, networkAdapterID, networkPortName, networkPortID, string(networkPortLinkType), networkPortLinkSpeed, string(networkPortConnectionType), networkPhysicalPortNumber} if networkLinkStatusValue, ok := parsePortLinkStatus(networkLinkStatus); ok { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_network_port_link_state"].desc, prometheus.GaugeValue, networkLinkStatusValue, chassisNetworkPortLabelValues...) + ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_network_port_link_state"].Desc, prometheus.GaugeValue, networkLinkStatusValue, chassisNetworkPortLabelValues...) } - if networkPortStateValue, ok := parseCommonStatusState(networkPortState); ok { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_network_port_state"].desc, prometheus.GaugeValue, networkPortStateValue, chassisNetworkPortLabelValues...) + if networkPortStateValue, ok := common.ParseCommonStatusState(networkPortState); ok { + ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_network_port_state"].Desc, prometheus.GaugeValue, networkPortStateValue, chassisNetworkPortLabelValues...) } - if networkPortHealthStateValue, ok := parseCommonStatusHealth(networkPortHealthState); ok { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_network_port_health_state"].desc, prometheus.GaugeValue, networkPortHealthStateValue, chassisNetworkPortLabelValues...) + if networkPortHealthStateValue, ok := common.ParseCommonStatusHealth(networkPortHealthState); ok { + ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_network_port_health_state"].Desc, prometheus.GaugeValue, networkPortHealthStateValue, chassisNetworkPortLabelValues...) } } + +func parsePhySecIntrusionSensor(method schemas.IntrusionSensor) (float64, bool) { + if bytes.Equal([]byte(method), []byte("Normal")) { + return float64(1), true + + } + if bytes.Equal([]byte(method), []byte("TamperingDetected")) { + return float64(2), true + } + if bytes.Equal([]byte(method), []byte("HardwareIntrusion")) { + return float64(3), true + } + + return float64(0), false +} diff --git a/collector/collector.go b/collector/collector.go new file mode 100755 index 00000000..7a293c20 --- /dev/null +++ b/collector/collector.go @@ -0,0 +1,109 @@ +package collector + +import ( + "bytes" + "log/slog" + "sync" + "time" + + "github.com/prometheus/client_golang/prometheus" + "github.com/stackhpc/redfish_exporter/collector/chassis" + "github.com/stackhpc/redfish_exporter/collector/manager" + "github.com/stackhpc/redfish_exporter/collector/system" + "github.com/stackhpc/redfish_exporter/common" + "github.com/stmcginnis/gofish" + "github.com/stmcginnis/gofish/schemas" +) + +// Metric name parts. +const ( + // Exporter namespace. + namespace = "redfish" + // Subsystem(s). + exporter = "exporter" + // Math constant for picoseconds to seconds. + picoSeconds = 1e12 +) + +// Metric descriptors. +var ( + totalScrapeDurationDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, exporter, "collector_duration_seconds"), + "Collector time duration.", + nil, nil, + ) +) + +// RedfishCollector collects redfish metrics. It implements prometheus.Collector. +type RedfishCollector struct { + redfishClient *gofish.APIClient + collectors map[string]prometheus.Collector + redfishUp prometheus.Gauge +} + +// NewRedfishCollector return RedfishCollector +func NewRedfishCollector(ctx *common.CollectionContext, logger *slog.Logger) *RedfishCollector { + var collectors map[string]prometheus.Collector + chassisCollector := chassis.NewChassisCollector(ctx, logger) + systemCollector := system.NewSystemCollector(ctx, logger) + managerCollector := manager.NewManagerCollector(ctx, logger) + + collectors = map[string]prometheus.Collector{"chassis": chassisCollector, "system": systemCollector, "manager": managerCollector} + + return &RedfishCollector{ + redfishClient: ctx.RedfishClient, + collectors: collectors, + redfishUp: prometheus.NewGauge( + prometheus.GaugeOpts{ + Namespace: namespace, + Subsystem: "", + Name: "up", + Help: "redfish up", + }, + ), + } +} + +// Describe implements prometheus.Collector. +func (r *RedfishCollector) Describe(ch chan<- *prometheus.Desc) { + for _, collector := range r.collectors { + collector.Describe(ch) + } + +} + +// Collect implements prometheus.Collector. +func (r *RedfishCollector) Collect(ch chan<- prometheus.Metric) { + + scrapeTime := time.Now() + if r.redfishClient != nil { + defer r.redfishClient.Logout() + r.redfishUp.Set(1) + wg := &sync.WaitGroup{} + wg.Add(len(r.collectors)) + + for _, collector := range r.collectors { + go func(collector prometheus.Collector) { + defer wg.Done() + collector.Collect(ch) + }(collector) + } + wg.Wait() + } else { + r.redfishUp.Set(0) + } + + ch <- r.redfishUp + ch <- prometheus.MustNewConstMetric(totalScrapeDurationDesc, prometheus.GaugeValue, time.Since(scrapeTime).Seconds()) +} + +func parsePhySecReArmMethod(method schemas.IntrusionSensorReArm) (float64, bool) { + if bytes.Equal([]byte(method), []byte("Manual")) { + return float64(1), true + } + if bytes.Equal([]byte(method), []byte("Automatic")) { + return float64(2), true + } + + return float64(0), false +} diff --git a/collector/collector_test.go b/collector/collector_test.go new file mode 100644 index 00000000..1b0fbe93 --- /dev/null +++ b/collector/collector_test.go @@ -0,0 +1,21 @@ +package collector + +import ( + "testing" + + "github.com/prometheus/client_golang/prometheus" +) + +var mocksForAllTests = []string{"DSP2043-server", "proposed-ocp-profile", "public-bladed", "public-rackmount"} + +func TestScrape(t *testing.T) { + for _, path := range mocksForAllTests { + collector := CreateStaticBMC(t, path, false) + + ch := make(chan prometheus.Metric) + + go collector.Collect(ch) + + <-ch + } +} diff --git a/collector/manager_collector.go b/collector/manager/collector.go similarity index 66% rename from collector/manager_collector.go rename to collector/manager/collector.go index f9500369..d6197c4e 100755 --- a/collector/manager_collector.go +++ b/collector/manager/collector.go @@ -1,4 +1,4 @@ -package collector +package manager import ( "fmt" @@ -25,21 +25,21 @@ var ( // ManagerCollector implements the prometheus.Collector. type ManagerCollector struct { Ctx *common.CollectionContext - metrics map[string]Metric + metrics map[string]common.Metric collectorScrapeStatus *prometheus.GaugeVec Log *slog.Logger } -func createManagerMetricMap() map[string]Metric { - managerMetrics := make(map[string]Metric) - addToMetricMap(managerMetrics, ManagerSubmanager, "state", fmt.Sprintf("manager state,%s", CommonStateHelp), ManagerLabelNames) - addToMetricMap(managerMetrics, ManagerSubmanager, "health_state", fmt.Sprintf("manager health,%s", CommonHealthHelp), ManagerLabelNames) - addToMetricMap(managerMetrics, ManagerSubmanager, "power_state", "manager power state", ManagerLabelNames) - addToMetricMap(managerMetrics, ManagerSubmanager, "firmware_info", "manager firmware version, value is always 1", ManagerFirmwareLabelNames) +func createManagerMetricMap() map[string]common.Metric { + managerMetrics := make(map[string]common.Metric) + common.AddToMetricMap(managerMetrics, ManagerSubmanager, "state", fmt.Sprintf("manager state,%s", common.StateHelp), ManagerLabelNames) + common.AddToMetricMap(managerMetrics, ManagerSubmanager, "health_state", fmt.Sprintf("manager health,%s", common.HealthHelp), ManagerLabelNames) + common.AddToMetricMap(managerMetrics, ManagerSubmanager, "power_state", "manager power state", ManagerLabelNames) + common.AddToMetricMap(managerMetrics, ManagerSubmanager, "firmware_info", "manager firmware version, value is always 1", ManagerFirmwareLabelNames) - addToMetricMap(managerMetrics, ManagerSubmanager, "log_service_state", fmt.Sprintf("manager log service state,%s", CommonStateHelp), ManagerLogServiceLabelNames) - addToMetricMap(managerMetrics, ManagerSubmanager, "log_service_health_state", fmt.Sprintf("manager log service health state,%s", CommonHealthHelp), ManagerLogServiceLabelNames) - addToMetricMap(managerMetrics, ManagerSubmanager, "log_entry_severity_state", fmt.Sprintf("manager log entry severity state,%s", CommonSeverityHelp), ManagerLogEntryLabelNames) + common.AddToMetricMap(managerMetrics, ManagerSubmanager, "log_service_state", fmt.Sprintf("manager log service state,%s", common.StateHelp), ManagerLogServiceLabelNames) + common.AddToMetricMap(managerMetrics, ManagerSubmanager, "log_service_health_state", fmt.Sprintf("manager log service health state,%s", common.HealthHelp), ManagerLogServiceLabelNames) + common.AddToMetricMap(managerMetrics, ManagerSubmanager, "log_entry_severity_state", fmt.Sprintf("manager log entry severity state,%s", common.SeverityHelp), ManagerLogEntryLabelNames) return managerMetrics } @@ -54,7 +54,7 @@ func NewManagerCollector(ctx *common.CollectionContext, logger *slog.Logger) *Ma ), collectorScrapeStatus: prometheus.NewGaugeVec( prometheus.GaugeOpts{ - Namespace: namespace, + Namespace: common.Namespace, Name: "collector_scrape_status", Help: "collector_scrape_status", }, @@ -66,7 +66,7 @@ func NewManagerCollector(ctx *common.CollectionContext, logger *slog.Logger) *Ma // Describe implemented prometheus.Collector func (m *ManagerCollector) Describe(ch chan<- *prometheus.Desc) { for _, metric := range m.metrics { - ch <- metric.desc + ch <- metric.Desc } m.collectorScrapeStatus.Describe(ch) @@ -97,17 +97,17 @@ func (m *ManagerCollector) Collect(ch chan<- prometheus.Metric) { ManagerLabelValues := []string{ManagerID, managerName, managerModel, managerType} - if managerHealthStateValue, ok := parseCommonStatusHealth(managerHealthState); ok { - ch <- prometheus.MustNewConstMetric(m.metrics["manager_health_state"].desc, prometheus.GaugeValue, managerHealthStateValue, ManagerLabelValues...) + if managerHealthStateValue, ok := common.ParseCommonStatusHealth(managerHealthState); ok { + ch <- prometheus.MustNewConstMetric(m.metrics["manager_health_state"].Desc, prometheus.GaugeValue, managerHealthStateValue, ManagerLabelValues...) } - if managerStateValue, ok := parseCommonStatusState(managerState); ok { - ch <- prometheus.MustNewConstMetric(m.metrics["manager_state"].desc, prometheus.GaugeValue, managerStateValue, ManagerLabelValues...) + if managerStateValue, ok := common.ParseCommonStatusState(managerState); ok { + ch <- prometheus.MustNewConstMetric(m.metrics["manager_state"].Desc, prometheus.GaugeValue, managerStateValue, ManagerLabelValues...) } - if managerPowerStateValue, ok := parseCommonPowerState(managerPowerState); ok { - ch <- prometheus.MustNewConstMetric(m.metrics["manager_power_state"].desc, prometheus.GaugeValue, managerPowerStateValue, ManagerLabelValues...) + if managerPowerStateValue, ok := common.ParseCommonPowerState(managerPowerState); ok { + ch <- prometheus.MustNewConstMetric(m.metrics["manager_power_state"].Desc, prometheus.GaugeValue, managerPowerStateValue, ManagerLabelValues...) } if manager.FirmwareVersion != "" { - ch <- prometheus.MustNewConstMetric(m.metrics["manager_firmware_info"].desc, prometheus.GaugeValue, 1, append(ManagerLabelValues, manager.FirmwareVersion)...) + ch <- prometheus.MustNewConstMetric(m.metrics["manager_firmware_info"].Desc, prometheus.GaugeValue, 1, append(ManagerLabelValues, manager.FirmwareVersion)...) } // process log services @@ -122,7 +122,7 @@ func (m *ManagerCollector) Collect(ch chan<- prometheus.Metric) { wg.Add(len(logServices)) for _, logService := range logServices { - if err = parseLogService(ch, managerMetrics, m.Ctx, managerLogContext, ManagerSubmanager, ManagerID, logService, wg); err != nil { + if err = common.ParseLogService(ch, managerMetrics, m.Ctx, managerLogContext, ManagerSubmanager, ManagerID, logService, wg); err != nil { managerLogContext.Error("error getting log entries from log service", "operation", "manager.LogServices()", "err", err) } } diff --git a/collector/redfish_collector.go b/collector/redfish_collector.go deleted file mode 100755 index 3ef4a9f2..00000000 --- a/collector/redfish_collector.go +++ /dev/null @@ -1,211 +0,0 @@ -package collector - -import ( - "bytes" - "log/slog" - "sync" - "time" - - "github.com/prometheus/client_golang/prometheus" - "github.com/stackhpc/redfish_exporter/common" - "github.com/stmcginnis/gofish" - "github.com/stmcginnis/gofish/schemas" -) - -// Metric name parts. -const ( - // Exporter namespace. - namespace = "redfish" - // Subsystem(s). - exporter = "exporter" - // Math constant for picoseconds to seconds. - picoSeconds = 1e12 -) - -// Metric descriptors. -var ( - totalScrapeDurationDesc = prometheus.NewDesc( - prometheus.BuildFQName(namespace, exporter, "collector_duration_seconds"), - "Collector time duration.", - nil, nil, - ) -) - -// RedfishCollector collects redfish metrics. It implements prometheus.Collector. -type RedfishCollector struct { - redfishClient *gofish.APIClient - collectors map[string]prometheus.Collector - redfishUp prometheus.Gauge -} - -// NewRedfishCollector return RedfishCollector -func NewRedfishCollector(ctx *common.CollectionContext, logger *slog.Logger) *RedfishCollector { - var collectors map[string]prometheus.Collector - chassisCollector := NewChassisCollector(ctx, logger) - systemCollector := NewSystemCollector(ctx, logger) - managerCollector := NewManagerCollector(ctx, logger) - - collectors = map[string]prometheus.Collector{"chassis": chassisCollector, "system": systemCollector, "manager": managerCollector} - - return &RedfishCollector{ - redfishClient: ctx.RedfishClient, - collectors: collectors, - redfishUp: prometheus.NewGauge( - prometheus.GaugeOpts{ - Namespace: namespace, - Subsystem: "", - Name: "up", - Help: "redfish up", - }, - ), - } -} - -// Describe implements prometheus.Collector. -func (r *RedfishCollector) Describe(ch chan<- *prometheus.Desc) { - for _, collector := range r.collectors { - collector.Describe(ch) - } - -} - -// Collect implements prometheus.Collector. -func (r *RedfishCollector) Collect(ch chan<- prometheus.Metric) { - - scrapeTime := time.Now() - if r.redfishClient != nil { - defer r.redfishClient.Logout() - r.redfishUp.Set(1) - wg := &sync.WaitGroup{} - wg.Add(len(r.collectors)) - - for _, collector := range r.collectors { - go func(collector prometheus.Collector) { - defer wg.Done() - collector.Collect(ch) - }(collector) - } - wg.Wait() - } else { - r.redfishUp.Set(0) - } - - ch <- r.redfishUp - ch <- prometheus.MustNewConstMetric(totalScrapeDurationDesc, prometheus.GaugeValue, time.Since(scrapeTime).Seconds()) -} - -func parseCommonStatusHealth(status schemas.Health) (float64, bool) { - if bytes.Equal([]byte(status), []byte("OK")) { - return float64(1), true - } else if bytes.Equal([]byte(status), []byte("Warning")) { - return float64(2), true - } else if bytes.Equal([]byte(status), []byte("Critical")) { - return float64(3), true - } - return float64(0), false -} - -func parseCommonStatusState(status schemas.State) (float64, bool) { - - if bytes.Equal([]byte(status), []byte("")) { - return float64(0), false - } else if bytes.Equal([]byte(status), []byte("Enabled")) { - return float64(1), true - } else if bytes.Equal([]byte(status), []byte("Disabled")) { - return float64(2), true - } else if bytes.Equal([]byte(status), []byte("StandbyOffinline")) { - return float64(3), true - } else if bytes.Equal([]byte(status), []byte("StandbySpare")) { - return float64(4), true - } else if bytes.Equal([]byte(status), []byte("InTest")) { - return float64(5), true - } else if bytes.Equal([]byte(status), []byte("Starting")) { - return float64(6), true - } else if bytes.Equal([]byte(status), []byte("Absent")) { - return float64(7), true - } else if bytes.Equal([]byte(status), []byte("UnavailableOffline")) { - return float64(8), true - } else if bytes.Equal([]byte(status), []byte("Deferring")) { - return float64(9), true - } else if bytes.Equal([]byte(status), []byte("Quiesced")) { - return float64(10), true - } else if bytes.Equal([]byte(status), []byte("Updating")) { - return float64(11), true - } - return float64(0), false -} - -func parseCommonSeverityState(severity schemas.EventSeverity) (float64, bool) { - if bytes.Equal([]byte(severity), []byte("OK")) { - return float64(1), true - } else if bytes.Equal([]byte(severity), []byte("Warning")) { - return float64(2), true - } else if bytes.Equal([]byte(severity), []byte("Critical")) { - return float64(3), true - } - return float64(0), false -} - -func parseCommonPowerState(status schemas.PowerState) (float64, bool) { - if bytes.Equal([]byte(status), []byte("On")) { - return float64(1), true - } else if bytes.Equal([]byte(status), []byte("Off")) { - return float64(2), true - } else if bytes.Equal([]byte(status), []byte("PoweringOn")) { - return float64(3), true - } else if bytes.Equal([]byte(status), []byte("PoweringOff")) { - return float64(4), true - } - return float64(0), false -} - -func parseLinkStatus(status schemas.LinkStatus) (float64, bool) { - if bytes.Equal([]byte(status), []byte("LinkUp")) { - return float64(1), true - } else if bytes.Equal([]byte(status), []byte("NoLink")) { - return float64(2), true - } else if bytes.Equal([]byte(status), []byte("LinkDown")) { - return float64(3), true - } - return float64(0), false -} - -func parsePortLinkStatus(status schemas.NetworkPortLinkStatus) (float64, bool) { - if bytes.Equal([]byte(status), []byte("Up")) { - return float64(1), true - } - return float64(0), false -} -func boolToFloat64(data bool) float64 { - - if data { - return float64(1) - } - return float64(0) - -} - -func parsePhySecReArmMethod(method schemas.IntrusionSensorReArm) (float64, bool) { - if bytes.Equal([]byte(method), []byte("Manual")) { - return float64(1), true - } - if bytes.Equal([]byte(method), []byte("Automatic")) { - return float64(2), true - } - - return float64(0), false -} - -func parsePhySecIntrusionSensor(method schemas.IntrusionSensor) (float64, bool) { - if bytes.Equal([]byte(method), []byte("Normal")) { - return float64(1), true - } - if bytes.Equal([]byte(method), []byte("TamperingDetected")) { - return float64(2), true - } - if bytes.Equal([]byte(method), []byte("HardwareIntrusion")) { - return float64(3), true - } - - return float64(0), false -} diff --git a/collector/redfish_test.go b/collector/redfish_test.go deleted file mode 100644 index 3654d2a2..00000000 --- a/collector/redfish_test.go +++ /dev/null @@ -1,19 +0,0 @@ -package collector - -import ( - "testing" - - "github.com/prometheus/client_golang/prometheus" -) - -func TestScrape(t *testing.T) { - collector := CreateStaticBMC(t, "DSP2043-server", false) - - ch := make(chan prometheus.Metric) - - go collector.Collect(ch) - - metric := <- ch - - t.Log(metric) -} diff --git a/collector/system_collector.go b/collector/system/collector.go similarity index 65% rename from collector/system_collector.go rename to collector/system/collector.go index 075f1e13..56945ae9 100755 --- a/collector/system_collector.go +++ b/collector/system/collector.go @@ -1,6 +1,7 @@ -package collector +package system import ( + "bytes" "fmt" "log/slog" "slices" @@ -36,70 +37,70 @@ var ( // SystemCollector implements the prometheus.Collector. type SystemCollector struct { Ctx *common.CollectionContext - metrics map[string]Metric + metrics map[string]common.Metric prometheus.Collector collectorScrapeStatus *prometheus.GaugeVec Log *slog.Logger } -func createSystemMetricMap() map[string]Metric { - systemMetrics := make(map[string]Metric) +func createSystemMetricMap() map[string]common.Metric { + systemMetrics := make(map[string]common.Metric) - addToMetricMap(systemMetrics, SystemSubsystem, "state", fmt.Sprintf("system state,%s", CommonStateHelp), SystemLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "health_state", fmt.Sprintf("system health,%s", CommonHealthHelp), SystemLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "power_state", "system power state", SystemLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "bios_info", "system BIOS version, value is always 1", SystemBIOSLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "state", fmt.Sprintf("system state,%s", common.StateHelp), SystemLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "health_state", fmt.Sprintf("system health,%s", common.HealthHelp), SystemLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "power_state", "system power state", SystemLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "bios_info", "system BIOS version, value is always 1", SystemBIOSLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "total_memory_state", fmt.Sprintf("system overall memory state,%s", CommonStateHelp), SystemLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "total_memory_health_state", fmt.Sprintf("system overall memory health,%s", CommonHealthHelp), SystemLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "total_memory_size", "system total memory size, GiB", SystemLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "total_memory_state", fmt.Sprintf("system overall memory state,%s", common.StateHelp), SystemLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "total_memory_health_state", fmt.Sprintf("system overall memory health,%s", common.HealthHelp), SystemLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "total_memory_size", "system total memory size, GiB", SystemLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "total_processor_state", fmt.Sprintf("system overall processor state,%s", CommonStateHelp), SystemLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "total_processor_health_state", fmt.Sprintf("system overall processor health,%s", CommonHealthHelp), SystemLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "total_processor_count", "system total processor count", SystemLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "total_processor_state", fmt.Sprintf("system overall processor state,%s", common.StateHelp), SystemLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "total_processor_health_state", fmt.Sprintf("system overall processor health,%s", common.HealthHelp), SystemLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "total_processor_count", "system total processor count", SystemLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "memory_state", fmt.Sprintf("system memory state,%s", CommonStateHelp), SystemMemoryLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "memory_health_state", fmt.Sprintf("system memory health state,%s", CommonHealthHelp), SystemMemoryLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "memory_capacity", "system memory capacity, MiB", SystemMemoryLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "memory_state", fmt.Sprintf("system memory state,%s", common.StateHelp), SystemMemoryLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "memory_health_state", fmt.Sprintf("system memory health state,%s", common.HealthHelp), SystemMemoryLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "memory_capacity", "system memory capacity, MiB", SystemMemoryLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "processor_state", fmt.Sprintf("system processor state,%s", CommonStateHelp), SystemProcessorLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "processor_health_state", fmt.Sprintf("system processor health state,%s", CommonHealthHelp), SystemProcessorLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "processor_total_threads", "system processor total threads", SystemProcessorLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "processor_total_threads_enabled", "system processor total enabled threads", SystemProcessorLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "processor_total_cores", "system processor total cores", SystemProcessorLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "processor_total_cores_enabled", "system processor total enabled cores", SystemProcessorLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "processor_state", fmt.Sprintf("system processor state,%s", common.StateHelp), SystemProcessorLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "processor_health_state", fmt.Sprintf("system processor health state,%s", common.HealthHelp), SystemProcessorLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "processor_total_threads", "system processor total threads", SystemProcessorLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "processor_total_threads_enabled", "system processor total enabled threads", SystemProcessorLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "processor_total_cores", "system processor total cores", SystemProcessorLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "processor_total_cores_enabled", "system processor total enabled cores", SystemProcessorLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "simple_storage_device_state", fmt.Sprintf("system simple storage device state,%s", CommonStateHelp), SystemDeviceLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "simple_storage_device_health_state", fmt.Sprintf("system simple storage device health state,%s", CommonHealthHelp), SystemDeviceLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "simple_storage_device_state", fmt.Sprintf("system simple storage device state,%s", common.StateHelp), SystemDeviceLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "simple_storage_device_health_state", fmt.Sprintf("system simple storage device health state,%s", common.HealthHelp), SystemDeviceLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "storage_volume_state", fmt.Sprintf("system storage volume state,%s", CommonStateHelp), SystemVolumeLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "storage_volume_health_state", fmt.Sprintf("system storage volume health state,%s", CommonHealthHelp), SystemVolumeLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "storage_volume_capacity", "system storage volume capacity, Bytes", SystemVolumeLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "storage_volume_state", fmt.Sprintf("system storage volume state,%s", common.StateHelp), SystemVolumeLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "storage_volume_health_state", fmt.Sprintf("system storage volume health state,%s", common.HealthHelp), SystemVolumeLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "storage_volume_capacity", "system storage volume capacity, Bytes", SystemVolumeLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "storage_drive_state", fmt.Sprintf("system storage drive state,%s", CommonStateHelp), SystemDriveLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "storage_drive_health_state", fmt.Sprintf("system storage drive health state,%s", CommonHealthHelp), SystemDriveLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "storage_drive_capacity", "system storage drive capacity, Bytes", SystemDriveLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "storage_drive_state", fmt.Sprintf("system storage drive state,%s", common.StateHelp), SystemDriveLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "storage_drive_health_state", fmt.Sprintf("system storage drive health state,%s", common.HealthHelp), SystemDriveLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "storage_drive_capacity", "system storage drive capacity, Bytes", SystemDriveLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "storage_controller_state", fmt.Sprintf("system storage controller state,%s", CommonStateHelp), SystemStorageControllerLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "storage_controller_health_state", fmt.Sprintf("system storage controller health state,%s", CommonHealthHelp), SystemStorageControllerLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "storage_controller_state", fmt.Sprintf("system storage controller state,%s", common.StateHelp), SystemStorageControllerLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "storage_controller_health_state", fmt.Sprintf("system storage controller health state,%s", common.HealthHelp), SystemStorageControllerLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "pcie_device_state", fmt.Sprintf("system pcie device state,%s", CommonStateHelp), SystemPCIeDeviceLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "pcie_device_health_state", fmt.Sprintf("system pcie device health state,%s", CommonHealthHelp), SystemPCIeDeviceLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "pcie_device_state", fmt.Sprintf("system pcie device state,%s", common.StateHelp), SystemPCIeDeviceLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "pcie_device_health_state", fmt.Sprintf("system pcie device health state,%s", common.HealthHelp), SystemPCIeDeviceLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "pcie_function_state", fmt.Sprintf("system pcie function state,%s", CommonStateHelp), SystemPCIeFunctionLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "pcie_function_health_state", fmt.Sprintf("system pcie device function state,%s", CommonHealthHelp), SystemPCIeFunctionLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "pcie_function_state", fmt.Sprintf("system pcie function state,%s", common.StateHelp), SystemPCIeFunctionLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "pcie_function_health_state", fmt.Sprintf("system pcie device function state,%s", common.HealthHelp), SystemPCIeFunctionLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "network_interface_state", fmt.Sprintf("system network interface state,%s", CommonStateHelp), SystemNetworkInterfaceLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "network_interface_health_state", fmt.Sprintf("system network interface health state,%s", CommonHealthHelp), SystemNetworkInterfaceLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "network_interface_state", fmt.Sprintf("system network interface state,%s", common.StateHelp), SystemNetworkInterfaceLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "network_interface_health_state", fmt.Sprintf("system network interface health state,%s", common.HealthHelp), SystemNetworkInterfaceLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "ethernet_interface_state", fmt.Sprintf("system ethernet interface state,%s", CommonStateHelp), SystemEthernetInterfaceLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "ethernet_interface_health_state", fmt.Sprintf("system ethernet interface health state,%s", CommonHealthHelp), SystemEthernetInterfaceLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "ethernet_interface_link_status", fmt.Sprintf("system ethernet interface link status,%s", CommonLinkHelp), SystemEthernetInterfaceLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "ethernet_interface_link_enabled", "system ethernet interface if the link is enabled", SystemEthernetInterfaceLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "ethernet_interface_state", fmt.Sprintf("system ethernet interface state,%s", common.StateHelp), SystemEthernetInterfaceLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "ethernet_interface_health_state", fmt.Sprintf("system ethernet interface health state,%s", common.HealthHelp), SystemEthernetInterfaceLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "ethernet_interface_link_status", fmt.Sprintf("system ethernet interface link status,%s", common.LinkHelp), SystemEthernetInterfaceLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "ethernet_interface_link_enabled", "system ethernet interface if the link is enabled", SystemEthernetInterfaceLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "log_service_state", fmt.Sprintf("system log service state,%s", CommonStateHelp), SystemLogServiceLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "log_service_health_state", fmt.Sprintf("system log service health state,%s", CommonHealthHelp), SystemLogServiceLabelNames) - addToMetricMap(systemMetrics, SystemSubsystem, "log_entry_severity_state", fmt.Sprintf("system log entry severity state,%s", CommonSeverityHelp), SystemLogEntryLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "log_service_state", fmt.Sprintf("system log service state,%s", common.StateHelp), SystemLogServiceLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "log_service_health_state", fmt.Sprintf("system log service health state,%s", common.HealthHelp), SystemLogServiceLabelNames) + common.AddToMetricMap(systemMetrics, SystemSubsystem, "log_entry_severity_state", fmt.Sprintf("system log entry severity state,%s", common.SeverityHelp), SystemLogEntryLabelNames) return systemMetrics } @@ -114,7 +115,7 @@ func NewSystemCollector(ctx *common.CollectionContext, logger *slog.Logger) *Sys ), collectorScrapeStatus: prometheus.NewGaugeVec( prometheus.GaugeOpts{ - Namespace: namespace, + Namespace: common.Namespace, Name: "collector_scrape_status", Help: "collector_scrape_status", }, @@ -126,7 +127,7 @@ func NewSystemCollector(ctx *common.CollectionContext, logger *slog.Logger) *Sys // Describe implements prometheus.Collector. func (s *SystemCollector) Describe(ch chan<- *prometheus.Desc) { for _, metric := range s.metrics { - ch <- metric.desc + ch <- metric.Desc } s.collectorScrapeStatus.Describe(ch) } @@ -159,35 +160,35 @@ func (s *SystemCollector) Collect(ch chan<- prometheus.Metric) { systemTotalMemoryHealthState := system.MemorySummary.Status.Health systemLabelValues := []string{systemHostName, "system", SystemID} - if systemHealthStateValue, ok := parseCommonStatusHealth(systemHealthState); ok { - ch <- prometheus.MustNewConstMetric(s.metrics["system_health_state"].desc, prometheus.GaugeValue, systemHealthStateValue, systemLabelValues...) + if systemHealthStateValue, ok := common.ParseCommonStatusHealth(systemHealthState); ok { + ch <- prometheus.MustNewConstMetric(s.metrics["system_health_state"].Desc, prometheus.GaugeValue, systemHealthStateValue, systemLabelValues...) } - if systemStateValue, ok := parseCommonStatusState(systemState); ok { - ch <- prometheus.MustNewConstMetric(s.metrics["system_state"].desc, prometheus.GaugeValue, systemStateValue, systemLabelValues...) + if systemStateValue, ok := common.ParseCommonStatusState(systemState); ok { + ch <- prometheus.MustNewConstMetric(s.metrics["system_state"].Desc, prometheus.GaugeValue, systemStateValue, systemLabelValues...) } - if systemPowerStateValue, ok := parseCommonPowerState(systemPowerState); ok { - ch <- prometheus.MustNewConstMetric(s.metrics["system_power_state"].desc, prometheus.GaugeValue, systemPowerStateValue, systemLabelValues...) + if systemPowerStateValue, ok := common.ParseCommonPowerState(systemPowerState); ok { + ch <- prometheus.MustNewConstMetric(s.metrics["system_power_state"].Desc, prometheus.GaugeValue, systemPowerStateValue, systemLabelValues...) } if system.BiosVersion != "" { - ch <- prometheus.MustNewConstMetric(s.metrics["system_bios_info"].desc, prometheus.GaugeValue, 1, append(systemLabelValues, system.BiosVersion)...) + ch <- prometheus.MustNewConstMetric(s.metrics["system_bios_info"].Desc, prometheus.GaugeValue, 1, append(systemLabelValues, system.BiosVersion)...) } - if systemTotalProcessorsStateValue, ok := parseCommonStatusState(systemTotalProcessorsState); ok { - ch <- prometheus.MustNewConstMetric(s.metrics["system_total_processor_state"].desc, prometheus.GaugeValue, systemTotalProcessorsStateValue, systemLabelValues...) + if systemTotalProcessorsStateValue, ok := common.ParseCommonStatusState(systemTotalProcessorsState); ok { + ch <- prometheus.MustNewConstMetric(s.metrics["system_total_processor_state"].Desc, prometheus.GaugeValue, systemTotalProcessorsStateValue, systemLabelValues...) if system.ProcessorSummary.Count != nil { - ch <- prometheus.MustNewConstMetric(s.metrics["system_total_processor_count"].desc, prometheus.GaugeValue, float64(*system.ProcessorSummary.Count), systemLabelValues...) + ch <- prometheus.MustNewConstMetric(s.metrics["system_total_processor_count"].Desc, prometheus.GaugeValue, float64(*system.ProcessorSummary.Count), systemLabelValues...) } } - if systemTotalProcessorsHealthStateValue, ok := parseCommonStatusHealth(systemTotalProcessorsHealthState); ok { - ch <- prometheus.MustNewConstMetric(s.metrics["system_total_processor_health_state"].desc, prometheus.GaugeValue, systemTotalProcessorsHealthStateValue, systemLabelValues...) + if systemTotalProcessorsHealthStateValue, ok := common.ParseCommonStatusHealth(systemTotalProcessorsHealthState); ok { + ch <- prometheus.MustNewConstMetric(s.metrics["system_total_processor_health_state"].Desc, prometheus.GaugeValue, systemTotalProcessorsHealthStateValue, systemLabelValues...) } - if systemTotalMemoryStateValue, ok := parseCommonStatusState(systemTotalMemoryState); ok { - ch <- prometheus.MustNewConstMetric(s.metrics["system_total_memory_state"].desc, prometheus.GaugeValue, systemTotalMemoryStateValue, systemLabelValues...) + if systemTotalMemoryStateValue, ok := common.ParseCommonStatusState(systemTotalMemoryState); ok { + ch <- prometheus.MustNewConstMetric(s.metrics["system_total_memory_state"].Desc, prometheus.GaugeValue, systemTotalMemoryStateValue, systemLabelValues...) if system.MemorySummary.TotalSystemMemoryGiB != nil { - ch <- prometheus.MustNewConstMetric(s.metrics["system_total_memory_size"].desc, prometheus.GaugeValue, float64(*system.MemorySummary.TotalSystemMemoryGiB), systemLabelValues...) + ch <- prometheus.MustNewConstMetric(s.metrics["system_total_memory_size"].Desc, prometheus.GaugeValue, float64(*system.MemorySummary.TotalSystemMemoryGiB), systemLabelValues...) } } - if systemTotalMemoryHealthStateValue, ok := parseCommonStatusHealth(systemTotalMemoryHealthState); ok { - ch <- prometheus.MustNewConstMetric(s.metrics["system_total_memory_health_state"].desc, prometheus.GaugeValue, systemTotalMemoryHealthStateValue, systemLabelValues...) + if systemTotalMemoryHealthStateValue, ok := common.ParseCommonStatusHealth(systemTotalMemoryHealthState); ok { + ch <- prometheus.MustNewConstMetric(s.metrics["system_total_memory_health_state"].Desc, prometheus.GaugeValue, systemTotalMemoryHealthStateValue, systemLabelValues...) } // get system OdataID @@ -247,7 +248,7 @@ func (s *SystemCollector) Collect(ch chan<- prometheus.Metric) { wg10.Add(len(logServices)) for _, logService := range logServices { - if err = parseLogService(ch, systemMetrics, s.Ctx, systemLogContext, SystemSubsystem, SystemID, logService, wg10); err != nil { + if err = common.ParseLogService(ch, systemMetrics, s.Ctx, systemLogContext, SystemSubsystem, SystemID, logService, wg10); err != nil { systemLogContext.Error("error getting log entries from log service", "operation", "system.LogServices()", "err", err) } } @@ -475,14 +476,14 @@ func parseMemory(ch chan<- prometheus.Metric, systemHostName string, memory *sch memoryHealthState := memory.Status.Health systemMemoryLabelValues := []string{systemHostName, "memory", memoryName, memoryID} - if memoryStateValue, ok := parseCommonStatusState(memoryState); ok { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_memory_state"].desc, prometheus.GaugeValue, memoryStateValue, systemMemoryLabelValues...) + if memoryStateValue, ok := common.ParseCommonStatusState(memoryState); ok { + ch <- prometheus.MustNewConstMetric(systemMetrics["system_memory_state"].Desc, prometheus.GaugeValue, memoryStateValue, systemMemoryLabelValues...) } - if memoryHealthStateValue, ok := parseCommonStatusHealth(memoryHealthState); ok { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_memory_health_state"].desc, prometheus.GaugeValue, memoryHealthStateValue, systemMemoryLabelValues...) + if memoryHealthStateValue, ok := common.ParseCommonStatusHealth(memoryHealthState); ok { + ch <- prometheus.MustNewConstMetric(systemMetrics["system_memory_health_state"].Desc, prometheus.GaugeValue, memoryHealthStateValue, systemMemoryLabelValues...) } if memory.CapacityMiB != nil { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_memory_capacity"].desc, prometheus.GaugeValue, float64(*memory.CapacityMiB), systemMemoryLabelValues...) + ch <- prometheus.MustNewConstMetric(systemMetrics["system_memory_capacity"].Desc, prometheus.GaugeValue, float64(*memory.CapacityMiB), systemMemoryLabelValues...) } } @@ -491,23 +492,23 @@ func parseProcessor(ch chan<- prometheus.Metric, systemHostName string, processo systemProcessorLabelValues := []string{systemHostName, "processor", processor.Name, processor.ID} - if processorStateValue, ok := parseCommonStatusState(processor.Status.State); ok { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_processor_state"].desc, prometheus.GaugeValue, processorStateValue, systemProcessorLabelValues...) + if processorStateValue, ok := common.ParseCommonStatusState(processor.Status.State); ok { + ch <- prometheus.MustNewConstMetric(systemMetrics["system_processor_state"].Desc, prometheus.GaugeValue, processorStateValue, systemProcessorLabelValues...) } - if processorHealthStateValue, ok := parseCommonStatusHealth(processor.Status.Health); ok { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_processor_health_state"].desc, prometheus.GaugeValue, processorHealthStateValue, systemProcessorLabelValues...) + if processorHealthStateValue, ok := common.ParseCommonStatusHealth(processor.Status.Health); ok { + ch <- prometheus.MustNewConstMetric(systemMetrics["system_processor_health_state"].Desc, prometheus.GaugeValue, processorHealthStateValue, systemProcessorLabelValues...) } if processor.TotalThreads != nil { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_processor_total_threads"].desc, prometheus.GaugeValue, float64(*processor.TotalThreads), systemProcessorLabelValues...) + ch <- prometheus.MustNewConstMetric(systemMetrics["system_processor_total_threads"].Desc, prometheus.GaugeValue, float64(*processor.TotalThreads), systemProcessorLabelValues...) } if processor.TotalEnabledThreads != nil { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_processor_total_threads_enabled"].desc, prometheus.GaugeValue, float64(*processor.TotalThreads), systemProcessorLabelValues...) + ch <- prometheus.MustNewConstMetric(systemMetrics["system_processor_total_threads_enabled"].Desc, prometheus.GaugeValue, float64(*processor.TotalThreads), systemProcessorLabelValues...) } if processor.TotalCores != nil { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_processor_total_cores"].desc, prometheus.GaugeValue, float64(*processor.TotalCores), systemProcessorLabelValues...) + ch <- prometheus.MustNewConstMetric(systemMetrics["system_processor_total_cores"].Desc, prometheus.GaugeValue, float64(*processor.TotalCores), systemProcessorLabelValues...) } if processor.TotalEnabledCores != nil { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_processor_total_cores_enabled"].desc, prometheus.GaugeValue, float64(*processor.TotalCores), systemProcessorLabelValues...) + ch <- prometheus.MustNewConstMetric(systemMetrics["system_processor_total_cores_enabled"].Desc, prometheus.GaugeValue, float64(*processor.TotalCores), systemProcessorLabelValues...) } } func parseVolume(ch chan<- prometheus.Metric, systemHostName string, volume *schemas.Volume, wg *sync.WaitGroup) { @@ -517,14 +518,14 @@ func parseVolume(ch chan<- prometheus.Metric, systemHostName string, volume *sch volumeState := volume.Status.State volumeHealthState := volume.Status.Health systemVolumeLabelValues := []string{systemHostName, "volume", volumeName, volumeID} - if volumeStateValue, ok := parseCommonStatusState(volumeState); ok { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_storage_volume_state"].desc, prometheus.GaugeValue, volumeStateValue, systemVolumeLabelValues...) + if volumeStateValue, ok := common.ParseCommonStatusState(volumeState); ok { + ch <- prometheus.MustNewConstMetric(systemMetrics["system_storage_volume_state"].Desc, prometheus.GaugeValue, volumeStateValue, systemVolumeLabelValues...) } - if volumeHealthStateValue, ok := parseCommonStatusHealth(volumeHealthState); ok { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_storage_volume_health_state"].desc, prometheus.GaugeValue, volumeHealthStateValue, systemVolumeLabelValues...) + if volumeHealthStateValue, ok := common.ParseCommonStatusHealth(volumeHealthState); ok { + ch <- prometheus.MustNewConstMetric(systemMetrics["system_storage_volume_health_state"].Desc, prometheus.GaugeValue, volumeHealthStateValue, systemVolumeLabelValues...) } if volume.CapacityBytes != nil { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_storage_volume_capacity"].desc, prometheus.GaugeValue, float64(*volume.CapacityBytes), systemVolumeLabelValues...) + ch <- prometheus.MustNewConstMetric(systemMetrics["system_storage_volume_capacity"].Desc, prometheus.GaugeValue, float64(*volume.CapacityBytes), systemVolumeLabelValues...) } } func parseDevice(ch chan<- prometheus.Metric, systemHostName string, device schemas.Device, wg *sync.WaitGroup) { @@ -533,11 +534,11 @@ func parseDevice(ch chan<- prometheus.Metric, systemHostName string, device sche deviceState := device.Status.State deviceHealthState := device.Status.Health systemDeviceLabelValues := []string{systemHostName, "device", deviceName} - if deviceStateValue, ok := parseCommonStatusState(deviceState); ok { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_simple_storage_device_state"].desc, prometheus.GaugeValue, deviceStateValue, systemDeviceLabelValues...) + if deviceStateValue, ok := common.ParseCommonStatusState(deviceState); ok { + ch <- prometheus.MustNewConstMetric(systemMetrics["system_simple_storage_device_state"].Desc, prometheus.GaugeValue, deviceStateValue, systemDeviceLabelValues...) } - if deviceHealthStateValue, ok := parseCommonStatusHealth(deviceHealthState); ok { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_simple_storage_device_health_state"].desc, prometheus.GaugeValue, deviceHealthStateValue, systemDeviceLabelValues...) + if deviceHealthStateValue, ok := common.ParseCommonStatusHealth(deviceHealthState); ok { + ch <- prometheus.MustNewConstMetric(systemMetrics["system_simple_storage_device_health_state"].Desc, prometheus.GaugeValue, deviceHealthStateValue, systemDeviceLabelValues...) } } func parseDrive(ch chan<- prometheus.Metric, systemHostName string, drive *schemas.Drive, wg *sync.WaitGroup) { @@ -547,14 +548,14 @@ func parseDrive(ch chan<- prometheus.Metric, systemHostName string, drive *schem driveState := drive.Status.State driveHealthState := drive.Status.Health systemdriveLabelValues := []string{systemHostName, "drive", driveName, driveID} - if driveStateValue, ok := parseCommonStatusState(driveState); ok { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_storage_drive_state"].desc, prometheus.GaugeValue, driveStateValue, systemdriveLabelValues...) + if driveStateValue, ok := common.ParseCommonStatusState(driveState); ok { + ch <- prometheus.MustNewConstMetric(systemMetrics["system_storage_drive_state"].Desc, prometheus.GaugeValue, driveStateValue, systemdriveLabelValues...) } - if driveHealthStateValue, ok := parseCommonStatusHealth(driveHealthState); ok { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_storage_drive_health_state"].desc, prometheus.GaugeValue, driveHealthStateValue, systemdriveLabelValues...) + if driveHealthStateValue, ok := common.ParseCommonStatusHealth(driveHealthState); ok { + ch <- prometheus.MustNewConstMetric(systemMetrics["system_storage_drive_health_state"].Desc, prometheus.GaugeValue, driveHealthStateValue, systemdriveLabelValues...) } if drive.CapacityBytes != nil { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_storage_drive_capacity"].desc, prometheus.GaugeValue, float64(*drive.CapacityBytes), systemdriveLabelValues...) + ch <- prometheus.MustNewConstMetric(systemMetrics["system_storage_drive_capacity"].Desc, prometheus.GaugeValue, float64(*drive.CapacityBytes), systemdriveLabelValues...) } } @@ -569,11 +570,11 @@ func parsePcieDevice(ch chan<- prometheus.Metric, systemHostName string, pcieDev pcieSerialNumber := pcieDevice.SerialNumber systemPCIeDeviceLabelValues := []string{systemHostName, "pcie_device", pcieDeviceName, pcieDeviceID, pcieDevicePartNumber, pcieDeviceType, pcieSerialNumber} - if pcieStateVaule, ok := parseCommonStatusState(pcieDeviceState); ok { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_pcie_device_state"].desc, prometheus.GaugeValue, pcieStateVaule, systemPCIeDeviceLabelValues...) + if pcieStateVaule, ok := common.ParseCommonStatusState(pcieDeviceState); ok { + ch <- prometheus.MustNewConstMetric(systemMetrics["system_pcie_device_state"].Desc, prometheus.GaugeValue, pcieStateVaule, systemPCIeDeviceLabelValues...) } - if pcieHealthStateVaule, ok := parseCommonStatusHealth(pcieDeviceHealthState); ok { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_pcie_device_health_state"].desc, prometheus.GaugeValue, pcieHealthStateVaule, systemPCIeDeviceLabelValues...) + if pcieHealthStateVaule, ok := common.ParseCommonStatusHealth(pcieDeviceHealthState); ok { + ch <- prometheus.MustNewConstMetric(systemMetrics["system_pcie_device_health_state"].Desc, prometheus.GaugeValue, pcieHealthStateVaule, systemPCIeDeviceLabelValues...) } } @@ -585,11 +586,11 @@ func parseNetworkInterface(ch chan<- prometheus.Metric, systemHostName string, n networkInterfaceHealthState := networkInterface.Status.Health systemNetworkInterfaceLabelValues := []string{systemHostName, "network_interface", networkInterfaceName, networkInterfaceID} - if networknetworkInterfaceStateVaule, ok := parseCommonStatusState(networkInterfaceState); ok { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_network_interface_state"].desc, prometheus.GaugeValue, networknetworkInterfaceStateVaule, systemNetworkInterfaceLabelValues...) + if networknetworkInterfaceStateVaule, ok := common.ParseCommonStatusState(networkInterfaceState); ok { + ch <- prometheus.MustNewConstMetric(systemMetrics["system_network_interface_state"].Desc, prometheus.GaugeValue, networknetworkInterfaceStateVaule, systemNetworkInterfaceLabelValues...) } - if networknetworkInterfaceHealthStateVaule, ok := parseCommonStatusHealth(networkInterfaceHealthState); ok { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_network_interface_health_state"].desc, prometheus.GaugeValue, networknetworkInterfaceHealthStateVaule, systemNetworkInterfaceLabelValues...) + if networknetworkInterfaceHealthStateVaule, ok := common.ParseCommonStatusHealth(networkInterfaceHealthState); ok { + ch <- prometheus.MustNewConstMetric(systemMetrics["system_network_interface_health_state"].Desc, prometheus.GaugeValue, networknetworkInterfaceHealthStateVaule, systemNetworkInterfaceLabelValues...) } } @@ -605,17 +606,37 @@ func parseEthernetInterface(ch chan<- prometheus.Metric, systemHostName string, ethernetInterfaceState := ethernetInterface.Status.State ethernetInterfaceHealthState := ethernetInterface.Status.Health systemEthernetInterfaceLabelValues := []string{systemHostName, "ethernet_interface", ethernetInterfaceName, ethernetInterfaceID, ethernetInterfaceSpeed} - if ethernetInterfaceStateValue, ok := parseCommonStatusState(ethernetInterfaceState); ok { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_ethernet_interface_state"].desc, prometheus.GaugeValue, ethernetInterfaceStateValue, systemEthernetInterfaceLabelValues...) + if ethernetInterfaceStateValue, ok := common.ParseCommonStatusState(ethernetInterfaceState); ok { + ch <- prometheus.MustNewConstMetric(systemMetrics["system_ethernet_interface_state"].Desc, prometheus.GaugeValue, ethernetInterfaceStateValue, systemEthernetInterfaceLabelValues...) } - if ethernetInterfaceHealthStateValue, ok := parseCommonStatusHealth(ethernetInterfaceHealthState); ok { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_ethernet_interface_health_state"].desc, prometheus.GaugeValue, ethernetInterfaceHealthStateValue, systemEthernetInterfaceLabelValues...) + if ethernetInterfaceHealthStateValue, ok := common.ParseCommonStatusHealth(ethernetInterfaceHealthState); ok { + ch <- prometheus.MustNewConstMetric(systemMetrics["system_ethernet_interface_health_state"].Desc, prometheus.GaugeValue, ethernetInterfaceHealthStateValue, systemEthernetInterfaceLabelValues...) } if ethernetInterfaceLinkStatusValue, ok := parseLinkStatus(ethernetInterfaceLinkStatus); ok { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_ethernet_interface_link_status"].desc, prometheus.GaugeValue, ethernetInterfaceLinkStatusValue, systemEthernetInterfaceLabelValues...) + ch <- prometheus.MustNewConstMetric(systemMetrics["system_ethernet_interface_link_status"].Desc, prometheus.GaugeValue, ethernetInterfaceLinkStatusValue, systemEthernetInterfaceLabelValues...) } - ch <- prometheus.MustNewConstMetric(systemMetrics["system_ethernet_interface_link_enabled"].desc, prometheus.GaugeValue, boolToFloat64(ethernetInterfaceEnabled), systemEthernetInterfaceLabelValues...) + ch <- prometheus.MustNewConstMetric(systemMetrics["system_ethernet_interface_link_enabled"].Desc, prometheus.GaugeValue, boolToFloat64(ethernetInterfaceEnabled), systemEthernetInterfaceLabelValues...) +} + +func parseLinkStatus(status schemas.LinkStatus) (float64, bool) { + if bytes.Equal([]byte(status), []byte("LinkUp")) { + return float64(1), true + } else if bytes.Equal([]byte(status), []byte("NoLink")) { + return float64(2), true + } else if bytes.Equal([]byte(status), []byte("LinkDown")) { + return float64(3), true + } + return float64(0), false +} + +func boolToFloat64(data bool) float64 { + + if data { + return float64(1) + } + return float64(0) + } func parsePcieFunction(ch chan<- prometheus.Metric, systemHostName string, pcieFunction *schemas.PCIeFunction, wg *sync.WaitGroup) { @@ -629,11 +650,11 @@ func parsePcieFunction(ch chan<- prometheus.Metric, systemHostName string, pcieF systemPCIeFunctionLabelLabelValues := []string{systemHostName, "pcie_function", pcieFunctionName, pcieFunctionID, pciFunctionDeviceclass, pciFunctionType} - if pciFunctionStateValue, ok := parseCommonStatusState(pciFunctionState); ok { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_pcie_function_state"].desc, prometheus.GaugeValue, pciFunctionStateValue, systemPCIeFunctionLabelLabelValues...) + if pciFunctionStateValue, ok := common.ParseCommonStatusState(pciFunctionState); ok { + ch <- prometheus.MustNewConstMetric(systemMetrics["system_pcie_function_state"].Desc, prometheus.GaugeValue, pciFunctionStateValue, systemPCIeFunctionLabelLabelValues...) } - if pciFunctionHealthStateValue, ok := parseCommonStatusHealth(pciFunctionHealthState); ok { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_pcie_function_health_state"].desc, prometheus.GaugeValue, pciFunctionHealthStateValue, systemPCIeFunctionLabelLabelValues...) + if pciFunctionHealthStateValue, ok := common.ParseCommonStatusHealth(pciFunctionHealthState); ok { + ch <- prometheus.MustNewConstMetric(systemMetrics["system_pcie_function_health_state"].Desc, prometheus.GaugeValue, pciFunctionHealthStateValue, systemPCIeFunctionLabelLabelValues...) } } diff --git a/collector/test_helpers.go b/collector/test_helpers.go index 4047e964..4a77b6ff 100644 --- a/collector/test_helpers.go +++ b/collector/test_helpers.go @@ -37,7 +37,6 @@ func CreateStaticBMC(t *testing.T, path string, collect_logs bool) *RedfishColle targetLoggerCtx := promslog.New(&promslogConfig) - hostConfig := common.HostConfig { Collectlogs: collect_logs, } diff --git a/collector/common_collector.go b/common/collector.go similarity index 64% rename from collector/common_collector.go rename to common/collector.go index 6da14b70..62a745fc 100644 --- a/collector/common_collector.go +++ b/common/collector.go @@ -1,4 +1,4 @@ -package collector +package common import ( "fmt" @@ -6,28 +6,27 @@ import ( "sync" "github.com/prometheus/client_golang/prometheus" - redfish_common "github.com/stackhpc/redfish_exporter/common" "github.com/stmcginnis/gofish/schemas" ) const ( - CommonStateHelp = "1(Enabled),2(Disabled),3(StandbyOffinline),4(StandbySpare),5(InTest),6(Starting),7(Absent),8(UnavailableOffline),9(Deferring),10(Quiesced),11(Updating)" - CommonHealthHelp = "1(OK),2(Warning),3(Critical)" - CommonSeverityHelp = CommonHealthHelp - CommonLinkHelp = "1(LinkUp),2(NoLink),3(LinkDown)" - CommonPortLinkHelp = "1(Up),0(Down)" - CommonIntrusionSensorHelp = "1(Normal),2(TamperingDetected),3(HardwareIntrusion)" + StateHelp = "1(Enabled),2(Disabled),3(StandbyOffinline),4(StandbySpare),5(InTest),6(Starting),7(Absent),8(UnavailableOffline),9(Deferring),10(Quiesced),11(Updating)" + HealthHelp = "1(OK),2(Warning),3(Critical)" + SeverityHelp = HealthHelp + LinkHelp = "1(LinkUp),2(NoLink),3(LinkDown)" + PortLinkHelp = "1(Up),0(Down)" + IntrusionSensorHelp = "1(Normal),2(TamperingDetected),3(HardwareIntrusion)" ) type Metric struct { - desc *prometheus.Desc + Desc *prometheus.Desc } -func addToMetricMap(metricMap map[string]Metric, subsystem, name, help string, variableLabels []string) { +func AddToMetricMap(metricMap map[string]Metric, subsystem, name, help string, variableLabels []string) { metricKey := fmt.Sprintf("%s_%s", subsystem, name) metricMap[metricKey] = Metric{ - desc: prometheus.NewDesc( - prometheus.BuildFQName(namespace, subsystem, name), + Desc: prometheus.NewDesc( + prometheus.BuildFQName(Namespace, subsystem, name), help, variableLabels, nil, @@ -35,7 +34,7 @@ func addToMetricMap(metricMap map[string]Metric, subsystem, name, help string, v } } -func parseLogService(ch chan<- prometheus.Metric, metrics map[string]Metric, ctx *redfish_common.CollectionContext, logger *slog.Logger, subsystem, collectorID string, logService *schemas.LogService, wg *sync.WaitGroup) (err error) { +func ParseLogService(ch chan<- prometheus.Metric, metrics map[string]Metric, ctx *CollectionContext, logger *slog.Logger, subsystem, collectorID string, logService *schemas.LogService, wg *sync.WaitGroup) (err error) { defer wg.Done() logServiceName := logService.Name logServiceID := logService.ID @@ -46,11 +45,11 @@ func parseLogService(ch chan<- prometheus.Metric, metrics map[string]Metric, ctx logServiceLabelValues := []string{collectorID, logServiceName, logServiceID, logServiceEnabled, logServiceOverWritePolicy} - if logServiceStateValue, ok := parseCommonStatusState(logServiceState); ok { - ch <- prometheus.MustNewConstMetric(metrics[fmt.Sprintf("%s_%s", subsystem, "log_service_state")].desc, prometheus.GaugeValue, logServiceStateValue, logServiceLabelValues...) + if logServiceStateValue, ok := ParseCommonStatusState(logServiceState); ok { + ch <- prometheus.MustNewConstMetric(metrics[fmt.Sprintf("%s_%s", subsystem, "log_service_state")].Desc, prometheus.GaugeValue, logServiceStateValue, logServiceLabelValues...) } - if logServiceHealthStateValue, ok := parseCommonStatusHealth(logServiceHealthState); ok { - ch <- prometheus.MustNewConstMetric(metrics[fmt.Sprintf("%s_%s", subsystem, "log_service_health_state")].desc, prometheus.GaugeValue, logServiceHealthStateValue, logServiceLabelValues...) + if logServiceHealthStateValue, ok := ParseCommonStatusHealth(logServiceHealthState); ok { + ch <- prometheus.MustNewConstMetric(metrics[fmt.Sprintf("%s_%s", subsystem, "log_service_health_state")].Desc, prometheus.GaugeValue, logServiceHealthStateValue, logServiceLabelValues...) } var ( logEntries []*schemas.LogEntry @@ -82,13 +81,13 @@ func parseLogService(ch chan<- prometheus.Metric, metrics map[string]Metric, ctx wg2.Done() continue } - go parseLogEntry(ch, metrics[fmt.Sprintf("%s_%s", subsystem, "log_entry_severity_state")].desc, collectorID, logServiceName, logServiceID, logEntry, wg2) + go ParseLogEntry(ch, metrics[fmt.Sprintf("%s_%s", subsystem, "log_entry_severity_state")].Desc, collectorID, logServiceName, logServiceID, logEntry, wg2) processed[logEntry.MessageID] = true } return } -func parseLogEntry(ch chan<- prometheus.Metric, desc *prometheus.Desc, collectorID, logServiceName, logServiceID string, logEntry *schemas.LogEntry, wg *sync.WaitGroup) { +func ParseLogEntry(ch chan<- prometheus.Metric, desc *prometheus.Desc, collectorID, logServiceName, logServiceID string, logEntry *schemas.LogEntry, wg *sync.WaitGroup) { defer wg.Done() logEntryName := logEntry.Name logEntryID := logEntry.ID @@ -101,7 +100,7 @@ func parseLogEntry(ch chan<- prometheus.Metric, desc *prometheus.Desc, collector logEntryLabelValues := []string{collectorID, logServiceName, logServiceID, logEntryName, logEntryID, logEntryCode, logEntryType, logEntryMessageID, logEntrySensorNumber, logEntrySensorType} - if logEntrySeverityStateValue, ok := parseCommonSeverityState(logEntrySeverityState); ok { + if logEntrySeverityStateValue, ok := ParseCommonSeverityState(logEntrySeverityState); ok { ch <- prometheus.MustNewConstMetric(desc, prometheus.GaugeValue, logEntrySeverityStateValue, logEntryLabelValues...) } } diff --git a/common/context.go b/common/context.go index 8421a9b6..83e8912f 100644 --- a/common/context.go +++ b/common/context.go @@ -7,6 +7,16 @@ import ( gofish "github.com/stmcginnis/gofish" ) +// Metric name parts. +const ( + // Exporter namespace. + Namespace = "redfish" + // Subsystem(s). + exporter = "exporter" + // Math constant for picoseconds to seconds. + picoSeconds = 1e12 +) + type CollectionContext struct { RedfishClient *gofish.APIClient CollectLogs bool diff --git a/common/redfish.go b/common/redfish.go new file mode 100644 index 00000000..58aafa02 --- /dev/null +++ b/common/redfish.go @@ -0,0 +1,72 @@ +package common + +import ( + "bytes" + + "github.com/stmcginnis/gofish/schemas" +) + +func ParseCommonStatusHealth(status schemas.Health) (float64, bool) { + if bytes.Equal([]byte(status), []byte("OK")) { + return float64(1), true + } else if bytes.Equal([]byte(status), []byte("Warning")) { + return float64(2), true + } else if bytes.Equal([]byte(status), []byte("Critical")) { + return float64(3), true + } + return float64(0), false +} + +func ParseCommonStatusState(status schemas.State) (float64, bool) { + + if bytes.Equal([]byte(status), []byte("")) { + return float64(0), false + } else if bytes.Equal([]byte(status), []byte("Enabled")) { + return float64(1), true + } else if bytes.Equal([]byte(status), []byte("Disabled")) { + return float64(2), true + } else if bytes.Equal([]byte(status), []byte("StandbyOffinline")) { + return float64(3), true + } else if bytes.Equal([]byte(status), []byte("StandbySpare")) { + return float64(4), true + } else if bytes.Equal([]byte(status), []byte("InTest")) { + return float64(5), true + } else if bytes.Equal([]byte(status), []byte("Starting")) { + return float64(6), true + } else if bytes.Equal([]byte(status), []byte("Absent")) { + return float64(7), true + } else if bytes.Equal([]byte(status), []byte("UnavailableOffline")) { + return float64(8), true + } else if bytes.Equal([]byte(status), []byte("Deferring")) { + return float64(9), true + } else if bytes.Equal([]byte(status), []byte("Quiesced")) { + return float64(10), true + } else if bytes.Equal([]byte(status), []byte("Updating")) { + return float64(11), true + } + return float64(0), false +} + +func ParseCommonSeverityState(severity schemas.EventSeverity) (float64, bool) { + if bytes.Equal([]byte(severity), []byte("OK")) { + return float64(1), true + } else if bytes.Equal([]byte(severity), []byte("Warning")) { + return float64(2), true + } else if bytes.Equal([]byte(severity), []byte("Critical")) { + return float64(3), true + } + return float64(0), false +} + +func ParseCommonPowerState(status schemas.PowerState) (float64, bool) { + if bytes.Equal([]byte(status), []byte("On")) { + return float64(1), true + } else if bytes.Equal([]byte(status), []byte("Off")) { + return float64(2), true + } else if bytes.Equal([]byte(status), []byte("PoweringOn")) { + return float64(3), true + } else if bytes.Equal([]byte(status), []byte("PoweringOff")) { + return float64(4), true + } + return float64(0), false +} diff --git a/go.mod b/go.mod index 1bea9c86..a016ae4a 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.27 require ( github.com/alecthomas/kingpin/v2 v2.4.0 github.com/prometheus/client_golang v1.25.0 - github.com/prometheus/common v0.72.0 + github.com/prometheus/common v0.72.1 github.com/prometheus/exporter-toolkit v0.20.0 github.com/stmcginnis/gofish v0.27.0 github.com/stretchr/testify v1.12.1 @@ -72,12 +72,12 @@ require ( go.opentelemetry.io/otel/trace v1.44.0 // indirect go.yaml.in/yaml/v2 v2.4.4 // indirect go.yaml.in/yaml/v3 v3.0.5 // indirect - golang.org/x/crypto v0.57.0 // indirect - golang.org/x/net v0.59.0 // indirect + golang.org/x/crypto v0.58.0 // indirect + golang.org/x/net v0.61.0 // indirect golang.org/x/oauth2 v0.37.0 // indirect - golang.org/x/sync v0.23.0 // indirect - golang.org/x/sys v0.48.0 // indirect - golang.org/x/text v0.42.0 // indirect + golang.org/x/sync v0.24.0 // indirect + golang.org/x/sys v0.49.0 // indirect + golang.org/x/text v0.43.0 // indirect golang.org/x/time v0.15.0 // indirect google.golang.org/protobuf v1.36.12 // indirect ) diff --git a/go.sum b/go.sum index c4794af2..6f1cecb9 100644 --- a/go.sum +++ b/go.sum @@ -109,6 +109,8 @@ github.com/prometheus/client_model v0.6.3 h1:O0jaTVAYNxTHYInEPFJt5I3+sN8zqBtVMPT github.com/prometheus/client_model v0.6.3/go.mod h1:gpN5P9S7Rr6Yr92PiQ+Ixvhf6JZEkF1dnxsYL2aPBEM= github.com/prometheus/common v0.72.0 h1:tAYsE+sPJxIncDAobm4H5aQjmox9ZxEIIqPbiffa8G4= github.com/prometheus/common v0.72.0/go.mod h1:77NWqAQ2tXT7BIK40qjJdw5Acrsrg1TlHAnsQi3i6mk= +github.com/prometheus/common v0.72.1 h1:ZAiQed/nk8IIcsdzb2TlJu23NEUDyDLQ9TXTN2WRK6Y= +github.com/prometheus/common v0.72.1/go.mod h1:1IoBY4IRaJnhs2ESjNzjilP1cJ/P8pimGoomq7zRXrA= github.com/prometheus/exporter-toolkit v0.20.0 h1:hz3g2aPcq3mXlQSt1MGjj2rwVk1wtRalF+/FjYxFRkI= github.com/prometheus/exporter-toolkit v0.20.0/go.mod h1:gIIY0Mw0ci1wgYscdeMqVh6FUPYJca549eOkE39nU64= github.com/prometheus/procfs v0.22.0 h1:6q9+/JL9IKAPbCmBrv9n5O5Ty3NKnciV5X7YGw0oics= @@ -165,22 +167,33 @@ go.yaml.in/yaml/v3 v3.0.5 h1:N6y/pJk8buWs9NY5ERU2HSMfm+IuD/OtfdAnq6kESPw= go.yaml.in/yaml/v3 v3.0.5/go.mod h1:HVTZu1O7/Vkt2N+BFy8Zza+lnLsABggaTM2ZpNIGuKg= golang.org/x/crypto v0.57.0 h1:3ZVCjf8Ggz7zneR/EHRVx68Ctf+2pmIMP2UFhh9cC6M= golang.org/x/crypto v0.57.0/go.mod h1:Fdz0i5U6CoizGwLda9DttjSk6qlZo25zYNtR+ycvuZA= +golang.org/x/crypto v0.58.0 h1:COkYLr4k7nDI4r6QtMML2AfzeIswWHAJthLS6K/M/54= +golang.org/x/crypto v0.58.0/go.mod h1:Xh+kl5A+M0gMiWDytH2Hhr5Z7WbNCpv/eB/EFgfSk+w= golang.org/x/net v0.59.0 h1:5zfYln+w5XCxwrnMMJPufRgNoXEaGxl0wo5GqPXyues= golang.org/x/net v0.59.0/go.mod h1:2DA/G1UfVbCpQPeWTmMPGY7Cs2PkBkwu743bVX5PIVg= +golang.org/x/net v0.61.0 h1:RR+6j/BTBCrggOLugxa+66R8FvoN6MHlzDlZIbN9YFw= +golang.org/x/net v0.61.0/go.mod h1:WgDCOTH8iwtB66T4/GfI94AHo/hhdb7Hah9NDseQfiI= golang.org/x/oauth2 v0.37.0 h1:JUlcxA8oAtauLfiH8FX2/FkAWHAdi0QtGCGc+hofE98= golang.org/x/oauth2 v0.37.0/go.mod h1:IxwZNxUULJmpBFf9K/9NTMSIfZZuvuTy1gGxhigP/58= golang.org/x/sync v0.23.0 h1:KameEIfc1IkluZyXWLn39Wd4tURc6GbCiISGiZm2bQk= golang.org/x/sync v0.23.0/go.mod h1:sUUOizhqBxiL6pEWpqNLUiaJn1ShEbZ6BBqskPbjZm0= +golang.org/x/sync v0.24.0 h1:iqiDrGoDgyuvAKrhLQthUEzU/R378N78gXbBjxed7oA= +golang.org/x/sync v0.24.0/go.mod h1:sUUOizhqBxiL6pEWpqNLUiaJn1ShEbZ6BBqskPbjZm0= golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.48.0 h1:bbX/i/6MgT9BVLM9RT1thmxL04yeTAhbEz4SyadbXoo= golang.org/x/sys v0.48.0/go.mod h1:hNLxWAXmnKAxqDtdwIYC4bM9oQPEecfsnNMuSxOs3og= +golang.org/x/sys v0.49.0 h1:XbzkgYJHdqh/8m2Uu0W/dQv8nktxx4BFHp1M0gROTXA= +golang.org/x/sys v0.49.0/go.mod h1:hNLxWAXmnKAxqDtdwIYC4bM9oQPEecfsnNMuSxOs3og= golang.org/x/term v0.46.0 h1:3+OXuTbaKDgwk8jTi3aSLHRlmWqHEUDUtxnbFigO4YE= golang.org/x/term v0.46.0/go.mod h1:+K02xbkittuwc0Am4abfA3Fc+XRGXkvBXNO88NCXPoc= +golang.org/x/term v0.47.0 h1:cpyOwQkr2Nzxe2p6KnrTG7Ei2wtzjsuSjhpXXepZ/BM= golang.org/x/text v0.42.0 h1:JbOZXgfeCPU9gacVtYliJqOhD+zhrEqK4LfdpmlUZqI= golang.org/x/text v0.42.0/go.mod h1:ojzP1Z+2QtioaF8DTtO8K5q7JWVVYwZKenzujK0Zd0E= +golang.org/x/text v0.43.0 h1:1QivrlhwAsnMOcqgOdl9my7s9OyZl8O5/UGUTJVXoWc= +golang.org/x/text v0.43.0/go.mod h1:hbSIYA/amXcRXTFSZqh8tWHEoqRvvbKPJ2uz/KU+a+s= golang.org/x/time v0.15.0 h1:bbrp8t3bGUeFOx08pvsMYRTCVSMk89u4tKbNOZbp88U= golang.org/x/time v0.15.0/go.mod h1:Y4YMaQmXwGQZoFaVFk4YpCt4FLQMYKZe9oeV/f4MSno= google.golang.org/protobuf v1.36.12 h1:pJOKDDOyeXErUroCihFAd5LQuwXBSpVnKGrj5o/fwxc= From 83f0ac2d58f287626f92a56cbaa2b9237aee66ba Mon Sep 17 00:00:00 2001 From: MurrayGroves Date: Mon, 26 Oct 2026 09:29:10 +0000 Subject: [PATCH 03/33] Split thermal collector into sub-package, test it against DSP2043 --- collector/chassis/collector.go | 162 +-------------- collector/chassis/thermal/collector.go | 206 ++++++++++++++++++++ collector/chassis/thermal/collector_test.go | 62 ++++++ collector/test_helpers.go | 3 +- common/test/helpers.go | 91 +++++++++ go.mod | 2 + go.sum | 15 +- 7 files changed, 371 insertions(+), 170 deletions(-) create mode 100644 collector/chassis/thermal/collector.go create mode 100644 collector/chassis/thermal/collector_test.go create mode 100644 common/test/helpers.go diff --git a/collector/chassis/collector.go b/collector/chassis/collector.go index 6f3deff5..f785a5e9 100755 --- a/collector/chassis/collector.go +++ b/collector/chassis/collector.go @@ -4,12 +4,12 @@ import ( "bytes" "fmt" "log/slog" - "strings" "sync" "github.com/prometheus/client_golang/prometheus" "github.com/stmcginnis/gofish/schemas" + "github.com/stackhpc/redfish_exporter/collector/chassis/thermal" "github.com/stackhpc/redfish_exporter/common" ) @@ -18,8 +18,6 @@ var ( ChassisSubsystem = "chassis" ChassisLabelNames = []string{"resource", "chassis_id"} ChassisModel = []string{"resource", "chassis_id", "manufacturer", "model", "part_number", "sku"} - ChassisTemperatureLabelNames = []string{"resource", "chassis_id", "sensor", "sensor_id"} - ChassisFanLabelNames = []string{"resource", "chassis_id", "fan", "fan_id", "fan_unit"} ChassisPowerVoltageLabelNames = []string{"resource", "chassis_id", "power_voltage", "power_voltage_id"} ChassisPowerSupplyLabelNames = []string{"resource", "chassis_id", "power_supply", "power_supply_id"} ChassisNetworkAdapterLabelNames = []string{"resource", "chassis_id", "network_adapter", "network_adapter_id"} @@ -38,6 +36,7 @@ type ChassisCollector struct { metrics map[string]common.Metric collectorScrapeStatus *prometheus.GaugeVec Log *slog.Logger + thermal *thermal.Collector } func createChassisMetricMap() map[string]common.Metric { @@ -46,23 +45,6 @@ func createChassisMetricMap() map[string]common.Metric { common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "state", fmt.Sprintf("state of chassis,%s", common.StateHelp), ChassisLabelNames) common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "model_info", "organization responsible for producing the chassis, the name by which the manufacturer generally refers to the chassis, and a part number and sku assigned by the organization that is responsible for producing or manufacturing the chassis", ChassisModel) - common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "temperature_sensor_state", fmt.Sprintf("status state of temperature on this chassis component,%s", common.StateHelp), ChassisTemperatureLabelNames) - common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "temperature_sensor_health", fmt.Sprintf("status health of temperature on this chassis component,%s", common.StateHelp), ChassisTemperatureLabelNames) - common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "temperature_celsius", "celsius of temperature on this chassis component", ChassisTemperatureLabelNames) - - common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "fan_health", fmt.Sprintf("fan health on this chassis component,%s", common.HealthHelp), ChassisFanLabelNames) - common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "fan_state", fmt.Sprintf("fan state on this chassis component,%s", common.StateHelp), ChassisFanLabelNames) - common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "fan_rpm", "fan RPM or percentage on this chassis component", ChassisFanLabelNames) - common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "fan_rpm_percentage", "fan RPM, as a percentage of the min-max RPMs possible, on this chassis component", ChassisFanLabelNames) - common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "fan_rpm_min", "lowest possible fan RPM or percentage, on this chassis component", ChassisFanLabelNames) - common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "fan_rpm_max", "highest possible fan RPM or percentage, on this chassis component", ChassisFanLabelNames) - common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "fan_rpm_lower_threshold_critical", "threshold below the normal range fan RPM or percentage, but not fatal, on this chassis component", ChassisFanLabelNames) - common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "fan_rpm_lower_threshold_non_critical", "threshold below the normal range fan RPM or percentage, but not critical, on this chassis component", ChassisFanLabelNames) - common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "fan_rpm_lower_threshold_fatal", "threshold below the normal range fan RPM or percentage, and is fatal, on this chassis component", ChassisFanLabelNames) - common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "fan_rpm_upper_threshold_critical", "threshold above the normal range fan RPM or percentage, but not fatal, on this chassis component", ChassisFanLabelNames) - common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "fan_rpm_upper_threshold_non_critical", "threshold above the normal range fan RPM or percentage, but not critical, on this chassis component", ChassisFanLabelNames) - common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "fan_rpm_upper_threshold_fatal", "threshold above the normal range fan RPM or percentage, and is fatal, on this chassis component", ChassisFanLabelNames) - common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "power_voltage_state", fmt.Sprintf("power voltage state of chassis component,%s", common.StateHelp), ChassisPowerVoltageLabelNames) common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "power_voltage_volts", "power voltage volts number of chassis component", ChassisPowerVoltageLabelNames) common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "power_average_consumed_watts", "power wattage watts number of chassis component", ChassisPowerVoltageLabelNames) @@ -126,6 +108,8 @@ func (c *ChassisCollector) Collect(ch chan<- prometheus.Metric) { collectLogs := c.Ctx.CollectLogs service := c.Ctx.RedfishClient.Service + wg := &sync.WaitGroup{} + // get a list of chassis from service if chassises, err := service.Chassis(); err != nil { collectorLogContext.Error("error getting chassis from service", "operation", "service.Chassis()", "err", err) @@ -153,30 +137,8 @@ func (c *ChassisCollector) Collect(ch chan<- prometheus.Metric) { ChassisModelLabelValues := []string{"chassis", chassisID, chassisManufacturer, chassisModel, chassisPartNumber, chassisSKU} ch <- prometheus.MustNewConstMetric(c.metrics["chassis_model_info"].Desc, prometheus.GaugeValue, 1, ChassisModelLabelValues...) - chassisThermal, err := chassis.Thermal() - if err != nil { - chassisLogContext.Error("error getting thermal data from chassis", "operation", "chassis.Thermal()", "err", err) - } else if chassisThermal == nil { - chassisLogContext.Info("no thermal data found", "operation", "chassis.Thermal()") - } else { - // process temperature - chassisTemperatures := chassisThermal.Temperatures - wg := &sync.WaitGroup{} - wg.Add(len(chassisTemperatures)) - - for _, chassisTemperature := range chassisTemperatures { - go parseChassisTemperature(ch, chassisID, chassisTemperature, wg) - } - - // process fans - - chassisFans := chassisThermal.Fans - wg2 := &sync.WaitGroup{} - wg2.Add(len(chassisFans)) - for _, chassisFan := range chassisFans { - go parseChassisFan(ch, chassisID, chassisFan, wg2) - } - } + thermal := thermal.NewCollector(c.Ctx, c.Log, chassis) + wg.Go(func() { thermal.Collect(ch) }) chassisPowerInfo, err := chassis.Power() if err != nil { @@ -261,120 +223,10 @@ func (c *ChassisCollector) Collect(ch chan<- prometheus.Metric) { } } + wg.Wait() c.collectorScrapeStatus.WithLabelValues("chassis").Set(float64(1)) } -func parseChassisTemperature(ch chan<- prometheus.Metric, chassisID string, chassisTemperature schemas.Temperature, wg *sync.WaitGroup) { - defer wg.Done() - chassisTemperatureSensorName := chassisTemperature.Name - chassisTemperatureSensorID := chassisTemperature.MemberID - chassisTemperatureStatus := chassisTemperature.Status - chassisTemperatureLabelvalues := []string{"temperature", chassisID, chassisTemperatureSensorName, chassisTemperatureSensorID} - - chassisTemperatureStatusHealth := chassisTemperatureStatus.Health - if chassisTemperatureStatusHealthValue, ok := common.ParseCommonStatusHealth(chassisTemperatureStatusHealth); ok { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_temperature_sensor_health"].Desc, prometheus.GaugeValue, chassisTemperatureStatusHealthValue, chassisTemperatureLabelvalues...) - } - - chassisTemperatureStatusState := chassisTemperatureStatus.State - // chassisTemperatureStatusLabelNames :=[]string{BaseLabelNames,"temperature_sensor_name","temperature_sensor_member_id") - // ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_temperature_status_health"].Desc, prometheus.GaugeValue, parseCommonStatusHealth(chassisTemperatureStatusHealth), chassisTemperatureLabelvalues...) - if chassisTemperatureStatusStateValue, ok := common.ParseCommonStatusState(chassisTemperatureStatusState); ok { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_temperature_sensor_state"].Desc, prometheus.GaugeValue, chassisTemperatureStatusStateValue, chassisTemperatureLabelvalues...) - } - - if chassisTemperature.ReadingCelsius != nil { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_temperature_celsius"].Desc, prometheus.GaugeValue, float64(*chassisTemperature.ReadingCelsius), chassisTemperatureLabelvalues...) - } -} - -func parseChassisFan(ch chan<- prometheus.Metric, chassisID string, chassisFan schemas.ThermalFan, wg *sync.WaitGroup) { - defer wg.Done() - chassisFanID := chassisFan.MemberID - chassisFanLabelvalues := []string{"fan", chassisID, chassisFan.Name, chassisFanID, strings.ToLower(string(chassisFan.ReadingUnits))} // e.g. RPM -> rpm, Percentage -> percentage - - var chassisFanPercentage *float64 - switch chassisFan.ReadingUnits { - case schemas.PercentReadingUnits: - if chassisFan.Reading == nil { - break - } - chassisFanPercentage = new(float64) - *chassisFanPercentage = float64(*chassisFan.Reading) - case schemas.RPMReadingUnits: // Calculate fan percentage from best value for min/max - if chassisFan.Reading == nil { - break - } - // Some vendors (e.g. PowerEdge C6420) report null RPMs for Min/Max, as well as Lower/UpperFatal, - // but provide Lower/UpperCritical, so we use the most extreme value we have as the limits. - var min *int = chassisFan.MinReadingRange - var max *int = chassisFan.MaxReadingRange - if chassisFan.LowerThresholdCritical != nil && (min == nil || *min > *chassisFan.LowerThresholdCritical) { - min = chassisFan.LowerThresholdCritical - } - if chassisFan.LowerThresholdFatal != nil && (min == nil || *min > *chassisFan.LowerThresholdFatal) { - min = chassisFan.LowerThresholdFatal - } - if chassisFan.LowerThresholdNonCritical != nil && (min == nil || *min > *chassisFan.LowerThresholdNonCritical) { - min = chassisFan.LowerThresholdNonCritical - } - if chassisFan.UpperThresholdCritical != nil && (max == nil || *max < *chassisFan.UpperThresholdCritical) { - max = chassisFan.UpperThresholdCritical - } - if chassisFan.UpperThresholdFatal != nil && (max == nil || *max < *chassisFan.UpperThresholdFatal) { - max = chassisFan.UpperThresholdFatal - } - if chassisFan.UpperThresholdNonCritical != nil && (max == nil || *max < *chassisFan.UpperThresholdNonCritical) { - max = chassisFan.UpperThresholdNonCritical - } - - rpm_f := float64(*chassisFan.Reading) - if min != nil && max != nil { - min_f := float64(*min) - max_f := float64(*max) - chassisFanPercentage = new(float64) - *chassisFanPercentage = (rpm_f - min_f) / (max_f - min_f) * 100.0 - } - - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_fan_rpm"].Desc, prometheus.GaugeValue, rpm_f, chassisFanLabelvalues...) - } - - if chassisFanStatusHealthValue, ok := common.ParseCommonStatusHealth(chassisFan.Status.Health); ok { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_fan_health"].Desc, prometheus.GaugeValue, chassisFanStatusHealthValue, chassisFanLabelvalues...) - } - - if chassisFanStatusStateValue, ok := common.ParseCommonStatusState(chassisFan.Status.State); ok { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_fan_state"].Desc, prometheus.GaugeValue, chassisFanStatusStateValue, chassisFanLabelvalues...) - } - if chassisFan.MinReadingRange != nil { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_fan_rpm_min"].Desc, prometheus.GaugeValue, float64(*chassisFan.MinReadingRange), chassisFanLabelvalues...) - } - if chassisFan.MaxReadingRange != nil { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_fan_rpm_max"].Desc, prometheus.GaugeValue, float64(*chassisFan.MaxReadingRange), chassisFanLabelvalues...) - } - if chassisFanPercentage != nil { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_fan_rpm_percentage"].Desc, prometheus.GaugeValue, *chassisFanPercentage, chassisFanLabelvalues...) - } - if chassisFan.LowerThresholdCritical != nil { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_fan_rpm_lower_threshold_critical"].Desc, prometheus.GaugeValue, float64(*chassisFan.LowerThresholdCritical), chassisFanLabelvalues...) - } - if chassisFan.LowerThresholdFatal != nil { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_fan_rpm_lower_threshold_fatal"].Desc, prometheus.GaugeValue, float64(*chassisFan.LowerThresholdFatal), chassisFanLabelvalues...) - } - if chassisFan.LowerThresholdNonCritical != nil { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_fan_rpm_lower_threshold_non_critical"].Desc, prometheus.GaugeValue, float64(*chassisFan.LowerThresholdNonCritical), chassisFanLabelvalues...) - } - if chassisFan.UpperThresholdCritical != nil { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_fan_rpm_upper_threshold_critical"].Desc, prometheus.GaugeValue, float64(*chassisFan.UpperThresholdCritical), chassisFanLabelvalues...) - } - if chassisFan.UpperThresholdFatal != nil { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_fan_rpm_upper_threshold_fatal"].Desc, prometheus.GaugeValue, float64(*chassisFan.UpperThresholdFatal), chassisFanLabelvalues...) - } - if chassisFan.UpperThresholdNonCritical != nil { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_fan_rpm_upper_threshold_non_critical"].Desc, prometheus.GaugeValue, float64(*chassisFan.UpperThresholdNonCritical), chassisFanLabelvalues...) - } -} - func parseChassisPowerInfoVoltage(ch chan<- prometheus.Metric, chassisID string, voltageInfo schemas.Voltage, wg *sync.WaitGroup) { defer wg.Done() voltageInfoID := voltageInfo.MemberID diff --git a/collector/chassis/thermal/collector.go b/collector/chassis/thermal/collector.go new file mode 100644 index 00000000..09220188 --- /dev/null +++ b/collector/chassis/thermal/collector.go @@ -0,0 +1,206 @@ +package thermal + +import ( + "fmt" + "log/slog" + "strings" + "sync" + + "github.com/prometheus/client_golang/prometheus" + "github.com/stackhpc/redfish_exporter/common" + "github.com/stmcginnis/gofish/schemas" +) + +var ( + Subsystem = "chassis" + TemperatureLabelNames = []string{"resource", "chassis_id", "sensor", "sensor_id"} + FanLabelNames = []string{"resource", "chassis_id", "fan", "fan_id", "fan_unit"} + + metricMap = createMetricMap() +) + +func createMetricMap() map[string]common.Metric { + metrics := make(map[string]common.Metric) + + common.AddToMetricMap(metrics, Subsystem, "temperature_sensor_state", fmt.Sprintf("status state of temperature on this chassis component,%s", common.StateHelp), TemperatureLabelNames) + common.AddToMetricMap(metrics, Subsystem, "temperature_sensor_health", fmt.Sprintf("status health of temperature on this chassis component,%s", common.StateHelp), TemperatureLabelNames) + common.AddToMetricMap(metrics, Subsystem, "temperature_celsius", "celsius of temperature on this chassis component", TemperatureLabelNames) + + common.AddToMetricMap(metrics, Subsystem, "fan_health", fmt.Sprintf("fan health on this chassis component,%s", common.HealthHelp), FanLabelNames) + common.AddToMetricMap(metrics, Subsystem, "fan_state", fmt.Sprintf("fan state on this chassis component,%s", common.StateHelp), FanLabelNames) + common.AddToMetricMap(metrics, Subsystem, "fan_rpm", "fan RPM or percentage on this chassis component", FanLabelNames) + common.AddToMetricMap(metrics, Subsystem, "fan_rpm_percentage", "fan RPM, as a percentage of the min-max RPMs possible, on this chassis component", FanLabelNames) + common.AddToMetricMap(metrics, Subsystem, "fan_rpm_min", "lowest possible fan RPM or percentage, on this chassis component", FanLabelNames) + common.AddToMetricMap(metrics, Subsystem, "fan_rpm_max", "highest possible fan RPM or percentage, on this chassis component", FanLabelNames) + common.AddToMetricMap(metrics, Subsystem, "fan_rpm_lower_threshold_critical", "threshold below the normal range fan RPM or percentage, but not fatal, on this chassis component", FanLabelNames) + common.AddToMetricMap(metrics, Subsystem, "fan_rpm_lower_threshold_non_critical", "threshold below the normal range fan RPM or percentage, but not critical, on this chassis component", FanLabelNames) + common.AddToMetricMap(metrics, Subsystem, "fan_rpm_lower_threshold_fatal", "threshold below the normal range fan RPM or percentage, and is fatal, on this chassis component", FanLabelNames) + common.AddToMetricMap(metrics, Subsystem, "fan_rpm_upper_threshold_critical", "threshold above the normal range fan RPM or percentage, but not fatal, on this chassis component", FanLabelNames) + common.AddToMetricMap(metrics, Subsystem, "fan_rpm_upper_threshold_non_critical", "threshold above the normal range fan RPM or percentage, but not critical, on this chassis component", FanLabelNames) + common.AddToMetricMap(metrics, Subsystem, "fan_rpm_upper_threshold_fatal", "threshold above the normal range fan RPM or percentage, and is fatal, on this chassis component", FanLabelNames) + + return metrics +} + +// Implements the prometheus.Collector. +type Collector struct { + Ctx *common.CollectionContext + metrics map[string]common.Metric + Log *slog.Logger + chassis *schemas.Chassis +} + +// NewCollector returns a collector that collects chassis thermal data +func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, chassis *schemas.Chassis) *Collector { + return &Collector{ + metrics: metricMap, + Ctx: ctx, + Log: logger.With( + "collector", Subsystem, + ), + chassis: chassis, + } +} + +// Describe implemented prometheus.Collector +func (c *Collector) Describe(ch chan<- *prometheus.Desc) { + for _, metric := range c.metrics { + ch <- metric.Desc + } +} + +// Given a chassis, collect data from its Thermal resource +func (c *Collector) Collect(ch chan<- prometheus.Metric) { + thermal, err := c.chassis.Thermal() + if err != nil { + c.Log.Error("error getting thermal data from chassis", "operation", "chassis.Thermal()", "err", err) + return + } + if thermal == nil { + c.Log.Info("no thermal data found", "operation", "chassis.Thermal()") + } + + // Process temperature sensors + chassisTemperatures := thermal.Temperatures + wg := &sync.WaitGroup{} + for _, chassisTemperature := range chassisTemperatures { + wg.Go(func() { parseChassisTemperature(ch, c.chassis.ID, chassisTemperature) }) + } + + // Process fans + chassisFans := thermal.Fans + for _, chassisFan := range chassisFans { + wg.Go(func() {parseChassisFan(ch, c.chassis.ID, chassisFan)}) + } + + wg.Wait() +} + +func parseChassisTemperature(ch chan<- prometheus.Metric, chassisID string, chassisTemperature schemas.Temperature) { + chassisTemperatureSensorName := chassisTemperature.Name + chassisTemperatureSensorID := chassisTemperature.MemberID + chassisTemperatureStatus := chassisTemperature.Status + chassisTemperatureLabelvalues := []string{"temperature", chassisID, chassisTemperatureSensorName, chassisTemperatureSensorID} + + chassisTemperatureStatusHealth := chassisTemperatureStatus.Health + if chassisTemperatureStatusHealthValue, ok := common.ParseCommonStatusHealth(chassisTemperatureStatusHealth); ok { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_temperature_sensor_health"].Desc, prometheus.GaugeValue, chassisTemperatureStatusHealthValue, chassisTemperatureLabelvalues...) + } + + chassisTemperatureStatusState := chassisTemperatureStatus.State + // chassisTemperatureStatusLabelNames :=[]string{BaseLabelNames,"temperature_sensor_name","temperature_sensor_member_id") + // ch <- prometheus.MustNewConstMetric(metricMap["chassis_temperature_status_health"].Desc, prometheus.GaugeValue, parseCommonStatusHealth(chassisTemperatureStatusHealth), chassisTemperatureLabelvalues...) + if chassisTemperatureStatusStateValue, ok := common.ParseCommonStatusState(chassisTemperatureStatusState); ok { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_temperature_sensor_state"].Desc, prometheus.GaugeValue, chassisTemperatureStatusStateValue, chassisTemperatureLabelvalues...) + } + + if chassisTemperature.ReadingCelsius != nil { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_temperature_celsius"].Desc, prometheus.GaugeValue, float64(*chassisTemperature.ReadingCelsius), chassisTemperatureLabelvalues...) + } +} + +func parseChassisFan(ch chan<- prometheus.Metric, chassisID string, chassisFan schemas.ThermalFan) { + chassisFanID := chassisFan.MemberID + chassisFanLabelvalues := []string{"fan", chassisID, chassisFan.Name, chassisFanID, strings.ToLower(string(chassisFan.ReadingUnits))} // e.g. RPM -> rpm, Percentage -> percentage + + var chassisFanPercentage *float64 + switch chassisFan.ReadingUnits { + case schemas.PercentReadingUnits: + if chassisFan.Reading == nil { + break + } + chassisFanPercentage = new(float64) + *chassisFanPercentage = float64(*chassisFan.Reading) + case schemas.RPMReadingUnits: // Calculate fan percentage from best value for min/max + if chassisFan.Reading == nil { + break + } + // Some vendors (e.g. PowerEdge C6420) report null RPMs for Min/Max, as well as Lower/UpperFatal, + // but provide Lower/UpperCritical, so we use the most extreme value we have as the limits. + var min *int = chassisFan.MinReadingRange + var max *int = chassisFan.MaxReadingRange + if chassisFan.LowerThresholdCritical != nil && (min == nil || *min > *chassisFan.LowerThresholdCritical) { + min = chassisFan.LowerThresholdCritical + } + if chassisFan.LowerThresholdFatal != nil && (min == nil || *min > *chassisFan.LowerThresholdFatal) { + min = chassisFan.LowerThresholdFatal + } + if chassisFan.LowerThresholdNonCritical != nil && (min == nil || *min > *chassisFan.LowerThresholdNonCritical) { + min = chassisFan.LowerThresholdNonCritical + } + if chassisFan.UpperThresholdCritical != nil && (max == nil || *max < *chassisFan.UpperThresholdCritical) { + max = chassisFan.UpperThresholdCritical + } + if chassisFan.UpperThresholdFatal != nil && (max == nil || *max < *chassisFan.UpperThresholdFatal) { + max = chassisFan.UpperThresholdFatal + } + if chassisFan.UpperThresholdNonCritical != nil && (max == nil || *max < *chassisFan.UpperThresholdNonCritical) { + max = chassisFan.UpperThresholdNonCritical + } + + rpm_f := float64(*chassisFan.Reading) + if min != nil && max != nil { + min_f := float64(*min) + max_f := float64(*max) + chassisFanPercentage = new(float64) + *chassisFanPercentage = (rpm_f - min_f) / (max_f - min_f) * 100.0 + } + + ch <- prometheus.MustNewConstMetric(metricMap["chassis_fan_rpm"].Desc, prometheus.GaugeValue, rpm_f, chassisFanLabelvalues...) + } + + if chassisFanStatusHealthValue, ok := common.ParseCommonStatusHealth(chassisFan.Status.Health); ok { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_fan_health"].Desc, prometheus.GaugeValue, chassisFanStatusHealthValue, chassisFanLabelvalues...) + } + + if chassisFanStatusStateValue, ok := common.ParseCommonStatusState(chassisFan.Status.State); ok { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_fan_state"].Desc, prometheus.GaugeValue, chassisFanStatusStateValue, chassisFanLabelvalues...) + } + if chassisFan.MinReadingRange != nil { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_fan_rpm_min"].Desc, prometheus.GaugeValue, float64(*chassisFan.MinReadingRange), chassisFanLabelvalues...) + } + if chassisFan.MaxReadingRange != nil { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_fan_rpm_max"].Desc, prometheus.GaugeValue, float64(*chassisFan.MaxReadingRange), chassisFanLabelvalues...) + } + if chassisFanPercentage != nil { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_fan_rpm_percentage"].Desc, prometheus.GaugeValue, *chassisFanPercentage, chassisFanLabelvalues...) + } + if chassisFan.LowerThresholdCritical != nil { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_fan_rpm_lower_threshold_critical"].Desc, prometheus.GaugeValue, float64(*chassisFan.LowerThresholdCritical), chassisFanLabelvalues...) + } + if chassisFan.LowerThresholdFatal != nil { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_fan_rpm_lower_threshold_fatal"].Desc, prometheus.GaugeValue, float64(*chassisFan.LowerThresholdFatal), chassisFanLabelvalues...) + } + if chassisFan.LowerThresholdNonCritical != nil { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_fan_rpm_lower_threshold_non_critical"].Desc, prometheus.GaugeValue, float64(*chassisFan.LowerThresholdNonCritical), chassisFanLabelvalues...) + } + if chassisFan.UpperThresholdCritical != nil { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_fan_rpm_upper_threshold_critical"].Desc, prometheus.GaugeValue, float64(*chassisFan.UpperThresholdCritical), chassisFanLabelvalues...) + } + if chassisFan.UpperThresholdFatal != nil { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_fan_rpm_upper_threshold_fatal"].Desc, prometheus.GaugeValue, float64(*chassisFan.UpperThresholdFatal), chassisFanLabelvalues...) + } + if chassisFan.UpperThresholdNonCritical != nil { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_fan_rpm_upper_threshold_non_critical"].Desc, prometheus.GaugeValue, float64(*chassisFan.UpperThresholdNonCritical), chassisFanLabelvalues...) + } +} diff --git a/collector/chassis/thermal/collector_test.go b/collector/chassis/thermal/collector_test.go new file mode 100644 index 00000000..da9d682f --- /dev/null +++ b/collector/chassis/thermal/collector_test.go @@ -0,0 +1,62 @@ +package thermal_test + +import ( + "testing" + + "github.com/prometheus/common/promslog" + "github.com/stackhpc/redfish_exporter/collector/chassis/thermal" + "github.com/stackhpc/redfish_exporter/common" + redfish_test "github.com/stackhpc/redfish_exporter/common/test" + "github.com/stretchr/testify/require" +) + +func TestDSP2043(t *testing.T) { + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043-server", false) + + chassis, err := redfishClient.Service.Chassis() + require.NoError(t, err) + + ctx := common.CollectionContext{ + RedfishClient: redfishClient, + } + + promslogConfig := promslog.Config{} + logger := promslog.New(&promslogConfig) + + collector := thermal.NewCollector(&ctx, logger, chassis[0]) + expected := ` + redfish_chassis_fan_health{chassis_id="1U",fan="BaseBoard System Fan Backup",fan_id="1",fan_unit="rpm",resource="fan"} 1 + redfish_chassis_fan_health{chassis_id="1U",fan="BaseBoard System Fan",fan_id="0",fan_unit="rpm",resource="fan"} 1 + redfish_chassis_fan_rpm_lower_threshold_fatal{chassis_id="1U",fan="BaseBoard System Fan Backup",fan_id="1",fan_unit="rpm",resource="fan"} 0 + redfish_chassis_fan_rpm_lower_threshold_fatal{chassis_id="1U",fan="BaseBoard System Fan",fan_id="0",fan_unit="rpm",resource="fan"} 0 + redfish_chassis_fan_rpm_max{chassis_id="1U",fan="BaseBoard System Fan Backup",fan_id="1",fan_unit="rpm",resource="fan"} 5000 + redfish_chassis_fan_rpm_max{chassis_id="1U",fan="BaseBoard System Fan",fan_id="0",fan_unit="rpm",resource="fan"} 5000 + redfish_chassis_fan_rpm_min{chassis_id="1U",fan="BaseBoard System Fan Backup",fan_id="1",fan_unit="rpm",resource="fan"} 0 + redfish_chassis_fan_rpm_min{chassis_id="1U",fan="BaseBoard System Fan",fan_id="0",fan_unit="rpm",resource="fan"} 0 + redfish_chassis_fan_rpm_percentage{chassis_id="1U",fan="BaseBoard System Fan Backup",fan_id="1",fan_unit="rpm",resource="fan"} 41 + redfish_chassis_fan_rpm_percentage{chassis_id="1U",fan="BaseBoard System Fan",fan_id="0",fan_unit="rpm",resource="fan"} 42 + redfish_chassis_fan_rpm{chassis_id="1U",fan="BaseBoard System Fan Backup",fan_id="1",fan_unit="rpm",resource="fan"} 2050 + redfish_chassis_fan_rpm{chassis_id="1U",fan="BaseBoard System Fan",fan_id="0",fan_unit="rpm",resource="fan"} 2100 + redfish_chassis_fan_state{chassis_id="1U",fan="BaseBoard System Fan Backup",fan_id="1",fan_unit="rpm",resource="fan"} 1 + redfish_chassis_fan_state{chassis_id="1U",fan="BaseBoard System Fan",fan_id="0",fan_unit="rpm",resource="fan"} 1 + redfish_chassis_temperature_celsius{chassis_id="1U",resource="temperature",sensor="CPU1 Temp",sensor_id="0"} 41 + redfish_chassis_temperature_celsius{chassis_id="1U",resource="temperature",sensor="Chassis Intake Temp",sensor_id="2"} 25 + redfish_chassis_temperature_sensor_health{chassis_id="1U",resource="temperature",sensor="CPU1 Temp",sensor_id="0"} 1 + redfish_chassis_temperature_sensor_health{chassis_id="1U",resource="temperature",sensor="Chassis Intake Temp",sensor_id="2"} 1 + redfish_chassis_temperature_sensor_state{chassis_id="1U",resource="temperature",sensor="CPU1 Temp",sensor_id="0"} 1 + redfish_chassis_temperature_sensor_state{chassis_id="1U",resource="temperature",sensor="CPU2 Temp",sensor_id="1"} 2 + redfish_chassis_temperature_sensor_state{chassis_id="1U",resource="temperature",sensor="Chassis Intake Temp",sensor_id="2"} 1 + ` + redfish_test.CollectAndCompare(t, collector, expected, + "redfish_chassis_fan_health", + "redfish_chassis_fan_rpm_lower_threshold_fatal", + "redfish_chassis_fan_rpm_max", + "redfish_chassis_fan_rpm_min", + "redfish_chassis_fan_rpm_percentage", + "redfish_chassis_fan_rpm", + "redfish_chassis_fan_state", + "redfish_chassis_temperature_celsius", + "redfish_chassis_temperature_sensor_health", + "redfish_chassis_temperature_sensor_state", + ) +} diff --git a/collector/test_helpers.go b/collector/test_helpers.go index 4a77b6ff..448eaa31 100644 --- a/collector/test_helpers.go +++ b/collector/test_helpers.go @@ -3,6 +3,7 @@ package collector import ( "context" "fmt" + "os" "testing" "github.com/prometheus/common/promslog" @@ -21,7 +22,7 @@ func CreateStaticBMC(t *testing.T, path string, collect_logs bool) *RedfishColle wait.ForListeningPort("443/tcp"), ), testcontainers.WithDockerfile(testcontainers.FromDockerfile{ - Context: "../test_dependencies", + Context: os.Getenv("FIXTURES_DIR"), KeepImage: true, }), testcontainers.WithCmd("sushy-static", "-p", "443", "-c", "sushy.crt", "-k", "sushy.key", "-m", fmt.Sprintf("mockups/%s", path)), diff --git a/common/test/helpers.go b/common/test/helpers.go new file mode 100644 index 00000000..89a2c218 --- /dev/null +++ b/common/test/helpers.go @@ -0,0 +1,91 @@ +package test + +import ( + "context" + "fmt" + "os" + "sort" + "strings" + "testing" + + "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/client_golang/prometheus/testutil" + "github.com/prometheus/common/expfmt" + "github.com/stmcginnis/gofish" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "github.com/testcontainers/testcontainers-go" + "github.com/testcontainers/testcontainers-go/wait" +) + +func CreateRedfishClient(t *testing.T, path string, collect_logs bool) *gofish.APIClient { + ctx := context.Background() + container, err := testcontainers.Run( + ctx, "", + testcontainers.WithExposedPorts("443/tcp"), + testcontainers.WithWaitStrategy( + wait.ForListeningPort("443/tcp"), + ), + testcontainers.WithDockerfile(testcontainers.FromDockerfile{ + Context: os.Getenv("FIXTURES_DIR"), + KeepImage: true, + }), + testcontainers.WithCmd("sushy-static", "-p", "443", "-c", "sushy.crt", "-k", "sushy.key", "-m", fmt.Sprintf("mockups/%s", path)), + ) + testcontainers.CleanupContainer(t, container) + require.NoError(t, err) + + // Get host address and port of exposed container port + endpoint, err := container.Endpoint(ctx, "https") + require.NoError(t, err) + + config := gofish.ClientConfig{ + Endpoint: endpoint, + Username: "", + Password: "", + Insecure: true, + } + + redfishClient, err := gofish.Connect(config) + require.NoError(t, err) + + return redfishClient +} + +func CollectAndCompare(t *testing.T, c prometheus.Collector, expected string, metricNames ...string) { + t.Helper() + + actualBytes, err := testutil.CollectAndFormat(c, expfmt.TypeTextPlain, metricNames...) + if err != nil { + t.Fatalf("failed to collect and format: %v", err) + } + + actualLines := extractLines(string(actualBytes)) + expectedLines := extractLines(expected) + + // Sort both slices so the order is deterministic + sort.Strings(actualLines) + sort.Strings(expectedLines) + + // Join them back into multi-line strings for testify's text differ + actualText := strings.Join(actualLines, "\n") + "\n" + expectedText := strings.Join(expectedLines, "\n") + "\n" + + assert.Equal(t, expectedText, actualText, "Metrics mismatch") + + for _, name := range metricNames { + assert.Contains(t, actualText, name) + } +} + +// Returns a slice of strings with headers and empty lines removed +func extractLines(s string) []string { + var result []string + for _, line := range strings.Split(s, "\n") { + trimmed := strings.TrimSpace(line) + if trimmed != "" && !strings.HasPrefix(trimmed, "#") { + result = append(result, trimmed) + } + } + return result +} diff --git a/go.mod b/go.mod index a016ae4a..95892301 100644 --- a/go.mod +++ b/go.mod @@ -4,6 +4,7 @@ go 1.27 require ( github.com/alecthomas/kingpin/v2 v2.4.0 + github.com/google/go-cmp v0.7.0 github.com/prometheus/client_golang v1.25.0 github.com/prometheus/common v0.72.1 github.com/prometheus/exporter-toolkit v0.20.0 @@ -39,6 +40,7 @@ require ( github.com/google/uuid v1.6.0 // indirect github.com/jpillora/backoff v1.0.0 // indirect github.com/klauspost/compress v1.20.1 // indirect + github.com/kylelemons/godebug v1.1.0 // indirect github.com/lufia/plan9stats v0.0.0-20260330125221-c963978e514e // indirect github.com/magiconair/properties v1.8.10 // indirect github.com/mdlayher/socket v0.6.0 // indirect diff --git a/go.sum b/go.sum index 6f1cecb9..0fe25ad8 100644 --- a/go.sum +++ b/go.sum @@ -107,8 +107,6 @@ github.com/prometheus/client_golang v1.25.0 h1:cDtW1TcFsMi1RJc8khwCKB4VhzwV04aKq github.com/prometheus/client_golang v1.25.0/go.mod h1:j2X/4/kaQHLPnmyEU8zjmkndo1T317VpCIQEml8LTKk= github.com/prometheus/client_model v0.6.3 h1:O0jaTVAYNxTHYInEPFJt5I3+sN8zqBtVMPTB1qyxiEo= github.com/prometheus/client_model v0.6.3/go.mod h1:gpN5P9S7Rr6Yr92PiQ+Ixvhf6JZEkF1dnxsYL2aPBEM= -github.com/prometheus/common v0.72.0 h1:tAYsE+sPJxIncDAobm4H5aQjmox9ZxEIIqPbiffa8G4= -github.com/prometheus/common v0.72.0/go.mod h1:77NWqAQ2tXT7BIK40qjJdw5Acrsrg1TlHAnsQi3i6mk= github.com/prometheus/common v0.72.1 h1:ZAiQed/nk8IIcsdzb2TlJu23NEUDyDLQ9TXTN2WRK6Y= github.com/prometheus/common v0.72.1/go.mod h1:1IoBY4IRaJnhs2ESjNzjilP1cJ/P8pimGoomq7zRXrA= github.com/prometheus/exporter-toolkit v0.20.0 h1:hz3g2aPcq3mXlQSt1MGjj2rwVk1wtRalF+/FjYxFRkI= @@ -165,33 +163,22 @@ go.yaml.in/yaml/v2 v2.4.4 h1:tuyd0P+2Ont/d6e2rl3be67goVK4R6deVxCUX5vyPaQ= go.yaml.in/yaml/v2 v2.4.4/go.mod h1:gMZqIpDtDqOfM0uNfy0SkpRhvUryYH0Z6wdMYcacYXQ= go.yaml.in/yaml/v3 v3.0.5 h1:N6y/pJk8buWs9NY5ERU2HSMfm+IuD/OtfdAnq6kESPw= go.yaml.in/yaml/v3 v3.0.5/go.mod h1:HVTZu1O7/Vkt2N+BFy8Zza+lnLsABggaTM2ZpNIGuKg= -golang.org/x/crypto v0.57.0 h1:3ZVCjf8Ggz7zneR/EHRVx68Ctf+2pmIMP2UFhh9cC6M= -golang.org/x/crypto v0.57.0/go.mod h1:Fdz0i5U6CoizGwLda9DttjSk6qlZo25zYNtR+ycvuZA= golang.org/x/crypto v0.58.0 h1:COkYLr4k7nDI4r6QtMML2AfzeIswWHAJthLS6K/M/54= golang.org/x/crypto v0.58.0/go.mod h1:Xh+kl5A+M0gMiWDytH2Hhr5Z7WbNCpv/eB/EFgfSk+w= -golang.org/x/net v0.59.0 h1:5zfYln+w5XCxwrnMMJPufRgNoXEaGxl0wo5GqPXyues= -golang.org/x/net v0.59.0/go.mod h1:2DA/G1UfVbCpQPeWTmMPGY7Cs2PkBkwu743bVX5PIVg= golang.org/x/net v0.61.0 h1:RR+6j/BTBCrggOLugxa+66R8FvoN6MHlzDlZIbN9YFw= golang.org/x/net v0.61.0/go.mod h1:WgDCOTH8iwtB66T4/GfI94AHo/hhdb7Hah9NDseQfiI= golang.org/x/oauth2 v0.37.0 h1:JUlcxA8oAtauLfiH8FX2/FkAWHAdi0QtGCGc+hofE98= golang.org/x/oauth2 v0.37.0/go.mod h1:IxwZNxUULJmpBFf9K/9NTMSIfZZuvuTy1gGxhigP/58= -golang.org/x/sync v0.23.0 h1:KameEIfc1IkluZyXWLn39Wd4tURc6GbCiISGiZm2bQk= -golang.org/x/sync v0.23.0/go.mod h1:sUUOizhqBxiL6pEWpqNLUiaJn1ShEbZ6BBqskPbjZm0= golang.org/x/sync v0.24.0 h1:iqiDrGoDgyuvAKrhLQthUEzU/R378N78gXbBjxed7oA= golang.org/x/sync v0.24.0/go.mod h1:sUUOizhqBxiL6pEWpqNLUiaJn1ShEbZ6BBqskPbjZm0= golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.48.0 h1:bbX/i/6MgT9BVLM9RT1thmxL04yeTAhbEz4SyadbXoo= -golang.org/x/sys v0.48.0/go.mod h1:hNLxWAXmnKAxqDtdwIYC4bM9oQPEecfsnNMuSxOs3og= golang.org/x/sys v0.49.0 h1:XbzkgYJHdqh/8m2Uu0W/dQv8nktxx4BFHp1M0gROTXA= golang.org/x/sys v0.49.0/go.mod h1:hNLxWAXmnKAxqDtdwIYC4bM9oQPEecfsnNMuSxOs3og= -golang.org/x/term v0.46.0 h1:3+OXuTbaKDgwk8jTi3aSLHRlmWqHEUDUtxnbFigO4YE= -golang.org/x/term v0.46.0/go.mod h1:+K02xbkittuwc0Am4abfA3Fc+XRGXkvBXNO88NCXPoc= golang.org/x/term v0.47.0 h1:cpyOwQkr2Nzxe2p6KnrTG7Ei2wtzjsuSjhpXXepZ/BM= -golang.org/x/text v0.42.0 h1:JbOZXgfeCPU9gacVtYliJqOhD+zhrEqK4LfdpmlUZqI= -golang.org/x/text v0.42.0/go.mod h1:ojzP1Z+2QtioaF8DTtO8K5q7JWVVYwZKenzujK0Zd0E= +golang.org/x/term v0.47.0/go.mod h1:efAfAuG6RKABvg1ArGebRkvX6LXul14SM67o2e4mUCY= golang.org/x/text v0.43.0 h1:1QivrlhwAsnMOcqgOdl9my7s9OyZl8O5/UGUTJVXoWc= golang.org/x/text v0.43.0/go.mod h1:hbSIYA/amXcRXTFSZqh8tWHEoqRvvbKPJ2uz/KU+a+s= golang.org/x/time v0.15.0 h1:bbrp8t3bGUeFOx08pvsMYRTCVSMk89u4tKbNOZbp88U= From 7ee94169d71ffb1de8d3da6e4802f4b4242e08ad Mon Sep 17 00:00:00 2001 From: MurrayGroves Date: Mon, 26 Oct 2026 12:07:48 +0000 Subject: [PATCH 04/33] Split power collector into sub-package, test it against DSP2043 1.0.0 and 2026.2 --- collector/chassis/collector.go | 94 +- collector/chassis/power/collector.go | 174 +++ collector/chassis/power/collector_test.go | 88 ++ collector/chassis/thermal/collector_test.go | 4 +- collector/collector_test.go | 2 +- .../AccountService/Accounts/1/index.json | 0 .../AccountService/Accounts/index.json | 0 .../AccountService/Roles/Admin/index.json | 0 .../AccountService/Roles/Operator/index.json | 0 .../Roles/ReadOnlyUser/index.json | 0 .../AccountService/Roles/index.json | 0 .../DSP2043-server/AccountService/index.json | 0 .../Chassis/1U/Power/index.json | 0 .../Chassis/1U/Thermal/index.json | 0 .../DSP2043-server/Chassis/1U/index.json | 0 .../DSP2043-server/Chassis/index.json | 0 .../EventService/Subscriptions/1/index.json | 0 .../EventService/Subscriptions/index.json | 0 .../DSP2043-server/EventService/index.json | 0 .../BMC/LogServices/Log/Entries/1/index.json | 0 .../BMC/LogServices/Log/Entries/index.json | 0 .../Managers/BMC/LogServices/Log/index.json | 0 .../Managers/BMC/LogServices/index.json | 0 .../Managers/BMC/NICs/Dedicated/SD/index.json | 0 .../Managers/BMC/NICs/Dedicated/index.json | 0 .../Managers/BMC/NICs/index.json | 0 .../Managers/BMC/NetworkProtocol/index.json | 0 .../BMC/SerialInterfaces/TTY0/index.json | 0 .../Managers/BMC/SerialInterfaces/index.json | 0 .../Managers/BMC/VirtualMedia/CD1/index.json | 0 .../BMC/VirtualMedia/Floppy1/index.json | 0 .../Managers/BMC/VirtualMedia/index.json | 0 .../DSP2043-server/Managers/BMC/index.json | 0 .../DSP2043-server/Managers/index.json | 0 .../Sessions/1234567890ABCDEF/index.json | 0 .../SessionService/Sessions/index.json | 0 .../DSP2043-server/SessionService/index.json | 0 .../437XR1138R2/BIOS/Settings/index.json | 0 .../Systems/437XR1138R2/BIOS/index.json | 0 .../12446A3B0411/VLANs/1/index.json | 0 .../12446A3B0411/VLANs/2/index.json | 0 .../12446A3B0411/VLANs/index.json | 0 .../12446A3B0411/index.json | 0 .../12446A3B8890/index.json | 0 .../437XR1138R2/EthernetInterfaces/index.json | 0 .../LogServices/Log1/Entries/1/index.json | 0 .../LogServices/Log1/Entries/2/index.json | 0 .../LogServices/Log1/Entries/index.json | 0 .../437XR1138R2/LogServices/Log1/index.json | 0 .../437XR1138R2/LogServices/index.json | 0 .../437XR1138R2/Memory/DIMM1/index.json | 0 .../437XR1138R2/Memory/DIMM2/index.json | 0 .../437XR1138R2/Memory/DIMM3/index.json | 0 .../437XR1138R2/Memory/DIMM4/index.json | 0 .../Systems/437XR1138R2/Memory/index.json | 0 .../437XR1138R2/Processors/CPU1/index.json | 0 .../437XR1138R2/Processors/CPU2/index.json | 0 .../Systems/437XR1138R2/Processors/index.json | 0 .../437XR1138R2/SimpleStorage/1/index.json | 0 .../437XR1138R2/SimpleStorage/index.json | 0 .../Systems/437XR1138R2/index.json | 0 .../DSP2043-server/Systems/index.json | 0 .../TaskService/Tasks/545/index.json | 0 .../TaskService/Tasks/index.json | 0 .../DSP2043-server/TaskService/index.json | 0 .../DSP2043-server/index.json | 0 .../{ => DSP2043_1.0.0}/README2043.html | 0 .../proposed-ocp-profile/$metadata/index.xml | 0 .../AccountService/Accounts/index.json | 0 .../AccountService/Accounts/jane/index.json | 0 .../AccountService/Accounts/john/index.json | 0 .../AccountService/Accounts/root/index.json | 0 .../AccountService/Roles/Admin/index.json | 0 .../AccountService/Roles/Operator/index.json | 0 .../Roles/ReadOnlyUser/index.json | 0 .../AccountService/Roles/index.json | 0 .../AccountService/index.json | 0 .../Chassis/1/Power/index.json | 0 .../Chassis/1/Thermal/index.json | 0 .../proposed-ocp-profile/Chassis/1/index.json | 0 .../proposed-ocp-profile/Chassis/index.json | 0 .../bmc/EthernetInterfaces/eth0/index.json | 0 .../bmc/EthernetInterfaces/index.json | 0 .../Managers/bmc/NetworkProtocol/index.json | 0 .../Managers/bmc/index.json | 0 .../proposed-ocp-profile/Managers/index.json | 0 .../proposed-ocp-profile/README.md | 0 .../proposed-ocp-profile/README.txt | 0 .../Sessions/1234567890ABCDEF/index.json | 0 .../SessionService/Sessions/index.json | 0 .../SessionService/index.json | 0 .../1/LogServices/SEL/Entries/1/index.json | 0 .../1/LogServices/SEL/Entries/2/index.json | 0 .../1/LogServices/SEL/Entries/index.json | 0 .../Systems/1/LogServices/SEL/index.json | 0 .../Systems/1/LogServices/index.json | 0 .../proposed-ocp-profile/Systems/1/index.json | 0 .../proposed-ocp-profile/Systems/index.json | 0 .../proposed-ocp-profile/explorer_config.json | 0 .../proposed-ocp-profile/index.json | 0 .../proposed-ocp-profile/odata/index.json | 0 .../AccountService/Accounts/1/index.json | 0 .../AccountService/Accounts/index.json | 0 .../AccountService/Roles/Admin/index.json | 0 .../AccountService/Roles/Operator/index.json | 0 .../Roles/ReadOnlyUser/index.json | 0 .../AccountService/Roles/index.json | 0 .../public-bladed/AccountService/index.json | 0 .../Chassis/Blade1/Thermal/index.json | 0 .../public-bladed/Chassis/Blade1/index.json | 0 .../Chassis/Blade2/Thermal/index.json | 0 .../public-bladed/Chassis/Blade2/index.json | 0 .../Chassis/Blade3/Thermal/index.json | 0 .../public-bladed/Chassis/Blade3/index.json | 0 .../Chassis/Blade4/Thermal/index.json | 0 .../public-bladed/Chassis/Blade4/index.json | 0 .../Chassis/MultiBladeEncl/Power/index.json | 0 .../Chassis/MultiBladeEncl/Thermal/index.json | 0 .../Chassis/MultiBladeEncl/index.json | 0 .../public-bladed/Chassis/index.json | 0 .../EventService/Subscriptions/1/index.json | 0 .../EventService/Subscriptions/index.json | 0 .../public-bladed/EventService/index.json | 0 .../Blade1BMC/EthernetInterfaces/1/index.json | 0 .../Blade1BMC/EthernetInterfaces/index.json | 0 .../LogServices/Log/Entries/index.json | 0 .../Blade1BMC/LogServices/Log/index.json | 0 .../Managers/Blade1BMC/LogServices/index.json | 0 .../Managers/Blade1BMC/index.json | 0 .../Blade2BMC/EthernetInterfaces/1/index.json | 0 .../Blade2BMC/EthernetInterfaces/index.json | 0 .../LogServices/Log/Entries/index.json | 0 .../Blade2BMC/LogServices/Log/index.json | 0 .../Managers/Blade2BMC/LogServices/index.json | 0 .../Managers/Blade2BMC/index.json | 0 .../Blade3BMC/EthernetInterfaces/1/index.json | 0 .../Blade3BMC/EthernetInterfaces/index.json | 0 .../LogServices/Log/Entries/1/index.json | 0 .../LogServices/Log/Entries/index.json | 0 .../Blade3BMC/LogServices/Log/index.json | 0 .../Managers/Blade3BMC/LogServices/index.json | 0 .../Managers/Blade3BMC/index.json | 0 .../Blade4BMC/EthernetInterfaces/1/index.json | 0 .../Blade4BMC/EthernetInterfaces/index.json | 0 .../LogServices/Log/Entries/index.json | 0 .../Blade4BMC/LogServices/Log/index.json | 0 .../Managers/Blade4BMC/LogServices/index.json | 0 .../Managers/Blade4BMC/index.json | 0 .../EthernetInterfaces/1/index.json | 0 .../EthernetInterfaces/index.json | 0 .../LogServices/Log/Entries/1/index.json | 0 .../LogServices/Log/Entries/index.json | 0 .../MultiBladeBMC/LogServices/Log/index.json | 0 .../MultiBladeBMC/LogServices/index.json | 0 .../Managers/MultiBladeBMC/index.json | 0 .../public-bladed/Managers/index.json | 0 .../Sessions/12623963E803C264/index.json | 0 .../SessionService/Sessions/index.json | 0 .../public-bladed/SessionService/index.json | 0 .../529QB9450R6/Processors/CPU/index.json | 0 .../Systems/529QB9450R6/Processors/index.json | 0 .../529QB9450R6/SimpleStorage/1/index.json | 0 .../529QB9450R6/SimpleStorage/index.json | 0 .../Systems/529QB9450R6/index.json | 0 .../529QB9451R6/Processors/CPU/index.json | 0 .../Systems/529QB9451R6/Processors/index.json | 0 .../529QB9451R6/SimpleStorage/1/index.json | 0 .../529QB9451R6/SimpleStorage/index.json | 0 .../Systems/529QB9451R6/index.json | 0 .../529QB9452R6/Processors/CPU/index.json | 0 .../Systems/529QB9452R6/Processors/index.json | 0 .../529QB9452R6/SimpleStorage/1/index.json | 0 .../529QB9452R6/SimpleStorage/index.json | 0 .../Systems/529QB9452R6/index.json | 0 .../529QB9453R6/Processors/CPU/index.json | 0 .../Systems/529QB9453R6/Processors/index.json | 0 .../529QB9453R6/SimpleStorage/1/index.json | 0 .../529QB9453R6/SimpleStorage/index.json | 0 .../Systems/529QB9453R6/index.json | 0 .../public-bladed/Systems/index.json | 0 .../TaskService/Tasks/index.json | 0 .../public-bladed/TaskService/index.json | 0 .../public-bladed/explorer_config.json | 0 .../public-bladed/index.json | 0 .../AccountService/Accounts/1/index.json | 0 .../AccountService/Accounts/index.json | 0 .../AccountService/Roles/Admin/index.json | 0 .../AccountService/Roles/Operator/index.json | 0 .../Roles/ReadOnlyUser/index.json | 0 .../AccountService/Roles/index.json | 0 .../AccountService/index.json | 0 .../Chassis/1U/Power/index.json | 0 .../Chassis/1U/Thermal/index.json | 0 .../public-rackmount/Chassis/1U/index.json | 0 .../public-rackmount/Chassis/index.json | 0 .../EventService/Subscriptions/1/index.json | 0 .../EventService/Subscriptions/index.json | 0 .../public-rackmount/EventService/index.json | 0 .../BMC/LogServices/Log/Entries/1/index.json | 0 .../BMC/LogServices/Log/Entries/index.json | 0 .../Managers/BMC/LogServices/Log/index.json | 0 .../Managers/BMC/LogServices/index.json | 0 .../Managers/BMC/NICs/Dedicated/SD/index.json | 0 .../Managers/BMC/NICs/Dedicated/index.json | 0 .../Managers/BMC/NICs/index.json | 0 .../Managers/BMC/NetworkProtocol/index.json | 0 .../BMC/SerialInterfaces/TTY0/index.json | 0 .../Managers/BMC/SerialInterfaces/index.json | 0 .../Managers/BMC/VirtualMedia/CD1/index.json | 0 .../BMC/VirtualMedia/Floppy1/index.json | 0 .../Managers/BMC/VirtualMedia/index.json | 0 .../public-rackmount/Managers/BMC/index.json | 0 .../public-rackmount/Managers/index.json | 0 .../Sessions/1234567890ABCDEF/index.json | 0 .../SessionService/Sessions/index.json | 0 .../SessionService/index.json | 0 .../437XR1138R2/BIOS/Settings/index.json | 0 .../Systems/437XR1138R2/BIOS/index.json | 0 .../12446A3B0411/VLANs/1/index.json | 0 .../12446A3B0411/VLANs/2/index.json | 0 .../12446A3B0411/VLANs/index.json | 0 .../12446A3B0411/index.json | 0 .../12446A3B8890/index.json | 0 .../437XR1138R2/EthernetInterfaces/index.json | 0 .../LogServices/Log1/Entries/1/index.json | 0 .../LogServices/Log1/Entries/2/index.json | 0 .../LogServices/Log1/Entries/index.json | 0 .../437XR1138R2/LogServices/Log1/index.json | 0 .../437XR1138R2/LogServices/index.json | 0 .../437XR1138R2/Memory/DIMM1/index.json | 0 .../437XR1138R2/Memory/DIMM2/index.json | 0 .../437XR1138R2/Memory/DIMM3/index.json | 0 .../437XR1138R2/Memory/DIMM4/index.json | 0 .../Systems/437XR1138R2/Memory/index.json | 0 .../437XR1138R2/Processors/CPU1/index.json | 0 .../437XR1138R2/Processors/CPU2/index.json | 0 .../Systems/437XR1138R2/Processors/index.json | 0 .../437XR1138R2/SimpleStorage/1/index.json | 0 .../437XR1138R2/SimpleStorage/index.json | 0 .../Systems/437XR1138R2/index.json | 0 .../public-rackmount/Systems/index.json | 0 .../TaskService/Tasks/545/index.json | 0 .../TaskService/Tasks/index.json | 0 .../public-rackmount/TaskService/index.json | 0 .../public-rackmount/explorer_config.json | 0 .../public-rackmount/index.json | 0 .../DSP2043_2026.2/DSP2043_2026.2.html | 1330 +++++++++++++++++ .../mockups/DSP2043_2026.2/DSP2043_2026.2.pdf | Bin 0 -> 103047 bytes .../AccelerationFunction-v1-example.json | 22 + .../AccountService-v1-example.json | 104 ++ .../ActionInfo-v1-example.json | 24 + .../AddressPool-v1-example.json | 26 + ...regate-v1-AddElements-request-example.json | 11 + ...ate-v1-RemoveElements-request-example.json | 8 + .../Aggregate-v1-Reset-request-example.json | 6 + .../Aggregate-v1-example.json | 34 + ...ationService-v1-Reset-request-example.json | 17 + ...1-SetDefaultBootOrder-request-example.json | 14 + .../AggregationService-v1-example.json | 33 + ...ateSSHIdentityKeyPair-request-example.json | 4 + .../AggregationSource-v1-example.json | 20 + .../AllowDeny-v1-example.json | 18 + .../Application-v1-Reset-request-example.json | 4 + .../Application-v1-example.json | 33 + .../DSP2046-examples/Assembly-v1-example.json | 47 + .../AttributeRegistry-v1-example.json | 102 ++ .../AutomationInstrumentation-v1-example.json | 26 + .../AutomationNode-v1-example.json | 44 + .../Battery-v1-Reset-request-example.json | 4 + .../DSP2046-examples/Battery-v1-example.json | 47 + .../BatteryMetrics-v1-example.json | 64 + ...ios-v1-ChangePassword-request-example.json | 6 + .../DSP2046-examples/Bios-v1-example.json | 44 + .../BootOption-v1-example.json | 17 + ...-v1-DisablePassphrase-request-example.json | 4 + ...v1-DynamicCapacityAdd-request-example.json | 9 + ...ynamicCapacityRelease-request-example.json | 11 + ...PassphraseSecureErase-request-example.json | 5 + ...vice-v1-SetPassphrase-request-example.json | 6 + ...gicalDevice-v1-Unlock-request-example.json | 4 + .../CXLLogicalDevice-v1-example.json | 30 + .../DSP2046-examples/Cable-v1-example.json | 35 + .../Certificate-v1-Rekey-request-example.json | 5 + ...Certificate-v1-Rekey-response-example.json | 7 + .../Certificate-v1-Renew-request-example.json | 4 + ...Certificate-v1-Renew-response-example.json | 7 + .../Certificate-v1-example.json | 35 + .../CertificateEnrollment-v1-example.json | 45 + .../CertificateLocations-v1-example.json | 14 + ...ervice-v1-GenerateCSR-request-example.json | 24 + ...rvice-v1-GenerateCSR-response-example.json | 7 + ...v1-ReplaceCertificate-request-example.json | 8 + .../CertificateService-v1-example.json | 20 + .../Chassis-v1-Reset-request-example.json | 4 + .../DSP2046-examples/Chassis-v1-example.json | 62 + ...uit-v1-BreakerControl-request-example.json | 4 + ...rcuit-v1-PowerControl-request-example.json | 4 + .../DSP2046-examples/Circuit-v1-example.json | 82 + .../CommonPropertySchema.json | 67 + ...GetSignedMeasurements-request-example.json | 10 + ...etSignedMeasurements-response-example.json | 11 + ...GetSignedMeasurements-request-example.json | 9 + ...etSignedMeasurements-response-example.json | 4 + .../ComponentIntegrity-v1-example.json | 71 + .../CompositionReservation-v1-example.json | 34 + ...ionService-v1-Compose-request-example.json | 31 + ...onService-v1-Compose-response-example.json | 62 + .../CompositionService-v1-example.json | 20 + ...m-v1-AddResourceBlock-request-example.json | 8 + ...ystem-v1-Decommission-request-example.json | 7 + ...1-ExportConfiguration-request-example.json | 9 + ...lConsoleGetOneTimeURL-request-example.json | 6 + ...ConsoleGetOneTimeURL-response-example.json | 8 + ...oleSetOneTimePassword-request-example.json | 6 + ...leSetOneTimePassword-response-example.json | 8 + ...calConsoleSetPassword-request-example.json | 5 + ...1-RemoveResourceBlock-request-example.json | 8 + ...mputerSystem-v1-Reset-request-example.json | 4 + .../ComputerSystem-v1-example.json | 128 ++ ...tion-v1-AddVolumeInfo-request-example.json | 7 + ...n-v1-RemoveVolumeInfo-request-example.json | 6 + .../Connection-v1-example.json | 35 + .../ConnectionMethod-v1-example.json | 16 + .../Container-v1-Reset-request-example.json | 4 + .../Container-v1-example.json | 30 + .../ContainerImage-v1-example.json | 22 + .../DSP2046-examples/Control-v1-example.json | 22 + ...ector-v1-ValveControl-request-example.json | 5 + .../CoolantConnector-v1-example.json | 39 + .../CoolingLoop-v1-example.json | 31 + ...1-ExportConfiguration-request-example.json | 9 + ...oolingUnit-v1-SetMode-request-example.json | 4 + .../CoolingUnit-v1-example.json | 48 + ...-v1-FreezePersonality-request-example.json | 4 + ...-GetPersonalityNonce-response-example.json | 4 + .../Drive-v1-Reset-request-example.json | 4 + ...oOriginalFactoryState-request-example.json | 4 + .../Drive-v1-SecureErase-request-example.json | 4 + ...-v1-SetPersonalityKey-request-example.json | 5 + ...1-UnfreezePersonality-request-example.json | 7 + .../DSP2046-examples/Drive-v1-example.json | 49 + .../DriveMetrics-v1-example.json | 57 + .../DSP2046-examples/Endpoint-v1-example.json | 36 + .../EndpointGroup-v1-example.json | 23 + .../EnvironmentMetrics-v1-example.json | 22 + .../EthernetInterface-v1-example.json | 113 ++ ...v1-ResumeSubscription-request-example.json | 4 + .../EventDestination-v1-example.json | 24 + ...ce-v1-SubmitTestEvent-request-example.json | 12 + .../EventService-v1-example.json | 42 + .../ExternalAccountProvider-v1-example.json | 30 + .../DSP2046-examples/Fabric-v1-example.json | 22 + .../FabricAdapter-v1-example.json | 104 ++ .../DSP2046-examples/Facility-v1-example.json | 36 + .../DSP2046-examples/Fan-v1-example.json | 30 + .../DSP2046-examples/Filter-v1-example.json | 22 + .../GenericCollectionSchema.json | 84 ++ .../GraphicsController-v1-example.json | 39 + .../DSP2046-examples/Heater-v1-example.json | 30 + .../HeaterMetrics-v1-example.json | 24 + .../HostInterface-v1-example.json | 47 + .../Job-v1-Resubmit-request-example.json | 4 + .../DSP2046-examples/Job-v1-example.json | 35 + ...Document-v1-SubmitJob-request-example.json | 17 + .../JobDocument-v1-example.json | 66 + .../JobExecutor-v1-example.json | 29 + .../JobService-v1-example.json | 32 + .../JsonSchemaFile-v1-example.json | 31 + .../DSP2046-examples/Key-v1-example.json | 18 + .../KeyPolicy-v1-example.json | 34 + .../KeyService-v1-example.json | 13 + .../LeakDetection-v1-example.json | 39 + .../LeakDetector-v1-example.json | 27 + .../DSP2046-examples/License-v1-example.json | 39 + ...nseService-v1-Install-request-example.json | 6 + .../LicenseService-v1-example.json | 17 + .../DSP2046-examples/LogEntry-v1-example.json | 21 + ...ogService-v1-ClearLog-request-example.json | 4 + ...CollectDiagnosticData-request-example.json | 4 + ...ce-v1-DownloadRawLog-response-example.json | 4 + ...v1-PushDiagnosticData-request-example.json | 8 + .../LogService-v1-example.json | 26 + ...ager-v1-ForceFailover-request-example.json | 8 + ...1-ModifyRedundancySet-request-example.json | 8 + .../Manager-v1-Reset-request-example.json | 4 + ...er-v1-ResetToDefaults-request-example.json | 4 + ...v1-UpdateSecurityMode-request-example.json | 4 + .../DSP2046-examples/Manager-v1-example.json | 78 + ...unt-v1-ChangePassword-request-example.json | 5 + ...v1-GenerateSecretKey-response-example.json | 4 + ...eBasedOneTimePassword-request-example.json | 4 + .../ManagerAccount-v1-example.json | 27 + .../ManagerDiagnosticData-v1-example.json | 70 + .../ManagerNetworkProtocol-v1-example.json | 53 + ...iaController-v1-Reset-request-example.json | 4 + .../MediaController-v1-example.json | 39 + ...sableMasterPassphrase-request-example.json | 5 + ...-v1-DisablePassphrase-request-example.json | 5 + ...njectPersistentPoison-request-example.json | 4 + ...mory-v1-OverwriteUnit-request-example.json | 5 + .../Memory-v1-Reset-request-example.json | 4 + .../Memory-v1-ScanMedia-request-example.json | 5 + ...ry-v1-SecureEraseUnit-request-example.json | 5 + ...1-SetMasterPassphrase-request-example.json | 5 + ...mory-v1-SetPassphrase-request-example.json | 5 + .../Memory-v1-UnlockUnit-request-example.json | 5 + .../DSP2046-examples/Memory-v1-example.json | 44 + .../MemoryChunks-v1-example.json | 46 + .../MemoryDomain-v1-example.json | 30 + .../MemoryExtent-v1-example.json | 33 + .../MemoryMetrics-v1-example.json | 33 + .../MemoryRegion-v1-example.json | 37 + .../MessageRegistry-v1-example.json | 38 + .../MessageRegistryFile-v1-example.json | 26 + .../MetricDefinition-v1-example.json | 30 + .../MetricReport-v1-example.json | 30 + .../MetricReportDefinition-v1-example.json | 41 + ...tworkAdapter-v1-Reset-request-example.json | 4 + .../NetworkAdapter-v1-example.json | 86 ++ .../NetworkAdapterMetrics-v1-example.json | 20 + .../NetworkDeviceFunction-v1-example.json | 85 ++ ...tworkDeviceFunctionMetrics-v1-example.json | 25 + .../NetworkInterface-v1-example.json | 18 + .../NetworkPort-v1-example.json | 51 + .../OperatingConfig-v1-example.json | 50 + .../OperatingSystem-v1-example.json | 47 + .../OutboundConnection-v1-example.json | 30 + ...utlet-v1-PowerControl-request-example.json | 4 + .../DSP2046-examples/Outlet-v1-example.json | 69 + ...Group-v1-PowerControl-request-example.json | 4 + .../OutletGroup-v1-example.json | 45 + ...-CXLReferenceDCMemory-request-example.json | 5 + .../PCIeDevice-v1-example.json | 37 + .../PCIeFunction-v1-example.json | 27 + .../PCIeSlots-v1-example.json | 67 + .../DSP2046-examples/Policy-v1-example.json | 41 + .../PolicyService-v1-example.json | 32 + .../Port-v1-Reset-request-example.json | 4 + .../DSP2046-examples/Port-v1-example.json | 27 + .../PortMetrics-v1-example.json | 20 + ...r-v1-PowerSupplyReset-request-example.json | 5 + .../DSP2046-examples/Power-v1-example.json | 144 ++ ...1-ExportConfiguration-request-example.json | 9 + ...ution-v1-PowerControl-request-example.json | 4 + .../PowerDistribution-v1-example.json | 51 + .../PowerDistributionMetrics-v1-example.json | 31 + .../PowerDomain-v1-example.json | 23 + .../PowerEquipment-v1-example.json | 20 + .../PowerSubsystem-v1-example.json | 38 + .../PowerSupply-v1-Reset-request-example.json | 4 + .../PowerSupply-v1-example.json | 101 ++ .../PowerSupplyMetrics-v1-example.json | 91 ++ .../PrivilegeRegistry-v1-example.json | 65 + .../Processor-v1-Reset-request-example.json | 4 + .../Processor-v1-example.json | 35 + .../ProcessorMetrics-v1-example.json | 66 + .../Pump-v1-SetMode-request-example.json | 4 + .../DSP2046-examples/Pump-v1-example.json | 23 + .../RegisteredClient-v1-example.json | 24 + .../Reservoir-v1-example.json | 27 + .../ResourceBlock-v1-example.json | 67 + .../DSP2046-examples/Role-v1-example.json | 21 + .../RouteEntry-v1-example.json | 13 + .../RouteSetEntry-v1-example.json | 12 + ...cureBoot-v1-ResetKeys-request-example.json | 4 + .../SecureBoot-v1-example.json | 24 + ...Database-v1-ResetKeys-request-example.json | 4 + .../SecureBootDatabase-v1-example.json | 21 + .../SecurityPolicy-v1-example.json | 127 ++ .../DSP2046-examples/Sensor-v1-example.json | 35 + .../SerialInterface-v1-example.json | 17 + .../ServiceConditions-v1-example.json | 33 + .../ServiceRoot-v1-example.json | 59 + .../DSP2046-examples/Session-v1-example.json | 9 + .../SessionService-v1-example.json | 17 + .../Signature-v1-example.json | 11 + .../SimpleStorage-v1-example.json | 48 + ...Inventory-v1-Activate-request-example.json | 8 + ...reInventory-v1-Cancel-request-example.json | 8 + .../SoftwareInventory-v1-example.json | 25 + ...-v1-FreezePersonality-request-example.json | 4 + ...-GetPersonalityNonce-response-example.json | 4 + ...1-ImportForeignDrives-request-example.json | 5 + ...ge-v1-ResetToDefaults-request-example.json | 4 + ...SetControllerPassword-request-example.json | 6 + ...e-v1-SetEncryptionKey-request-example.json | 4 + ...-v1-SetPersonalityKey-request-example.json | 5 + ...ediaLifeLeftThreshold-request-example.json | 4 + ...1-UnfreezePersonality-request-example.json | 7 + .../DSP2046-examples/Storage-v1-example.json | 65 + ...r-v1-AttachNamespaces-request-example.json | 8 + ...-v1-AttachNamespaces-response-example.json | 14 + ...r-v1-DetachNamespaces-request-example.json | 8 + ...-v1-DetachNamespaces-response-example.json | 11 + ...geController-v1-Reset-request-example.json | 4 + ...er-v1-SecurityReceive-request-example.json | 6 + ...r-v1-SecurityReceive-response-example.json | 4 + ...oller-v1-SecuritySend-request-example.json | 6 + .../StorageController-v1-example.json | 58 + .../StorageControllerMetrics-v1-example.json | 51 + .../StorageMetrics-v1-example.json | 11 + .../Switch-v1-Reset-request-example.json | 4 + .../DSP2046-examples/Switch-v1-example.json | 59 + .../SwitchMetrics-v1-example.json | 27 + .../DSP2046-examples/Task-v1-example.json | 25 + .../TaskService-v1-example.json | 18 + .../TelemetryData-v1-example.json | 10 + ...-CollectTelemetryData-request-example.json | 8 + ...ubmitTestMetricReport-request-example.json | 24 + .../TelemetryService-v1-example.json | 31 + .../DSP2046-examples/Thermal-v1-example.json | 161 ++ .../ThermalEquipment-v1-example.json | 17 + .../ThermalMetrics-v1-example.json | 65 + .../ThermalSubsystem-v1-example.json | 52 + .../DSP2046-examples/Triggers-v1-example.json | 26 + ...nt-v1-TPMGetEventLog-response-example.json | 5 + .../TrustedComponent-v1-example.json | 31 + .../USBController-v1-example.json | 30 + ...teService-v1-Activate-request-example.json | 11 + ...ateSSHIdentityKeyPair-request-example.json | 4 + ...oveSSHIdentityKeyPair-request-example.json | 1 + ...rvice-v1-SimpleUpdate-request-example.json | 4 + .../UpdateService-v1-example.json | 26 + .../UpdateServiceCapabilities-v1-example.json | 15 + .../VCATEntry-v1-example.json | 27 + .../VLanNetworkInterface-v1-example.json | 10 + .../VirtualCXLSwitch-v1-example.json | 24 + ...lMedia-v1-InsertMedia-request-example.json | 6 + .../VirtualMedia-v1-example.json | 16 + .../VirtualPCI2PCIBridge-v1-example.json | 26 + ...1-AssignReplicaTarget-request-example.json | 6 + ...e-v1-ChangeRAIDLayout-request-example.json | 18 + ...1-CreateReplicaTarget-request-example.json | 7 + .../Volume-v1-Initialize-request-example.json | 5 + ...veReplicaRelationship-request-example.json | 5 + ...-v1-ResumeReplication-request-example.json | 4 + ...plicationRelationship-request-example.json | 4 + ...e-v1-SplitReplication-request-example.json | 4 + ...v1-SuspendReplication-request-example.json | 4 + .../DSP2046-examples/Volume-v1-example.json | 36 + .../Zone-v1-AddEndpoint-request-example.json | 8 + ...one-v1-RemoveEndpoint-request-example.json | 8 + .../DSP2046-examples/Zone-v1-example.json | 28 + .../ComposeManifestRequest.json | 243 +++ .../ComposeManifestReservationResponse.json | 439 ++++++ .../ComposeManifestResponse.json | 1049 +++++++++++++ .../non-resource-examples/EventExample.json | 25 + .../EventExampleWithDiagnosticData.json | 27 + .../EventExampleWithEventGroupId.json | 49 + .../EventExampleWithOrigin.json | 60 + .../ExpandManifestRequest.json | 45 + .../ExpandManifestResponse.json | 127 ++ .../public-acd/$metadata/index.xml | 211 +++ .../AccountService/Accounts/1/index.json | 22 + .../AccountService/Accounts/2/index.json | 28 + .../AccountService/Accounts/index.json | 12 + .../Roles/Administrator/index.json | 21 + .../AccountService/Roles/Operator/index.json | 16 + .../AccountService/Roles/ReadOnly/index.json | 15 + .../AccountService/Roles/index.json | 18 + .../public-acd/AccountService/index.json | 25 + .../Chassis/1U/EnvironmentMetrics/index.json | 29 + .../NetworkAdapters/Slot1/Metrics/index.json | 20 + .../SC2KP1F0/Metrics/index.json | 25 + .../SC2KP1F0/index.json | 39 + .../SC2KP2F0/Metrics/index.json | 25 + .../SC2KP2F0/index.json | 39 + .../Slot1/NetworkDeviceFunctions/index.json | 12 + .../Slot1/Ports/SC2KP1/Metrics/index.json | 53 + .../Slot1/Ports/SC2KP1/index.json | 40 + .../Slot1/Ports/SC2KP2/Metrics/index.json | 53 + .../Slot1/Ports/SC2KP2/index.json | 32 + .../1U/NetworkAdapters/Slot1/Ports/index.json | 12 + .../1U/NetworkAdapters/Slot1/index.json | 46 + .../NetworkAdapters/Slot2/Metrics/index.json | 20 + .../SCFCP1F0/Metrics/index.json | 25 + .../SCFCP1F0/index.json | 32 + .../Slot2/NetworkDeviceFunctions/index.json | 12 + .../Slot2/Ports/SCFCP1/Metrics/index.json | 55 + .../Slot2/Ports/SCFCP1/index.json | 49 + .../1U/NetworkAdapters/Slot2/Ports/index.json | 12 + .../1U/NetworkAdapters/Slot2/index.json | 37 + .../NetworkAdapters/Slot3/Metrics/index.json | 20 + .../CSP_P1/Metrics/index.json | 25 + .../NetworkDeviceFunctions/CSP_P1/index.json | 27 + .../CSP_P2/Metrics/index.json | 25 + .../NetworkDeviceFunctions/CSP_P2/index.json | 27 + .../CSP_P3/Metrics/index.json | 25 + .../NetworkDeviceFunctions/CSP_P3/index.json | 27 + .../CSP_P4/Metrics/index.json | 25 + .../NetworkDeviceFunctions/CSP_P4/index.json | 27 + .../Slot3/NetworkDeviceFunctions/index.json | 21 + .../Slot3/Ports/CSP_P1/Metrics/index.json | 81 + .../Slot3/Ports/CSP_P1/index.json | 48 + .../Slot3/Ports/CSP_P2/Metrics/index.json | 81 + .../Slot3/Ports/CSP_P2/index.json | 48 + .../Slot3/Ports/CSP_P3/Metrics/index.json | 81 + .../Slot3/Ports/CSP_P3/index.json | 48 + .../Slot3/Ports/CSP_P4/Metrics/index.json | 81 + .../Slot3/Ports/CSP_P4/index.json | 48 + .../1U/NetworkAdapters/Slot3/Ports/index.json | 21 + .../1U/NetworkAdapters/Slot3/index.json | 160 ++ .../NetworkDeviceFunctions/NDF1/index.json | 34 + .../Slot4/NetworkDeviceFunctions/index.json | 12 + .../Slot4/Ports/AG_P1/Metrics/index.json | 47 + .../Slot4/Ports/AG_P1/index.json | 61 + .../Slot4/Ports/PHY_P1/Metrics/index.json | 47 + .../Slot4/Ports/PHY_P1/index.json | 46 + .../Slot4/Ports/PHY_P2/Metrics/index.json | 47 + .../Slot4/Ports/PHY_P2/index.json | 46 + .../Slot4/Ports/PHY_P3/Metrics/index.json | 47 + .../Slot4/Ports/PHY_P3/index.json | 46 + .../Slot4/Ports/PHY_P4/Metrics/index.json | 47 + .../Slot4/Ports/PHY_P4/index.json | 46 + .../1U/NetworkAdapters/Slot4/Ports/index.json | 24 + .../1U/NetworkAdapters/Slot4/index.json | 28 + .../Chassis/1U/NetworkAdapters/index.json | 21 + .../public-acd/Chassis/1U/Power/index.json | 139 ++ .../PowerSupplies/Bay1/Assembly/index.json | 25 + .../PowerSupplies/Bay1/Metrics/index.json | 85 ++ .../PowerSupplies/Bay1/index.json | 87 ++ .../PowerSupplies/Bay2/index.json | 19 + .../PowerSubsystem/PowerSupplies/index.json | 15 + .../Chassis/1U/PowerSubsystem/index.json | 38 + .../Chassis/1U/Sensors/AmbientTemp/index.json | 16 + .../Chassis/1U/Sensors/CPU1Power/index.json | 33 + .../Chassis/1U/Sensors/CPU1Temp/index.json | 45 + .../Chassis/1U/Sensors/CPUFan1/index.json | 25 + .../Chassis/1U/Sensors/CPUFan2/index.json | 25 + .../Chassis/1U/Sensors/DIMM1Temp/index.json | 45 + .../Chassis/1U/Sensors/DIMM2Temp/index.json | 45 + .../Chassis/1U/Sensors/DIMM3Temp/index.json | 45 + .../Chassis/1U/Sensors/ExhaustTemp/index.json | 16 + .../Chassis/1U/Sensors/FanBay1/index.json | 25 + .../Chassis/1U/Sensors/FanBay2/index.json | 25 + .../Chassis/1U/Sensors/IntakeTemp/index.json | 16 + .../Chassis/1U/Sensors/PS1Energy/index.json | 21 + .../1U/Sensors/PS1Frequency/index.json | 40 + .../1U/Sensors/PS1InputCurrent/index.json | 34 + .../1U/Sensors/PS1InputPower/index.json | 36 + .../1U/Sensors/PS1InputVoltage/index.json | 41 + .../Chassis/1U/Sensors/PS1Out12V/index.json | 41 + .../1U/Sensors/PS1Out12VCurrent/index.json | 33 + .../Chassis/1U/Sensors/PS1Out3V/index.json | 41 + .../1U/Sensors/PS1Out3VCurrent/index.json | 34 + .../Chassis/1U/Sensors/PS1Out5V/index.json | 41 + .../1U/Sensors/PS1Out5VCurrent/index.json | 33 + .../Chassis/1U/Sensors/PS2Energy/index.json | 18 + .../1U/Sensors/PS2Frequency/index.json | 13 + .../1U/Sensors/PS2InputCurrent/index.json | 14 + .../1U/Sensors/PS2InputPower/index.json | 14 + .../1U/Sensors/PS2InputVoltage/index.json | 14 + .../Chassis/1U/Sensors/PS2Out12V/index.json | 14 + .../1U/Sensors/PS2Out12VCurrent/index.json | 13 + .../Chassis/1U/Sensors/PS2Out3V/index.json | 14 + .../1U/Sensors/PS2Out3VCurrent/index.json | 13 + .../Chassis/1U/Sensors/PS2Out5V/index.json | 14 + .../1U/Sensors/PS2Out5VCurrent/index.json | 13 + .../Chassis/1U/Sensors/TotalEnergy/index.json | 20 + .../Chassis/1U/Sensors/TotalPower/index.json | 37 + .../public-acd/Chassis/1U/Sensors/index.json | 114 ++ .../public-acd/Chassis/1U/Thermal/index.json | 159 ++ .../1U/ThermalSubsystem/Fans/Bay1/index.json | 30 + .../1U/ThermalSubsystem/Fans/Bay2/index.json | 30 + .../1U/ThermalSubsystem/Fans/CPU1/index.json | 29 + .../1U/ThermalSubsystem/Fans/CPU2/index.json | 30 + .../1U/ThermalSubsystem/Fans/index.json | 21 + .../ThermalMetrics/index.json | 37 + .../Chassis/1U/ThermalSubsystem/index.json | 52 + .../public-acd/Chassis/1U/index.json | 81 + .../public-acd/Chassis/index.json | 12 + .../BMC/DedicatedNetworkPorts/1/index.json | 39 + .../BMC/DedicatedNetworkPorts/index.json | 13 + .../BMC/EthernetInterfaces/eth0/SD/index.json | 60 + .../BMC/EthernetInterfaces/eth0/index.json | 83 + .../BMC/EthernetInterfaces/eth1/SD/index.json | 60 + .../BMC/EthernetInterfaces/eth1/index.json | 83 + .../BMC/EthernetInterfaces/index.json | 16 + .../BMC/LogServices/Log/Entries/1/index.json | 21 + .../BMC/LogServices/Log/Entries/index.json | 30 + .../Managers/BMC/LogServices/Log/index.json | 24 + .../Managers/BMC/LogServices/index.json | 13 + .../Managers/BMC/NetworkProtocol/index.json | 75 + .../BMC/SerialInterfaces/TTY0/index.json | 17 + .../Managers/BMC/SerialInterfaces/index.json | 13 + .../BMC/SharedNetworkPorts/index.json | 16 + .../Managers/BMC/VirtualMedia/CD1/index.json | 16 + .../BMC/VirtualMedia/Floppy1/index.json | 16 + .../Managers/BMC/VirtualMedia/index.json | 16 + .../public-acd/Managers/BMC/index.json | 89 ++ .../public-acd/Managers/index.json | 12 + .../Sessions/1234567890ABCDEF/index.json | 9 + .../SessionService/Sessions/index.json | 12 + .../public-acd/SessionService/index.json | 17 + .../437XR1138R2/Bios/Settings/index.json | 20 + .../Systems/437XR1138R2/Bios/index.json | 44 + .../EthernetInterfaces/SC2KP1F0/index.json | 31 + .../EthernetInterfaces/SC2KP2F0/index.json | 31 + .../437XR1138R2/EthernetInterfaces/index.json | 15 + .../LogServices/Log1/Entries/1/index.json | 20 + .../LogServices/Log1/Entries/2/index.json | 20 + .../LogServices/Log1/Entries/index.json | 49 + .../437XR1138R2/LogServices/Log1/index.json | 24 + .../437XR1138R2/LogServices/index.json | 13 + .../DIMM1/EnvironmentMetrics/index.json | 11 + .../437XR1138R2/Memory/DIMM1/index.json | 34 + .../DIMM2/EnvironmentMetrics/index.json | 11 + .../437XR1138R2/Memory/DIMM2/index.json | 34 + .../DIMM3/EnvironmentMetrics/index.json | 11 + .../437XR1138R2/Memory/DIMM3/index.json | 34 + .../437XR1138R2/Memory/DIMM4/index.json | 16 + .../Systems/437XR1138R2/Memory/index.json | 21 + .../NetworkDeviceFunctions/index.json | 12 + .../NetworkInterfaces/SCFCP1F0/index.json | 19 + .../437XR1138R2/NetworkInterfaces/index.json | 12 + .../CPU1/EnvironmentMetrics/index.json | 22 + .../437XR1138R2/Processors/CPU1/index.json | 31 + .../437XR1138R2/Processors/CPU2/index.json | 12 + .../Systems/437XR1138R2/Processors/index.json | 15 + .../437XR1138R2/SimpleStorage/1/index.json | 48 + .../437XR1138R2/SimpleStorage/index.json | 12 + .../public-acd/Systems/437XR1138R2/index.json | 144 ++ .../public-acd/Systems/index.json | 12 + .../public-acd/explorer_config.json | 48 + .../DSP2043_2026.2/public-acd/index.json | 42 + .../public-acd/odata/index.json | 41 + .../public-applications/$metadata/index.xml | 144 ++ .../Accounts/1/Certificates/index.json | 11 + .../AccountService/Accounts/1/index.json | 24 + .../AccountService/Accounts/2/index.json | 28 + .../AccountService/Accounts/index.json | 15 + .../Roles/Administrator/index.json | 21 + .../AccountService/Roles/Operator/index.json | 16 + .../AccountService/Roles/ReadOnly/index.json | 15 + .../AccountService/Roles/index.json | 18 + .../AccountService/index.json | 25 + .../1U/Drives/32ADF365C6C1B7BD/index.json | 41 + .../1U/Drives/35D38F11ACEF7BD3/index.json | 46 + .../1U/Drives/3D58ECBC375FD9F2/index.json | 49 + .../1U/Drives/3F5A8C54207B7233/index.json | 46 + .../Chassis/1U/Drives/index.json | 21 + .../public-applications/Chassis/1U/index.json | 61 + .../public-applications/Chassis/index.json | 12 + .../Dedicated/SD/index.json | 60 + .../EthernetInterfaces/Dedicated/index.json | 76 + .../BMC/EthernetInterfaces/index.json | 13 + .../BMC/LogServices/Log/Entries/index.json | 9 + .../Managers/BMC/LogServices/Log/index.json | 24 + .../Managers/BMC/LogServices/index.json | 13 + .../Managers/BMC/NetworkProtocol/index.json | 84 ++ .../Managers/BMC/VirtualMedia/CD1/index.json | 16 + .../BMC/VirtualMedia/Floppy1/index.json | 16 + .../Managers/BMC/VirtualMedia/index.json | 16 + .../Managers/BMC/index.json | 80 + .../public-applications/Managers/index.json | 12 + .../Sessions/1234567890ABCDEF/index.json | 9 + .../SessionService/Sessions/index.json | 12 + .../SessionService/index.json | 17 + .../12446A3B0411/index.json | 53 + .../12446A3B8890/index.json | 53 + .../437XR1138R2/EthernetInterfaces/index.json | 16 + .../437XR1138R2/Memory/DIMM1/index.json | 31 + .../437XR1138R2/Memory/DIMM2/index.json | 31 + .../437XR1138R2/Memory/DIMM3/index.json | 31 + .../437XR1138R2/Memory/DIMM4/index.json | 16 + .../Systems/437XR1138R2/Memory/index.json | 21 + .../437XR1138R2/OperatingSystem/index.json | 29 + .../437XR1138R2/Processors/CPU1/index.json | 29 + .../437XR1138R2/Processors/CPU2/index.json | 12 + .../Systems/437XR1138R2/Processors/index.json | 15 + .../Storage/1/Volumes/1/index.json | 39 + .../Storage/1/Volumes/2/index.json | 36 + .../Storage/1/Volumes/3/index.json | 36 + .../437XR1138R2/Storage/1/Volumes/index.json | 19 + .../Systems/437XR1138R2/Storage/1/index.json | 74 + .../Systems/437XR1138R2/Storage/index.json | 12 + .../Systems/437XR1138R2/index.json | 125 ++ .../VM1/EthernetInterfaces/1/index.json | 50 + .../ContainerHostInterface/index.json | 31 + .../Systems/VM1/EthernetInterfaces/index.json | 15 + .../Applications/Logger/index.json | 33 + .../Applications/WebServer/index.json | 27 + .../OperatingSystem/Applications/index.json | 15 + .../ContainerImages/WebLogic/index.json | 22 + .../ContainerImages/index.json | 18 + .../mariadb-10-3-28/index.json | 18 + .../ContainerImages/mariadb-10-5-9/index.json | 22 + .../Database/EthernetInterfaces/1/index.json | 33 + .../Database/EthernetInterfaces/2/index.json | 33 + .../Database/EthernetInterfaces/index.json | 15 + .../Containers/Database/index.json | 34 + .../EthernetInterfaces/1/index.json | 33 + .../EthernetInterfaces/index.json | 12 + .../Containers/WebBusinessLogic/index.json | 30 + .../VM1/OperatingSystem/Containers/index.json | 15 + .../Systems/VM1/OperatingSystem/index.json | 47 + .../VM1/Storage/1/Volumes/1/index.json | 25 + .../Systems/VM1/Storage/1/Volumes/index.json | 12 + .../Systems/VM1/Storage/1/index.json | 41 + .../Systems/VM1/Storage/index.json | 12 + .../Systems/VM1/index.json | 96 ++ .../public-applications/Systems/index.json | 15 + .../FirmwareInventory/BIOS/index.json | 22 + .../FirmwareInventory/BMC/index.json | 25 + .../FirmwareInventory/index.json | 15 + .../SimpleUpdateActionInfo/index.json | 37 + .../SoftwareInventory/ContosoLinux/index.json | 14 + .../SoftwareInventory/index.json | 12 + .../UpdateService/index.json | 40 + .../public-applications/explorer_config.json | 48 + .../public-applications/index.json | 32 + .../public-applications/odata/index.json | 46 + .../$metadata/index.xml | 201 +++ .../AccountService/Accounts/1/index.json | 22 + .../AccountService/Accounts/index.json | 12 + .../Roles/Administrator/index.json | 17 + .../AccountService/Roles/Operator/index.json | 15 + .../AccountService/Roles/ReadOnly/index.json | 13 + .../AccountService/Roles/index.json | 18 + .../AccountService/index.json | 25 + .../Chassis/Blade1/Thermal/index.json | 87 ++ .../Chassis/Blade1/index.json | 63 + .../Chassis/Blade2/Thermal/index.json | 87 ++ .../Chassis/Blade2/index.json | 63 + .../Chassis/Blade3/Thermal/index.json | 86 ++ .../Chassis/Blade3/index.json | 63 + .../Chassis/Blade4/Thermal/index.json | 58 + .../Chassis/Blade4/index.json | 58 + .../Chassis/Blade5/Thermal/index.json | 58 + .../Chassis/Blade5/index.json | 63 + .../Chassis/Blade6/Thermal/index.json | 34 + .../Chassis/Blade6/index.json | 58 + .../Chassis/Blade7/Thermal/index.json | 34 + .../Chassis/Blade7/index.json | 58 + .../Chassis/Blade8/Thermal/index.json | 34 + .../Chassis/Blade8/index.json | 58 + .../Chassis/Enclosure/Power/index.json | 81 + .../Chassis/Enclosure/Thermal/index.json | 80 + .../Chassis/Enclosure/index.json | 104 ++ .../Chassis/index.json | 36 + .../RBSystem/EthernetInterfaces/1/index.json | 42 + .../RBSystem/EthernetInterfaces/index.json | 13 + .../Systems/RBSystem/Memory/1/index.json | 25 + .../Systems/RBSystem/Memory/2/index.json | 25 + .../Systems/RBSystem/Memory/index.json | 15 + .../RBSystem/Processors/CPU1/index.json | 24 + .../RBSystem/Processors/CPU2/index.json | 24 + .../Systems/RBSystem/Processors/index.json | 15 + .../Systems/RBSystem/index.json | 33 + .../BladeComputeBlock1/index.json | 47 + .../RBSystem/EthernetInterfaces/1/index.json | 34 + .../RBSystem/EthernetInterfaces/index.json | 13 + .../Systems/RBSystem/Memory/1/index.json | 25 + .../Systems/RBSystem/Memory/2/index.json | 25 + .../Systems/RBSystem/Memory/index.json | 15 + .../RBSystem/Processors/CPU1/index.json | 24 + .../RBSystem/Processors/CPU2/index.json | 24 + .../Systems/RBSystem/Processors/index.json | 15 + .../Systems/RBSystem/index.json | 33 + .../BladeComputeBlock2/index.json | 47 + .../RBSystem/EthernetInterfaces/1/index.json | 32 + .../RBSystem/EthernetInterfaces/index.json | 13 + .../Systems/RBSystem/Memory/1/index.json | 25 + .../Systems/RBSystem/Memory/2/index.json | 25 + .../Systems/RBSystem/Memory/index.json | 15 + .../RBSystem/Processors/CPU1/index.json | 24 + .../RBSystem/Processors/CPU2/index.json | 24 + .../Systems/RBSystem/Processors/index.json | 15 + .../Systems/RBSystem/index.json | 33 + .../BladeComputeBlock3/index.json | 47 + .../Systems/RBSystem/index.json | 24 + .../BladeComputeBlock4/index.json | 31 + .../RBSystem/EthernetInterfaces/1/index.json | 17 + .../RBSystem/EthernetInterfaces/index.json | 13 + .../Systems/RBSystem/Memory/1/index.json | 25 + .../Systems/RBSystem/Memory/2/index.json | 25 + .../Systems/RBSystem/Memory/index.json | 15 + .../RBSystem/Processors/CPU1/index.json | 24 + .../RBSystem/Processors/CPU2/index.json | 24 + .../Systems/RBSystem/Processors/index.json | 15 + .../Systems/RBSystem/index.json | 33 + .../BladeComputeBlock5/index.json | 47 + .../RBSystem/EthernetInterfaces/1/index.json | 34 + .../RBSystem/EthernetInterfaces/index.json | 13 + .../Systems/RBSystem/Memory/1/index.json | 25 + .../Systems/RBSystem/Memory/2/index.json | 25 + .../Systems/RBSystem/Memory/index.json | 15 + .../RBSystem/Processors/CPU1/index.json | 24 + .../RBSystem/Processors/CPU2/index.json | 24 + .../Systems/RBSystem/Processors/index.json | 15 + .../Systems/RBSystem/index.json | 33 + .../BladeComputeBlock6/index.json | 47 + .../RBSystem/EthernetInterfaces/1/index.json | 30 + .../RBSystem/EthernetInterfaces/index.json | 13 + .../Systems/RBSystem/Memory/1/index.json | 25 + .../Systems/RBSystem/Memory/2/index.json | 25 + .../Systems/RBSystem/Memory/index.json | 15 + .../RBSystem/Processors/CPU1/index.json | 24 + .../RBSystem/Processors/CPU2/index.json | 24 + .../Systems/RBSystem/Processors/index.json | 15 + .../Systems/RBSystem/index.json | 33 + .../BladeComputeBlock7/index.json | 48 + .../Drives/Drive1/index.json | 37 + .../Drives/Drive2/index.json | 37 + .../BladeStorageBlock8/Storage/1/index.json | 28 + .../BladeStorageBlock8/index.json | 48 + .../ResourceBlocks/index.json | 33 + .../ResourceZones/EncZone1/index.json | 40 + .../ResourceZones/index.json | 12 + .../CompositionService/index.json | 18 + .../SubmitTestEventActionInfo/index.json | 62 + .../EventService/Subscriptions/1/index.json | 14 + .../EventService/Subscriptions/index.json | 12 + .../EventService/index.json | 30 + .../EncMgr1/EthernetInterfaces/1/index.json | 21 + .../EncMgr1/EthernetInterfaces/index.json | 12 + .../EncMgr1/NetworkProtocol/index.json | 38 + .../EncMgr1/SerialInterfaces/1/index.json | 17 + .../EncMgr1/SerialInterfaces/index.json | 13 + .../EncMgr1/VirtualMedia/CDDVD/index.json | 17 + .../Managers/EncMgr1/VirtualMedia/index.json | 13 + .../Managers/EncMgr1/index.json | 122 ++ .../EncMgr2/EthernetInterfaces/1/index.json | 21 + .../EncMgr2/EthernetInterfaces/index.json | 12 + .../EncMgr2/NetworkProtocol/index.json | 38 + .../EncMgr2/SerialInterfaces/1/index.json | 17 + .../EncMgr2/SerialInterfaces/index.json | 13 + .../EncMgr2/VirtualMedia/CDDVD/index.json | 16 + .../Managers/EncMgr2/VirtualMedia/index.json | 13 + .../Managers/EncMgr2/index.json | 122 ++ .../Managers/index.json | 16 + .../public-bladed-partitions/README.md | 15 + .../Sessions/12623963E803C264/index.json | 9 + .../SessionService/Sessions/index.json | 12 + .../SessionService/index.json | 17 + .../Systems/Capabilities/index.json | 15 + .../EthernetInterfaces/index.json | 13 + .../ComposedPartition1/Memory/index.json | 15 + .../ComposedPartition1/Processors/index.json | 15 + .../Systems/ComposedPartition1/index.json | 85 ++ .../EthernetInterfaces/index.json | 19 + .../ComposedPartition2/Memory/index.json | 27 + .../ComposedPartition2/Processors/index.json | 27 + .../Systems/ComposedPartition2/index.json | 91 ++ .../EthernetInterfaces/index.json | 13 + .../ComposedPartition3/Memory/index.json | 15 + .../ComposedPartition3/Processors/index.json | 15 + .../ComposedPartition3/Storage/index.json | 12 + .../Systems/ComposedPartition3/index.json | 91 ++ .../Systems/index.json | 40 + .../TaskService/Tasks/index.json | 8 + .../TaskService/index.json | 17 + .../explorer_config.json | 96 ++ .../public-bladed-partitions/index.json | 52 + .../public-bladed-partitions/odata/index.json | 56 + .../public-bladed/$metadata/index.xml | 144 ++ .../AccountService/Accounts/1/index.json | 22 + .../AccountService/Accounts/index.json | 12 + .../Roles/Administrator/index.json | 17 + .../AccountService/Roles/Operator/index.json | 15 + .../AccountService/Roles/ReadOnly/index.json | 14 + .../AccountService/Roles/index.json | 18 + .../public-bladed/AccountService/index.json | 25 + .../Chassis/Blade1/Thermal/index.json | 52 + .../public-bladed/Chassis/Blade1/index.json | 68 + .../Chassis/Blade2/Thermal/index.json | 52 + .../public-bladed/Chassis/Blade2/index.json | 68 + .../Chassis/Blade3/Thermal/index.json | 52 + .../public-bladed/Chassis/Blade3/index.json | 68 + .../Chassis/Blade4/Thermal/index.json | 52 + .../public-bladed/Chassis/Blade4/index.json | 68 + .../Chassis/MultiBladeEncl/Power/index.json | 159 ++ .../Chassis/MultiBladeEncl/Thermal/index.json | 280 ++++ .../Chassis/MultiBladeEncl/index.json | 64 + .../public-bladed/Chassis/index.json | 24 + .../SubmitTestEventActionInfo/index.json | 62 + .../EventService/Subscriptions/1/index.json | 14 + .../EventService/Subscriptions/index.json | 12 + .../public-bladed/EventService/index.json | 30 + .../Blade1BMC/EthernetInterfaces/1/index.json | 21 + .../Blade1BMC/EthernetInterfaces/index.json | 12 + .../LogServices/Log/Entries/index.json | 8 + .../Blade1BMC/LogServices/Log/index.json | 24 + .../Managers/Blade1BMC/LogServices/index.json | 12 + .../Managers/Blade1BMC/index.json | 40 + .../Blade2BMC/EthernetInterfaces/1/index.json | 21 + .../Blade2BMC/EthernetInterfaces/index.json | 12 + .../LogServices/Log/Entries/index.json | 8 + .../Blade2BMC/LogServices/Log/index.json | 24 + .../Managers/Blade2BMC/LogServices/index.json | 12 + .../Managers/Blade2BMC/index.json | 40 + .../Blade3BMC/EthernetInterfaces/1/index.json | 21 + .../Blade3BMC/EthernetInterfaces/index.json | 12 + .../LogServices/Log/Entries/1/index.json | 17 + .../LogServices/Log/Entries/index.json | 25 + .../Blade3BMC/LogServices/Log/index.json | 24 + .../Managers/Blade3BMC/LogServices/index.json | 12 + .../Managers/Blade3BMC/index.json | 40 + .../Blade4BMC/EthernetInterfaces/1/index.json | 21 + .../Blade4BMC/EthernetInterfaces/index.json | 12 + .../LogServices/Log/Entries/index.json | 8 + .../Blade4BMC/LogServices/Log/index.json | 24 + .../Managers/Blade4BMC/LogServices/index.json | 12 + .../Managers/Blade4BMC/index.json | 40 + .../EthernetInterfaces/1/index.json | 21 + .../EthernetInterfaces/index.json | 12 + .../LogServices/Log/Entries/1/index.json | 17 + .../LogServices/Log/Entries/index.json | 25 + .../MultiBladeBMC/LogServices/Log/index.json | 24 + .../MultiBladeBMC/LogServices/index.json | 12 + .../Managers/MultiBladeBMC/index.json | 27 + .../public-bladed/Managers/index.json | 24 + .../Sessions/12623963E803C264/index.json | 9 + .../SessionService/Sessions/index.json | 12 + .../public-bladed/SessionService/index.json | 17 + .../529QB9450R6/Processors/CPU/index.json | 19 + .../Systems/529QB9450R6/Processors/index.json | 12 + .../529QB9450R6/SimpleStorage/1/index.json | 32 + .../529QB9450R6/SimpleStorage/index.json | 12 + .../Systems/529QB9450R6/index.json | 84 ++ .../529QB9451R6/Processors/CPU/index.json | 19 + .../Systems/529QB9451R6/Processors/index.json | 12 + .../529QB9451R6/SimpleStorage/1/index.json | 32 + .../529QB9451R6/SimpleStorage/index.json | 12 + .../Systems/529QB9451R6/index.json | 84 ++ .../529QB9452R6/Processors/CPU/index.json | 19 + .../Systems/529QB9452R6/Processors/index.json | 12 + .../529QB9452R6/SimpleStorage/1/index.json | 32 + .../529QB9452R6/SimpleStorage/index.json | 12 + .../Systems/529QB9452R6/index.json | 84 ++ .../529QB9453R6/Processors/CPU/index.json | 19 + .../Systems/529QB9453R6/Processors/index.json | 12 + .../529QB9453R6/SimpleStorage/1/index.json | 32 + .../529QB9453R6/SimpleStorage/index.json | 12 + .../Systems/529QB9453R6/index.json | 84 ++ .../public-bladed/Systems/index.json | 21 + .../TaskService/Tasks/index.json | 8 + .../public-bladed/TaskService/index.json | 18 + .../public-bladed/explorer_config.json | 100 ++ .../DSP2043_2026.2/public-bladed/index.json | 48 + .../public-bladed/odata/index.json | 51 + .../public-cables/$metadata/index.xml | 244 +++ .../public-cables/Cables/fan0/index.json | 35 + .../public-cables/Cables/hdmi_dp/index.json | 35 + .../public-cables/Cables/index.json | 24 + .../public-cables/Cables/pcie0/index.json | 40 + .../public-cables/Cables/power0/index.json | 35 + .../public-cables/Cables/sata0/index.json | 40 + .../public-cables/Chassis/bmc/index.json | 22 + .../Chassis/chassis/PCIeSlots/index.json | 33 + .../public-cables/Chassis/chassis/index.json | 22 + .../Chassis/hsbp/Drives/1/index.json | 8 + .../Chassis/hsbp/Drives/index.json | 12 + .../Chassis/hsbp/PCIeSlots/index.json | 17 + .../public-cables/Chassis/hsbp/index.json | 31 + .../public-cables/Chassis/index.json | 18 + .../SessionService/Sessions/index.json | 8 + .../public-cables/SessionService/index.json | 19 + .../public-cables/Systems/index.json | 12 + .../1/Controllers/1/Ports/1/index.json | 8 + .../Storage/1/Controllers/1/Ports/index.json | 12 + .../system/Storage/1/Controllers/1/index.json | 8 + .../system/Storage/1/Controllers/index.json | 12 + .../Systems/system/Storage/1/index.json | 13 + .../Systems/system/Storage/index.json | 12 + .../public-cables/Systems/system/index.json | 24 + .../public-cables/explorer_config.json | 64 + .../DSP2043_2026.2/public-cables/index.json | 25 + .../public-cables/odata/index.json | 26 + .../public-catfish/$metadata/index.xml | 112 ++ .../AccountService/Accounts/index.json | 18 + .../AccountService/Accounts/jane/index.json | 22 + .../AccountService/Accounts/john/index.json | 22 + .../AccountService/Accounts/root/index.json | 22 + .../Roles/Administrator/index.json | 17 + .../AccountService/Roles/Operator/index.json | 15 + .../AccountService/Roles/ReadOnly/index.json | 14 + .../AccountService/Roles/index.json | 18 + .../public-catfish/AccountService/index.json | 25 + .../public-catfish/Chassis/1/Power/index.json | 25 + .../Chassis/1/Thermal/index.json | 149 ++ .../public-catfish/Chassis/1/index.json | 43 + .../public-catfish/Chassis/index.json | 12 + .../bmc/EthernetInterfaces/eth0/index.json | 56 + .../bmc/EthernetInterfaces/index.json | 13 + .../Managers/bmc/NetworkProtocol/index.json | 45 + .../public-catfish/Managers/bmc/index.json | 49 + .../public-catfish/Managers/index.json | 12 + .../DSP2043_2026.2/public-catfish/README.md | 39 + .../DSP2043_2026.2/public-catfish/README.txt | 38 + .../Sessions/1234567890ABCDEF/index.json | 9 + .../SessionService/Sessions/index.json | 12 + .../public-catfish/SessionService/index.json | 17 + .../1/LogServices/SEL/Entries/1/index.json | 20 + .../1/LogServices/SEL/Entries/2/index.json | 20 + .../1/LogServices/SEL/Entries/index.json | 49 + .../Systems/1/LogServices/SEL/index.json | 24 + .../Systems/1/LogServices/index.json | 13 + .../public-catfish/Systems/1/index.json | 68 + .../public-catfish/Systems/index.json | 12 + .../public-catfish/explorer_config.json | 48 + .../DSP2043_2026.2/public-catfish/index.json | 42 + .../public-catfish/odata/index.json | 41 + .../public-composability/$metadata/index.xml | 174 +++ .../AccountService/Accounts/1/index.json | 22 + .../AccountService/Accounts/index.json | 12 + .../Roles/Administrator/index.json | 21 + .../AccountService/Roles/Operator/index.json | 16 + .../AccountService/Roles/ReadOnly/index.json | 15 + .../AccountService/Roles/index.json | 18 + .../AccountService/index.json | 25 + .../ComposableEnclosure/Power/index.json | 147 ++ .../ComposableEnclosure/Thermal/index.json | 250 ++++ .../Chassis/ComposableEnclosure/index.json | 58 + .../Chassis/ComposableModule1/index.json | 40 + .../Chassis/ComposableModule2/index.json | 36 + .../Chassis/ComposableModule3/index.json | 49 + .../Chassis/ComposableModule4/index.json | 36 + .../Chassis/ComposableModule5/index.json | 36 + .../Chassis/ComposableModule6/index.json | 36 + .../Chassis/ComposableModule7/index.json | 36 + .../public-composability/Chassis/index.json | 33 + .../ResourceBlocks/Capabilities/index.json | 20 + .../Block1OnboardNIC/index.json | 31 + .../Memory/Block1DIMM0/index.json | 28 + .../Memory/Block1DIMM1/index.json | 28 + .../Memory/Block1DIMM2/index.json | 28 + .../Memory/Block1DIMM3/index.json | 28 + .../Processors/Block1CPU0/index.json | 32 + .../Processors/Block1CPU1/index.json | 32 + .../ResourceBlocks/ComputeBlock1/index.json | 66 + .../Memory/Block2DIMM0/index.json | 28 + .../Memory/Block2DIMM1/index.json | 28 + .../Memory/Block2DIMM2/index.json | 28 + .../Memory/Block2DIMM3/index.json | 28 + .../Processors/Block2CPU0/index.json | 32 + .../Processors/Block2CPU1/index.json | 32 + .../ResourceBlocks/ComputeBlock2/index.json | 60 + .../Drives/Block10Slot4/index.json | 19 + .../ResourceBlocks/DriveBlock10/index.json | 43 + .../DriveBlock3/Drives/Block3Slot0/index.json | 19 + .../ResourceBlocks/DriveBlock3/index.json | 50 + .../DriveBlock4/Drives/Block4Slot1/index.json | 19 + .../ResourceBlocks/DriveBlock4/index.json | 47 + .../DriveBlock5/Drives/Block5Slot2/index.json | 19 + .../ResourceBlocks/DriveBlock5/index.json | 43 + .../DriveBlock6/Drives/Block6Slot3/index.json | 19 + .../ResourceBlocks/DriveBlock6/index.json | 43 + .../SimpleStorage/Block7SASTray/index.json | 58 + .../ResourceBlocks/DriveBlock7/index.json | 42 + .../EthernetInterfaces/Block8Port0/index.json | 31 + .../EthernetInterfaces/Block8Port1/index.json | 31 + .../ResourceBlocks/NetworkBlock8/index.json | 46 + .../Processors/Block9GPU/index.json | 22 + .../ResourceBlocks/OffloadBlock9/index.json | 39 + .../ResourceBlocks/SystemBlock11/index.json | 32 + .../ResourceBlocks/SystemBlock12/index.json | 32 + .../ResourceBlocks/index.json | 66 + .../ResourceZones/1/index.json | 34 + .../ResourceZones/2/index.json | 40 + .../ResourceZones/3/index.json | 25 + .../ResourceZones/index.json | 18 + .../CompositionService/index.json | 20 + .../1/EthernetInterfaces/Dedicated/index.json | 59 + .../Managers/1/EthernetInterfaces/index.json | 13 + .../1/LogServices/Log/Entries/index.json | 9 + .../Managers/1/LogServices/Log/index.json | 24 + .../Managers/1/LogServices/index.json | 13 + .../Managers/1/index.json | 62 + .../public-composability/Managers/index.json | 12 + .../Sessions/1234567890ABCDEF/index.json | 9 + .../SessionService/Sessions/index.json | 12 + .../SessionService/index.json | 17 + .../Systems/Capabilities/index.json | 36 + .../EthernetInterfaces/index.json | 12 + .../Systems/ComposedSystem/Memory/index.json | 21 + .../ComposedSystem/Processors/index.json | 15 + .../ComposedSystem/Storage/NVMe/index.json | 19 + .../Systems/ComposedSystem/Storage/index.json | 12 + .../Systems/ComposedSystem/index.json | 68 + .../EthernetInterfaces/index.json | 15 + .../Systems/ComposedSystem2/Memory/index.json | 21 + .../ComposedSystem2/Processors/index.json | 15 + .../ComposedSystem2/Storage/NVMe/index.json | 16 + .../ComposedSystem2/Storage/index.json | 12 + .../Systems/ComposedSystem2/index.json | 68 + .../EthernetInterfaces/SystemNIC/index.json | 26 + .../EthernetInterfaces/index.json | 12 + .../Memory/DIMM0/index.json | 23 + .../Memory/index.json | 12 + .../Processors/CPU0/index.json | 27 + .../Processors/index.json | 12 + .../Storage/NVMe/Drives/Drive0/index.json | 14 + .../Storage/NVMe/index.json | 19 + .../Storage/index.json | 12 + .../SystemAfterAddResourceAction/index.json | 70 + .../EthernetInterfaces/SystemNIC/index.json | 26 + .../EthernetInterfaces/index.json | 12 + .../Memory/DIMM0/index.json | 23 + .../Memory/index.json | 12 + .../Processors/CPU0/index.json | 27 + .../Processors/index.json | 12 + .../Storage/NVMe/Drives/Drive0/index.json | 14 + .../Storage/NVMe/index.json | 16 + .../Storage/index.json | 12 + .../SystemAfterResourceBlock/index.json | 67 + .../EthernetInterfaces/SystemNIC/index.json | 26 + .../EthernetInterfaces/index.json | 12 + .../Memory/DIMM0/index.json | 23 + .../SystemPreResourceBlock/Memory/index.json | 12 + .../Processors/CPU0/index.json | 27 + .../Processors/index.json | 12 + .../Storage/NVMe/Drives/Drive0/index.json | 14 + .../Storage/NVMe/index.json | 16 + .../SystemPreResourceBlock/Storage/index.json | 12 + .../Systems/SystemPreResourceBlock/index.json | 54 + .../public-composability/Systems/index.json | 48 + .../public-composability/explorer_config.json | 80 + .../public-composability/index.json | 45 + .../public-composability/odata/index.json | 46 + .../public-compose-action/$metadata/index.xml | 174 +++ .../AccountService/Accounts/1/index.json | 22 + .../AccountService/Accounts/index.json | 12 + .../Roles/Administrator/index.json | 21 + .../AccountService/Roles/Operator/index.json | 16 + .../AccountService/Roles/ReadOnly/index.json | 15 + .../AccountService/Roles/index.json | 18 + .../AccountService/index.json | 24 + .../Chassis/BladeServer-1/Power/index.json | 40 + .../Chassis/BladeServer-1/Thermal/index.json | 16 + .../Chassis/BladeServer-1/index.json | 51 + .../Chassis/BladeServer-2/Power/index.json | 40 + .../Chassis/BladeServer-2/Thermal/index.json | 16 + .../Chassis/BladeServer-2/index.json | 45 + .../Chassis/BladeServer-3/Power/index.json | 40 + .../Chassis/BladeServer-3/Thermal/index.json | 16 + .../Chassis/BladeServer-3/index.json | 45 + .../Chassis/FabricEngine/index.json | 32 + .../Chassis/IOM-1/index.json | 32 + .../Chassis/IOM-2/index.json | 32 + .../Chassis/RackServer-1/Power/index.json | 40 + .../Chassis/RackServer-1/Thermal/index.json | 16 + .../Chassis/RackServer-1/index.json | 40 + .../Chassis/RackServer-2/Power/index.json | 40 + .../Chassis/RackServer-2/Thermal/index.json | 16 + .../Chassis/RackServer-2/index.json | 40 + .../Chassis/RackServer-3/Power/index.json | 40 + .../Chassis/RackServer-3/Thermal/index.json | 16 + .../Chassis/RackServer-3/index.json | 40 + .../Chassis/RackServer-4/Power/index.json | 40 + .../Chassis/RackServer-4/Thermal/index.json | 16 + .../Chassis/RackServer-4/index.json | 40 + .../Chassis/RackServer-5/Power/index.json | 40 + .../Chassis/RackServer-5/Thermal/index.json | 16 + .../Chassis/RackServer-5/index.json | 40 + .../StorageSled-1/Drives/611/index.json | 37 + .../Chassis/StorageSled-1/index.json | 40 + .../public-compose-action/Chassis/index.json | 45 + .../CompositionService/ActivePool/index.json | 18 + .../ComposeActionInfo/index.json | 37 + .../CompositionReservations/1/index.json | 34 + .../CompositionReservations/index.json | 12 + .../CompositionService/FreePool/index.json | 42 + .../Memory/Appliance-DIMM1/index.json | 23 + .../Processors/Appliance-CPU1/index.json | 18 + .../Appliance-Local/Drives/1/index.json | 36 + .../Appliance-Local/Drives/2/index.json | 36 + .../Appliance-Local/Drives/3/index.json | 36 + .../Storage/Appliance-Local/index.json | 44 + .../Storage/Appliance-SAS/index.json | 38 + .../ResourceBlocks/Appliance/index.json | 57 + .../Memory/BladeServer-1-DIMM1/index.json | 23 + .../Processors/BladeServer-1-CPU1/index.json | 18 + .../BladeServer-1-Local/Drives/1/index.json | 36 + .../BladeServer-1-Local/Drives/2/index.json | 36 + .../BladeServer-1-Local/Drives/3/index.json | 36 + .../Storage/BladeServer-1-Local/index.json | 44 + .../Storage/BladeServer-1-SAS/index.json | 42 + .../ResourceBlocks/BladeServer-1/index.json | 57 + .../Memory/BladeServer-2-DIMM1/index.json | 23 + .../Processors/BladeServer-2-CPU1/index.json | 18 + .../BladeServer-2-Local/Drives/1/index.json | 36 + .../BladeServer-2-Local/Drives/2/index.json | 36 + .../BladeServer-2-Local/Drives/3/index.json | 36 + .../Storage/BladeServer-2-Local/index.json | 44 + .../Storage/BladeServer-2-SAS/index.json | 38 + .../ResourceBlocks/BladeServer-2/index.json | 57 + .../Memory/BladeServer-3-DIMM1/index.json | 23 + .../Processors/BladeServer-3-CPU1/index.json | 18 + .../BladeServer-3-Local/Drives/1/index.json | 36 + .../BladeServer-3-Local/Drives/2/index.json | 36 + .../BladeServer-3-Local/Drives/3/index.json | 36 + .../Storage/BladeServer-3-Local/index.json | 44 + .../Storage/BladeServer-3-SAS/index.json | 38 + .../ResourceBlocks/BladeServer-3/index.json | 57 + .../Drives/1/index.json | 36 + .../NVMe-TargetsAppliance-1/index.json | 29 + .../NVMe-TargetsAppliance-1/index.json | 49 + .../Drives/1/index.json | 36 + .../NVMe-TargetsAppliance-2/index.json | 29 + .../NVMe-TargetsAppliance-2/index.json | 45 + .../Drives/1/index.json | 36 + .../NVMe-TargetsAppliance-3/index.json | 29 + .../NVMe-TargetsAppliance-3/index.json | 45 + .../Memory/RackServer-1-DIMM1/index.json | 23 + .../Processors/RackServer-1-CPU1/index.json | 18 + .../RackServer-1-Local/Drives/1/index.json | 36 + .../RackServer-1-Local/Drives/2/index.json | 36 + .../RackServer-1-Local/Drives/3/index.json | 36 + .../Storage/RackServer-1-Local/index.json | 44 + .../Storage/RackServer-1-SAS/index.json | 38 + .../ResourceBlocks/RackServer-1/index.json | 57 + .../Memory/RackServer-2-DIMM1/index.json | 23 + .../Processors/RackServer-2-CPU1/index.json | 18 + .../RackServer-2-Local/Drives/1/index.json | 36 + .../RackServer-2-Local/Drives/2/index.json | 36 + .../RackServer-2-Local/Drives/3/index.json | 36 + .../Storage/RackServer-2-Local/index.json | 44 + .../Storage/RackServer-2-SAS/index.json | 38 + .../ResourceBlocks/RackServer-2/index.json | 57 + .../Memory/RackServer-4-DIMM1/index.json | 23 + .../Processors/RackServer-4-CPU1/index.json | 18 + .../RackServer-4-Local/Drives/1/index.json | 36 + .../RackServer-4-Local/Drives/2/index.json | 36 + .../RackServer-4-Local/Drives/3/index.json | 36 + .../Storage/RackServer-4-Local/index.json | 44 + .../Storage/RackServer-4-SAS/index.json | 38 + .../ResourceBlocks/RackServer-4/index.json | 57 + .../Memory/RackServer-5-DIMM1/index.json | 23 + .../Processors/RackServer-5-CPU1/index.json | 18 + .../RackServer-5-Local/Drives/1/index.json | 36 + .../RackServer-5-Local/Drives/2/index.json | 36 + .../RackServer-5-Local/Drives/3/index.json | 36 + .../Storage/RackServer-5-Local/index.json | 44 + .../Storage/RackServer-5-SAS/index.json | 38 + .../ResourceBlocks/RackServer-5/index.json | 57 + .../Drives/SASSled-1-Drive1/index.json | 36 + .../ResourceBlocks/SASSled-1/index.json | 49 + .../Drives/SASSled-2-Drive1/index.json | 36 + .../ResourceBlocks/SASSled-2/index.json | 45 + .../Drives/SASSled-3-Drive1/index.json | 36 + .../ResourceBlocks/SASSled-3/index.json | 45 + .../ResourceBlocks/index.json | 51 + .../ResourceZones/Appliance/index.json | 18 + .../ResourceZones/BladeServer-1/index.json | 36 + .../ResourceZones/BladeServer-2/index.json | 36 + .../ResourceZones/BladeServer-3/index.json | 36 + .../ResourceZones/RackServer-1/index.json | 24 + .../ResourceZones/RackServer-2/index.json | 24 + .../ResourceZones/RackServer-4/index.json | 24 + .../ResourceZones/RackServer-5/index.json | 24 + .../ResourceZones/index.json | 33 + .../CompositionService/index.json | 36 + .../1/EthernetInterfaces/Dedicated/index.json | 59 + .../Managers/1/EthernetInterfaces/index.json | 13 + .../1/LogServices/Log/Entries/index.json | 9 + .../Managers/1/LogServices/Log/index.json | 24 + .../Managers/1/LogServices/index.json | 13 + .../Managers/1/index.json | 77 + .../public-compose-action/Managers/index.json | 12 + .../Sessions/1234567890ABCDEF/index.json | 9 + .../SessionService/Sessions/index.json | 12 + .../SessionService/index.json | 17 + .../Systems/BladeServer-1/Memory/index.json | 12 + .../BladeServer-1/Processors/index.json | 12 + .../Systems/BladeServer-1/Storage/index.json | 19 + .../Systems/BladeServer-1/index.json | 96 ++ .../Systems/BladeServer-2/Memory/index.json | 12 + .../BladeServer-2/Processors/index.json | 12 + .../Systems/BladeServer-2/Storage/index.json | 16 + .../Systems/BladeServer-2/index.json | 90 ++ .../Systems/BladeServer-3/Memory/index.json | 12 + .../BladeServer-3/Processors/index.json | 12 + .../Systems/BladeServer-3/Storage/index.json | 16 + .../Systems/BladeServer-3/index.json | 90 ++ .../Systems/Capabilities/index.json | 31 + .../Systems/RackServer-1/Memory/index.json | 12 + .../RackServer-1/Processors/index.json | 12 + .../Systems/RackServer-1/Storage/index.json | 16 + .../Systems/RackServer-1/index.json | 90 ++ .../Systems/RackServer-2/Memory/index.json | 12 + .../RackServer-2/Processors/index.json | 12 + .../Systems/RackServer-2/Storage/index.json | 16 + .../Systems/RackServer-2/index.json | 90 ++ .../Systems/RackServer-3/Memory/index.json | 12 + .../RackServer-3/Processors/index.json | 12 + .../Systems/RackServer-3/Storage/index.json | 16 + .../Systems/RackServer-3/index.json | 90 ++ .../Systems/RackServer-4/Memory/index.json | 12 + .../RackServer-4/Processors/index.json | 12 + .../Systems/RackServer-4/Storage/index.json | 16 + .../Systems/RackServer-4/index.json | 90 ++ .../Systems/RackServer-5/Memory/index.json | 12 + .../RackServer-5/Processors/index.json | 12 + .../Systems/RackServer-5/Storage/index.json | 16 + .../Systems/RackServer-5/index.json | 90 ++ .../public-compose-action/Systems/index.json | 50 + .../explorer_config.json | 124 ++ .../public-compose-action/index.json | 45 + .../public-compose-action/odata/index.json | 46 + .../$metadata/index.xml | 174 +++ .../AccountService/Accounts/1/index.json | 22 + .../AccountService/Accounts/index.json | 12 + .../Roles/Administrator/index.json | 21 + .../AccountService/Roles/Operator/index.json | 16 + .../AccountService/Roles/ReadOnly/index.json | 15 + .../AccountService/Roles/index.json | 18 + .../AccountService/index.json | 25 + .../ComposableEnclosure/Power/index.json | 147 ++ .../ComposableEnclosure/Thermal/index.json | 250 ++++ .../Chassis/ComposableEnclosure/index.json | 58 + .../Chassis/ComposableModule1/index.json | 40 + .../Chassis/ComposableModule2/index.json | 36 + .../Chassis/ComposableModule3/index.json | 49 + .../Chassis/ComposableModule4/index.json | 36 + .../Chassis/ComposableModule5/index.json | 36 + .../Chassis/ComposableModule6/index.json | 36 + .../Chassis/index.json | 30 + .../Block1OnboardNIC/index.json | 31 + .../Memory/Block1DIMM0/index.json | 28 + .../Memory/Block1DIMM1/index.json | 28 + .../Memory/Block1DIMM2/index.json | 28 + .../Memory/Block1DIMM3/index.json | 28 + .../Processors/Block1CPU0/index.json | 32 + .../Processors/Block1CPU1/index.json | 32 + .../ResourceBlocks/ComputeBlock1/index.json | 66 + .../Memory/Block2DIMM0/index.json | 28 + .../Memory/Block2DIMM1/index.json | 28 + .../Memory/Block2DIMM2/index.json | 28 + .../Memory/Block2DIMM3/index.json | 28 + .../Processors/Block2CPU0/index.json | 32 + .../Processors/Block2CPU1/index.json | 32 + .../ResourceBlocks/ComputeBlock2/index.json | 60 + .../DriveBlock3/Drives/Slot0/index.json | 19 + .../DriveBlock3/Storage/Block3NVMe/index.json | 16 + .../ResourceBlocks/DriveBlock3/index.json | 55 + .../DriveBlock4/Drives/Slot1/index.json | 19 + .../DriveBlock4/Storage/Block4NVMe/index.json | 16 + .../ResourceBlocks/DriveBlock4/index.json | 52 + .../DriveBlock5/Drives/Slot2/index.json | 19 + .../DriveBlock5/Storage/Block5NVMe/index.json | 16 + .../ResourceBlocks/DriveBlock5/index.json | 48 + .../DriveBlock6/Drives/Slot3/index.json | 19 + .../DriveBlock6/Storage/Block6NVMe/index.json | 16 + .../ResourceBlocks/DriveBlock6/index.json | 48 + .../SimpleStorage/Block7SASTray/index.json | 58 + .../ResourceBlocks/DriveBlock7/index.json | 42 + .../EthernetInterfaces/Block8Port0/index.json | 31 + .../EthernetInterfaces/Block8Port1/index.json | 31 + .../ResourceBlocks/NetworkBlock8/index.json | 46 + .../Processors/Block9GPU/index.json | 22 + .../ResourceBlocks/OffloadBlock9/index.json | 39 + .../ResourceBlocks/index.json | 36 + .../ResourceZones/1/index.json | 34 + .../ResourceZones/2/index.json | 40 + .../ResourceZones/index.json | 15 + .../CompositionService/index.json | 20 + .../1/EthernetInterfaces/Dedicated/index.json | 59 + .../Managers/1/EthernetInterfaces/index.json | 13 + .../1/LogServices/Log/Entries/index.json | 9 + .../Managers/1/LogServices/Log/index.json | 24 + .../Managers/1/LogServices/index.json | 13 + .../Managers/1/index.json | 62 + .../Managers/index.json | 12 + .../Sessions/1234567890ABCDEF/index.json | 9 + .../SessionService/Sessions/index.json | 12 + .../SessionService/index.json | 17 + .../EthernetInterfaces/index.json | 12 + .../Systems/ComposedSystem/Memory/index.json | 21 + .../ComposedSystem/Processors/index.json | 15 + .../Systems/ComposedSystem/Storage/index.json | 15 + .../Systems/ComposedSystem/index.json | 47 + .../EthernetInterfaces/index.json | 15 + .../Systems/ComposedSystem2/Memory/index.json | 21 + .../ComposedSystem2/Processors/index.json | 15 + .../ComposedSystem2/Storage/index.json | 12 + .../Systems/ComposedSystem2/index.json | 47 + .../index.json | 142 ++ .../Systems/index.json | 39 + .../explorer_config.json | 80 + .../public-constrained-composition/index.json | 45 + .../odata/index.json | 46 + .../public-cooling-unit/$metadata/index.xml | 237 +++ .../AccountService/Accounts/1/index.json | 22 + .../Accounts/FrontPanel/index.json | 22 + .../AccountService/Accounts/index.json | 15 + .../Roles/Administrator/index.json | 21 + .../AccountService/Roles/Operator/index.json | 16 + .../AccountService/Roles/ReadOnly/index.json | 15 + .../AccountService/Roles/index.json | 18 + .../AccountService/index.json | 24 + .../CDU/Controls/Pump1Speed/index.json | 21 + .../CDU/Controls/Pump2Speed/index.json | 21 + .../Chassis/CDU/Controls/index.json | 15 + .../Chassis/CDU/EnvironmentMetrics/index.json | 15 + .../CDU/LeakDetectors/Moisture/index.json | 23 + .../CDU/LeakDetectors/Overflow/index.json | 23 + .../Chassis/CDU/LeakDetectors/index.json | 15 + .../Sensors/PrimaryDeltaPressure/index.json | 19 + .../CDU/Sensors/PrimaryDeltaTemp/index.json | 19 + .../CDU/Sensors/PrimaryFlow/index.json | 19 + .../CDU/Sensors/PrimaryHeatLoad/index.json | 19 + .../Sensors/PrimaryReturnPressure/index.json | 19 + .../CDU/Sensors/PrimaryReturnTemp/index.json | 19 + .../Sensors/PrimarySupplyPressure/index.json | 31 + .../CDU/Sensors/PrimarySupplyTemp/index.json | 19 + .../Sensors/SecondaryDeltaPressure/index.json | 19 + .../CDU/Sensors/SecondaryDeltaTemp/index.json | 19 + .../CDU/Sensors/SecondaryFlow/index.json | 19 + .../CDU/Sensors/SecondaryHeatLoad/index.json | 19 + .../SecondaryReturnPressure/index.json | 26 + .../Sensors/SecondaryReturnTemp/index.json | 31 + .../SecondarySupplyPressure/index.json | 26 + .../Sensors/SecondarySupplyTemp/index.json | 26 + .../Sensors/SystemRelativeHumidity/index.json | 36 + .../CDU/Sensors/SystemTemperature/index.json | 31 + .../Chassis/CDU/Sensors/index.json | 63 + .../Chassis/CDU/index.json | 45 + .../public-cooling-unit/Chassis/index.json | 12 + .../EventService/Subscriptions/1/index.json | 14 + .../EventService/Subscriptions/index.json | 12 + .../EventService/index.json | 36 + .../CDU/EthernetInterfaces/Main/index.json | 59 + .../CDU/EthernetInterfaces/index.json | 12 + .../CDU/LogServices/Log/Entries/index.json | 9 + .../Managers/CDU/LogServices/Log/index.json | 24 + .../Managers/CDU/LogServices/index.json | 13 + .../Managers/CDU/NetworkProtocol/index.json | 41 + .../CDU/SerialInterfaces/TTY0/index.json | 17 + .../Managers/CDU/SerialInterfaces/index.json | 12 + .../Managers/CDU/index.json | 48 + .../public-cooling-unit/Managers/index.json | 12 + .../Sessions/1234567890ABCDEF/index.json | 9 + .../SessionService/Sessions/index.json | 12 + .../SessionService/index.json | 17 + .../CDUs/1/EnvironmentMetrics/index.json | 15 + .../CDUs/1/Filters/1/index.json | 22 + .../CDUs/1/Filters/index.json | 12 + .../CDUs/1/LeakDetection/index.json | 35 + .../1/PrimaryCoolantConnectors/1/index.json | 67 + .../Pair1of2/index.json | 18 + .../Pair2of2/index.json | 18 + .../1/PrimaryCoolantConnectors/index.json | 18 + .../CDUs/1/Pumps/1/index.json | 31 + .../CDUs/1/Pumps/2/index.json | 43 + .../ThermalEquipment/CDUs/1/Pumps/index.json | 15 + .../CDUs/1/Reservoirs/1/index.json | 14 + .../CDUs/1/Reservoirs/index.json | 12 + .../1/SecondaryCoolantConnectors/1/index.json | 74 + .../1/SecondaryCoolantConnectors/index.json | 12 + .../ThermalEquipment/CDUs/1/index.json | 125 ++ .../ThermalEquipment/CDUs/index.json | 12 + .../ThermalEquipment/index.json | 14 + .../public-cooling-unit/explorer_config.json | 30 + .../public-cooling-unit/index.json | 45 + .../Chassis/CXLMemChassis1/index.json | 40 + .../Chassis/CXLMemChassis2/index.json | 34 + .../Chassis/CXLRack/index.json | 33 + .../1/CXLLogicalDevices/1/index.json | 30 + .../1/CXLLogicalDevices/index.json | 12 + .../PCIeDevices/1/PCIeFunctions/1/index.json | 34 + .../PCIeDevices/1/PCIeFunctions/index.json | 12 + .../Chassis/CXLType1/PCIeDevices/1/index.json | 46 + .../Chassis/CXLType1/PCIeDevices/index.json | 12 + .../CXLType1/Processors/FPGA/index.json | 37 + .../Chassis/CXLType1/Processors/index.json | 12 + .../Chassis/CXLType1/index.json | 24 + .../Memory/HBM/MemoryMetrics/index.json | 27 + .../Chassis/CXLType2/Memory/HBM/index.json | 29 + .../Chassis/CXLType2/Memory/index.json | 13 + .../MemoryDomains/1/MemoryChunks/1/index.json | 24 + .../MemoryDomains/1/MemoryChunks/index.json | 12 + .../CXLType2/MemoryDomains/1/index.json | 36 + .../Chassis/CXLType2/MemoryDomains/index.json | 12 + .../1/CXLLogicalDevices/1/index.json | 49 + .../1/CXLLogicalDevices/index.json | 12 + .../PCIeDevices/1/PCIeFunctions/1/index.json | 34 + .../PCIeDevices/1/PCIeFunctions/index.json | 12 + .../Chassis/CXLType2/PCIeDevices/1/index.json | 46 + .../Chassis/CXLType2/PCIeDevices/index.json | 12 + .../CXLType2/Processors/GPU/index.json | 48 + .../Chassis/CXLType2/Processors/index.json | 12 + .../Chassis/CXLType2/index.json | 31 + .../index.json | 14 + .../Memory/3DXP/MemoryMetrics/index.json | 33 + .../3DXP/ScanMediaActionInfo/index.json | 24 + .../Chassis/CXLType3/Memory/3DXP/index.json | 88 ++ .../Chassis/CXLType3/Memory/index.json | 13 + .../MemoryDomains/1/MemoryChunks/1/index.json | 32 + .../MemoryDomains/1/MemoryChunks/index.json | 12 + .../CXLType3/MemoryDomains/1/index.json | 41 + .../Chassis/CXLType3/MemoryDomains/index.json | 12 + .../1/CXLLogicalDevices/1/index.json | 48 + .../1/CXLLogicalDevices/index.json | 12 + .../PCIeDevices/1/PCIeFunctions/1/index.json | 36 + .../PCIeDevices/1/PCIeFunctions/index.json | 12 + .../Chassis/CXLType3/PCIeDevices/1/index.json | 46 + .../Chassis/CXLType3/PCIeDevices/index.json | 12 + .../Chassis/CXLType3/index.json | 28 + .../Chassis/Host1Chassis/index.json | 37 + .../Chassis/Host2Chassis/index.json | 29 + .../Chassis/Host5Chassis/index.json | 29 + .../FabricAdapters/1/Ports/1/index.json | 50 + .../FabricAdapters/1/Ports/index.json | 12 + .../FabricAdapters/1/index.json | 30 + .../PooledCXLType1/FabricAdapters/index.json | 12 + .../1/CXLLogicalDevices/1/index.json | 35 + .../1/CXLLogicalDevices/index.json | 12 + .../PCIeDevices/1/PCIeFunctions/1/index.json | 34 + .../PCIeDevices/1/PCIeFunctions/index.json | 12 + .../PooledCXLType1/PCIeDevices/1/index.json | 46 + .../PooledCXLType1/PCIeDevices/index.json | 12 + .../PooledCXLType1/Processors/FPGA/index.json | 42 + .../PooledCXLType1/Processors/index.json | 12 + .../Chassis/PooledCXLType1/index.json | 27 + .../FabricAdapters/1/Ports/1/index.json | 48 + .../FabricAdapters/1/Ports/index.json | 12 + .../FabricAdapters/1/index.json | 35 + .../PooledCXLType2/FabricAdapters/index.json | 12 + .../Memory/HBM/MemoryMetrics/index.json | 27 + .../PooledCXLType2/Memory/HBM/index.json | 29 + .../Chassis/PooledCXLType2/Memory/index.json | 13 + .../MemoryDomains/1/MemoryChunks/1/index.json | 29 + .../MemoryDomains/1/MemoryChunks/index.json | 12 + .../PooledCXLType2/MemoryDomains/1/index.json | 41 + .../PooledCXLType2/MemoryDomains/index.json | 12 + .../1/CXLLogicalDevices/1/index.json | 54 + .../1/CXLLogicalDevices/index.json | 12 + .../PCIeDevices/1/PCIeFunctions/1/index.json | 34 + .../PCIeDevices/1/PCIeFunctions/index.json | 12 + .../PooledCXLType2/PCIeDevices/1/index.json | 46 + .../PooledCXLType2/PCIeDevices/index.json | 12 + .../PooledCXLType2/Processors/GPU/index.json | 53 + .../PooledCXLType2/Processors/index.json | 12 + .../Chassis/PooledCXLType2/index.json | 34 + .../FabricAdapters/1/Ports/1/index.json | 50 + .../FabricAdapters/1/Ports/index.json | 12 + .../FabricAdapters/1/index.json | 30 + .../FabricAdapters/index.json | 12 + .../Memory/3DXP/MemoryMetrics/index.json | 33 + .../PooledCXLType3-2/Memory/3DXP/index.json | 80 + .../PooledCXLType3-2/Memory/index.json | 13 + .../MemoryDomains/1/MemoryChunks/1/index.json | 29 + .../MemoryDomains/1/MemoryChunks/index.json | 12 + .../MemoryDomains/1/index.json | 46 + .../MemoryDomains/6/MemoryChunks/1/index.json | 29 + .../MemoryDomains/6/MemoryChunks/index.json | 12 + .../MemoryDomains/6/index.json | 46 + .../PooledCXLType3-2/MemoryDomains/index.json | 15 + .../1/CXLLogicalDevices/1/index.json | 53 + .../1/CXLLogicalDevices/6/index.json | 53 + .../1/CXLLogicalDevices/index.json | 15 + .../PCIeDevices/1/PCIeFunctions/1/index.json | 36 + .../PCIeDevices/1/PCIeFunctions/6/index.json | 36 + .../PCIeDevices/1/PCIeFunctions/index.json | 15 + .../PooledCXLType3-2/PCIeDevices/1/index.json | 46 + .../PooledCXLType3-2/PCIeDevices/index.json | 12 + .../Chassis/PooledCXLType3-2/index.json | 31 + .../FabricAdapters/1/Ports/1/index.json | 50 + .../FabricAdapters/1/Ports/index.json | 12 + .../FabricAdapters/1/index.json | 33 + .../PooledCXLType3/FabricAdapters/index.json | 12 + .../Memory/3DXP/MemoryMetrics/index.json | 33 + .../PooledCXLType3/Memory/3DXP/index.json | 80 + .../Chassis/PooledCXLType3/Memory/index.json | 13 + .../MemoryDomains/1/MemoryChunks/1/index.json | 29 + .../MemoryDomains/1/MemoryChunks/index.json | 12 + .../PooledCXLType3/MemoryDomains/1/index.json | 46 + .../MemoryDomains/6/MemoryChunks/1/index.json | 29 + .../MemoryDomains/6/MemoryChunks/index.json | 12 + .../PooledCXLType3/MemoryDomains/6/index.json | 46 + .../PooledCXLType3/MemoryDomains/index.json | 15 + .../1/CXLLogicalDevices/1/index.json | 53 + .../1/CXLLogicalDevices/6/index.json | 53 + .../1/CXLLogicalDevices/index.json | 15 + .../PCIeDevices/1/PCIeFunctions/1/index.json | 36 + .../PCIeDevices/1/PCIeFunctions/6/index.json | 36 + .../PCIeDevices/1/PCIeFunctions/index.json | 15 + .../PooledCXLType3/PCIeDevices/1/index.json | 46 + .../PooledCXLType3/PCIeDevices/index.json | 12 + .../Chassis/PooledCXLType3/index.json | 31 + .../public-cxl-multiswitch/Chassis/index.json | 45 + .../Fabrics/CXL/Connections/12/index.json | 37 + .../Fabrics/CXL/Connections/13/index.json | 37 + .../Fabrics/CXL/Connections/14/index.json | 37 + .../Fabrics/CXL/Connections/15/index.json | 37 + .../Fabrics/CXL/Connections/index.json | 21 + .../Fabrics/CXL/Endpoints/I1/index.json | 36 + .../Fabrics/CXL/Endpoints/I2/index.json | 44 + .../Fabrics/CXL/Endpoints/I5/index.json | 44 + .../Fabrics/CXL/Endpoints/S1/index.json | 18 + .../Fabrics/CXL/Endpoints/S2/index.json | 18 + .../Fabrics/CXL/Endpoints/T1/index.json | 50 + .../Fabrics/CXL/Endpoints/T2/index.json | 62 + .../Fabrics/CXL/Endpoints/T3/index.json | 55 + .../Fabrics/CXL/Endpoints/T4/index.json | 55 + .../Fabrics/CXL/Endpoints/T5/index.json | 57 + .../Fabrics/CXL/Endpoints/index.json | 39 + .../Switches/CXL1/Ports/D1/Metrics/index.json | 11 + .../CXL/Switches/CXL1/Ports/D1/index.json | 76 + .../Switches/CXL1/Ports/D2/Metrics/index.json | 11 + .../CXL/Switches/CXL1/Ports/D2/index.json | 74 + .../Switches/CXL1/Ports/D3/Metrics/index.json | 11 + .../CXL/Switches/CXL1/Ports/D3/index.json | 74 + .../Switches/CXL1/Ports/F1/Metrics/index.json | 11 + .../CXL/Switches/CXL1/Ports/F1/index.json | 84 ++ .../Switches/CXL1/Ports/U1/Metrics/index.json | 11 + .../CXL/Switches/CXL1/Ports/U1/index.json | 66 + .../Switches/CXL1/Ports/U2/Metrics/index.json | 11 + .../CXL/Switches/CXL1/Ports/U2/index.json | 68 + .../Switches/CXL1/Ports/U3/Metrics/index.json | 11 + .../CXL/Switches/CXL1/Ports/U3/index.json | 68 + .../CXL/Switches/CXL1/Ports/index.json | 30 + .../Switches/CXL1/VCSs/1/VPPBs/1/index.json | 26 + .../Switches/CXL1/VCSs/1/VPPBs/2/index.json | 25 + .../Switches/CXL1/VCSs/1/VPPBs/3/index.json | 26 + .../CXL/Switches/CXL1/VCSs/1/VPPBs/index.json | 18 + .../CXL/Switches/CXL1/VCSs/1/index.json | 33 + .../Switches/CXL1/VCSs/2/VPPBs/1/index.json | 15 + .../CXL/Switches/CXL1/VCSs/2/VPPBs/index.json | 12 + .../CXL/Switches/CXL1/VCSs/2/index.json | 30 + .../Fabrics/CXL/Switches/CXL1/VCSs/index.json | 15 + .../Fabrics/CXL/Switches/CXL1/index.json | 108 ++ .../Switches/CXL2/Ports/D1/Metrics/index.json | 11 + .../CXL/Switches/CXL2/Ports/D1/index.json | 76 + .../Switches/CXL2/Ports/F1/Metrics/index.json | 11 + .../CXL/Switches/CXL2/Ports/F1/index.json | 84 ++ .../Switches/CXL2/Ports/U1/Metrics/index.json | 11 + .../CXL/Switches/CXL2/Ports/U1/index.json | 66 + .../CXL/Switches/CXL2/Ports/index.json | 18 + .../Switches/CXL2/VCSs/1/VPPBs/1/index.json | 26 + .../CXL/Switches/CXL2/VCSs/1/VPPBs/index.json | 12 + .../CXL/Switches/CXL2/VCSs/1/index.json | 30 + .../Fabrics/CXL/Switches/CXL2/VCSs/index.json | 12 + .../Fabrics/CXL/Switches/CXL2/index.json | 66 + .../Fabrics/CXL/Switches/index.json | 15 + .../Fabrics/CXL/Zones/1/index.json | 26 + .../Fabrics/CXL/Zones/2/index.json | 26 + .../Fabrics/CXL/Zones/3/index.json | 26 + .../Fabrics/CXL/Zones/index.json | 18 + .../Fabrics/CXL/index.json | 32 + .../public-cxl-multiswitch/Fabrics/index.json | 12 + .../Managers/FM1/index.json | 31 + .../Managers/index.json | 12 + .../Sessions/1234567890ABCDEF/index.json | 9 + .../SessionService/Sessions/index.json | 12 + .../SessionService/index.json | 17 + .../12446A3B8891/index.json | 44 + .../Host1/EthernetInterfaces/index.json | 13 + .../Systems/Host1/Memory/CXL2/index.json | 22 + .../Systems/Host1/Memory/CXL3/index.json | 22 + .../DIMM1/EnvironmentMetrics/index.json | 10 + .../Systems/Host1/Memory/DIMM1/index.json | 41 + .../DIMM2/EnvironmentMetrics/index.json | 10 + .../Systems/Host1/Memory/DIMM2/index.json | 41 + .../DIMM3/EnvironmentMetrics/index.json | 10 + .../Systems/Host1/Memory/DIMM3/index.json | 41 + .../Systems/Host1/Memory/DIMM4/index.json | 23 + .../Systems/Host1/Memory/RCXL2/index.json | 27 + .../Systems/Host1/Memory/RCXL3/index.json | 27 + .../Systems/Host1/Memory/index.json | 34 + .../Systems/Host1/MemoryDomains/1/index.json | 34 + .../CXL/MemoryChunks/1/index.json | 39 + .../MemoryDomains/CXL/MemoryChunks/index.json | 12 + .../Host1/MemoryDomains/CXL/index.json | 37 + .../Systems/Host1/MemoryDomains/index.json | 15 + .../Host1/Processors/CPU/Ports/1/index.json | 48 + .../Host1/Processors/CPU/Ports/index.json | 12 + .../Systems/Host1/Processors/CPU/index.json | 62 + .../Systems/Host1/Processors/index.json | 18 + .../Systems/Host1/index.json | 63 + .../12446A3B8890/index.json | 44 + .../Host2/EthernetInterfaces/index.json | 13 + .../DIMM1/EnvironmentMetrics/index.json | 10 + .../Systems/Host2/Memory/DIMM1/index.json | 41 + .../DIMM2/EnvironmentMetrics/index.json | 10 + .../Systems/Host2/Memory/DIMM2/index.json | 41 + .../DIMM3/EnvironmentMetrics/index.json | 10 + .../Systems/Host2/Memory/DIMM3/index.json | 41 + .../Systems/Host2/Memory/DIMM4/index.json | 23 + .../Systems/Host2/Memory/index.json | 22 + .../Systems/Host2/MemoryDomains/1/index.json | 34 + .../Systems/Host2/MemoryDomains/index.json | 12 + .../Host2/Processors/CPU/Ports/1/index.json | 48 + .../Host2/Processors/CPU/Ports/2/index.json | 50 + .../Host2/Processors/CPU/Ports/index.json | 15 + .../Systems/Host2/Processors/CPU/index.json | 42 + .../Systems/Host2/Processors/index.json | 12 + .../Systems/Host2/index.json | 38 + .../12446A3B8895/index.json | 44 + .../Host5/EthernetInterfaces/index.json | 13 + .../DIMM1/EnvironmentMetrics/index.json | 10 + .../Systems/Host5/Memory/DIMM1/index.json | 41 + .../DIMM2/EnvironmentMetrics/index.json | 10 + .../Systems/Host5/Memory/DIMM2/index.json | 41 + .../DIMM3/EnvironmentMetrics/index.json | 10 + .../Systems/Host5/Memory/DIMM3/index.json | 41 + .../Systems/Host5/Memory/DIMM4/index.json | 23 + .../Systems/Host5/Memory/RCXL3/index.json | 27 + .../Systems/Host5/Memory/index.json | 25 + .../Systems/Host5/MemoryDomains/1/index.json | 34 + .../CXL/MemoryChunks/1/index.json | 24 + .../MemoryDomains/CXL/MemoryChunks/index.json | 12 + .../Host5/MemoryDomains/CXL/index.json | 28 + .../Systems/Host5/MemoryDomains/index.json | 15 + .../Host5/Processors/CPU/Ports/1/index.json | 48 + .../Host5/Processors/CPU/Ports/index.json | 12 + .../Systems/Host5/Processors/CPU/index.json | 45 + .../Systems/Host5/Processors/index.json | 12 + .../Systems/Host5/index.json | 41 + .../public-cxl-multiswitch/Systems/index.json | 18 + .../explorer_config.json | 84 ++ .../public-cxl-multiswitch/index.json | 44 + .../public-cxl-multiswitch/odata/index.json | 26 + .../public-cxl/$metadata/index.xml | 225 +++ .../Accounts/1/Certificates/index.json | 11 + .../AccountService/Accounts/1/index.json | 25 + .../AccountService/Accounts/index.json | 12 + .../ExternalRedfishService/index.json | 30 + .../ExternalAccountProviders/index.json | 12 + .../Roles/Administrator/index.json | 21 + .../AccountService/Roles/Operator/index.json | 16 + .../AccountService/Roles/ReadOnly/index.json | 15 + .../AccountService/Roles/index.json | 18 + .../public-cxl/AccountService/index.json | 100 ++ .../LocalLog1/Entries/1/index.json | 24 + .../LogServices/LocalLog1/Entries/index.json | 35 + .../LogServices/LocalLog1/index.json | 28 + .../CXL-Chassis/LogServices/index.json | 13 + .../Chassis/CXL-Chassis/Thermal/index.json | 114 ++ .../public-cxl/Chassis/CXL-Chassis/index.json | 43 + .../1/CXLLogicalDevices/1/index.json | 59 + .../1/CXLLogicalDevices/index.json | 12 + .../PCIeDevices/1/PCIeFunctions/1/index.json | 34 + .../PCIeDevices/1/PCIeFunctions/index.json | 12 + .../Chassis/CXLType1/PCIeDevices/1/index.json | 46 + .../Chassis/CXLType1/PCIeDevices/index.json | 12 + .../CXLType1/Processors/FPGA/index.json | 37 + .../Chassis/CXLType1/Processors/index.json | 12 + .../public-cxl/Chassis/CXLType1/index.json | 24 + .../Memory/HBM/MemoryMetrics/index.json | 27 + .../Chassis/CXLType2/Memory/HBM/index.json | 29 + .../Chassis/CXLType2/Memory/index.json | 13 + .../MemoryDomains/1/MemoryChunks/1/index.json | 24 + .../MemoryDomains/1/MemoryChunks/index.json | 12 + .../CXLType2/MemoryDomains/1/index.json | 36 + .../Chassis/CXLType2/MemoryDomains/index.json | 12 + .../1/CXLLogicalDevices/1/index.json | 78 + .../1/CXLLogicalDevices/index.json | 12 + .../PCIeDevices/1/PCIeFunctions/1/index.json | 34 + .../PCIeDevices/1/PCIeFunctions/index.json | 12 + .../Chassis/CXLType2/PCIeDevices/1/index.json | 46 + .../Chassis/CXLType2/PCIeDevices/index.json | 12 + .../CXLType2/Processors/GPU/index.json | 48 + .../Chassis/CXLType2/Processors/index.json | 12 + .../public-cxl/Chassis/CXLType2/index.json | 31 + .../FabricAdapters/1/Ports/1/index.json | 53 + .../FabricAdapters/1/Ports/index.json | 12 + .../CXLType3/FabricAdapters/1/index.json | 30 + .../CXLType3/FabricAdapters/index.json | 12 + .../index.json | 14 + .../Memory/3DXP/MemoryMetrics/index.json | 33 + .../3DXP/ScanMediaActionInfo/index.json | 24 + .../Chassis/CXLType3/Memory/3DXP/index.json | 85 ++ .../Chassis/CXLType3/Memory/index.json | 13 + .../MemoryDomains/1/MemoryChunks/1/index.json | 38 + .../MemoryDomains/1/MemoryChunks/index.json | 12 + .../CXLType3/MemoryDomains/1/index.json | 41 + .../Chassis/CXLType3/MemoryDomains/index.json | 12 + .../1/MemoryRegions/1/index.json | 38 + .../1/MemoryRegions/index.json | 12 + .../1/CXLLogicalDevices/1/index.json | 80 + .../1/CXLLogicalDevices/index.json | 12 + .../PCIeDevices/1/PCIeFunctions/1/index.json | 36 + .../PCIeDevices/1/PCIeFunctions/index.json | 12 + .../Chassis/CXLType3/PCIeDevices/1/index.json | 46 + .../Chassis/CXLType3/PCIeDevices/index.json | 12 + .../public-cxl/Chassis/CXLType3/index.json | 31 + .../FabricAdapters/1/Ports/1/index.json | 48 + .../FabricAdapters/1/Ports/index.json | 12 + .../FabricAdapters/1/index.json | 30 + .../PooledCXLType1/FabricAdapters/index.json | 12 + .../1/CXLLogicalDevices/1/index.json | 64 + .../1/CXLLogicalDevices/index.json | 12 + .../PCIeDevices/1/PCIeFunctions/1/index.json | 34 + .../PCIeDevices/1/PCIeFunctions/index.json | 12 + .../PooledCXLType1/PCIeDevices/1/index.json | 46 + .../PooledCXLType1/PCIeDevices/index.json | 12 + .../PooledCXLType1/Processors/FPGA/index.json | 42 + .../PooledCXLType1/Processors/index.json | 12 + .../Chassis/PooledCXLType1/index.json | 22 + .../FabricAdapters/1/Ports/1/index.json | 48 + .../FabricAdapters/1/Ports/index.json | 12 + .../FabricAdapters/1/index.json | 35 + .../PooledCXLType2/FabricAdapters/index.json | 12 + .../Memory/HBM/MemoryMetrics/index.json | 27 + .../PooledCXLType2/Memory/HBM/index.json | 29 + .../Chassis/PooledCXLType2/Memory/index.json | 13 + .../MemoryDomains/1/MemoryChunks/1/index.json | 29 + .../MemoryDomains/1/MemoryChunks/index.json | 12 + .../PooledCXLType2/MemoryDomains/1/index.json | 41 + .../PooledCXLType2/MemoryDomains/index.json | 12 + .../1/CXLLogicalDevices/1/index.json | 83 + .../1/CXLLogicalDevices/index.json | 12 + .../PCIeDevices/1/PCIeFunctions/1/index.json | 34 + .../PCIeDevices/1/PCIeFunctions/index.json | 12 + .../PooledCXLType2/PCIeDevices/1/index.json | 46 + .../PooledCXLType2/PCIeDevices/index.json | 12 + .../PooledCXLType2/Processors/GPU/index.json | 53 + .../PooledCXLType2/Processors/index.json | 12 + .../Chassis/PooledCXLType2/index.json | 29 + .../FabricAdapters/1/Ports/1/index.json | 53 + .../FabricAdapters/1/Ports/index.json | 12 + .../FabricAdapters/1/index.json | 30 + .../PooledCXLType3/FabricAdapters/index.json | 12 + .../index.json | 14 + .../Memory/3DXP/MemoryMetrics/index.json | 33 + .../3DXP/ScanMediaActionInfo/index.json | 24 + .../PooledCXLType3/Memory/3DXP/index.json | 85 ++ .../Chassis/PooledCXLType3/Memory/index.json | 13 + .../MemoryDomains/1/MemoryChunks/1/index.json | 29 + .../MemoryDomains/1/MemoryChunks/index.json | 12 + .../PooledCXLType3/MemoryDomains/1/index.json | 46 + .../MemoryDomains/6/MemoryChunks/1/index.json | 29 + .../MemoryDomains/6/MemoryChunks/index.json | 12 + .../PooledCXLType3/MemoryDomains/6/index.json | 46 + .../PooledCXLType3/MemoryDomains/index.json | 15 + .../1/MemoryRegions/1/index.json | 38 + .../1/MemoryRegions/index.json | 12 + .../1/CXLLogicalDevices/1/index.json | 85 ++ .../6/MemoryRegions/1/index.json | 38 + .../6/MemoryRegions/index.json | 12 + .../1/CXLLogicalDevices/6/index.json | 85 ++ .../1/CXLLogicalDevices/index.json | 15 + .../PCIeDevices/1/PCIeFunctions/1/index.json | 36 + .../PCIeDevices/1/PCIeFunctions/6/index.json | 36 + .../PCIeDevices/1/PCIeFunctions/index.json | 12 + .../PooledCXLType3/PCIeDevices/1/index.json | 46 + .../PooledCXLType3/PCIeDevices/index.json | 12 + .../Chassis/PooledCXLType3/index.json | 26 + .../public-cxl/Chassis/index.json | 30 + .../Fabrics/CXL/Connections/12/index.json | 37 + .../Fabrics/CXL/Connections/13/index.json | 37 + .../Fabrics/CXL/Connections/14/index.json | 37 + .../Fabrics/CXL/Connections/index.json | 15 + .../Fabrics/CXL/Endpoints/I1/index.json | 36 + .../Fabrics/CXL/Endpoints/I2/index.json | 48 + .../Fabrics/CXL/Endpoints/I3/index.json | 48 + .../Fabrics/CXL/Endpoints/I4/index.json | 41 + .../Fabrics/CXL/Endpoints/S1/index.json | 18 + .../Fabrics/CXL/Endpoints/T1/index.json | 50 + .../Fabrics/CXL/Endpoints/T2/index.json | 62 + .../Fabrics/CXL/Endpoints/T3/index.json | 55 + .../Fabrics/CXL/Endpoints/T4/index.json | 55 + .../Fabrics/CXL/Endpoints/T5/index.json | 50 + .../Fabrics/CXL/Endpoints/index.json | 39 + .../Switches/CXL/Ports/D1/Metrics/index.json | 11 + .../CXL/Switches/CXL/Ports/D1/index.json | 74 + .../Switches/CXL/Ports/D2/Metrics/index.json | 11 + .../CXL/Switches/CXL/Ports/D2/index.json | 74 + .../Switches/CXL/Ports/D3/Metrics/index.json | 11 + .../CXL/Switches/CXL/Ports/D3/index.json | 77 + .../Switches/CXL/Ports/D4/Metrics/index.json | 11 + .../CXL/Switches/CXL/Ports/D4/index.json | 76 + .../Switches/CXL/Ports/U1/Metrics/index.json | 11 + .../CXL/Switches/CXL/Ports/U1/index.json | 79 + .../Switches/CXL/Ports/U2/Metrics/index.json | 11 + .../CXL/Switches/CXL/Ports/U2/index.json | 75 + .../Switches/CXL/Ports/U3/Metrics/index.json | 11 + .../CXL/Switches/CXL/Ports/U3/index.json | 75 + .../Fabrics/CXL/Switches/CXL/Ports/index.json | 27 + .../Switches/CXL/VCSs/1/VPPBs/1/index.json | 26 + .../Switches/CXL/VCSs/1/VPPBs/2/index.json | 25 + .../Switches/CXL/VCSs/1/VPPBs/3/index.json | 26 + .../CXL/Switches/CXL/VCSs/1/VPPBs/index.json | 18 + .../CXL/Switches/CXL/VCSs/1/index.json | 27 + .../Switches/CXL/VCSs/2/VPPBs/1/index.json | 21 + .../Switches/CXL/VCSs/2/VPPBs/2/index.json | 27 + .../CXL/Switches/CXL/VCSs/2/VPPBs/index.json | 15 + .../CXL/Switches/CXL/VCSs/2/index.json | 27 + .../Fabrics/CXL/Switches/CXL/VCSs/index.json | 15 + .../Fabrics/CXL/Switches/CXL/index.json | 37 + .../Fabrics/CXL/Switches/index.json | 12 + .../public-cxl/Fabrics/CXL/Zones/1/index.json | 26 + .../public-cxl/Fabrics/CXL/Zones/2/index.json | 26 + .../public-cxl/Fabrics/CXL/Zones/3/index.json | 32 + .../public-cxl/Fabrics/CXL/Zones/index.json | 18 + .../public-cxl/Fabrics/CXL/index.json | 32 + .../public-cxl/Fabrics/index.json | 12 + .../public-cxl/Managers/FM1/index.json | 31 + .../public-cxl/Managers/index.json | 12 + .../Sessions/1234567890ABCDEF/index.json | 9 + .../SessionService/Sessions/index.json | 12 + .../public-cxl/SessionService/index.json | 17 + .../Systems/CXL-System/Memory/CXL2/index.json | 22 + .../Systems/CXL-System/Memory/CXL3/index.json | 22 + .../CXL-System/Memory/RCXL2/index.json | 27 + .../CXL-System/Memory/RCXL3/index.json | 27 + .../Systems/CXL-System/Memory/index.json | 22 + .../CXL/MemoryChunks/1/index.json | 39 + .../MemoryDomains/CXL/MemoryChunks/index.json | 12 + .../CXL-System/MemoryDomains/CXL/index.json | 37 + .../CXL-System/MemoryDomains/index.json | 12 + .../Processors/CPU/Ports/1/index.json | 54 + .../Processors/CPU/Ports/2/index.json | 53 + .../Processors/CPU/Ports/4/index.json | 53 + .../Processors/CPU/Ports/index.json | 18 + .../CXL-System/Processors/CPU/index.json | 56 + .../Systems/CXL-System/Processors/index.json | 18 + .../public-cxl/Systems/CXL-System/index.json | 60 + .../public-cxl/Systems/index.json | 12 + .../public-cxl/explorer_config.json | 60 + .../DSP2043_2026.2/public-cxl/index.json | 47 + .../public-cxl/odata/index.json | 26 + .../public-expansion-box/$metadata/index.xml | 125 ++ .../AccountService/Accounts/1/index.json | 22 + .../AccountService/Accounts/index.json | 12 + .../Roles/Administrator/index.json | 21 + .../AccountService/Roles/Operator/index.json | 16 + .../AccountService/Roles/ReadOnly/index.json | 15 + .../AccountService/Roles/index.json | 18 + .../AccountService/index.json | 25 + .../ExpansionEnclosure/Power/index.json | 135 ++ .../ExpansionEnclosure/Thermal/index.json | 220 +++ .../Chassis/ExpansionEnclosure/index.json | 47 + .../Chassis/ResourceTray1/index.json | 35 + .../Chassis/ResourceTray2/index.json | 44 + .../Chassis/ResourceTray3/index.json | 35 + .../Chassis/ResourceTray4/index.json | 44 + .../public-expansion-box/Chassis/index.json | 24 + .../1/EthernetInterfaces/Dedicated/index.json | 59 + .../Managers/1/EthernetInterfaces/index.json | 13 + .../1/LogServices/Log/Entries/index.json | 9 + .../Managers/1/LogServices/Log/index.json | 24 + .../Managers/1/LogServices/index.json | 13 + .../Managers/1/index.json | 56 + .../public-expansion-box/Managers/index.json | 12 + .../Tray1-SAS/Drives/Slot0/index.json | 19 + .../Tray1-SAS/Drives/Slot1/index.json | 19 + .../Tray1-SAS/Drives/Slot2/index.json | 19 + .../Tray1-SAS/Drives/Slot3/index.json | 19 + .../Tray1-SAS/Storage/SAS/index.json | 47 + .../ResourceBlocks/Tray1-SAS/index.json | 40 + .../Tray2-Drive1/Drives/Slot0/index.json | 19 + .../ResourceBlocks/Tray2-Drive1/index.json | 26 + .../Tray2-Drive2/Drives/Slot1/index.json | 19 + .../ResourceBlocks/Tray2-Drive2/index.json | 26 + .../Tray2-Drive3/Drives/Slot2/index.json | 19 + .../ResourceBlocks/Tray2-Drive3/index.json | 26 + .../Tray2-Drive4/Drives/Slot3/index.json | 19 + .../ResourceBlocks/Tray2-Drive4/index.json | 26 + .../Tray3-Memory/Memory/DIMM0/index.json | 28 + .../Tray3-Memory/Memory/DIMM1/index.json | 28 + .../Tray3-Memory/Memory/DIMM2/index.json | 28 + .../Tray3-Memory/Memory/DIMM3/index.json | 28 + .../ResourceBlocks/Tray3-Memory/index.json | 35 + .../EthernetInterfaces/Port0/index.json | 31 + .../EthernetInterfaces/Port1/index.json | 31 + .../ResourceBlocks/Tray4-NIC1/index.json | 29 + .../EthernetInterfaces/Port0/index.json | 31 + .../EthernetInterfaces/Port1/index.json | 31 + .../ResourceBlocks/Tray4-NIC2/index.json | 29 + .../EthernetInterfaces/Port0/index.json | 31 + .../EthernetInterfaces/Port1/index.json | 31 + .../ResourceBlocks/Tray4-NIC3/index.json | 29 + .../EthernetInterfaces/Port0/index.json | 31 + .../EthernetInterfaces/Port1/index.json | 31 + .../ResourceBlocks/Tray4-NIC4/index.json | 29 + .../ResourceBlocks/index.json | 39 + .../Sessions/1234567890ABCDEF/index.json | 9 + .../SessionService/Sessions/index.json | 12 + .../SessionService/index.json | 17 + .../public-expansion-box/explorer_config.json | 58 + .../public-expansion-box/index.json | 42 + .../public-expansion-box/odata/index.json | 41 + .../public-iiot/$metadata/index.xml | 213 +++ .../AccountService/Accounts/1/index.json | 21 + .../AccountService/Accounts/index.json | 12 + .../Roles/Administrator/index.json | 21 + .../AccountService/Roles/Operator/index.json | 16 + .../AccountService/Roles/ReadOnly/index.json | 15 + .../AccountService/Roles/index.json | 18 + .../public-iiot/AccountService/index.json | 25 + .../AutomationInstrumentation/index.json | 19 + .../AutomationNodes/Sensor1/index.json | 32 + .../AutomationInstrumentation/index.json | 19 + .../AutomationNodes/Thermostat/index.json | 38 + .../AutomationInstrumentation/index.json | 34 + .../AutomationNodes/VelocityMover/index.json | 55 + .../AutomationInstrumentation/index.json | 26 + .../AutomationNodes/XAxisMover/index.json | 44 + .../Settings/index.json | 10 + .../AutomationInstrumentation/index.json | 32 + .../AutomationNodes/YAxisMover/index.json | 44 + .../AutomationInstrumentation/index.json | 23 + .../AutomationNodes/ZAxisMover/index.json | 44 + .../public-iiot/AutomationNodes/index.json | 28 + .../public-iiot/Cables/ComPower1/index.json | 21 + .../public-iiot/Cables/ComPower4/index.json | 21 + .../public-iiot/Cables/ComPower5/index.json | 21 + .../public-iiot/Cables/MainPower/index.json | 35 + .../public-iiot/Cables/index.json | 22 + .../3AxisMotion/Controls/XOutput/index.json | 24 + .../3AxisMotion/Controls/XVelocity/index.json | 22 + .../3AxisMotion/Controls/YOutput/index.json | 23 + .../3AxisMotion/Controls/ZOutput/index.json | 23 + .../Chassis/3AxisMotion/Controls/index.json | 22 + .../3AxisMotion/Sensors/XPosition/index.json | 14 + .../3AxisMotion/Sensors/XVelocity/index.json | 14 + .../3AxisMotion/Sensors/YPosition/index.json | 14 + .../3AxisMotion/Sensors/ZPosition/index.json | 14 + .../Chassis/3AxisMotion/Sensors/index.json | 22 + .../Chassis/3AxisMotion/index.json | 44 + .../Aggregator/Sensors/CPUTemp/index.json | 32 + .../Aggregator/Sensors/SystemBoard/index.json | 32 + .../Chassis/Aggregator/Sensors/index.json | 16 + .../public-iiot/Chassis/Aggregator/index.json | 37 + .../Conveyor/Controls/Output/index.json | 20 + .../Chassis/Conveyor/Controls/index.json | 13 + .../Conveyor/Sensors/Current/index.json | 45 + .../Conveyor/Sensors/Velocity/index.json | 14 + .../Chassis/Conveyor/Sensors/index.json | 16 + .../public-iiot/Chassis/Conveyor/index.json | 35 + .../Chassis/Node4/Sensors/Current/index.json | 14 + .../Node4/Sensors/Temperature/index.json | 14 + .../Chassis/Node4/Sensors/Voltage/index.json | 14 + .../Chassis/Node4/Sensors/index.json | 19 + .../public-iiot/Chassis/Node4/index.json | 35 + .../Node5/Controls/Thermostat/index.json | 29 + .../Chassis/Node5/Controls/index.json | 13 + .../Node5/Sensors/Temperature/index.json | 14 + .../Chassis/Node5/Sensors/index.json | 13 + .../public-iiot/Chassis/Node5/index.json | 38 + .../public-iiot/Chassis/index.json | 28 + .../EventService/Subscriptions/1/index.json | 22 + .../EventService/Subscriptions/index.json | 12 + .../public-iiot/EventService/index.json | 32 + .../JobService/Documents/Recipe1/index.json | 66 + .../JobService/Documents/index.json | 12 + .../JobService/Executors/1/index.json | 29 + .../JobService/Executors/index.json | 12 + .../public-iiot/JobService/Jobs/1/index.json | 68 + .../public-iiot/JobService/Jobs/2/index.json | 17 + .../public-iiot/JobService/Jobs/index.json | 15 + .../JobService/Log/Entries/index.json | 9 + .../public-iiot/JobService/Log/index.json | 24 + .../public-iiot/JobService/index.json | 38 + .../EthernetInterfaces/eth0/index.json | 63 + .../EthernetInterfaces/index.json | 14 + .../LogServices/Log/Entries/index.json | 9 + .../LogServices/Log/index.json | 26 + .../AutomationManager/LogServices/index.json | 13 + .../NetworkProtocol/index.json | 49 + .../SerialInterfaces/TTY0/index.json | 17 + .../SerialInterfaces/index.json | 14 + .../Managers/AutomationManager/index.json | 72 + .../public-iiot/Managers/index.json | 13 + .../Sessions/1234567890ABCDEF/index.json | 10 + .../SessionService/Sessions/index.json | 12 + .../public-iiot/SessionService/index.json | 18 + .../public-iiot/Systems/1/index.json | 26 + .../public-iiot/Systems/index.json | 12 + .../public-iiot/TaskService/Tasks/index.json | 8 + .../public-iiot/TaskService/index.json | 18 + .../DSP2043_2026.2/public-iiot/index.json | 45 + .../$metadata/index.xml | 320 ++++ .../Accounts/1/Certificates/index.json | 11 + .../AccountService/Accounts/1/index.json | 25 + .../AccountService/Accounts/2/index.json | 28 + .../AccountService/Accounts/index.json | 12 + .../ExternalRedfishService/index.json | 30 + .../ExternalAccountProviders/index.json | 12 + .../Roles/Administrator/index.json | 21 + .../AccountService/Roles/Operator/index.json | 16 + .../AccountService/Roles/ReadOnly/index.json | 15 + .../AccountService/Roles/index.json | 18 + .../AccountService/index.json | 116 ++ .../CertificateLocations/index.json | 20 + .../GenerateCSRActionInfo/index.json | 99 ++ .../ReplaceCertificateActionInfo/index.json | 27 + .../CertificateService/index.json | 20 + .../Chassis/1U/Controls/CPU1Freq/index.json | 19 + .../Chassis/1U/Controls/PowerLimit/index.json | 22 + .../Chassis/1U/Controls/index.json | 15 + .../Chassis/1U/EnvironmentMetrics/index.json | 36 + .../Batteries/Module1/Metrics/index.json | 64 + .../Batteries/Module1/index.json | 47 + .../1U/PowerSubsystem/Batteries/index.json | 12 + .../PowerSupplies/Bay1/Assembly/index.json | 25 + .../PowerSupplies/Bay1/Metrics/index.json | 85 ++ .../PowerSupplies/Bay1/index.json | 88 ++ .../PowerSupplies/Bay2/index.json | 19 + .../PowerSubsystem/PowerSupplies/index.json | 15 + .../Chassis/1U/PowerSubsystem/index.json | 41 + .../Chassis/1U/Sensors/AmbientTemp/index.json | 16 + .../Sensors/Battery1InputCurrent/index.json | 30 + .../Sensors/Battery1InputVoltage/index.json | 30 + .../Sensors/Battery1OutputCurrent/index.json | 30 + .../Sensors/Battery1OutputVoltage/index.json | 30 + .../Sensors/Battery1StateOfHealth/index.json | 24 + .../1U/Sensors/Battery1Temp/index.json | 29 + .../Chassis/1U/Sensors/CPU1Power/index.json | 33 + .../Chassis/1U/Sensors/CPU1Temp/index.json | 45 + .../Chassis/1U/Sensors/CPUFan1/index.json | 25 + .../Chassis/1U/Sensors/CPUFan2/index.json | 25 + .../Chassis/1U/Sensors/DIMM1Temp/index.json | 45 + .../Chassis/1U/Sensors/DIMM2Temp/index.json | 45 + .../Chassis/1U/Sensors/DIMM3Temp/index.json | 45 + .../Chassis/1U/Sensors/ExhaustTemp/index.json | 16 + .../Chassis/1U/Sensors/FanBay1/index.json | 25 + .../Chassis/1U/Sensors/FanBay2/index.json | 25 + .../Chassis/1U/Sensors/IntakeTemp/index.json | 16 + .../Chassis/1U/Sensors/PS1Energy/index.json | 21 + .../1U/Sensors/PS1Frequency/index.json | 40 + .../1U/Sensors/PS1InputCurrent/index.json | 34 + .../1U/Sensors/PS1InputPower/index.json | 36 + .../1U/Sensors/PS1InputVoltage/index.json | 41 + .../Chassis/1U/Sensors/PS1Out12V/index.json | 41 + .../1U/Sensors/PS1Out12VCurrent/index.json | 33 + .../Chassis/1U/Sensors/PS1Out3V/index.json | 41 + .../1U/Sensors/PS1Out3VCurrent/index.json | 34 + .../Chassis/1U/Sensors/PS1Out5V/index.json | 41 + .../1U/Sensors/PS1Out5VCurrent/index.json | 33 + .../Chassis/1U/Sensors/PS2Energy/index.json | 18 + .../1U/Sensors/PS2Frequency/index.json | 13 + .../1U/Sensors/PS2InputCurrent/index.json | 14 + .../1U/Sensors/PS2InputPower/index.json | 14 + .../1U/Sensors/PS2InputVoltage/index.json | 14 + .../Chassis/1U/Sensors/PS2Out12V/index.json | 14 + .../1U/Sensors/PS2Out12VCurrent/index.json | 13 + .../Chassis/1U/Sensors/PS2Out3V/index.json | 14 + .../1U/Sensors/PS2Out3VCurrent/index.json | 13 + .../Chassis/1U/Sensors/PS2Out5V/index.json | 14 + .../1U/Sensors/PS2Out5VCurrent/index.json | 13 + .../Chassis/1U/Sensors/TotalEnergy/index.json | 20 + .../Chassis/1U/Sensors/TotalPower/index.json | 37 + .../Chassis/1U/Sensors/index.json | 132 ++ .../CoolantConnectors/CPU1/index.json | 22 + .../CoolantConnectors/CPU2/index.json | 22 + .../CoolantConnectors/index.json | 15 + .../1U/ThermalSubsystem/Fans/Bay1/index.json | 30 + .../1U/ThermalSubsystem/Fans/Bay2/index.json | 30 + .../1U/ThermalSubsystem/Fans/index.json | 15 + .../1U/ThermalSubsystem/Pumps/CPU1/index.json | 22 + .../1U/ThermalSubsystem/Pumps/CPU2/index.json | 22 + .../1U/ThermalSubsystem/Pumps/index.json | 15 + .../ThermalMetrics/index.json | 37 + .../Chassis/1U/ThermalSubsystem/index.json | 42 + .../Certificates/DeviceCert/index.json | 20 + .../AC-RoT0/Certificates/index.json | 12 + .../1U/TrustedComponents/AC-RoT0/index.json | 32 + .../TPM/Certificates/EKCert/index.json | 17 + .../TPM/Certificates/index.json | 12 + .../1U/TrustedComponents/TPM/index.json | 29 + .../iRoT0/Certificates/DeviceCert/index.json | 20 + .../iRoT0/Certificates/index.json | 12 + .../1U/TrustedComponents/iRoT0/index.json | 32 + .../Chassis/1U/TrustedComponents/index.json | 18 + .../Chassis/1U/index.json | 76 + .../Chassis/index.json | 12 + .../ComponentIntegrity/SS-SPDM-0/index.json | 71 + .../ComponentIntegrity/SS-SPDM-1/index.json | 67 + .../ComponentIntegrity/TPM-0/index.json | 61 + .../USB-Integrity/index.json | 16 + .../ComponentIntegrity/index.json | 18 + .../SubmitTestEventActionInfo/index.json | 62 + .../EventService/Subscriptions/1/index.json | 14 + .../EventService/Subscriptions/2/index.json | 25 + .../EventService/Subscriptions/3/index.json | 15 + .../EventService/Subscriptions/4/index.json | 20 + .../EventService/Subscriptions/index.json | 21 + .../EventService/index.json | 40 + .../KeyService/NVMeoFKeyPolicies/0/index.json | 34 + .../KeyService/NVMeoFKeyPolicies/index.json | 12 + .../KeyService/NVMeoFSecrets/0/index.json | 18 + .../KeyService/NVMeoFSecrets/1/index.json | 17 + .../KeyService/NVMeoFSecrets/index.json | 15 + .../KeyService/index.json | 13 + .../BMC/DedicatedNetworkPorts/1/index.json | 41 + .../BMC/DedicatedNetworkPorts/index.json | 13 + .../BMC/EthernetInterfaces/ToHost/index.json | 57 + .../BMC/EthernetInterfaces/eth0/SD/index.json | 60 + .../BMC/EthernetInterfaces/eth0/index.json | 83 + .../BMC/EthernetInterfaces/index.json | 16 + .../1/HostEthernetInterfaces/index.json | 13 + .../Managers/BMC/HostInterfaces/1/index.json | 45 + .../Managers/BMC/HostInterfaces/index.json | 13 + .../BMC/LogServices/Log/Entries/1/index.json | 21 + .../BMC/LogServices/Log/Entries/index.json | 30 + .../Managers/BMC/LogServices/Log/index.json | 24 + .../Managers/BMC/LogServices/index.json | 13 + .../Certificates/1/RekeyActionInfo/index.json | 33 + .../HTTPS/Certificates/1/index.json | 44 + .../HTTPS/Certificates/index.json | 15 + .../Managers/BMC/NetworkProtocol/index.json | 87 ++ .../SPDM/RevokedCertificates/index.json | 8 + .../contoso-root/index.json | 9 + .../SPDM/TrustedCertificates/index.json | 12 + .../TLS/Client/RevokedCertificates/index.json | 8 + .../TLS/Client/TrustedCertificates/index.json | 8 + .../TLS/Server/RevokedCertificates/index.json | 8 + .../contoso-root/index.json | 9 + .../TLS/Server/TrustedCertificates/index.json | 12 + .../Managers/BMC/SecurityPolicy/index.json | 129 ++ .../BMC/SerialInterfaces/TTY0/index.json | 17 + .../Managers/BMC/SerialInterfaces/index.json | 13 + .../Managers/BMC/index.json | 99 ++ .../Managers/index.json | 12 + .../Registries/Base.1.5.0.json/index.json | 558 +++++++ .../Registries/Base.1.5.0/index.json | 19 + .../Registries/index.json | 13 + .../Sessions/1234567890ABCDEF/index.json | 9 + .../SessionService/Sessions/index.json | 12 + .../SessionService/index.json | 17 + .../437XR1138R2/Bios/Settings/index.json | 20 + .../Systems/437XR1138R2/Bios/index.json | 45 + .../Certificates/contoso-root/index.json | 16 + .../Certificates/contoso-subca/index.json | 25 + .../437XR1138R2/Certificates/index.json | 15 + .../12446A3B0411/index.json | 45 + .../12446A3B8890/index.json | 45 + .../EthernetInterfaces/ToManager/index.json | 55 + .../EthernetInterfaces/VLAN1/index.json | 52 + .../437XR1138R2/EthernetInterfaces/index.json | 22 + .../GPU1/Ports/DisplayPort/index.json | 27 + .../GraphicsControllers/GPU1/Ports/index.json | 13 + .../GraphicsControllers/GPU1/index.json | 32 + .../GraphicsControllers/index.json | 13 + .../LogServices/Log1/Entries/1/index.json | 22 + .../LogServices/Log1/Entries/index.json | 32 + .../437XR1138R2/LogServices/Log1/index.json | 24 + .../437XR1138R2/LogServices/index.json | 13 + .../DIMM1/EnvironmentMetrics/index.json | 11 + .../437XR1138R2/Memory/DIMM1/index.json | 34 + .../DIMM2/EnvironmentMetrics/index.json | 11 + .../437XR1138R2/Memory/DIMM2/index.json | 34 + .../DIMM3/EnvironmentMetrics/index.json | 11 + .../437XR1138R2/Memory/DIMM3/index.json | 34 + .../437XR1138R2/Memory/DIMM4/index.json | 16 + .../Systems/437XR1138R2/Memory/index.json | 21 + .../CPU1/EnvironmentMetrics/index.json | 22 + .../437XR1138R2/Processors/CPU1/index.json | 43 + .../437XR1138R2/Processors/CPU2/index.json | 12 + .../Compression/index.json | 25 + .../FPGA1/AccelerationFunctions/index.json | 12 + .../FPGA1/ProcessorMetrics/index.json | 69 + .../437XR1138R2/Processors/FPGA1/index.json | 81 + .../Systems/437XR1138R2/Processors/index.json | 18 + .../KEK/Certificates/1/index.json | 33 + .../KEK/Certificates/2/index.json | 31 + .../KEK/Certificates/index.json | 18 + .../SecureBootDatabases/KEK/index.json | 21 + .../KEKDefault/Certificates/1/index.json | 33 + .../KEKDefault/Certificates/2/index.json | 31 + .../KEKDefault/Certificates/index.json | 18 + .../SecureBootDatabases/KEKDefault/index.json | 12 + .../PK/Certificates/1/index.json | 32 + .../PK/Certificates/index.json | 15 + .../SecureBootDatabases/PK/index.json | 21 + .../PKDefault/Certificates/1/index.json | 32 + .../PKDefault/Certificates/index.json | 15 + .../SecureBootDatabases/PKDefault/index.json | 12 + .../db/Certificates/1/index.json | 32 + .../db/Certificates/2/index.json | 31 + .../db/Certificates/3/index.json | 31 + .../db/Certificates/index.json | 21 + .../db/Signatures/1/index.json | 11 + .../db/Signatures/index.json | 12 + .../SecureBootDatabases/db/index.json | 24 + .../dbDefault/Signatures/1/index.json | 11 + .../dbDefault/Signatures/index.json | 8 + .../SecureBootDatabases/dbDefault/index.json | 12 + .../dbx/Certificates/index.json | 11 + .../dbx/Signatures/1/index.json | 11 + .../dbx/Signatures/2/index.json | 11 + .../dbx/Signatures/3/index.json | 11 + .../dbx/Signatures/index.json | 18 + .../SecureBootDatabases/dbx/index.json | 24 + .../dbxDefault/Signatures/1/index.json | 11 + .../dbxDefault/Signatures/index.json | 12 + .../SecureBootDatabases/dbxDefault/index.json | 12 + .../SecureBoot/SecureBootDatabases/index.json | 33 + .../Systems/437XR1138R2/SecureBoot/index.json | 23 + .../437XR1138R2/SimpleStorage/1/index.json | 48 + .../437XR1138R2/SimpleStorage/index.json | 12 + .../USBControllers/USB1/Ports/1/index.json | 36 + .../USBControllers/USB1/Ports/2/index.json | 36 + .../USBControllers/USB1/Ports/index.json | 16 + .../USBControllers/USB1/index.json | 30 + .../USBControllers/USB2/Ports/1/index.json | 33 + .../USBControllers/USB2/Ports/2/index.json | 33 + .../USBControllers/USB2/Ports/index.json | 16 + .../USBControllers/USB2/index.json | 30 + .../437XR1138R2/USBControllers/index.json | 16 + .../CD1/Certificates/1/index.json | 35 + .../VirtualMedia/CD1/Certificates/index.json | 15 + .../437XR1138R2/VirtualMedia/CD1/index.json | 20 + .../Floppy1/Certificates/index.json | 11 + .../VirtualMedia/Floppy1/index.json | 20 + .../437XR1138R2/VirtualMedia/index.json | 16 + .../Systems/437XR1138R2/index.json | 162 ++ .../Systems/index.json | 12 + .../TaskService/Tasks/545/index.json | 24 + .../TaskService/Tasks/index.json | 12 + .../TaskService/index.json | 18 + .../1/RekeyActionInfo/index.json | 33 + .../ClientCertificates/1/index.json | 44 + .../ClientCertificates/index.json | 12 + .../FirmwareInventory/AC-RoT0/index.json | 14 + .../FirmwareInventory/BIOS/index.json | 22 + .../FirmwareInventory/BMC/index.json | 35 + .../FirmwareInventory/SS/index.json | 21 + .../FirmwareInventory/index.json | 18 + .../SimpleUpdateActionInfo/index.json | 37 + .../UpdateService/index.json | 40 + .../explorer_config.json | 66 + .../public-liquid-cooled-server/index.json | 63 + .../odata/index.json | 71 + .../public-localstorage/$metadata/index.xml | 195 +++ .../AccountService/Accounts/1/index.json | 22 + .../AccountService/Accounts/index.json | 12 + .../Roles/Administrator/index.json | 21 + .../AccountService/Roles/Operator/index.json | 16 + .../AccountService/Roles/ReadOnly/index.json | 15 + .../AccountService/Roles/index.json | 18 + .../AccountService/index.json | 25 + .../1U/Drives/32ADF365C6C1B7BD/index.json | 40 + .../1U/Drives/35D38F11ACEF7BD3/index.json | 46 + .../1U/Drives/3D58ECBC375FD9F2/index.json | 49 + .../1U/Drives/3F5A8C54207B7233/index.json | 46 + .../Chassis/1U/Drives/index.json | 21 + .../Chassis/1U/Power/index.json | 139 ++ .../Chassis/1U/Thermal/index.json | 159 ++ .../public-localstorage/Chassis/1U/index.json | 46 + .../public-localstorage/Chassis/index.json | 12 + .../SubmitTestEventActionInfo/index.json | 62 + .../EventService/Subscriptions/1/index.json | 14 + .../EventService/Subscriptions/index.json | 12 + .../EventService/index.json | 30 + .../Dedicated/SD/index.json | 60 + .../EthernetInterfaces/Dedicated/index.json | 76 + .../BMC/EthernetInterfaces/index.json | 13 + .../BMC/LogServices/Log/Entries/1/index.json | 21 + .../BMC/LogServices/Log/Entries/index.json | 30 + .../Managers/BMC/LogServices/Log/index.json | 24 + .../Managers/BMC/LogServices/index.json | 13 + .../Managers/BMC/NetworkProtocol/index.json | 53 + .../BMC/SerialInterfaces/TTY0/index.json | 17 + .../Managers/BMC/SerialInterfaces/index.json | 13 + .../Managers/BMC/VirtualMedia/CD1/index.json | 16 + .../BMC/VirtualMedia/Floppy1/index.json | 16 + .../Managers/BMC/VirtualMedia/index.json | 16 + .../Managers/BMC/index.json | 83 + .../public-localstorage/Managers/index.json | 12 + .../Sessions/1234567890ABCDEF/index.json | 9 + .../SessionService/Sessions/index.json | 12 + .../SessionService/index.json | 17 + .../437XR1138R2/Bios/Settings/index.json | 20 + .../Systems/437XR1138R2/Bios/index.json | 44 + .../12446A3B0411/VLANs/1/index.json | 10 + .../12446A3B0411/VLANs/2/index.json | 10 + .../12446A3B0411/VLANs/index.json | 15 + .../12446A3B0411/index.json | 42 + .../12446A3B8890/index.json | 43 + .../437XR1138R2/EthernetInterfaces/index.json | 16 + .../LogServices/Log1/Entries/1/index.json | 20 + .../LogServices/Log1/Entries/2/index.json | 20 + .../LogServices/Log1/Entries/index.json | 49 + .../437XR1138R2/LogServices/Log1/index.json | 24 + .../437XR1138R2/LogServices/index.json | 13 + .../437XR1138R2/Memory/DIMM1/index.json | 31 + .../437XR1138R2/Memory/DIMM2/index.json | 31 + .../437XR1138R2/Memory/DIMM3/index.json | 31 + .../437XR1138R2/Memory/DIMM4/index.json | 16 + .../Systems/437XR1138R2/Memory/index.json | 21 + .../437XR1138R2/Processors/CPU1/index.json | 28 + .../437XR1138R2/Processors/CPU2/index.json | 12 + .../Systems/437XR1138R2/Processors/index.json | 15 + .../Storage/1/Volumes/1/index.json | 39 + .../Storage/1/Volumes/2/index.json | 36 + .../Storage/1/Volumes/3/index.json | 36 + .../437XR1138R2/Storage/1/Volumes/index.json | 19 + .../Systems/437XR1138R2/Storage/1/index.json | 73 + .../Systems/437XR1138R2/Storage/index.json | 12 + .../Systems/437XR1138R2/index.json | 138 ++ .../public-localstorage/Systems/index.json | 12 + .../TaskService/Tasks/545/index.json | 24 + .../TaskService/Tasks/index.json | 12 + .../TaskService/index.json | 18 + .../public-localstorage/explorer_config.json | 62 + .../public-localstorage/index.json | 48 + .../public-localstorage/odata/index.json | 51 + .../public-mpf/$metadata/index.xml | 195 +++ .../AccountService/Accounts/1/index.json | 22 + .../AccountService/Accounts/index.json | 12 + .../Roles/Administrator/index.json | 21 + .../AccountService/Roles/Operator/index.json | 16 + .../AccountService/Roles/ReadOnly/index.json | 15 + .../AccountService/Roles/index.json | 18 + .../public-mpf/AccountService/index.json | 25 + .../1U/Drives/32ADF365C6C1B7BD/index.json | 40 + .../1U/Drives/35D38F11ACEF7BD3/index.json | 46 + .../1U/Drives/3D58ECBC375FD9F2/index.json | 49 + .../1U/Drives/3F5A8C54207B7233/index.json | 46 + .../public-mpf/Chassis/1U/Drives/index.json | 21 + .../public-mpf/Chassis/1U/Power/index.json | 139 ++ .../public-mpf/Chassis/1U/Thermal/index.json | 159 ++ .../public-mpf/Chassis/1U/index.json | 46 + .../public-mpf/Chassis/index.json | 12 + .../SubmitTestEventActionInfo/index.json | 62 + .../EventService/Subscriptions/1/index.json | 14 + .../EventService/Subscriptions/index.json | 12 + .../public-mpf/EventService/index.json | 30 + .../Dedicated/SD/index.json | 60 + .../EthernetInterfaces/Dedicated/index.json | 76 + .../BMC/EthernetInterfaces/index.json | 13 + .../BMC/LogServices/Log/Entries/1/index.json | 21 + .../BMC/LogServices/Log/Entries/index.json | 30 + .../Managers/BMC/LogServices/Log/index.json | 24 + .../Managers/BMC/LogServices/index.json | 13 + .../Managers/BMC/NetworkProtocol/index.json | 53 + .../BMC/SerialInterfaces/TTY0/index.json | 17 + .../Managers/BMC/SerialInterfaces/index.json | 13 + .../Managers/BMC/VirtualMedia/CD1/index.json | 16 + .../BMC/VirtualMedia/Floppy1/index.json | 16 + .../Managers/BMC/VirtualMedia/index.json | 16 + .../public-mpf/Managers/BMC/index.json | 83 + .../public-mpf/Managers/index.json | 12 + .../Sessions/1234567890ABCDEF/index.json | 9 + .../SessionService/Sessions/index.json | 12 + .../public-mpf/SessionService/index.json | 17 + .../437XR1138R2/Bios/Settings/index.json | 20 + .../Systems/437XR1138R2/Bios/index.json | 44 + .../12446A3B0411/VLANs/1/index.json | 10 + .../12446A3B0411/VLANs/2/index.json | 10 + .../12446A3B0411/VLANs/index.json | 15 + .../12446A3B0411/index.json | 42 + .../12446A3B8890/index.json | 43 + .../437XR1138R2/EthernetInterfaces/index.json | 16 + .../LogServices/Log1/Entries/1/index.json | 20 + .../LogServices/Log1/Entries/2/index.json | 20 + .../LogServices/Log1/Entries/index.json | 49 + .../437XR1138R2/LogServices/Log1/index.json | 24 + .../437XR1138R2/LogServices/index.json | 13 + .../437XR1138R2/Memory/DIMM1/index.json | 31 + .../437XR1138R2/Memory/DIMM2/index.json | 31 + .../437XR1138R2/Memory/DIMM3/index.json | 31 + .../437XR1138R2/Memory/DIMM4/index.json | 16 + .../Systems/437XR1138R2/Memory/index.json | 21 + .../437XR1138R2/Processors/CPU1/index.json | 28 + .../437XR1138R2/Processors/CPU2/index.json | 12 + .../Systems/437XR1138R2/Processors/index.json | 15 + .../Storage/1/Controllers/1/index.json | 52 + .../Storage/1/Controllers/2/index.json | 32 + .../Storage/1/Controllers/3/index.json | 38 + .../Storage/1/Controllers/index.json | 19 + .../Storage/1/Volumes/1/index.json | 39 + .../Storage/1/Volumes/2/index.json | 36 + .../Storage/1/Volumes/3/index.json | 36 + .../437XR1138R2/Storage/1/Volumes/index.json | 19 + .../Systems/437XR1138R2/Storage/1/index.json | 50 + .../Systems/437XR1138R2/Storage/index.json | 12 + .../public-mpf/Systems/437XR1138R2/index.json | 138 ++ .../public-mpf/Systems/index.json | 12 + .../TaskService/Tasks/545/index.json | 24 + .../public-mpf/TaskService/Tasks/index.json | 12 + .../public-mpf/TaskService/index.json | 18 + .../public-mpf/explorer_config.json | 62 + .../DSP2043_2026.2/public-mpf/index.json | 48 + .../public-mpf/odata/index.json | 51 + .../public-nvmeof-jbof/$metadata/index.xml | 203 +++ .../AccountService/Accounts/1/index.json | 22 + .../AccountService/Accounts/index.json | 12 + .../Roles/Administrator/index.json | 21 + .../AccountService/Roles/Operator/index.json | 16 + .../AccountService/Roles/ReadOnly/index.json | 15 + .../AccountService/Roles/index.json | 18 + .../AccountService/index.json | 25 + .../Chassis/1/Drives/1/index.json | 38 + .../Chassis/1/Drives/2/index.json | 38 + .../Chassis/1/Drives/3/index.json | 41 + .../Chassis/1/Drives/index.json | 18 + .../1/NetworkDeviceFunctions/1/index.json | 37 + .../1/NetworkDeviceFunctions/index.json | 12 + .../1/NetworkPorts/1/index.json | 45 + .../NetworkAdapters/1/NetworkPorts/index.json | 12 + .../Chassis/1/NetworkAdapters/1/index.json | 38 + .../Chassis/1/NetworkAdapters/index.json | 12 + .../Chassis/1/Power/index.json | 83 + .../Chassis/1/Thermal/index.json | 116 ++ .../public-nvmeof-jbof/Chassis/1/index.json | 47 + .../public-nvmeof-jbof/Chassis/index.json | 12 + .../Fabrics/NVMeoF/Connections/1/index.json | 35 + .../Fabrics/NVMeoF/Connections/2/index.json | 35 + .../Fabrics/NVMeoF/Connections/3/index.json | 33 + .../Fabrics/NVMeoF/Connections/index.json | 18 + .../NVMeoF/EndpointGroups/1/index.json | 23 + .../Fabrics/NVMeoF/EndpointGroups/index.json | 12 + .../NVMeoF/Endpoints/Initiator1/index.json | 36 + .../NVMeoF/Endpoints/Initiator2/index.json | 36 + .../NVMeoF/Endpoints/Target1/index.json | 32 + .../Fabrics/NVMeoF/Endpoints/index.json | 18 + .../Fabrics/NVMeoF/index.json | 21 + .../public-nvmeof-jbof/Fabrics/index.json | 12 + .../EthernetInterfaces/Dedicated/index.json | 60 + .../BMC/EthernetInterfaces/index.json | 13 + .../BMC/LogServices/Log/Entries/1/index.json | 21 + .../BMC/LogServices/Log/Entries/index.json | 30 + .../Managers/BMC/LogServices/Log/index.json | 24 + .../Managers/BMC/LogServices/index.json | 13 + .../Managers/BMC/NetworkProtocol/index.json | 29 + .../Managers/BMC/index.json | 53 + .../public-nvmeof-jbof/Managers/index.json | 12 + .../Sessions/1234567890ABCDEF/index.json | 9 + .../SessionService/Sessions/index.json | 12 + .../SessionService/index.json | 17 + .../Storage/NVMeoF/Controllers/1/index.json | 61 + .../Storage/NVMeoF/Controllers/2/index.json | 61 + .../Storage/NVMeoF/Controllers/index.json | 15 + .../Storage/NVMeoF/Volumes/1/index.json | 40 + .../Storage/NVMeoF/Volumes/2/index.json | 40 + .../Storage/NVMeoF/Volumes/3/index.json | 40 + .../Storage/NVMeoF/Volumes/4/index.json | 40 + .../Storage/NVMeoF/Volumes/index.json | 21 + .../Storage/NVMeoF/index.json | 34 + .../public-nvmeof-jbof/Storage/index.json | 12 + .../1/NetworkDeviceFunctions/index.json | 12 + .../1/NetworkPorts/index.json | 12 + .../NVMeoF-SoC/NetworkInterfaces/1/index.json | 18 + .../NVMeoF-SoC/NetworkInterfaces/index.json | 12 + .../Systems/NVMeoF-SoC/index.json | 75 + .../public-nvmeof-jbof/Systems/index.json | 12 + .../public-nvmeof-jbof/explorer_config.json | 68 + .../public-nvmeof-jbof/index.json | 48 + .../public-nvmeof-jbof/odata/index.json | 51 + .../public-oem-examples/$metadata/index.xml | 67 + .../AccountService/Accounts/index.json | 18 + .../AccountService/Accounts/jane/index.json | 22 + .../AccountService/Accounts/john/index.json | 22 + .../AccountService/Accounts/root/index.json | 22 + .../Roles/Administrator/index.json | 17 + .../AccountService/Roles/Operator/index.json | 15 + .../AccountService/Roles/ReadOnly/index.json | 14 + .../AccountService/Roles/index.json | 18 + .../AccountService/index.json | 33 + .../Contoso.com/ContosoAccountService.json | 18 + .../ContosoAccountService.v1_0_0.json | 40 + .../ContosoAccountService.v1_0_1.json | 40 + .../Contoso.com/ContosoAccountService_v1.xml | 45 + .../Contoso.com/ContosoServiceRoot.json | 7 + .../ContosoServiceRoot.v1_0_0.json | 35 + .../Contoso.com/ContosoServiceRoot_v1.xml | 53 + .../ContosoTurboencabulatorService.json | 28 + ...ContosoTurboencabulatorService.v1_0_0.json | 130 ++ .../ContosoTurboencabulatorService_v1.xml | 99 ++ .../TurboencabulatorService/index.json | 15 + .../Sessions/1234567890ABCDEF/index.json | 9 + .../SessionService/Sessions/index.json | 12 + .../SessionService/index.json | 17 + .../public-oem-examples/explorer_config.json | 18 + .../public-oem-examples/index.json | 41 + .../public-oem-examples/odata/index.json | 31 + .../public-pdu/$metadata/index.xml | 237 +++ .../AccountService/Accounts/1/index.json | 22 + .../AccountService/Accounts/index.json | 12 + .../Roles/Administrator/index.json | 21 + .../AccountService/Roles/Operator/index.json | 16 + .../AccountService/Roles/ReadOnly/index.json | 15 + .../AccountService/Roles/index.json | 18 + .../public-pdu/AccountService/index.json | 24 + .../PDU/Sensors/ACMainPower/index.json | 32 + .../Chassis/PDU/Sensors/CabTemp/index.json | 35 + .../Chassis/PDU/Sensors/CurrentA/index.json | 33 + .../Chassis/PDU/Sensors/CurrentA1/index.json | 33 + .../Chassis/PDU/Sensors/CurrentA2/index.json | 33 + .../Chassis/PDU/Sensors/CurrentA3/index.json | 33 + .../Chassis/PDU/Sensors/CurrentB1/index.json | 33 + .../Chassis/PDU/Sensors/CurrentB2/index.json | 33 + .../Chassis/PDU/Sensors/CurrentB3/index.json | 33 + .../Chassis/PDU/Sensors/CurrentC1/index.json | 33 + .../Chassis/PDU/Sensors/CurrentC2/index.json | 33 + .../Chassis/PDU/Sensors/CurrentC3/index.json | 33 + .../PDU/Sensors/CurrentMains1-1/index.json | 33 + .../PDU/Sensors/CurrentMains1-2/index.json | 33 + .../PDU/Sensors/CurrentMains1-3/index.json | 33 + .../Sensors/CurrentMainsNeutral/index.json | 33 + .../Chassis/PDU/Sensors/EnergyA1/index.json | 16 + .../Chassis/PDU/Sensors/EnergyA2/index.json | 16 + .../Chassis/PDU/Sensors/EnergyA3/index.json | 16 + .../Chassis/PDU/Sensors/EnergyB1/index.json | 16 + .../Chassis/PDU/Sensors/EnergyB2/index.json | 16 + .../Chassis/PDU/Sensors/EnergyB3/index.json | 16 + .../Chassis/PDU/Sensors/EnergyC1/index.json | 16 + .../Chassis/PDU/Sensors/EnergyC2/index.json | 16 + .../Chassis/PDU/Sensors/EnergyC3/index.json | 16 + .../Chassis/PDU/Sensors/FreqMains/index.json | 39 + .../PDU/Sensors/FrequencyA1/index.json | 39 + .../PDU/Sensors/FrequencyA2/index.json | 39 + .../PDU/Sensors/FrequencyA3/index.json | 39 + .../GroupEnergyRack5Storage/index.json | 16 + .../Sensors/GroupPowerRack5Storage/index.json | 35 + .../Chassis/PDU/Sensors/Humidity/index.json | 35 + .../Chassis/PDU/Sensors/PDUPower/index.json | 37 + .../Chassis/PDU/Sensors/PowerA/index.json | 35 + .../Chassis/PDU/Sensors/PowerA1/index.json | 35 + .../Chassis/PDU/Sensors/PowerA2/index.json | 35 + .../Chassis/PDU/Sensors/PowerA3/index.json | 35 + .../Chassis/PDU/Sensors/PowerB1/index.json | 35 + .../Chassis/PDU/Sensors/PowerB2/index.json | 35 + .../Chassis/PDU/Sensors/PowerB3/index.json | 35 + .../Chassis/PDU/Sensors/PowerC1/index.json | 35 + .../Chassis/PDU/Sensors/PowerC2/index.json | 35 + .../Chassis/PDU/Sensors/PowerC3/index.json | 35 + .../PDU/Sensors/PowerMains1-1/index.json | 43 + .../PDU/Sensors/PowerMains1-2/index.json | 43 + .../PDU/Sensors/PowerMains1-3/index.json | 43 + .../PDU/Sensors/PowerMains1-4/index.json | 43 + .../PDU/Sensors/PowerMains1-5/index.json | 43 + .../PDU/Sensors/PowerMains1-6/index.json | 43 + .../Chassis/PDU/Sensors/VoltageA1/index.json | 40 + .../Chassis/PDU/Sensors/VoltageA2/index.json | 40 + .../Chassis/PDU/Sensors/VoltageA3/index.json | 40 + .../PDU/Sensors/VoltageAL1L2/index.json | 40 + .../PDU/Sensors/VoltageAL1N/index.json | 40 + .../Chassis/PDU/Sensors/VoltageB1/index.json | 40 + .../Chassis/PDU/Sensors/VoltageB2/index.json | 40 + .../Chassis/PDU/Sensors/VoltageB3/index.json | 40 + .../Chassis/PDU/Sensors/VoltageC1/index.json | 40 + .../Chassis/PDU/Sensors/VoltageC2/index.json | 40 + .../Chassis/PDU/Sensors/VoltageC3/index.json | 40 + .../PDU/Sensors/VoltageMains1-1/index.json | 40 + .../PDU/Sensors/VoltageMains1-2/index.json | 40 + .../PDU/Sensors/VoltageMains1-3/index.json | 40 + .../PDU/Sensors/VoltageMains1-4/index.json | 40 + .../PDU/Sensors/VoltageMains1-5/index.json | 40 + .../PDU/Sensors/VoltageMains1-6/index.json | 40 + .../public-pdu/Chassis/PDU/Sensors/index.json | 204 +++ .../public-pdu/Chassis/PDU/index.json | 47 + .../Sensors/ACMainPower/index.json | 32 + .../Sensors/CabTemp/index.json | 35 + .../Sensors/CurrentA/index.json | 33 + .../Sensors/CurrentA1/index.json | 33 + .../Sensors/CurrentA2/index.json | 33 + .../Sensors/CurrentA3/index.json | 33 + .../Sensors/CurrentB/index.json | 33 + .../Sensors/CurrentB1/index.json | 33 + .../Sensors/CurrentB2/index.json | 33 + .../Sensors/CurrentB3/index.json | 33 + .../Sensors/CurrentMains1-1/index.json | 33 + .../Sensors/CurrentMains1-2/index.json | 33 + .../Sensors/CurrentMains2-1/index.json | 33 + .../Sensors/CurrentMains2-2/index.json | 33 + .../Sensors/EnergyA1/index.json | 16 + .../Sensors/EnergyA2/index.json | 16 + .../Sensors/EnergyA3/index.json | 16 + .../Sensors/EnergyB1/index.json | 16 + .../Sensors/EnergyB2/index.json | 16 + .../Sensors/EnergyB3/index.json | 16 + .../Sensors/FreqMains/index.json | 39 + .../Sensors/FrequencyA/index.json | 39 + .../Sensors/FrequencyA1/index.json | 39 + .../Sensors/FrequencyA2/index.json | 39 + .../Sensors/FrequencyA3/index.json | 39 + .../Sensors/FrequencyB/index.json | 39 + .../Sensors/FrequencyB1/index.json | 39 + .../Sensors/FrequencyB2/index.json | 39 + .../Sensors/FrequencyB3/index.json | 39 + .../Sensors/Humidity/index.json | 35 + .../Sensors/PDUPower/index.json | 36 + .../TransferSwitch1/Sensors/PowerA/index.json | 35 + .../Sensors/PowerA1/index.json | 35 + .../Sensors/PowerA2/index.json | 35 + .../Sensors/PowerA3/index.json | 35 + .../TransferSwitch1/Sensors/PowerB/index.json | 35 + .../Sensors/PowerB1/index.json | 35 + .../Sensors/PowerB2/index.json | 35 + .../Sensors/PowerB3/index.json | 35 + .../Sensors/PowerMains1-2/index.json | 43 + .../Sensors/PowerMains2-3/index.json | 43 + .../Sensors/VoltageA1/index.json | 40 + .../Sensors/VoltageA2/index.json | 40 + .../Sensors/VoltageA3/index.json | 40 + .../Sensors/VoltageAL1L2/index.json | 40 + .../Sensors/VoltageB1/index.json | 40 + .../Sensors/VoltageB2/index.json | 40 + .../Sensors/VoltageB3/index.json | 40 + .../Sensors/VoltageBL1L2/index.json | 40 + .../Sensors/VoltageMains1-1/index.json | 40 + .../Sensors/VoltageMains2-1/index.json | 40 + .../TransferSwitch1/Sensors/index.json | 159 ++ .../Chassis/TransferSwitch1/index.json | 46 + .../public-pdu/Chassis/index.json | 15 + .../EventService/Subscriptions/1/index.json | 14 + .../EventService/Subscriptions/index.json | 12 + .../public-pdu/EventService/index.json | 36 + .../public-pdu/Facilities/Building/index.json | 30 + .../Room237/PowerDomains/Row1/index.json | 23 + .../Room237/PowerDomains/index.json | 12 + .../public-pdu/Facilities/Room237/index.json | 38 + .../public-pdu/Facilities/index.json | 15 + .../Dedicated/SD/index.json | 60 + .../EthernetInterfaces/Dedicated/index.json | 76 + .../BMC/EthernetInterfaces/index.json | 12 + .../BMC/LogServices/Log/Entries/index.json | 9 + .../Managers/BMC/LogServices/Log/index.json | 24 + .../Managers/BMC/LogServices/index.json | 13 + .../Managers/BMC/NetworkProtocol/index.json | 53 + .../BMC/SerialInterfaces/TTY0/index.json | 17 + .../Managers/BMC/SerialInterfaces/index.json | 13 + .../Managers/BMC/VirtualMedia/CD1/index.json | 16 + .../BMC/VirtualMedia/Floppy1/index.json | 16 + .../Managers/BMC/VirtualMedia/index.json | 16 + .../public-pdu/Managers/BMC/index.json | 72 + .../public-pdu/Managers/index.json | 12 + .../PowerEquipment/FloorPDUs/Row1/index.json | 26 + .../PowerEquipment/FloorPDUs/index.json | 12 + .../RackPDUs/1/Branches/A/index.json | 79 + .../RackPDUs/1/Branches/B/index.json | 75 + .../RackPDUs/1/Branches/C/index.json | 75 + .../RackPDUs/1/Branches/index.json | 18 + .../RackPDUs/1/Mains/AC1/index.json | 112 ++ .../RackPDUs/1/Mains/index.json | 12 + .../RackPDUs/1/Metrics/index.json | 25 + .../1/OutletGroups/Rack5Storage/index.json | 45 + .../RackPDUs/1/OutletGroups/index.json | 12 + .../RackPDUs/1/Outlets/A1/index.json | 69 + .../RackPDUs/1/Outlets/A2/index.json | 69 + .../RackPDUs/1/Outlets/A3/index.json | 69 + .../RackPDUs/1/Outlets/A4/index.json | 31 + .../RackPDUs/1/Outlets/A5/index.json | 17 + .../RackPDUs/1/Outlets/B1/index.json | 65 + .../RackPDUs/1/Outlets/B2/index.json | 65 + .../RackPDUs/1/Outlets/B3/index.json | 65 + .../RackPDUs/1/Outlets/C1/index.json | 65 + .../RackPDUs/1/Outlets/C2/index.json | 65 + .../RackPDUs/1/Outlets/C3/index.json | 65 + .../RackPDUs/1/Outlets/index.json | 42 + .../PowerEquipment/RackPDUs/1/index.json | 52 + .../PowerEquipment/RackPDUs/index.json | 12 + .../TransferSwitches/1/Branches/A/index.json | 75 + .../TransferSwitches/1/Branches/B/index.json | 75 + .../TransferSwitches/1/Branches/index.json | 15 + .../TransferSwitches/1/Mains/AC1/index.json | 50 + .../TransferSwitches/1/Mains/AC2/index.json | 50 + .../TransferSwitches/1/Mains/index.json | 15 + .../TransferSwitches/1/Metrics/index.json | 22 + .../1/OutletGroups/Rack5Storage/index.json | 43 + .../1/OutletGroups/index.json | 12 + .../TransferSwitches/1/Outlets/A1/index.json | 69 + .../TransferSwitches/1/Outlets/A2/index.json | 69 + .../TransferSwitches/1/Outlets/A3/index.json | 69 + .../TransferSwitches/1/Outlets/B1/index.json | 69 + .../TransferSwitches/1/Outlets/B2/index.json | 69 + .../TransferSwitches/1/Outlets/B3/index.json | 69 + .../TransferSwitches/1/Outlets/index.json | 27 + .../TransferSwitches/1/index.json | 84 ++ .../TransferSwitches/index.json | 12 + .../public-pdu/PowerEquipment/index.json | 20 + .../Sessions/1234567890ABCDEF/index.json | 9 + .../SessionService/Sessions/index.json | 12 + .../public-pdu/SessionService/index.json | 17 + .../public-pdu/explorer_config.json | 52 + .../DSP2043_2026.2/public-pdu/index.json | 48 + .../public-pmem-configuration/README.md | 9 + .../Sessions/1234567890ABCDEF/index.json | 9 + .../SessionService/Sessions/index.json | 12 + .../SessionService/index.json | 17 + .../AddPMEM/Memory/PMEM-DIMM1/index.json | 71 + .../AddPMEM/Memory/PMEM-DIMM2/index.json | 71 + .../AddPMEM/Memory/PMEM-DIMM3/index.json | 58 + .../AddPMEM/Memory/PMEM-DIMM4/index.json | 58 + .../Systems/AddPMEM/Memory/index.json | 23 + .../MemoryChunks/PMEM-Persistent-2/index.json | 23 + .../MemoryChunks/PMEM-Persistent-3/index.json | 23 + .../MemoryChunks/PMEM-Persistent-4/index.json | 29 + .../PMEM-1/MemoryChunks/index.json | 18 + .../AddPMEM/MemoryDomains/PMEM-1/index.json | 48 + .../Systems/AddPMEM/MemoryDomains/index.json | 12 + .../Systems/AddPMEM/README.md | 7 + .../Systems/AddPMEM/index.json | 21 + .../Memory/PMEM-DIMM1/index.json | 71 + .../Memory/PMEM-DIMM2/index.json | 71 + .../Systems/Config-2-PMEM/Memory/index.json | 17 + .../MemoryChunks/PMEM-Persistent-2/index.json | 23 + .../MemoryChunks/PMEM-Persistent-3/index.json | 23 + .../PMEM-1/MemoryChunks/index.json | 15 + .../MemoryDomains/PMEM-1/index.json | 38 + .../Config-2-PMEM/MemoryDomains/index.json | 12 + .../Systems/Config-2-PMEM/README.md | 9 + .../Systems/Config-2-PMEM/index.json | 21 + .../Memory/PMEM-DIMM1/index.json | 73 + .../Memory/PMEM-DIMM2/index.json | 71 + .../Systems/Config-3-PMEM/Memory/index.json | 17 + .../MemoryChunks/PMEM-Persistent-4/index.json | 29 + .../PMEM-1/MemoryChunks/index.json | 12 + .../MemoryDomains/PMEM-1/index.json | 38 + .../Config-3-PMEM/MemoryDomains/index.json | 12 + .../Systems/Config-3-PMEM/README.md | 7 + .../Systems/Config-3-PMEM/index.json | 21 + .../Memory/PMEM-DIMM1/index.json | 71 + .../Memory/PMEM-DIMM2/index.json | 71 + .../Memory/PMEM-DIMM3/index.json | 71 + .../Memory/PMEM-DIMM4/index.json | 71 + .../Systems/Config-4-PMEM/Memory/index.json | 23 + .../MemoryChunks/PMEM-Persistent-5/index.json | 41 + .../PMEM-1/MemoryChunks/index.json | 12 + .../MemoryDomains/PMEM-1/index.json | 58 + .../Config-4-PMEM/MemoryDomains/index.json | 12 + .../Systems/Config-4-PMEM/README.md | 9 + .../Systems/Config-4-PMEM/index.json | 21 + .../Systems/Config-PMEM-2 | 25 + .../Systems/Config-PMEM-3 | 17 + .../Systems/Config-PMEM-4 | 23 + .../InitialBoot/Memory/PMEM-DIMM1/index.json | 69 + .../InitialBoot/Memory/PMEM-DIMM2/index.json | 67 + .../Systems/InitialBoot/Memory/index.json | 17 + .../PMEM-2/MemoryChunks/index.json | 8 + .../MemoryDomains/PMEM-2/index.json | 38 + .../InitialBoot/MemoryDomains/index.json | 12 + .../Systems/InitialBoot/README.md | 4 + .../Systems/InitialBoot/index.json | 18 + .../public-pmem-configuration/Systems/PMEM | 31 + .../Systems/PMEM-AllPMEMMem | 14 + .../Systems/README.md | 187 +++ .../Systems/index.json | 24 + .../TaskService/README.md | 23 + .../TaskService/TaskMonitors/1/README.md | 8 + .../TaskService/TaskMonitors/1/index.json | 18 + .../TaskService/Tasks/1/README.md | 5 + .../TaskService/Tasks/1/index.json | 18 + .../TaskService/Tasks/README.md | 2 + .../TaskService/Tasks/index.json | 14 + .../TaskService/index.json | 21 + .../_artwork/Add-PMEM.png | Bin 0 -> 21957 bytes .../_artwork/Config-2.png | Bin 0 -> 20047 bytes .../_artwork/Config-3.png | Bin 0 -> 18323 bytes .../_artwork/Config-4.png | Bin 0 -> 21454 bytes .../_artwork/Initial.png | Bin 0 -> 14227 bytes .../_artwork/PMEM-Redfish-Data-Model.JPG | Bin 0 -> 556557 bytes .../_artwork/README.md | 1 + .../public-pmem-configuration/index.json | 24 + .../public-power-shelf/$metadata/index.xml | 237 +++ .../AccountService/Accounts/1/index.json | 22 + .../AccountService/Accounts/index.json | 12 + .../Roles/Administrator/index.json | 21 + .../AccountService/Roles/Operator/index.json | 16 + .../AccountService/Roles/ReadOnly/index.json | 15 + .../AccountService/Roles/index.json | 18 + .../AccountService/index.json | 24 + .../PowerShelf/EnvironmentMetrics/index.json | 10 + .../PowerSupplies/Bay1/Assembly/index.json | 25 + .../PowerSupplies/Bay1/Metrics/index.json | 72 + .../PowerSupplies/Bay1/index.json | 75 + .../PowerSupplies/Bay2/index.json | 19 + .../PowerSupplies/Bay3/index.json | 19 + .../PowerSupplies/Bay4/index.json | 19 + .../PowerSupplies/Bay5/index.json | 19 + .../PowerSupplies/Bay6/index.json | 19 + .../PowerSubsystem/PowerSupplies/index.json | 27 + .../PowerShelf/PowerSubsystem/index.json | 75 + .../PowerShelf/Sensors/BusBarTemp/index.json | 24 + .../PowerShelf/Sensors/CurrentA/index.json | 33 + .../PowerShelf/Sensors/CurrentB/index.json | 33 + .../PowerShelf/Sensors/CurrentDC/index.json | 33 + .../Sensors/CurrentMains1/index.json | 33 + .../Sensors/CurrentMains2/index.json | 33 + .../PowerShelf/Sensors/EnergyDC/index.json | 16 + .../PowerShelf/Sensors/FreqMains1/index.json | 39 + .../PowerShelf/Sensors/FreqMains2/index.json | 39 + .../PowerShelf/Sensors/FrequencyA1/index.json | 39 + .../PowerShelf/Sensors/LoadPercent/index.json | 25 + .../PowerShelf/Sensors/PS1Energy/index.json | 21 + .../PowerShelf/Sensors/PS1Fan/index.json | 26 + .../Sensors/PS1Frequency/index.json | 40 + .../Sensors/PS1InputCurrent/index.json | 34 + .../Sensors/PS1InputPower/index.json | 36 + .../Sensors/PS1InputVoltage/index.json | 41 + .../Sensors/PS1OutputPower/index.json | 36 + .../PowerShelf/Sensors/PS1Temp/index.json | 16 + .../Sensors/PS1_120VCurrent/index.json | 33 + .../Sensors/PS1_120VOutput/index.json | 41 + .../Sensors/PS1_DCCurrent/index.json | 33 + .../Sensors/PS1_DCVOutput/index.json | 41 + .../PowerShelf/Sensors/PowerA/index.json | 35 + .../PowerShelf/Sensors/PowerB/index.json | 35 + .../PowerShelf/Sensors/PowerDC/index.json | 35 + .../PowerShelf/Sensors/PowerMains1/index.json | 43 + .../PowerShelf/Sensors/PowerMains2/index.json | 43 + .../PowerShelf/Sensors/SocPercent/index.json | 25 + .../PowerShelf/Sensors/SocVoltage/index.json | 19 + .../PowerShelf/Sensors/VoltageA/index.json | 40 + .../PowerShelf/Sensors/VoltageB/index.json | 40 + .../PowerShelf/Sensors/VoltageDC/index.json | 41 + .../Sensors/VoltageMains1/index.json | 40 + .../Sensors/VoltageMains2/index.json | 40 + .../Chassis/PowerShelf/Sensors/index.json | 114 ++ .../Chassis/PowerShelf/index.json | 63 + .../public-power-shelf/Chassis/index.json | 12 + .../EventService/Subscriptions/1/index.json | 14 + .../EventService/Subscriptions/index.json | 12 + .../EventService/index.json | 36 + .../Facilities/Building/index.json | 30 + .../Room237/PowerDomains/Row1/index.json | 23 + .../Room237/PowerDomains/index.json | 12 + .../Facilities/Room237/index.json | 38 + .../public-power-shelf/Facilities/index.json | 15 + .../Dedicated/SD/index.json | 60 + .../EthernetInterfaces/Dedicated/index.json | 76 + .../BMC/EthernetInterfaces/index.json | 12 + .../BMC/LogServices/Log/Entries/index.json | 9 + .../Managers/BMC/LogServices/Log/index.json | 24 + .../Managers/BMC/LogServices/index.json | 13 + .../Managers/BMC/NetworkProtocol/index.json | 53 + .../BMC/SerialInterfaces/TTY0/index.json | 17 + .../Managers/BMC/SerialInterfaces/index.json | 13 + .../Managers/BMC/VirtualMedia/CD1/index.json | 16 + .../BMC/VirtualMedia/Floppy1/index.json | 16 + .../Managers/BMC/VirtualMedia/index.json | 16 + .../Managers/BMC/index.json | 72 + .../public-power-shelf/Managers/index.json | 12 + .../Busway/Mains/AC/index.json | 25 + .../ElectricalBuses/Busway/Mains/index.json | 12 + .../Busway/Outlets/A1/index.json | 21 + .../Busway/Outlets/A2/index.json | 21 + .../Busway/Outlets/A3/index.json | 21 + .../Busway/Outlets/A4/index.json | 24 + .../ElectricalBuses/Busway/Outlets/index.json | 21 + .../ElectricalBuses/Busway/index.json | 30 + .../Rack42Busbar/Mains/DC/index.json | 17 + .../Rack42Busbar/Mains/index.json | 12 + .../Rack42Busbar/Outlets/A1/index.json | 21 + .../Rack42Busbar/Outlets/A2/index.json | 21 + .../Rack42Busbar/Outlets/A3/index.json | 19 + .../Rack42Busbar/Outlets/index.json | 18 + .../ElectricalBuses/Rack42Busbar/index.json | 32 + .../PowerEquipment/ElectricalBuses/index.json | 15 + .../PowerShelves/1/Branches/A/index.json | 43 + .../PowerShelves/1/Branches/B/index.json | 40 + .../PowerShelves/1/Branches/DC/index.json | 47 + .../PowerShelves/1/Branches/index.json | 18 + .../PowerShelves/1/Mains/AC1/index.json | 37 + .../PowerShelves/1/Mains/AC2/index.json | 34 + .../PowerShelves/1/Mains/index.json | 15 + .../PowerShelves/1/Metrics/index.json | 28 + .../PowerShelves/1/Outlets/A1/index.json | 43 + .../PowerShelves/1/Outlets/B1/index.json | 43 + .../PowerShelves/1/Outlets/index.json | 15 + .../PowerEquipment/PowerShelves/1/index.json | 67 + .../PowerEquipment/PowerShelves/index.json | 12 + .../PowerEquipment/index.json | 16 + .../Sessions/1234567890ABCDEF/index.json | 9 + .../SessionService/Sessions/index.json | 12 + .../SessionService/index.json | 17 + .../public-power-shelf/explorer_config.json | 52 + .../public-power-shelf/index.json | 48 + .../public-rackmount1/$metadata/index.xml | 320 ++++ .../Accounts/1/Certificates/index.json | 11 + .../AccountService/Accounts/1/index.json | 33 + .../AccountService/Accounts/2/index.json | 38 + .../AccountService/Accounts/index.json | 12 + .../ExternalRedfishService/index.json | 30 + .../ExternalAccountProviders/index.json | 12 + .../Certificates/1/RekeyActionInfo/index.json | 33 + .../1/Certificates/1/index.json | 44 + .../1/Certificates/index.json | 15 + .../1/RekeyActionInfo/index.json | 33 + .../1/ClientCertificates/1/index.json | 44 + .../1/ClientCertificates/index.json | 12 + .../OutboundConnections/1/index.json | 35 + .../OutboundConnections/index.json | 14 + .../Roles/Administrator/index.json | 21 + .../AccountService/Roles/Operator/index.json | 16 + .../AccountService/Roles/ReadOnly/index.json | 15 + .../AccountService/Roles/index.json | 18 + .../AccountService/index.json | 160 ++ .../CertificateEnrollments/1/index.json | 45 + .../CertificateEnrollments/index.json | 13 + .../CertificateLocations/index.json | 20 + .../EnrollmentCACertificates/1/index.json | 35 + .../EnrollmentCACertificates/index.json | 15 + .../GenerateCSRActionInfo/index.json | 104 ++ .../ReplaceCertificateActionInfo/index.json | 27 + .../CertificateService/index.json | 37 + .../Chassis/1U/Controls/CPU1Freq/index.json | 19 + .../Chassis/1U/Controls/PowerLimit/index.json | 22 + .../Chassis/1U/Controls/index.json | 15 + .../Chassis/1U/EnvironmentMetrics/index.json | 36 + .../Chassis/1U/Power/index.json | 139 ++ .../Batteries/Module1/Metrics/index.json | 65 + .../Batteries/Module1/index.json | 47 + .../1U/PowerSubsystem/Batteries/index.json | 12 + .../PowerSupplies/Bay1/Assembly/index.json | 25 + .../PowerSupplies/Bay1/Metrics/index.json | 85 ++ .../PowerSupplies/Bay1/index.json | 99 ++ .../PowerSupplies/Bay2/index.json | 19 + .../PowerSubsystem/PowerSupplies/index.json | 15 + .../Chassis/1U/PowerSubsystem/index.json | 47 + .../Chassis/1U/Sensors/AmbientTemp/index.json | 16 + .../Sensors/Battery1InputCurrent/index.json | 30 + .../Sensors/Battery1InputVoltage/index.json | 30 + .../Sensors/Battery1OutputCurrent/index.json | 30 + .../Sensors/Battery1OutputVoltage/index.json | 30 + .../Sensors/Battery1StateOfHealth/index.json | 24 + .../1U/Sensors/Battery1Temp/index.json | 29 + .../Chassis/1U/Sensors/CPU1Power/index.json | 33 + .../Chassis/1U/Sensors/CPU1Temp/index.json | 83 + .../Chassis/1U/Sensors/CPUFan1/index.json | 36 + .../Chassis/1U/Sensors/CPUFan2/index.json | 36 + .../Chassis/1U/Sensors/DIMM1Temp/index.json | 71 + .../Chassis/1U/Sensors/DIMM2Temp/index.json | 71 + .../Chassis/1U/Sensors/DIMM3Temp/index.json | 71 + .../Chassis/1U/Sensors/ExhaustTemp/index.json | 16 + .../Chassis/1U/Sensors/FanBay1/index.json | 26 + .../Chassis/1U/Sensors/FanBay2/index.json | 26 + .../Chassis/1U/Sensors/IntakeTemp/index.json | 16 + .../Chassis/1U/Sensors/PS1Energy/index.json | 21 + .../1U/Sensors/PS1Frequency/index.json | 40 + .../1U/Sensors/PS1InputCurrent/index.json | 34 + .../1U/Sensors/PS1InputPower/index.json | 36 + .../1U/Sensors/PS1InputVoltage/index.json | 41 + .../Chassis/1U/Sensors/PS1Out12V/index.json | 41 + .../1U/Sensors/PS1Out12VCurrent/index.json | 33 + .../Chassis/1U/Sensors/PS1Out3V/index.json | 41 + .../1U/Sensors/PS1Out3VCurrent/index.json | 34 + .../Chassis/1U/Sensors/PS1Out5V/index.json | 41 + .../1U/Sensors/PS1Out5VCurrent/index.json | 33 + .../Chassis/1U/Sensors/PS2Energy/index.json | 18 + .../1U/Sensors/PS2Frequency/index.json | 13 + .../1U/Sensors/PS2InputCurrent/index.json | 14 + .../1U/Sensors/PS2InputPower/index.json | 14 + .../1U/Sensors/PS2InputVoltage/index.json | 14 + .../Chassis/1U/Sensors/PS2Out12V/index.json | 14 + .../1U/Sensors/PS2Out12VCurrent/index.json | 13 + .../Chassis/1U/Sensors/PS2Out3V/index.json | 14 + .../1U/Sensors/PS2Out3VCurrent/index.json | 13 + .../Chassis/1U/Sensors/PS2Out5V/index.json | 14 + .../1U/Sensors/PS2Out5VCurrent/index.json | 13 + .../Chassis/1U/Sensors/TotalEnergy/index.json | 20 + .../Chassis/1U/Sensors/TotalPower/index.json | 53 + .../Chassis/1U/Sensors/index.json | 132 ++ .../Chassis/1U/Thermal/index.json | 159 ++ .../1U/ThermalSubsystem/Fans/Bay1/index.json | 31 + .../1U/ThermalSubsystem/Fans/Bay2/index.json | 31 + .../1U/ThermalSubsystem/Fans/CPU1/index.json | 31 + .../1U/ThermalSubsystem/Fans/CPU2/index.json | 31 + .../1U/ThermalSubsystem/Fans/index.json | 21 + .../Heaters/CPU1Heater/Metrics/index.json | 24 + .../Heaters/CPU1Heater/index.json | 30 + .../1U/ThermalSubsystem/Heaters/index.json | 12 + .../ThermalMetrics/index.json | 37 + .../Chassis/1U/ThermalSubsystem/index.json | 57 + .../Certificates/DeviceCert/index.json | 20 + .../AC-RoT0/Certificates/index.json | 12 + .../1U/TrustedComponents/AC-RoT0/index.json | 32 + .../TPM/Certificates/EKCert/index.json | 17 + .../TPM/Certificates/index.json | 12 + .../1U/TrustedComponents/TPM/index.json | 33 + .../iRoT0/Certificates/DeviceCert/index.json | 20 + .../iRoT0/Certificates/index.json | 12 + .../1U/TrustedComponents/iRoT0/index.json | 32 + .../Chassis/1U/TrustedComponents/index.json | 18 + .../public-rackmount1/Chassis/1U/index.json | 104 ++ .../public-rackmount1/Chassis/index.json | 12 + .../ComponentIntegrity/SS-SPDM-0/index.json | 71 + .../ComponentIntegrity/SS-SPDM-1/index.json | 67 + .../ComponentIntegrity/TPM-0/index.json | 61 + .../USB-Integrity/index.json | 16 + .../ComponentIntegrity/index.json | 21 + .../SubmitTestEventActionInfo/index.json | 72 + .../EventService/Subscriptions/1/index.json | 14 + .../EventService/Subscriptions/2/index.json | 25 + .../EventService/Subscriptions/3/index.json | 15 + .../EventService/Subscriptions/4/index.json | 20 + .../EventService/Subscriptions/index.json | 21 + .../public-rackmount1/EventService/index.json | 40 + .../KeyService/NVMeoFKeyPolicies/0/index.json | 34 + .../KeyService/NVMeoFKeyPolicies/index.json | 12 + .../KeyService/NVMeoFSecrets/0/index.json | 18 + .../KeyService/NVMeoFSecrets/1/index.json | 17 + .../KeyService/NVMeoFSecrets/index.json | 15 + .../public-rackmount1/KeyService/index.json | 13 + .../BMC/DedicatedNetworkPorts/1/index.json | 37 + .../BMC/DedicatedNetworkPorts/index.json | 13 + .../BMC/EthernetInterfaces/ToHost/index.json | 57 + .../BMC/EthernetInterfaces/eth0/SD/index.json | 60 + .../BMC/EthernetInterfaces/eth0/index.json | 83 + .../BMC/EthernetInterfaces/index.json | 16 + .../1/HostEthernetInterfaces/index.json | 13 + .../Managers/BMC/HostInterfaces/1/index.json | 45 + .../Managers/BMC/HostInterfaces/index.json | 13 + .../BMC/LogServices/Log/Entries/1/index.json | 21 + .../BMC/LogServices/Log/Entries/index.json | 30 + .../Managers/BMC/LogServices/Log/index.json | 24 + .../Managers/BMC/LogServices/index.json | 13 + .../Certificates/1/RekeyActionInfo/index.json | 33 + .../HTTPS/Certificates/1/index.json | 49 + .../HTTPS/Certificates/index.json | 15 + .../Managers/BMC/NetworkProtocol/index.json | 87 ++ .../SPDM/RevokedCertificates/index.json | 8 + .../contoso-root/index.json | 9 + .../SPDM/TrustedCertificates/index.json | 12 + .../TLS/Client/RevokedCertificates/index.json | 8 + .../TLS/Client/TrustedCertificates/index.json | 8 + .../TLS/Server/RevokedCertificates/index.json | 8 + .../contoso-root/index.json | 9 + .../TLS/Server/TrustedCertificates/index.json | 12 + .../Managers/BMC/SecurityPolicy/index.json | 129 ++ .../BMC/SerialInterfaces/TTY0/index.json | 17 + .../Managers/BMC/SerialInterfaces/index.json | 13 + .../public-rackmount1/Managers/BMC/index.json | 100 ++ .../public-rackmount1/Managers/index.json | 12 + .../Registries/Base.1.5.0.json/index.json | 558 +++++++ .../Registries/Base.1.5.0/index.json | 19 + .../public-rackmount1/Registries/index.json | 13 + .../ServiceConditions/index.json | 37 + .../Sessions/1234567890ABCDEF/index.json | 11 + .../Sessions/1234567890ABCDEG/index.json | 15 + .../SessionService/Sessions/index.json | 15 + .../SessionService/index.json | 19 + .../437XR1138R2/Bios/Settings/index.json | 20 + .../Systems/437XR1138R2/Bios/index.json | 55 + .../Certificates/contoso-root/index.json | 16 + .../Certificates/contoso-subca/index.json | 25 + .../437XR1138R2/Certificates/index.json | 15 + .../12446A3B0411/index.json | 48 + .../12446A3B8890/index.json | 45 + .../EthernetInterfaces/ToManager/index.json | 55 + .../EthernetInterfaces/VLAN1/index.json | 52 + .../437XR1138R2/EthernetInterfaces/index.json | 22 + .../GPU1/Ports/DisplayPort/index.json | 27 + .../GraphicsControllers/GPU1/Ports/index.json | 13 + .../GraphicsControllers/GPU1/index.json | 32 + .../GraphicsControllers/index.json | 13 + .../LogServices/Log1/Entries/1/index.json | 20 + .../LogServices/Log1/Entries/2/index.json | 20 + .../LogServices/Log1/Entries/index.json | 49 + .../437XR1138R2/LogServices/Log1/index.json | 24 + .../437XR1138R2/LogServices/index.json | 13 + .../DIMM1/EnvironmentMetrics/index.json | 11 + .../437XR1138R2/Memory/DIMM1/index.json | 41 + .../DIMM2/EnvironmentMetrics/index.json | 11 + .../437XR1138R2/Memory/DIMM2/index.json | 41 + .../DIMM3/EnvironmentMetrics/index.json | 11 + .../437XR1138R2/Memory/DIMM3/index.json | 41 + .../437XR1138R2/Memory/DIMM4/index.json | 23 + .../Systems/437XR1138R2/Memory/index.json | 21 + .../CPU1/EnvironmentMetrics/index.json | 22 + .../437XR1138R2/Processors/CPU1/index.json | 68 + .../437XR1138R2/Processors/CPU2/index.json | 19 + .../Compression/index.json | 25 + .../FPGA1/AccelerationFunctions/index.json | 12 + .../FPGA1/ProcessorMetrics/index.json | 69 + .../437XR1138R2/Processors/FPGA1/index.json | 88 ++ .../Systems/437XR1138R2/Processors/index.json | 18 + .../KEK/Certificates/1/index.json | 33 + .../KEK/Certificates/2/index.json | 31 + .../KEK/Certificates/index.json | 18 + .../SecureBootDatabases/KEK/index.json | 21 + .../KEKDefault/Certificates/1/index.json | 33 + .../KEKDefault/Certificates/2/index.json | 31 + .../KEKDefault/Certificates/index.json | 18 + .../SecureBootDatabases/KEKDefault/index.json | 12 + .../PK/Certificates/1/index.json | 32 + .../PK/Certificates/index.json | 15 + .../SecureBootDatabases/PK/index.json | 21 + .../PKDefault/Certificates/1/index.json | 32 + .../PKDefault/Certificates/index.json | 15 + .../SecureBootDatabases/PKDefault/index.json | 12 + .../db/Certificates/1/index.json | 32 + .../db/Certificates/2/index.json | 31 + .../db/Certificates/3/index.json | 31 + .../db/Certificates/index.json | 21 + .../db/Signatures/1/index.json | 11 + .../db/Signatures/index.json | 12 + .../SecureBootDatabases/db/index.json | 24 + .../dbDefault/Signatures/1/index.json | 11 + .../dbDefault/Signatures/index.json | 8 + .../SecureBootDatabases/dbDefault/index.json | 12 + .../dbx/Certificates/index.json | 11 + .../dbx/Signatures/1/index.json | 11 + .../dbx/Signatures/2/index.json | 11 + .../dbx/Signatures/3/index.json | 11 + .../dbx/Signatures/index.json | 18 + .../SecureBootDatabases/dbx/index.json | 24 + .../dbxDefault/Signatures/1/index.json | 11 + .../dbxDefault/Signatures/index.json | 12 + .../SecureBootDatabases/dbxDefault/index.json | 12 + .../SecureBoot/SecureBootDatabases/index.json | 33 + .../Systems/437XR1138R2/SecureBoot/index.json | 23 + .../437XR1138R2/SimpleStorage/1/index.json | 48 + .../437XR1138R2/SimpleStorage/index.json | 12 + .../USBControllers/USB1/Ports/1/index.json | 36 + .../USBControllers/USB1/Ports/2/index.json | 36 + .../USBControllers/USB1/Ports/index.json | 16 + .../USBControllers/USB1/index.json | 30 + .../USBControllers/USB2/Ports/1/index.json | 33 + .../USBControllers/USB2/Ports/2/index.json | 33 + .../USBControllers/USB2/Ports/index.json | 16 + .../USBControllers/USB2/index.json | 30 + .../437XR1138R2/USBControllers/index.json | 16 + .../CD1/Certificates/1/index.json | 35 + .../VirtualMedia/CD1/Certificates/index.json | 15 + .../437XR1138R2/VirtualMedia/CD1/index.json | 20 + .../437XR1138R2/VirtualMedia/CD2/index.json | 17 + .../Floppy1/Certificates/index.json | 11 + .../VirtualMedia/Floppy1/index.json | 20 + .../437XR1138R2/VirtualMedia/index.json | 19 + .../Systems/437XR1138R2/index.json | 233 +++ .../public-rackmount1/Systems/index.json | 12 + .../TaskService/Tasks/545/index.json | 24 + .../TaskService/Tasks/687/index.json | 23 + .../TaskService/Tasks/index.json | 15 + .../public-rackmount1/TaskService/index.json | 18 + .../1/RekeyActionInfo/index.json | 33 + .../ClientCertificates/1/index.json | 44 + .../ClientCertificates/index.json | 12 + .../FirmwareInventory/AC-RoT0/index.json | 32 + .../FirmwareInventory/BIOS/index.json | 35 + .../FirmwareInventory/BMC/index.json | 48 + .../FirmwareInventory/SS/index.json | 34 + .../FirmwareInventory/index.json | 18 + .../LocalImageStore/102/index.json | 14 + .../LocalImageStore/49/index.json | 19 + .../UpdateService/LocalImageStore/index.json | 15 + .../SimpleUpdateActionInfo/index.json | 37 + .../UpdateService/index.json | 45 + .../public-rackmount1/explorer_config.json | 66 + .../public-rackmount1/index.json | 66 + .../public-rackmount1/odata/index.json | 71 + .../public-sasfabric/$metadata/index.xml | 166 ++ .../AccountService/Accounts/1/index.json | 22 + .../AccountService/Accounts/index.json | 12 + .../Roles/Administrator/index.json | 21 + .../AccountService/Roles/Operator/index.json | 16 + .../AccountService/Roles/ReadOnly/index.json | 15 + .../AccountService/Roles/index.json | 18 + .../AccountService/index.json | 25 + .../Chassis/Switch1/Power/index.json | 53 + .../Chassis/Switch1/Thermal/index.json | 161 ++ .../Chassis/Switch1/index.json | 41 + .../Chassis/Switch2/Power/index.json | 53 + .../Chassis/Switch2/Thermal/index.json | 161 ++ .../Chassis/Switch2/index.json | 41 + .../public-sasfabric/Chassis/index.json | 15 + .../SubmitTestEventActionInfo/index.json | 62 + .../EventService/Subscriptions/1/index.json | 14 + .../EventService/Subscriptions/index.json | 12 + .../public-sasfabric/EventService/index.json | 30 + .../Fabrics/SAS/Endpoints/Drive1/index.json | 36 + .../Fabrics/SAS/Endpoints/Drive2/index.json | 36 + .../Fabrics/SAS/Endpoints/Drive3/index.json | 31 + .../Fabrics/SAS/Endpoints/Drive4/index.json | 31 + .../SAS/Endpoints/Enclosure1/index.json | 61 + .../SAS/Endpoints/Enclosure2/index.json | 75 + .../SAS/Endpoints/Initiator1/index.json | 31 + .../SAS/Endpoints/Initiator2/index.json | 31 + .../SAS/Endpoints/TapeDrive/index.json | 30 + .../Fabrics/SAS/Endpoints/index.json | 36 + .../SAS/Switches/Switch1/Ports/1/index.json | 25 + .../SAS/Switches/Switch1/Ports/2/index.json | 25 + .../SAS/Switches/Switch1/Ports/3/index.json | 18 + .../SAS/Switches/Switch1/Ports/4/index.json | 18 + .../SAS/Switches/Switch1/Ports/5/index.json | 18 + .../SAS/Switches/Switch1/Ports/6/index.json | 25 + .../SAS/Switches/Switch1/Ports/7/index.json | 25 + .../SAS/Switches/Switch1/Ports/8/index.json | 37 + .../SAS/Switches/Switch1/Ports/index.json | 33 + .../Fabrics/SAS/Switches/Switch1/index.json | 60 + .../SAS/Switches/Switch2/Ports/1/index.json | 25 + .../SAS/Switches/Switch2/Ports/2/index.json | 25 + .../SAS/Switches/Switch2/Ports/3/index.json | 18 + .../SAS/Switches/Switch2/Ports/4/index.json | 18 + .../SAS/Switches/Switch2/Ports/5/index.json | 18 + .../SAS/Switches/Switch2/Ports/6/index.json | 25 + .../SAS/Switches/Switch2/Ports/7/index.json | 25 + .../SAS/Switches/Switch2/Ports/8/index.json | 37 + .../SAS/Switches/Switch2/Ports/index.json | 33 + .../Fabrics/SAS/Switches/Switch2/index.json | 60 + .../Fabrics/SAS/Switches/index.json | 15 + .../Fabrics/SAS/Zones/1/index.json | 28 + .../Fabrics/SAS/Zones/2/index.json | 25 + .../Fabrics/SAS/Zones/3/index.json | 25 + .../Fabrics/SAS/Zones/index.json | 18 + .../public-sasfabric/Fabrics/SAS/index.json | 22 + .../public-sasfabric/Fabrics/index.json | 12 + .../EthernetInterfaces/Dedicated/index.json | 59 + .../Switch1/EthernetInterfaces/index.json | 13 + .../LogServices/Log/Entries/1/index.json | 16 + .../LogServices/Log/Entries/index.json | 25 + .../Switch1/LogServices/Log/index.json | 24 + .../Managers/Switch1/LogServices/index.json | 13 + .../Switch1/NetworkProtocol/index.json | 30 + .../Managers/Switch1/index.json | 80 + .../EthernetInterfaces/Dedicated/index.json | 59 + .../Switch2/EthernetInterfaces/index.json | 13 + .../LogServices/Log/Entries/1/index.json | 16 + .../LogServices/Log/Entries/index.json | 25 + .../Switch2/LogServices/Log/index.json | 24 + .../Managers/Switch2/LogServices/index.json | 13 + .../Switch2/NetworkProtocol/index.json | 30 + .../Managers/Switch2/index.json | 80 + .../public-sasfabric/Managers/index.json | 15 + .../Sessions/1234567890ABCDEF/index.json | 9 + .../SessionService/Sessions/index.json | 12 + .../SessionService/index.json | 17 + .../TaskService/Tasks/545/index.json | 24 + .../TaskService/Tasks/index.json | 12 + .../public-sasfabric/TaskService/index.json | 18 + .../public-sasfabric/explorer_config.json | 70 + .../public-sasfabric/index.json | 48 + .../public-sasfabric/odata/index.json | 51 + .../public-smartnic/$metadata/index.xml | 217 +++ .../AccountService/Accounts/1/index.json | 22 + .../AccountService/Accounts/2/index.json | 28 + .../AccountService/Accounts/index.json | 12 + .../Roles/Administrator/index.json | 21 + .../AccountService/Roles/Operator/index.json | 16 + .../AccountService/Roles/ReadOnly/index.json | 15 + .../AccountService/Roles/index.json | 18 + .../public-smartnic/AccountService/index.json | 25 + .../Chassis/1U/EnvironmentMetrics/index.json | 29 + .../PowerSupplies/Bay1/Assembly/index.json | 25 + .../PowerSupplies/Bay1/Metrics/index.json | 85 ++ .../PowerSupplies/Bay1/index.json | 87 ++ .../PowerSupplies/Bay2/index.json | 19 + .../PowerSubsystem/PowerSupplies/index.json | 15 + .../Chassis/1U/PowerSubsystem/index.json | 38 + .../Chassis/1U/Sensors/AmbientTemp/index.json | 16 + .../Chassis/1U/Sensors/CPU1Power/index.json | 33 + .../Chassis/1U/Sensors/CPU1Temp/index.json | 45 + .../Chassis/1U/Sensors/CPUFan1/index.json | 25 + .../Chassis/1U/Sensors/CPUFan2/index.json | 25 + .../Chassis/1U/Sensors/DIMM1Temp/index.json | 45 + .../Chassis/1U/Sensors/DIMM2Temp/index.json | 45 + .../Chassis/1U/Sensors/DIMM3Temp/index.json | 45 + .../Chassis/1U/Sensors/ExhaustTemp/index.json | 16 + .../Chassis/1U/Sensors/FanBay1/index.json | 25 + .../Chassis/1U/Sensors/FanBay2/index.json | 25 + .../Chassis/1U/Sensors/IntakeTemp/index.json | 16 + .../Chassis/1U/Sensors/PS1Energy/index.json | 21 + .../1U/Sensors/PS1Frequency/index.json | 40 + .../1U/Sensors/PS1InputCurrent/index.json | 34 + .../1U/Sensors/PS1InputPower/index.json | 36 + .../1U/Sensors/PS1InputVoltage/index.json | 41 + .../Chassis/1U/Sensors/PS1Out12V/index.json | 41 + .../1U/Sensors/PS1Out12VCurrent/index.json | 33 + .../Chassis/1U/Sensors/PS1Out3V/index.json | 41 + .../1U/Sensors/PS1Out3VCurrent/index.json | 34 + .../Chassis/1U/Sensors/PS1Out5V/index.json | 41 + .../1U/Sensors/PS1Out5VCurrent/index.json | 33 + .../Chassis/1U/Sensors/PS2Energy/index.json | 18 + .../1U/Sensors/PS2Frequency/index.json | 13 + .../1U/Sensors/PS2InputCurrent/index.json | 14 + .../1U/Sensors/PS2InputPower/index.json | 14 + .../1U/Sensors/PS2InputVoltage/index.json | 14 + .../Chassis/1U/Sensors/PS2Out12V/index.json | 14 + .../1U/Sensors/PS2Out12VCurrent/index.json | 13 + .../Chassis/1U/Sensors/PS2Out3V/index.json | 14 + .../1U/Sensors/PS2Out3VCurrent/index.json | 13 + .../Chassis/1U/Sensors/PS2Out5V/index.json | 14 + .../1U/Sensors/PS2Out5VCurrent/index.json | 13 + .../Chassis/1U/Sensors/TotalEnergy/index.json | 20 + .../Chassis/1U/Sensors/TotalPower/index.json | 37 + .../Chassis/1U/Sensors/index.json | 114 ++ .../1U/ThermalSubsystem/Fans/Bay1/index.json | 30 + .../1U/ThermalSubsystem/Fans/Bay2/index.json | 30 + .../1U/ThermalSubsystem/Fans/CPU1/index.json | 29 + .../1U/ThermalSubsystem/Fans/CPU2/index.json | 30 + .../1U/ThermalSubsystem/Fans/index.json | 21 + .../ThermalMetrics/index.json | 37 + .../Chassis/1U/ThermalSubsystem/index.json | 52 + .../public-smartnic/Chassis/1U/index.json | 78 + .../Chassis/Card1/Drives/1/index.json | 22 + .../Chassis/Card1/Drives/index.json | 12 + .../Card1/EnvironmentMetrics/index.json | 21 + .../SC2KP1F0/AllowDeny/Rule1/index.json | 18 + .../SC2KP1F0/AllowDeny/Rule2/index.json | 18 + .../SC2KP1F0/AllowDeny/index.json | 15 + .../SC2KP1F0/index.json | 51 + .../SC2KP2F0/index.json | 48 + .../Slot1/NetworkDeviceFunctions/index.json | 15 + .../Slot1/Ports/SC2KP1/index.json | 39 + .../Slot1/Ports/SC2KP2/index.json | 39 + .../NetworkAdapters/Slot1/Ports/index.json | 15 + .../Card1/NetworkAdapters/Slot1/index.json | 46 + .../Chassis/Card1/NetworkAdapters/index.json | 12 + .../Chassis/Card1/Sensors/CPUFan1/index.json | 25 + .../Chassis/Card1/Sensors/CardTemp/index.json | 45 + .../Card1/Sensors/TotalPower/index.json | 37 + .../Chassis/Card1/Sensors/index.json | 18 + .../ThermalSubsystem/Fans/CPU1/index.json | 29 + .../Card1/ThermalSubsystem/Fans/index.json | 12 + .../ThermalMetrics/index.json | 20 + .../Chassis/Card1/ThermalSubsystem/index.json | 17 + .../public-smartnic/Chassis/Card1/index.json | 60 + .../Card2/EnvironmentMetrics/index.json | 15 + .../SC2KP1F0/index.json | 50 + .../SC2KP2F0/index.json | 50 + .../Slot2/NetworkDeviceFunctions/index.json | 15 + .../Slot2/Ports/SC2KP1/index.json | 39 + .../Slot2/Ports/SC2KP2/index.json | 39 + .../NetworkAdapters/Slot2/Ports/index.json | 15 + .../Slot2/Processors/FPGA1/index.json | 24 + .../Slot2/Processors/index.json | 12 + .../Card2/NetworkAdapters/Slot2/index.json | 49 + .../Chassis/Card2/NetworkAdapters/index.json | 12 + .../Chassis/Card2/Sensors/CardTemp/index.json | 45 + .../Card2/Sensors/TotalPower/index.json | 37 + .../Chassis/Card2/Sensors/index.json | 15 + .../ThermalMetrics/index.json | 20 + .../Chassis/Card2/ThermalSubsystem/index.json | 14 + .../public-smartnic/Chassis/Card2/index.json | 52 + .../public-smartnic/Chassis/index.json | 15 + .../AddressPools/AddressPool1/index.json | 192 +++ .../Fabrics/Ethernet/AddressPools/index.json | 12 + .../Fabrics/Ethernet/Endpoints/EP1/index.json | 34 + .../Fabrics/Ethernet/Endpoints/EP2/index.json | 34 + .../Fabrics/Ethernet/Endpoints/EP3/index.json | 30 + .../Fabrics/Ethernet/Endpoints/EP4/index.json | 30 + .../Fabrics/Ethernet/Endpoints/index.json | 21 + .../Fabrics/Ethernet/Zones/Zone0/index.json | 30 + .../Fabrics/Ethernet/Zones/Zone1/index.json | 23 + .../Fabrics/Ethernet/Zones/index.json | 15 + .../Fabrics/Ethernet/index.json | 22 + .../public-smartnic/Fabrics/index.json | 12 + .../Dedicated/SD/index.json | 60 + .../EthernetInterfaces/Dedicated/index.json | 76 + .../BMC/EthernetInterfaces/index.json | 13 + .../BMC/LogServices/Log/Entries/1/index.json | 21 + .../BMC/LogServices/Log/Entries/index.json | 30 + .../Managers/BMC/LogServices/Log/index.json | 24 + .../Managers/BMC/LogServices/index.json | 13 + .../Managers/BMC/NetworkProtocol/index.json | 75 + .../BMC/SerialInterfaces/TTY0/index.json | 17 + .../Managers/BMC/SerialInterfaces/index.json | 13 + .../Managers/BMC/VirtualMedia/CD1/index.json | 16 + .../BMC/VirtualMedia/Floppy1/index.json | 16 + .../Managers/BMC/VirtualMedia/index.json | 16 + .../public-smartnic/Managers/BMC/index.json | 89 ++ .../public-smartnic/Managers/index.json | 12 + .../Sessions/1234567890ABCDEF/index.json | 9 + .../SessionService/Sessions/index.json | 12 + .../public-smartnic/SessionService/index.json | 17 + .../437XR1138R2/Bios/Settings/index.json | 20 + .../Systems/437XR1138R2/Bios/index.json | 44 + .../LogServices/Log1/Entries/1/index.json | 20 + .../LogServices/Log1/Entries/2/index.json | 20 + .../LogServices/Log1/Entries/index.json | 49 + .../437XR1138R2/LogServices/Log1/index.json | 24 + .../437XR1138R2/LogServices/index.json | 13 + .../DIMM1/EnvironmentMetrics/index.json | 11 + .../437XR1138R2/Memory/DIMM1/index.json | 34 + .../DIMM2/EnvironmentMetrics/index.json | 11 + .../437XR1138R2/Memory/DIMM2/index.json | 34 + .../DIMM3/EnvironmentMetrics/index.json | 11 + .../437XR1138R2/Memory/DIMM3/index.json | 34 + .../437XR1138R2/Memory/DIMM4/index.json | 16 + .../Systems/437XR1138R2/Memory/index.json | 21 + .../4AWAII/NetworkDeviceFunctions/index.json | 15 + .../NetworkInterfaces/4AWAII/Ports/index.json | 15 + .../NetworkInterfaces/4AWAII/index.json | 18 + .../4AWAIJ/NetworkDeviceFunctions/index.json | 15 + .../NetworkInterfaces/4AWAIJ/Ports/index.json | 15 + .../NetworkInterfaces/4AWAIJ/index.json | 18 + .../437XR1138R2/NetworkInterfaces/index.json | 15 + .../CPU1/EnvironmentMetrics/index.json | 22 + .../437XR1138R2/Processors/CPU1/index.json | 31 + .../437XR1138R2/Processors/CPU2/index.json | 12 + .../Systems/437XR1138R2/Processors/index.json | 15 + .../437XR1138R2/SimpleStorage/1/index.json | 48 + .../437XR1138R2/SimpleStorage/index.json | 12 + .../Systems/437XR1138R2/index.json | 141 ++ .../LogServices/Log1/Entries/index.json | 9 + .../Card1-SoC/LogServices/Log1/index.json | 24 + .../Systems/Card1-SoC/LogServices/index.json | 13 + .../Systems/Card1-SoC/Memory/DRAM1/index.json | 30 + .../Systems/Card1-SoC/Memory/DRAM2/index.json | 30 + .../Systems/Card1-SoC/Memory/index.json | 15 + .../Card1-SoC/Processors/CPU1/index.json | 20 + .../Systems/Card1-SoC/Processors/index.json | 12 + .../Systems/Card1-SoC/Storage/1/index.json | 46 + .../Systems/Card1-SoC/Storage/index.json | 12 + .../Systems/Card1-SoC/index.json | 86 ++ .../public-smartnic/Systems/index.json | 15 + .../public-smartnic/explorer_config.json | 60 + .../DSP2043_2026.2/public-smartnic/index.json | 42 + .../public-smartnic/odata/index.json | 46 + .../public-telemetry/$metadata/index.xml | 184 +++ .../AccountService/Accounts/1/index.json | 22 + .../AccountService/Accounts/index.json | 12 + .../Roles/Administrator/index.json | 21 + .../AccountService/Roles/Operator/index.json | 16 + .../AccountService/Roles/ReadOnly/index.json | 15 + .../AccountService/Roles/index.json | 18 + .../AccountService/index.json | 25 + .../Chassis/1/Assembly/index.json | 47 + .../Chassis/1/Power/index.json | 248 +++ .../Chassis/1/Thermal/index.json | 192 +++ .../public-telemetry/Chassis/1/index.json | 75 + .../Chassis/Tray_1/Power/index.json | 224 +++ .../Chassis/Tray_1/Thermal/index.json | 178 +++ .../Chassis/Tray_1/index.json | 38 + .../Chassis/Tray_2/Power/index.json | 224 +++ .../Chassis/Tray_2/Thermal/index.json | 178 +++ .../Chassis/Tray_2/index.json | 38 + .../Chassis/Tray_3/Power/index.json | 224 +++ .../Chassis/Tray_3/Thermal/index.json | 178 +++ .../Chassis/Tray_3/index.json | 38 + .../public-telemetry/Chassis/index.json | 21 + .../1/EthernetInterfaces/1/SD/index.json | 54 + .../1/EthernetInterfaces/1/index.json | 132 ++ .../Managers/1/EthernetInterfaces/index.json | 13 + .../1/LogServices/Log1/Entries/index.json | 9 + .../Managers/1/LogServices/Log1/index.json | 26 + .../Managers/1/LogServices/index.json | 13 + .../Managers/1/NetworkProtocol/index.json | 61 + .../Managers/1/SerialInterfaces/1/index.json | 17 + .../Managers/1/SerialInterfaces/index.json | 13 + .../CD1/InsertMediaActionInfo/index.json | 24 + .../Managers/1/VirtualMedia/CD1/index.json | 25 + .../1/VirtualMedia/Floppy1/index.json | 16 + .../Managers/1/VirtualMedia/index.json | 16 + .../public-telemetry/Managers/1/index.json | 82 + .../public-telemetry/Managers/index.json | 12 + .../Sessions/1234567890ABCDEF/index.json | 9 + .../SessionService/Sessions/index.json | 12 + .../SessionService/index.json | 17 + .../1/Memory/1/MemoryMetrics/index.json | 33 + .../Systems/1/Memory/1/index.json | 41 + .../1/Memory/2/MemoryMetrics/index.json | 33 + .../Systems/1/Memory/2/index.json | 41 + .../Systems/1/Memory/index.json | 15 + .../Systems/1/Processors/1/index.json | 35 + .../Systems/1/Processors/2/index.json | 35 + .../Systems/1/Processors/index.json | 15 + .../Systems/1/ResetActionInfo/index.json | 24 + .../public-telemetry/Systems/1/index.json | 133 ++ .../public-telemetry/Systems/index.json | 12 + .../AverageConsumedWatts/index.json | 30 + .../AverageReadingCelsius/index.json | 25 + .../MetricDefinitions/FanSpeed/index.json | 36 + .../MaximumConsumedWatts/index.json | 30 + .../Memory_BlocksRead/index.json | 32 + .../MinimumConsumedWatts/index.json | 30 + .../OrientationSensor/index.json | 27 + .../OutletAirflowTemp/index.json | 34 + .../PowerConsumedWatts/index.json | 30 + .../MetricDefinitions/index.json | 36 + .../AvgPlatformPowerUsage/index.json | 45 + .../PlatformPowerUsage/index.json | 49 + .../PowerMetricStats/index.json | 41 + .../PowerMetrics/index.json | 50 + .../TransmitPowerUsageOnChange/index.json | 33 + .../MetricReportDefinitions/index.json | 24 + .../AvgPlatformPowerUsage/index.json | 27 + .../PlatformPowerUsage/index.json | 42 + .../MetricReports/PowerMetricStats/index.json | 66 + .../MetricReports/PowerMetrics/index.json | 42 + .../TelemetryService/MetricReports/index.json | 21 + .../TelemetrySnapshot.1/index.json | 11 + .../TelemetrySnapshot/index.json | 13 + .../TelemetryService/TelemetryData/index.json | 15 + .../Triggers/DriveMediaLife/index.json | 44 + .../Triggers/FanTriggers/index.json | 21 + .../Triggers/OrientationTrigger/index.json | 25 + .../PlatformPowerCapTriggers/index.json | 40 + .../TelemetryService/Triggers/index.json | 21 + .../TelemetryService/index.json | 46 + .../public-telemetry/explorer_config.json | 65 + .../public-telemetry/index.json | 45 + .../public-telemetry/odata/index.json | 46 + .../Accounts/1/Certificates/index.json | 11 + .../AccountService/Accounts/1/index.json | 25 + .../AccountService/Accounts/2/index.json | 28 + .../AccountService/Accounts/index.json | 12 + .../ExternalRedfishService/index.json | 30 + .../ExternalAccountProviders/index.json | 12 + .../Roles/Administrator/index.json | 21 + .../AccountService/Roles/Operator/index.json | 16 + .../AccountService/Roles/ReadOnly/index.json | 15 + .../AccountService/Roles/index.json | 18 + .../public-tower/AccountService/index.json | 100 ++ .../CertificateLocations/index.json | 14 + .../GenerateCSRActionInfo/index.json | 99 ++ .../ReplaceCertificateActionInfo/index.json | 27 + .../CertificateService/index.json | 20 + .../Chassis/Tower/Drives/Disk-1-0/index.json | 27 + .../Chassis/Tower/Drives/Disk-1-1/index.json | 27 + .../Chassis/Tower/Drives/Disk-1-2/index.json | 27 + .../Chassis/Tower/Drives/Disk-1-3/index.json | 27 + .../Chassis/Tower/Drives/Disk-1-4/index.json | 13 + .../Chassis/Tower/Drives/Disk-1-5/index.json | 13 + .../Chassis/Tower/Drives/Disk-1-6/index.json | 13 + .../Chassis/Tower/Drives/Disk-1-7/index.json | 13 + .../Chassis/Tower/Drives/Disk-2-0/index.json | 27 + .../Chassis/Tower/Drives/Disk-2-1/index.json | 27 + .../Chassis/Tower/Drives/Disk-2-2/index.json | 27 + .../Chassis/Tower/Drives/Disk-2-3/index.json | 27 + .../Chassis/Tower/Drives/Disk-2-4/index.json | 13 + .../Chassis/Tower/Drives/Disk-2-5/index.json | 13 + .../Chassis/Tower/Drives/Disk-2-6/index.json | 13 + .../Chassis/Tower/Drives/Disk-2-7/index.json | 13 + .../Chassis/Tower/Drives/M.2-1/index.json | 27 + .../Chassis/Tower/Drives/M.2-2/index.json | 86 ++ .../Tower/EnvironmentMetrics/index.json | 41 + .../NIC1/NetworkDeviceFunctions/1/index.json | 84 ++ .../NIC1/NetworkDeviceFunctions/2/index.json | 84 ++ .../NIC1/NetworkDeviceFunctions/index.json | 15 + .../NetworkAdapters/NIC1/Ports/1/index.json | 28 + .../NetworkAdapters/NIC1/Ports/2/index.json | 28 + .../NetworkAdapters/NIC1/Ports/index.json | 15 + .../Tower/NetworkAdapters/NIC1/index.json | 76 + .../Chassis/Tower/NetworkAdapters/index.json | 12 + .../PCIeDevices/EmbeddedNVMeBridge/index.json | 26 + .../PCIeDevices/IntegratedNIC/index.json | 26 + .../PCIeDevices/IntegratedNVMe1/index.json | 26 + .../PCIeDevices/IntegratedNVMe2/index.json | 26 + .../PCIeDevices/IntegratedRAID/index.json | 26 + .../Tower/PCIeDevices/Slot1/index.json | 24 + .../Tower/PCIeDevices/Slot2/index.json | 24 + .../Tower/PCIeDevices/Slot3/index.json | 24 + .../Tower/PCIeDevices/Slot4/index.json | 24 + .../Chassis/Tower/PCIeDevices/index.json | 36 + .../Chassis/Tower/PCIeSlots/index.json | 139 ++ .../Chassis/Tower/Power/index.json | 200 +++ .../PowerSupplies/Bay1/Assembly/index.json | 24 + .../PowerSupplies/Bay1/Metrics/index.json | 85 ++ .../PowerSupplies/Bay1/index.json | 78 + .../PowerSupplies/Bay2/Assembly/index.json | 24 + .../PowerSupplies/Bay2/Metrics/index.json | 85 ++ .../PowerSupplies/Bay2/index.json | 78 + .../PowerSubsystem/PowerSupplies/index.json | 15 + .../Chassis/Tower/PowerSubsystem/index.json | 38 + .../Tower/Sensors/AmbientTemp/index.json | 16 + .../Tower/Sensors/CPU1Power/index.json | 33 + .../Chassis/Tower/Sensors/CPU1Temp/index.json | 45 + .../Tower/Sensors/CPU2Power/index.json | 33 + .../Chassis/Tower/Sensors/CPU2Temp/index.json | 45 + .../Tower/Sensors/CPU3Power/index.json | 33 + .../Chassis/Tower/Sensors/CPU3Temp/index.json | 45 + .../Tower/Sensors/CPU4Power/index.json | 33 + .../Chassis/Tower/Sensors/CPU4Temp/index.json | 45 + .../Tower/Sensors/CPU5Power/index.json | 33 + .../Chassis/Tower/Sensors/CPU5Temp/index.json | 45 + .../Tower/Sensors/CPU6Power/index.json | 33 + .../Chassis/Tower/Sensors/CPU6Temp/index.json | 45 + .../Tower/Sensors/CPU7Power/index.json | 33 + .../Chassis/Tower/Sensors/CPU7Temp/index.json | 45 + .../Tower/Sensors/CPU8Power/index.json | 33 + .../Chassis/Tower/Sensors/CPU8Temp/index.json | 45 + .../Chassis/Tower/Sensors/CPUFan1/index.json | 25 + .../Chassis/Tower/Sensors/CPUFan2/index.json | 25 + .../Tower/Sensors/DIMM1Temp/index.json | 45 + .../Tower/Sensors/DIMM2Temp/index.json | 45 + .../Tower/Sensors/DIMM3Temp/index.json | 45 + .../Tower/Sensors/ExhaustTemp/index.json | 16 + .../Chassis/Tower/Sensors/FanBay1/index.json | 25 + .../Chassis/Tower/Sensors/FanBay2/index.json | 25 + .../Chassis/Tower/Sensors/FanBay3/index.json | 25 + .../Chassis/Tower/Sensors/FanBay4/index.json | 25 + .../Tower/Sensors/IntakeTemp/index.json | 16 + .../Tower/Sensors/PS1Energy/index.json | 21 + .../Tower/Sensors/PS1Frequency/index.json | 40 + .../Tower/Sensors/PS1InputCurrent/index.json | 34 + .../Tower/Sensors/PS1InputPower/index.json | 36 + .../Tower/Sensors/PS1InputVoltage/index.json | 41 + .../Tower/Sensors/PS1Out12V/index.json | 41 + .../Tower/Sensors/PS1Out12VCurrent/index.json | 33 + .../Chassis/Tower/Sensors/PS1Out3V/index.json | 41 + .../Tower/Sensors/PS1Out3VCurrent/index.json | 34 + .../Chassis/Tower/Sensors/PS1Out5V/index.json | 41 + .../Tower/Sensors/PS1Out5VCurrent/index.json | 33 + .../Tower/Sensors/PS2Energy/index.json | 18 + .../Tower/Sensors/PS2Frequency/index.json | 13 + .../Tower/Sensors/PS2InputCurrent/index.json | 14 + .../Tower/Sensors/PS2InputPower/index.json | 14 + .../Tower/Sensors/PS2InputVoltage/index.json | 14 + .../Tower/Sensors/PS2Out12V/index.json | 14 + .../Tower/Sensors/PS2Out12VCurrent/index.json | 13 + .../Chassis/Tower/Sensors/PS2Out3V/index.json | 14 + .../Tower/Sensors/PS2Out3VCurrent/index.json | 13 + .../Chassis/Tower/Sensors/PS2Out5V/index.json | 14 + .../Tower/Sensors/PS2Out5VCurrent/index.json | 13 + .../Tower/Sensors/TotalEnergy/index.json | 20 + .../Tower/Sensors/TotalPower/index.json | 37 + .../Chassis/Tower/Sensors/index.json | 165 ++ .../Chassis/Tower/Thermal/index.json | 159 ++ .../ThermalSubsystem/Fans/Bay1/index.json | 30 + .../ThermalSubsystem/Fans/Bay2/index.json | 30 + .../ThermalSubsystem/Fans/CPU1/index.json | 29 + .../ThermalSubsystem/Fans/CPU2/index.json | 30 + .../Tower/ThermalSubsystem/Fans/index.json | 21 + .../ThermalMetrics/index.json | 37 + .../Chassis/Tower/ThermalSubsystem/index.json | 52 + .../public-tower/Chassis/Tower/index.json | 138 ++ .../public-tower/Chassis/index.json | 12 + .../SubmitTestEventActionInfo/index.json | 62 + .../EventService/Subscriptions/1/index.json | 14 + .../EventService/Subscriptions/2/index.json | 25 + .../EventService/Subscriptions/3/index.json | 15 + .../EventService/Subscriptions/4/index.json | 20 + .../EventService/Subscriptions/index.json | 21 + .../public-tower/EventService/index.json | 40 + .../Dedicated/SD/index.json | 60 + .../EthernetInterfaces/Dedicated/index.json | 76 + .../BMC/EthernetInterfaces/index.json | 13 + .../BMC/LogServices/Log/Entries/1/index.json | 21 + .../BMC/LogServices/Log/Entries/index.json | 30 + .../Managers/BMC/LogServices/Log/index.json | 24 + .../Managers/BMC/LogServices/index.json | 13 + .../Certificates/1/RekeyActionInfo/index.json | 33 + .../HTTPS/Certificates/1/index.json | 44 + .../HTTPS/Certificates/index.json | 15 + .../Managers/BMC/NetworkProtocol/index.json | 78 + .../BMC/SerialInterfaces/TTY0/index.json | 17 + .../Managers/BMC/SerialInterfaces/index.json | 13 + .../Managers/BMC/VirtualMedia/CD1/index.json | 16 + .../BMC/VirtualMedia/Floppy1/index.json | 16 + .../Managers/BMC/VirtualMedia/index.json | 16 + .../public-tower/Managers/BMC/index.json | 83 + .../public-tower/Managers/index.json | 12 + .../Registries/Base.1.5.0.json/index.json | 558 +++++++ .../Registries/Base.1.5.0/index.json | 19 + .../public-tower/Registries/index.json | 13 + .../Sessions/1234567890ABCDEF/index.json | 9 + .../SessionService/Sessions/index.json | 12 + .../public-tower/SessionService/index.json | 17 + .../437XR1238R2/Bios/Settings/index.json | 20 + .../Systems/437XR1238R2/Bios/index.json | 45 + .../EthernetInterfaces/Network1/index.json | 30 + .../EthernetInterfaces/Network2/index.json | 36 + .../437XR1238R2/EthernetInterfaces/index.json | 16 + .../GPU1/Ports/DisplayPort1/index.json | 27 + .../GPU1/Ports/DisplayPort2/index.json | 27 + .../GPU1/Ports/DisplayPort3/index.json | 27 + .../GPU1/Ports/HDMI/index.json | 31 + .../GraphicsControllers/GPU1/Ports/index.json | 22 + .../GraphicsControllers/GPU1/index.json | 42 + .../GPU2/Ports/DisplayPort1/index.json | 27 + .../GPU2/Ports/DisplayPort2/index.json | 27 + .../GPU2/Ports/DisplayPort3/index.json | 27 + .../GPU2/Ports/HDMI/index.json | 31 + .../GraphicsControllers/GPU2/Ports/index.json | 22 + .../GraphicsControllers/GPU2/index.json | 42 + .../GraphicsControllers/index.json | 16 + .../LogServices/Log1/Entries/1/index.json | 20 + .../LogServices/Log1/Entries/2/index.json | 20 + .../LogServices/Log1/Entries/index.json | 49 + .../437XR1238R2/LogServices/Log1/index.json | 24 + .../437XR1238R2/LogServices/index.json | 13 + .../437XR1238R2/Memory/DIMM1/index.json | 38 + .../437XR1238R2/Memory/DIMM10/index.json | 36 + .../437XR1238R2/Memory/DIMM11/index.json | 36 + .../437XR1238R2/Memory/DIMM12/index.json | 36 + .../437XR1238R2/Memory/DIMM13/index.json | 36 + .../437XR1238R2/Memory/DIMM14/index.json | 36 + .../437XR1238R2/Memory/DIMM15/index.json | 36 + .../437XR1238R2/Memory/DIMM16/index.json | 36 + .../437XR1238R2/Memory/DIMM2/index.json | 38 + .../437XR1238R2/Memory/DIMM3/index.json | 38 + .../437XR1238R2/Memory/DIMM4/index.json | 38 + .../437XR1238R2/Memory/DIMM5/index.json | 38 + .../437XR1238R2/Memory/DIMM6/index.json | 38 + .../437XR1238R2/Memory/DIMM7/index.json | 38 + .../437XR1238R2/Memory/DIMM8/index.json | 38 + .../437XR1238R2/Memory/DIMM9/index.json | 36 + .../Systems/437XR1238R2/Memory/index.json | 57 + .../NIC1/NetworkDeviceFunctions/index.json | 15 + .../NetworkInterfaces/NIC1/Ports/index.json | 15 + .../NetworkInterfaces/NIC1/index.json | 18 + .../437XR1238R2/NetworkInterfaces/index.json | 12 + .../CPU1/EnvironmentMetrics/index.json | 22 + .../SubProcessors/Core1-Thread/index.json | 26 + .../CPU1/SubProcessors/Core1/index.json | 26 + .../SubProcessors/Core10-Thread/index.json | 26 + .../CPU1/SubProcessors/Core10/index.json | 26 + .../SubProcessors/Core11-Thread/index.json | 26 + .../CPU1/SubProcessors/Core11/index.json | 26 + .../SubProcessors/Core12-Thread/index.json | 26 + .../CPU1/SubProcessors/Core12/index.json | 26 + .../SubProcessors/Core13-Thread/index.json | 26 + .../CPU1/SubProcessors/Core13/index.json | 26 + .../SubProcessors/Core14-Thread/index.json | 26 + .../CPU1/SubProcessors/Core14/index.json | 26 + .../SubProcessors/Core15-Thread/index.json | 26 + .../CPU1/SubProcessors/Core15/index.json | 26 + .../SubProcessors/Core16-Thread/index.json | 26 + .../CPU1/SubProcessors/Core16/index.json | 26 + .../SubProcessors/Core2-Thread/index.json | 26 + .../CPU1/SubProcessors/Core2/index.json | 26 + .../SubProcessors/Core3-Thread/index.json | 26 + .../CPU1/SubProcessors/Core3/index.json | 26 + .../SubProcessors/Core4-Thread/index.json | 26 + .../CPU1/SubProcessors/Core4/index.json | 26 + .../SubProcessors/Core5-Thread/index.json | 26 + .../CPU1/SubProcessors/Core5/index.json | 26 + .../SubProcessors/Core6-Thread/index.json | 26 + .../CPU1/SubProcessors/Core6/index.json | 26 + .../SubProcessors/Core7-Thread/index.json | 26 + .../CPU1/SubProcessors/Core7/index.json | 26 + .../SubProcessors/Core8-Thread/index.json | 26 + .../CPU1/SubProcessors/Core8/index.json | 26 + .../SubProcessors/Core9-Thread/index.json | 26 + .../CPU1/SubProcessors/Core9/index.json | 26 + .../Processors/CPU1/SubProcessors/index.json | 105 ++ .../437XR1238R2/Processors/CPU1/index.json | 34 + .../CPU2/EnvironmentMetrics/index.json | 22 + .../SubProcessors/Core1-Thread/index.json | 26 + .../CPU2/SubProcessors/Core1/index.json | 26 + .../SubProcessors/Core10-Thread/index.json | 26 + .../CPU2/SubProcessors/Core10/index.json | 26 + .../SubProcessors/Core11-Thread/index.json | 26 + .../CPU2/SubProcessors/Core11/index.json | 26 + .../SubProcessors/Core12-Thread/index.json | 26 + .../CPU2/SubProcessors/Core12/index.json | 26 + .../SubProcessors/Core13-Thread/index.json | 26 + .../CPU2/SubProcessors/Core13/index.json | 26 + .../SubProcessors/Core14-Thread/index.json | 26 + .../CPU2/SubProcessors/Core14/index.json | 26 + .../SubProcessors/Core15-Thread/index.json | 26 + .../CPU2/SubProcessors/Core15/index.json | 26 + .../SubProcessors/Core16-Thread/index.json | 26 + .../CPU2/SubProcessors/Core16/index.json | 26 + .../SubProcessors/Core2-Thread/index.json | 26 + .../CPU2/SubProcessors/Core2/index.json | 26 + .../SubProcessors/Core3-Thread/index.json | 26 + .../CPU2/SubProcessors/Core3/index.json | 26 + .../SubProcessors/Core4-Thread/index.json | 26 + .../CPU2/SubProcessors/Core4/index.json | 26 + .../SubProcessors/Core5-Thread/index.json | 26 + .../CPU2/SubProcessors/Core5/index.json | 26 + .../SubProcessors/Core6-Thread/index.json | 26 + .../CPU2/SubProcessors/Core6/index.json | 26 + .../SubProcessors/Core7-Thread/index.json | 26 + .../CPU2/SubProcessors/Core7/index.json | 26 + .../SubProcessors/Core8-Thread/index.json | 26 + .../CPU2/SubProcessors/Core8/index.json | 26 + .../SubProcessors/Core9-Thread/index.json | 26 + .../CPU2/SubProcessors/Core9/index.json | 26 + .../Processors/CPU2/SubProcessors/index.json | 105 ++ .../437XR1238R2/Processors/CPU2/index.json | 34 + .../CPU3/EnvironmentMetrics/index.json | 22 + .../SubProcessors/Core1-Thread/index.json | 26 + .../CPU3/SubProcessors/Core1/index.json | 26 + .../SubProcessors/Core10-Thread/index.json | 26 + .../CPU3/SubProcessors/Core10/index.json | 26 + .../SubProcessors/Core11-Thread/index.json | 26 + .../CPU3/SubProcessors/Core11/index.json | 26 + .../SubProcessors/Core12-Thread/index.json | 26 + .../CPU3/SubProcessors/Core12/index.json | 26 + .../SubProcessors/Core13-Thread/index.json | 26 + .../CPU3/SubProcessors/Core13/index.json | 26 + .../SubProcessors/Core14-Thread/index.json | 26 + .../CPU3/SubProcessors/Core14/index.json | 26 + .../SubProcessors/Core15-Thread/index.json | 26 + .../CPU3/SubProcessors/Core15/index.json | 26 + .../SubProcessors/Core16-Thread/index.json | 26 + .../CPU3/SubProcessors/Core16/index.json | 26 + .../SubProcessors/Core2-Thread/index.json | 26 + .../CPU3/SubProcessors/Core2/index.json | 26 + .../SubProcessors/Core3-Thread/index.json | 26 + .../CPU3/SubProcessors/Core3/index.json | 26 + .../SubProcessors/Core4-Thread/index.json | 26 + .../CPU3/SubProcessors/Core4/index.json | 26 + .../SubProcessors/Core5-Thread/index.json | 26 + .../CPU3/SubProcessors/Core5/index.json | 26 + .../SubProcessors/Core6-Thread/index.json | 26 + .../CPU3/SubProcessors/Core6/index.json | 26 + .../SubProcessors/Core7-Thread/index.json | 26 + .../CPU3/SubProcessors/Core7/index.json | 26 + .../SubProcessors/Core8-Thread/index.json | 26 + .../CPU3/SubProcessors/Core8/index.json | 26 + .../SubProcessors/Core9-Thread/index.json | 26 + .../CPU3/SubProcessors/Core9/index.json | 26 + .../Processors/CPU3/SubProcessors/index.json | 105 ++ .../437XR1238R2/Processors/CPU3/index.json | 34 + .../CPU4/EnvironmentMetrics/index.json | 22 + .../SubProcessors/Core1-Thread/index.json | 26 + .../CPU4/SubProcessors/Core1/index.json | 26 + .../SubProcessors/Core10-Thread/index.json | 26 + .../CPU4/SubProcessors/Core10/index.json | 26 + .../SubProcessors/Core11-Thread/index.json | 26 + .../CPU4/SubProcessors/Core11/index.json | 26 + .../SubProcessors/Core12-Thread/index.json | 26 + .../CPU4/SubProcessors/Core12/index.json | 26 + .../SubProcessors/Core13-Thread/index.json | 26 + .../CPU4/SubProcessors/Core13/index.json | 26 + .../SubProcessors/Core14-Thread/index.json | 26 + .../CPU4/SubProcessors/Core14/index.json | 26 + .../SubProcessors/Core15-Thread/index.json | 26 + .../CPU4/SubProcessors/Core15/index.json | 26 + .../SubProcessors/Core16-Thread/index.json | 26 + .../CPU4/SubProcessors/Core16/index.json | 26 + .../SubProcessors/Core2-Thread/index.json | 26 + .../CPU4/SubProcessors/Core2/index.json | 26 + .../SubProcessors/Core3-Thread/index.json | 26 + .../CPU4/SubProcessors/Core3/index.json | 26 + .../SubProcessors/Core4-Thread/index.json | 26 + .../CPU4/SubProcessors/Core4/index.json | 26 + .../SubProcessors/Core5-Thread/index.json | 26 + .../CPU4/SubProcessors/Core5/index.json | 26 + .../SubProcessors/Core6-Thread/index.json | 26 + .../CPU4/SubProcessors/Core6/index.json | 26 + .../SubProcessors/Core7-Thread/index.json | 26 + .../CPU4/SubProcessors/Core7/index.json | 26 + .../SubProcessors/Core8-Thread/index.json | 26 + .../CPU4/SubProcessors/Core8/index.json | 26 + .../SubProcessors/Core9-Thread/index.json | 26 + .../CPU4/SubProcessors/Core9/index.json | 26 + .../Processors/CPU4/SubProcessors/index.json | 105 ++ .../437XR1238R2/Processors/CPU4/index.json | 34 + .../CPU5/EnvironmentMetrics/index.json | 22 + .../SubProcessors/Core1-Thread/index.json | 26 + .../CPU5/SubProcessors/Core1/index.json | 26 + .../SubProcessors/Core10-Thread/index.json | 26 + .../CPU5/SubProcessors/Core10/index.json | 26 + .../SubProcessors/Core11-Thread/index.json | 26 + .../CPU5/SubProcessors/Core11/index.json | 26 + .../SubProcessors/Core12-Thread/index.json | 26 + .../CPU5/SubProcessors/Core12/index.json | 26 + .../SubProcessors/Core13-Thread/index.json | 26 + .../CPU5/SubProcessors/Core13/index.json | 26 + .../SubProcessors/Core14-Thread/index.json | 26 + .../CPU5/SubProcessors/Core14/index.json | 26 + .../SubProcessors/Core15-Thread/index.json | 26 + .../CPU5/SubProcessors/Core15/index.json | 26 + .../SubProcessors/Core16-Thread/index.json | 26 + .../CPU5/SubProcessors/Core16/index.json | 26 + .../SubProcessors/Core2-Thread/index.json | 26 + .../CPU5/SubProcessors/Core2/index.json | 26 + .../SubProcessors/Core3-Thread/index.json | 26 + .../CPU5/SubProcessors/Core3/index.json | 26 + .../SubProcessors/Core4-Thread/index.json | 26 + .../CPU5/SubProcessors/Core4/index.json | 26 + .../SubProcessors/Core5-Thread/index.json | 26 + .../CPU5/SubProcessors/Core5/index.json | 26 + .../SubProcessors/Core6-Thread/index.json | 26 + .../CPU5/SubProcessors/Core6/index.json | 26 + .../SubProcessors/Core7-Thread/index.json | 26 + .../CPU5/SubProcessors/Core7/index.json | 26 + .../SubProcessors/Core8-Thread/index.json | 26 + .../CPU5/SubProcessors/Core8/index.json | 26 + .../SubProcessors/Core9-Thread/index.json | 26 + .../CPU5/SubProcessors/Core9/index.json | 26 + .../Processors/CPU5/SubProcessors/index.json | 105 ++ .../437XR1238R2/Processors/CPU5/index.json | 34 + .../CPU6/EnvironmentMetrics/index.json | 22 + .../SubProcessors/Core1-Thread/index.json | 26 + .../CPU6/SubProcessors/Core1/index.json | 26 + .../SubProcessors/Core10-Thread/index.json | 26 + .../CPU6/SubProcessors/Core10/index.json | 26 + .../SubProcessors/Core11-Thread/index.json | 26 + .../CPU6/SubProcessors/Core11/index.json | 26 + .../SubProcessors/Core12-Thread/index.json | 26 + .../CPU6/SubProcessors/Core12/index.json | 26 + .../SubProcessors/Core13-Thread/index.json | 26 + .../CPU6/SubProcessors/Core13/index.json | 26 + .../SubProcessors/Core14-Thread/index.json | 26 + .../CPU6/SubProcessors/Core14/index.json | 26 + .../SubProcessors/Core15-Thread/index.json | 26 + .../CPU6/SubProcessors/Core15/index.json | 26 + .../SubProcessors/Core16-Thread/index.json | 26 + .../CPU6/SubProcessors/Core16/index.json | 26 + .../SubProcessors/Core2-Thread/index.json | 26 + .../CPU6/SubProcessors/Core2/index.json | 26 + .../SubProcessors/Core3-Thread/index.json | 26 + .../CPU6/SubProcessors/Core3/index.json | 26 + .../SubProcessors/Core4-Thread/index.json | 26 + .../CPU6/SubProcessors/Core4/index.json | 26 + .../SubProcessors/Core5-Thread/index.json | 26 + .../CPU6/SubProcessors/Core5/index.json | 26 + .../SubProcessors/Core6-Thread/index.json | 26 + .../CPU6/SubProcessors/Core6/index.json | 26 + .../SubProcessors/Core7-Thread/index.json | 26 + .../CPU6/SubProcessors/Core7/index.json | 26 + .../SubProcessors/Core8-Thread/index.json | 26 + .../CPU6/SubProcessors/Core8/index.json | 26 + .../SubProcessors/Core9-Thread/index.json | 26 + .../CPU6/SubProcessors/Core9/index.json | 26 + .../Processors/CPU6/SubProcessors/index.json | 105 ++ .../437XR1238R2/Processors/CPU6/index.json | 34 + .../CPU7/EnvironmentMetrics/index.json | 22 + .../SubProcessors/Core1-Thread/index.json | 26 + .../CPU7/SubProcessors/Core1/index.json | 26 + .../SubProcessors/Core10-Thread/index.json | 26 + .../CPU7/SubProcessors/Core10/index.json | 26 + .../SubProcessors/Core11-Thread/index.json | 26 + .../CPU7/SubProcessors/Core11/index.json | 26 + .../SubProcessors/Core12-Thread/index.json | 26 + .../CPU7/SubProcessors/Core12/index.json | 26 + .../SubProcessors/Core13-Thread/index.json | 26 + .../CPU7/SubProcessors/Core13/index.json | 26 + .../SubProcessors/Core14-Thread/index.json | 26 + .../CPU7/SubProcessors/Core14/index.json | 26 + .../SubProcessors/Core15-Thread/index.json | 26 + .../CPU7/SubProcessors/Core15/index.json | 26 + .../SubProcessors/Core16-Thread/index.json | 26 + .../CPU7/SubProcessors/Core16/index.json | 26 + .../SubProcessors/Core2-Thread/index.json | 26 + .../CPU7/SubProcessors/Core2/index.json | 26 + .../SubProcessors/Core3-Thread/index.json | 26 + .../CPU7/SubProcessors/Core3/index.json | 26 + .../SubProcessors/Core4-Thread/index.json | 26 + .../CPU7/SubProcessors/Core4/index.json | 26 + .../SubProcessors/Core5-Thread/index.json | 26 + .../CPU7/SubProcessors/Core5/index.json | 26 + .../SubProcessors/Core6-Thread/index.json | 26 + .../CPU7/SubProcessors/Core6/index.json | 26 + .../SubProcessors/Core7-Thread/index.json | 26 + .../CPU7/SubProcessors/Core7/index.json | 26 + .../SubProcessors/Core8-Thread/index.json | 26 + .../CPU7/SubProcessors/Core8/index.json | 26 + .../SubProcessors/Core9-Thread/index.json | 26 + .../CPU7/SubProcessors/Core9/index.json | 26 + .../Processors/CPU7/SubProcessors/index.json | 105 ++ .../437XR1238R2/Processors/CPU7/index.json | 34 + .../CPU8/EnvironmentMetrics/index.json | 22 + .../SubProcessors/Core1-Thread/index.json | 26 + .../CPU8/SubProcessors/Core1/index.json | 26 + .../SubProcessors/Core10-Thread/index.json | 26 + .../CPU8/SubProcessors/Core10/index.json | 26 + .../SubProcessors/Core11-Thread/index.json | 26 + .../CPU8/SubProcessors/Core11/index.json | 26 + .../SubProcessors/Core12-Thread/index.json | 26 + .../CPU8/SubProcessors/Core12/index.json | 26 + .../SubProcessors/Core13-Thread/index.json | 26 + .../CPU8/SubProcessors/Core13/index.json | 26 + .../SubProcessors/Core14-Thread/index.json | 26 + .../CPU8/SubProcessors/Core14/index.json | 26 + .../SubProcessors/Core15-Thread/index.json | 26 + .../CPU8/SubProcessors/Core15/index.json | 26 + .../SubProcessors/Core16-Thread/index.json | 26 + .../CPU8/SubProcessors/Core16/index.json | 26 + .../SubProcessors/Core2-Thread/index.json | 26 + .../CPU8/SubProcessors/Core2/index.json | 26 + .../SubProcessors/Core3-Thread/index.json | 26 + .../CPU8/SubProcessors/Core3/index.json | 26 + .../SubProcessors/Core4-Thread/index.json | 26 + .../CPU8/SubProcessors/Core4/index.json | 26 + .../SubProcessors/Core5-Thread/index.json | 26 + .../CPU8/SubProcessors/Core5/index.json | 26 + .../SubProcessors/Core6-Thread/index.json | 26 + .../CPU8/SubProcessors/Core6/index.json | 26 + .../SubProcessors/Core7-Thread/index.json | 26 + .../CPU8/SubProcessors/Core7/index.json | 26 + .../SubProcessors/Core8-Thread/index.json | 26 + .../CPU8/SubProcessors/Core8/index.json | 26 + .../SubProcessors/Core9-Thread/index.json | 26 + .../CPU8/SubProcessors/Core9/index.json | 26 + .../Processors/CPU8/SubProcessors/index.json | 105 ++ .../437XR1238R2/Processors/CPU8/index.json | 34 + .../437XR1238R2/Processors/GPU1/index.json | 22 + .../437XR1238R2/Processors/GPU2/index.json | 22 + .../Systems/437XR1238R2/Processors/index.json | 39 + .../KEK/Certificates/1/index.json | 33 + .../KEK/Certificates/2/index.json | 31 + .../KEK/Certificates/index.json | 18 + .../SecureBootDatabases/KEK/index.json | 21 + .../KEKDefault/Certificates/1/index.json | 33 + .../KEKDefault/Certificates/2/index.json | 31 + .../KEKDefault/Certificates/index.json | 18 + .../SecureBootDatabases/KEKDefault/index.json | 12 + .../PK/Certificates/1/index.json | 32 + .../PK/Certificates/index.json | 15 + .../SecureBootDatabases/PK/index.json | 21 + .../PKDefault/Certificates/1/index.json | 32 + .../PKDefault/Certificates/index.json | 15 + .../SecureBootDatabases/PKDefault/index.json | 12 + .../db/Certificates/1/index.json | 32 + .../db/Certificates/2/index.json | 31 + .../db/Certificates/3/index.json | 31 + .../db/Certificates/index.json | 21 + .../db/Signatures/1/index.json | 11 + .../db/Signatures/index.json | 12 + .../SecureBootDatabases/db/index.json | 24 + .../dbDefault/Signatures/1/index.json | 11 + .../dbDefault/Signatures/index.json | 8 + .../SecureBootDatabases/dbDefault/index.json | 12 + .../dbx/Certificates/index.json | 11 + .../dbx/Signatures/1/index.json | 11 + .../dbx/Signatures/2/index.json | 11 + .../dbx/Signatures/3/index.json | 11 + .../dbx/Signatures/index.json | 18 + .../SecureBootDatabases/dbx/index.json | 24 + .../dbxDefault/Signatures/1/index.json | 11 + .../dbxDefault/Signatures/index.json | 12 + .../SecureBootDatabases/dbxDefault/index.json | 12 + .../SecureBoot/SecureBootDatabases/index.json | 33 + .../Systems/437XR1238R2/SecureBoot/index.json | 23 + .../Volumes/AssetStorage/index.json | 20 + .../Volumes/RenderStorage/index.json | 20 + .../Storage/HAFiberChannel/Volumes/index.json | 16 + .../Storage/HAFiberChannel/index.json | 56 + .../NVMeSWRAID/Volumes/Boot/index.json | 30 + .../Storage/NVMeSWRAID/Volumes/index.json | 13 + .../437XR1238R2/Storage/NVMeSWRAID/index.json | 42 + .../Volumes/AssetCache/index.json | 30 + .../Volumes/RenderVol/index.json | 30 + .../Storage/NVMeSecondary/Volumes/index.json | 16 + .../Storage/NVMeSecondary/index.json | 59 + .../Volumes/Scratchpad/index.json | 27 + .../Volumes/Secondary/index.json | 33 + .../Storage/RAIDIntegrated/Volumes/index.json | 16 + .../Storage/RAIDIntegrated/index.json | 82 + .../Systems/437XR1238R2/Storage/index.json | 21 + .../USBControllers/USB1/Ports/1/index.json | 36 + .../USBControllers/USB1/Ports/2/index.json | 36 + .../USBControllers/USB1/Ports/3/index.json | 36 + .../USBControllers/USB1/Ports/4/index.json | 36 + .../USBControllers/USB1/Ports/5/index.json | 36 + .../USBControllers/USB1/Ports/6/index.json | 36 + .../USBControllers/USB1/Ports/index.json | 28 + .../USBControllers/USB1/index.json | 48 + .../USBControllers/USB2/Ports/1/index.json | 33 + .../USBControllers/USB2/Ports/2/index.json | 33 + .../USBControllers/USB2/Ports/index.json | 16 + .../USBControllers/USB2/index.json | 48 + .../437XR1238R2/USBControllers/index.json | 16 + .../Systems/437XR1238R2/index.json | 182 +++ .../public-tower/Systems/index.json | 12 + .../TaskService/Tasks/545/index.json | 24 + .../public-tower/TaskService/Tasks/index.json | 12 + .../public-tower/TaskService/index.json | 18 + .../FirmwareInventory/BIOS/index.json | 22 + .../FirmwareInventory/BMC/index.json | 25 + .../FirmwareInventory/index.json | 15 + .../SimpleUpdateActionInfo/index.json | 37 + .../public-tower/UpdateService/index.json | 37 + .../public-tower/explorer_config.json | 66 + .../DSP2043_2026.2/public-tower/index.json | 57 + 4230 files changed, 133263 insertions(+), 94 deletions(-) create mode 100644 collector/chassis/power/collector.go create mode 100644 collector/chassis/power/collector_test.go rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/AccountService/Accounts/1/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/AccountService/Accounts/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/AccountService/Roles/Admin/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/AccountService/Roles/Operator/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/AccountService/Roles/ReadOnlyUser/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/AccountService/Roles/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/AccountService/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Chassis/1U/Power/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Chassis/1U/Thermal/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Chassis/1U/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Chassis/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/EventService/Subscriptions/1/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/EventService/Subscriptions/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/EventService/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Managers/BMC/LogServices/Log/Entries/1/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Managers/BMC/LogServices/Log/Entries/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Managers/BMC/LogServices/Log/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Managers/BMC/LogServices/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Managers/BMC/NICs/Dedicated/SD/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Managers/BMC/NICs/Dedicated/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Managers/BMC/NICs/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Managers/BMC/NetworkProtocol/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Managers/BMC/SerialInterfaces/TTY0/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Managers/BMC/SerialInterfaces/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Managers/BMC/VirtualMedia/CD1/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Managers/BMC/VirtualMedia/Floppy1/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Managers/BMC/VirtualMedia/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Managers/BMC/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Managers/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/SessionService/Sessions/1234567890ABCDEF/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/SessionService/Sessions/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/SessionService/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Systems/437XR1138R2/BIOS/Settings/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Systems/437XR1138R2/BIOS/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/1/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/2/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Systems/437XR1138R2/LogServices/Log1/Entries/2/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Systems/437XR1138R2/LogServices/Log1/Entries/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Systems/437XR1138R2/LogServices/Log1/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Systems/437XR1138R2/LogServices/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Systems/437XR1138R2/Memory/DIMM1/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Systems/437XR1138R2/Memory/DIMM2/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Systems/437XR1138R2/Memory/DIMM3/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Systems/437XR1138R2/Memory/DIMM4/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Systems/437XR1138R2/Memory/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Systems/437XR1138R2/Processors/CPU1/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Systems/437XR1138R2/Processors/CPU2/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Systems/437XR1138R2/Processors/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Systems/437XR1138R2/SimpleStorage/1/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Systems/437XR1138R2/SimpleStorage/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Systems/437XR1138R2/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/Systems/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/TaskService/Tasks/545/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/TaskService/Tasks/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/TaskService/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/DSP2043-server/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/README2043.html (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/proposed-ocp-profile/$metadata/index.xml (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/proposed-ocp-profile/AccountService/Accounts/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/proposed-ocp-profile/AccountService/Accounts/jane/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/proposed-ocp-profile/AccountService/Accounts/john/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/proposed-ocp-profile/AccountService/Accounts/root/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/proposed-ocp-profile/AccountService/Roles/Admin/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/proposed-ocp-profile/AccountService/Roles/Operator/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/proposed-ocp-profile/AccountService/Roles/ReadOnlyUser/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/proposed-ocp-profile/AccountService/Roles/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/proposed-ocp-profile/AccountService/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/proposed-ocp-profile/Chassis/1/Power/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/proposed-ocp-profile/Chassis/1/Thermal/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/proposed-ocp-profile/Chassis/1/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/proposed-ocp-profile/Chassis/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/proposed-ocp-profile/Managers/bmc/EthernetInterfaces/eth0/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/proposed-ocp-profile/Managers/bmc/EthernetInterfaces/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/proposed-ocp-profile/Managers/bmc/NetworkProtocol/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/proposed-ocp-profile/Managers/bmc/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/proposed-ocp-profile/Managers/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/proposed-ocp-profile/README.md (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/proposed-ocp-profile/README.txt (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/proposed-ocp-profile/SessionService/Sessions/1234567890ABCDEF/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/proposed-ocp-profile/SessionService/Sessions/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/proposed-ocp-profile/SessionService/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/proposed-ocp-profile/Systems/1/LogServices/SEL/Entries/1/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/proposed-ocp-profile/Systems/1/LogServices/SEL/Entries/2/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/proposed-ocp-profile/Systems/1/LogServices/SEL/Entries/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/proposed-ocp-profile/Systems/1/LogServices/SEL/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/proposed-ocp-profile/Systems/1/LogServices/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/proposed-ocp-profile/Systems/1/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/proposed-ocp-profile/Systems/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/proposed-ocp-profile/explorer_config.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/proposed-ocp-profile/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/proposed-ocp-profile/odata/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/AccountService/Accounts/1/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/AccountService/Accounts/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/AccountService/Roles/Admin/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/AccountService/Roles/Operator/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/AccountService/Roles/ReadOnlyUser/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/AccountService/Roles/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/AccountService/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Chassis/Blade1/Thermal/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Chassis/Blade1/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Chassis/Blade2/Thermal/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Chassis/Blade2/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Chassis/Blade3/Thermal/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Chassis/Blade3/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Chassis/Blade4/Thermal/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Chassis/Blade4/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Chassis/MultiBladeEncl/Power/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Chassis/MultiBladeEncl/Thermal/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Chassis/MultiBladeEncl/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Chassis/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/EventService/Subscriptions/1/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/EventService/Subscriptions/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/EventService/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Managers/Blade1BMC/EthernetInterfaces/1/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Managers/Blade1BMC/EthernetInterfaces/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Managers/Blade1BMC/LogServices/Log/Entries/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Managers/Blade1BMC/LogServices/Log/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Managers/Blade1BMC/LogServices/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Managers/Blade1BMC/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Managers/Blade2BMC/EthernetInterfaces/1/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Managers/Blade2BMC/EthernetInterfaces/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Managers/Blade2BMC/LogServices/Log/Entries/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Managers/Blade2BMC/LogServices/Log/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Managers/Blade2BMC/LogServices/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Managers/Blade2BMC/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Managers/Blade3BMC/EthernetInterfaces/1/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Managers/Blade3BMC/EthernetInterfaces/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Managers/Blade3BMC/LogServices/Log/Entries/1/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Managers/Blade3BMC/LogServices/Log/Entries/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Managers/Blade3BMC/LogServices/Log/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Managers/Blade3BMC/LogServices/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Managers/Blade3BMC/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Managers/Blade4BMC/EthernetInterfaces/1/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Managers/Blade4BMC/EthernetInterfaces/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Managers/Blade4BMC/LogServices/Log/Entries/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Managers/Blade4BMC/LogServices/Log/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Managers/Blade4BMC/LogServices/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Managers/Blade4BMC/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Managers/MultiBladeBMC/EthernetInterfaces/1/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Managers/MultiBladeBMC/EthernetInterfaces/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Managers/MultiBladeBMC/LogServices/Log/Entries/1/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Managers/MultiBladeBMC/LogServices/Log/Entries/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Managers/MultiBladeBMC/LogServices/Log/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Managers/MultiBladeBMC/LogServices/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Managers/MultiBladeBMC/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Managers/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/SessionService/Sessions/12623963E803C264/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/SessionService/Sessions/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/SessionService/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Systems/529QB9450R6/Processors/CPU/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Systems/529QB9450R6/Processors/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Systems/529QB9450R6/SimpleStorage/1/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Systems/529QB9450R6/SimpleStorage/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Systems/529QB9450R6/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Systems/529QB9451R6/Processors/CPU/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Systems/529QB9451R6/Processors/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Systems/529QB9451R6/SimpleStorage/1/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Systems/529QB9451R6/SimpleStorage/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Systems/529QB9451R6/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Systems/529QB9452R6/Processors/CPU/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Systems/529QB9452R6/Processors/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Systems/529QB9452R6/SimpleStorage/1/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Systems/529QB9452R6/SimpleStorage/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Systems/529QB9452R6/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Systems/529QB9453R6/Processors/CPU/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Systems/529QB9453R6/Processors/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Systems/529QB9453R6/SimpleStorage/1/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Systems/529QB9453R6/SimpleStorage/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Systems/529QB9453R6/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/Systems/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/TaskService/Tasks/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/TaskService/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/explorer_config.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-bladed/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/AccountService/Accounts/1/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/AccountService/Accounts/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/AccountService/Roles/Admin/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/AccountService/Roles/Operator/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/AccountService/Roles/ReadOnlyUser/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/AccountService/Roles/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/AccountService/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Chassis/1U/Power/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Chassis/1U/Thermal/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Chassis/1U/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Chassis/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/EventService/Subscriptions/1/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/EventService/Subscriptions/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/EventService/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Managers/BMC/LogServices/Log/Entries/1/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Managers/BMC/LogServices/Log/Entries/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Managers/BMC/LogServices/Log/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Managers/BMC/LogServices/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Managers/BMC/NICs/Dedicated/SD/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Managers/BMC/NICs/Dedicated/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Managers/BMC/NICs/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Managers/BMC/NetworkProtocol/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Managers/BMC/SerialInterfaces/TTY0/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Managers/BMC/SerialInterfaces/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Managers/BMC/VirtualMedia/CD1/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Managers/BMC/VirtualMedia/Floppy1/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Managers/BMC/VirtualMedia/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Managers/BMC/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Managers/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/SessionService/Sessions/1234567890ABCDEF/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/SessionService/Sessions/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/SessionService/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Systems/437XR1138R2/BIOS/Settings/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Systems/437XR1138R2/BIOS/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/1/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/2/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Systems/437XR1138R2/LogServices/Log1/Entries/2/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Systems/437XR1138R2/LogServices/Log1/Entries/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Systems/437XR1138R2/LogServices/Log1/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Systems/437XR1138R2/LogServices/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Systems/437XR1138R2/Memory/DIMM1/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Systems/437XR1138R2/Memory/DIMM2/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Systems/437XR1138R2/Memory/DIMM3/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Systems/437XR1138R2/Memory/DIMM4/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Systems/437XR1138R2/Memory/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Systems/437XR1138R2/Processors/CPU1/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Systems/437XR1138R2/Processors/CPU2/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Systems/437XR1138R2/Processors/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Systems/437XR1138R2/SimpleStorage/1/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Systems/437XR1138R2/SimpleStorage/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Systems/437XR1138R2/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/Systems/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/TaskService/Tasks/545/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/TaskService/Tasks/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/TaskService/index.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/explorer_config.json (100%) rename test_dependencies/mockups/{ => DSP2043_1.0.0}/public-rackmount/index.json (100%) create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2043_2026.2.html create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2043_2026.2.pdf create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AccelerationFunction-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AccountService-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ActionInfo-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AddressPool-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Aggregate-v1-AddElements-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Aggregate-v1-RemoveElements-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Aggregate-v1-Reset-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Aggregate-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AggregationService-v1-Reset-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AggregationService-v1-SetDefaultBootOrder-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AggregationService-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AggregationSource-v1-GenerateSSHIdentityKeyPair-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AggregationSource-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AllowDeny-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Application-v1-Reset-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Application-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Assembly-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AttributeRegistry-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AutomationInstrumentation-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AutomationNode-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Battery-v1-Reset-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Battery-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/BatteryMetrics-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Bios-v1-ChangePassword-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Bios-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/BootOption-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CXLLogicalDevice-v1-DisablePassphrase-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CXLLogicalDevice-v1-DynamicCapacityAdd-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CXLLogicalDevice-v1-DynamicCapacityRelease-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CXLLogicalDevice-v1-PassphraseSecureErase-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CXLLogicalDevice-v1-SetPassphrase-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CXLLogicalDevice-v1-Unlock-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CXLLogicalDevice-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Cable-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Certificate-v1-Rekey-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Certificate-v1-Rekey-response-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Certificate-v1-Renew-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Certificate-v1-Renew-response-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Certificate-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CertificateEnrollment-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CertificateLocations-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CertificateService-v1-GenerateCSR-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CertificateService-v1-GenerateCSR-response-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CertificateService-v1-ReplaceCertificate-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CertificateService-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Chassis-v1-Reset-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Chassis-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Circuit-v1-BreakerControl-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Circuit-v1-PowerControl-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Circuit-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CommonPropertySchema.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComponentIntegrity-v1-SPDMGetSignedMeasurements-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComponentIntegrity-v1-SPDMGetSignedMeasurements-response-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComponentIntegrity-v1-TPMGetSignedMeasurements-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComponentIntegrity-v1-TPMGetSignedMeasurements-response-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComponentIntegrity-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CompositionReservation-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CompositionService-v1-Compose-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CompositionService-v1-Compose-response-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CompositionService-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-AddResourceBlock-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-Decommission-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-ExportConfiguration-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-GraphicalConsoleGetOneTimeURL-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-GraphicalConsoleGetOneTimeURL-response-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-GraphicalConsoleSetOneTimePassword-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-GraphicalConsoleSetOneTimePassword-response-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-GraphicalConsoleSetPassword-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-RemoveResourceBlock-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-Reset-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Connection-v1-AddVolumeInfo-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Connection-v1-RemoveVolumeInfo-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Connection-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ConnectionMethod-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Container-v1-Reset-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Container-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ContainerImage-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Control-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CoolantConnector-v1-ValveControl-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CoolantConnector-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CoolingLoop-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CoolingUnit-v1-ExportConfiguration-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CoolingUnit-v1-SetMode-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CoolingUnit-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-FreezePersonality-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-GetPersonalityNonce-response-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-Reset-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-RevertToOriginalFactoryState-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-SecureErase-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-SetPersonalityKey-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-UnfreezePersonality-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/DriveMetrics-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Endpoint-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/EndpointGroup-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/EnvironmentMetrics-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/EthernetInterface-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/EventDestination-v1-ResumeSubscription-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/EventDestination-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/EventService-v1-SubmitTestEvent-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/EventService-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ExternalAccountProvider-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Fabric-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/FabricAdapter-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Facility-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Fan-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Filter-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/GenericCollectionSchema.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/GraphicsController-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Heater-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/HeaterMetrics-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/HostInterface-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Job-v1-Resubmit-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Job-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/JobDocument-v1-SubmitJob-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/JobDocument-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/JobExecutor-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/JobService-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/JsonSchemaFile-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Key-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/KeyPolicy-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/KeyService-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LeakDetection-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LeakDetector-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/License-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LicenseService-v1-Install-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LicenseService-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LogEntry-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LogService-v1-ClearLog-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LogService-v1-CollectDiagnosticData-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LogService-v1-DownloadRawLog-response-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LogService-v1-PushDiagnosticData-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LogService-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Manager-v1-ForceFailover-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Manager-v1-ModifyRedundancySet-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Manager-v1-Reset-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Manager-v1-ResetToDefaults-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Manager-v1-UpdateSecurityMode-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Manager-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ManagerAccount-v1-ChangePassword-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ManagerAccount-v1-GenerateSecretKey-response-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ManagerAccount-v1-VerifyTimeBasedOneTimePassword-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ManagerAccount-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ManagerDiagnosticData-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ManagerNetworkProtocol-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MediaController-v1-Reset-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MediaController-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-DisableMasterPassphrase-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-DisablePassphrase-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-InjectPersistentPoison-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-OverwriteUnit-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-Reset-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-ScanMedia-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-SecureEraseUnit-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-SetMasterPassphrase-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-SetPassphrase-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-UnlockUnit-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MemoryChunks-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MemoryDomain-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MemoryExtent-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MemoryMetrics-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MemoryRegion-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MessageRegistry-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MessageRegistryFile-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MetricDefinition-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MetricReport-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MetricReportDefinition-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/NetworkAdapter-v1-Reset-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/NetworkAdapter-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/NetworkAdapterMetrics-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/NetworkDeviceFunction-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/NetworkDeviceFunctionMetrics-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/NetworkInterface-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/NetworkPort-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/OperatingConfig-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/OperatingSystem-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/OutboundConnection-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Outlet-v1-PowerControl-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Outlet-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/OutletGroup-v1-PowerControl-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/OutletGroup-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PCIeDevice-v1-CXLReferenceDCMemory-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PCIeDevice-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PCIeFunction-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PCIeSlots-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Policy-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PolicyService-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Port-v1-Reset-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Port-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PortMetrics-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Power-v1-PowerSupplyReset-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Power-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerDistribution-v1-ExportConfiguration-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerDistribution-v1-PowerControl-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerDistribution-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerDistributionMetrics-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerDomain-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerEquipment-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerSubsystem-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerSupply-v1-Reset-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerSupply-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerSupplyMetrics-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PrivilegeRegistry-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Processor-v1-Reset-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Processor-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ProcessorMetrics-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Pump-v1-SetMode-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Pump-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/RegisteredClient-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Reservoir-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ResourceBlock-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Role-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/RouteEntry-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/RouteSetEntry-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SecureBoot-v1-ResetKeys-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SecureBoot-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SecureBootDatabase-v1-ResetKeys-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SecureBootDatabase-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SecurityPolicy-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Sensor-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SerialInterface-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ServiceConditions-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ServiceRoot-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Session-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SessionService-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Signature-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SimpleStorage-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SoftwareInventory-v1-Activate-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SoftwareInventory-v1-Cancel-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SoftwareInventory-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-FreezePersonality-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-GetPersonalityNonce-response-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-ImportForeignDrives-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-ResetToDefaults-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-SetControllerPassword-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-SetEncryptionKey-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-SetPersonalityKey-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-SetPredictedMediaLifeLeftThreshold-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-UnfreezePersonality-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-AttachNamespaces-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-AttachNamespaces-response-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-DetachNamespaces-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-DetachNamespaces-response-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-Reset-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-SecurityReceive-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-SecurityReceive-response-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-SecuritySend-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageControllerMetrics-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageMetrics-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Switch-v1-Reset-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Switch-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SwitchMetrics-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Task-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/TaskService-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/TelemetryData-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/TelemetryService-v1-CollectTelemetryData-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/TelemetryService-v1-SubmitTestMetricReport-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/TelemetryService-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Thermal-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ThermalEquipment-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ThermalMetrics-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ThermalSubsystem-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Triggers-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/TrustedComponent-v1-TPMGetEventLog-response-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/TrustedComponent-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/USBController-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/UpdateService-v1-Activate-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/UpdateService-v1-GenerateSSHIdentityKeyPair-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/UpdateService-v1-RemoveSSHIdentityKeyPair-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/UpdateService-v1-SimpleUpdate-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/UpdateService-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/UpdateServiceCapabilities-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/VCATEntry-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/VLanNetworkInterface-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/VirtualCXLSwitch-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/VirtualMedia-v1-InsertMedia-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/VirtualMedia-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/VirtualPCI2PCIBridge-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-AssignReplicaTarget-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-ChangeRAIDLayout-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-CreateReplicaTarget-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-Initialize-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-RemoveReplicaRelationship-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-ResumeReplication-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-ReverseReplicationRelationship-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-SplitReplication-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-SuspendReplication-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Zone-v1-AddEndpoint-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Zone-v1-RemoveEndpoint-request-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Zone-v1-example.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/ComposeManifestRequest.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/ComposeManifestReservationResponse.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/ComposeManifestResponse.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/EventExample.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/EventExampleWithDiagnosticData.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/EventExampleWithEventGroupId.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/EventExampleWithOrigin.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/ExpandManifestRequest.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/ExpandManifestResponse.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/$metadata/index.xml create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/AccountService/Accounts/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/AccountService/Accounts/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/AccountService/Accounts/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/AccountService/Roles/Administrator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/AccountService/Roles/Operator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/AccountService/Roles/ReadOnly/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/AccountService/Roles/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/AccountService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP2F0/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP2F0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/NetworkDeviceFunctions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/Ports/SC2KP1/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/Ports/SC2KP1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/Ports/SC2KP2/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/Ports/SC2KP2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/Ports/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot2/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot2/NetworkDeviceFunctions/SCFCP1F0/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot2/NetworkDeviceFunctions/SCFCP1F0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot2/NetworkDeviceFunctions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot2/Ports/SCFCP1/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot2/Ports/SCFCP1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot2/Ports/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P1/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P2/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P3/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P4/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P1/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P2/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P3/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P4/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Ports/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/NetworkDeviceFunctions/NDF1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/NetworkDeviceFunctions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/AG_P1/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/AG_P1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P1/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P2/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P3/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P4/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Power/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Assembly/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/PowerSubsystem/PowerSupplies/Bay2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/PowerSubsystem/PowerSupplies/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/PowerSubsystem/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/AmbientTemp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/CPU1Power/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/CPU1Temp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/CPUFan1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/CPUFan2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/DIMM1Temp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/DIMM2Temp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/DIMM3Temp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/ExhaustTemp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/FanBay1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/FanBay2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/IntakeTemp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1Energy/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1Frequency/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1InputCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1InputPower/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1InputVoltage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1Out12V/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1Out12VCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1Out3V/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1Out3VCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1Out5V/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1Out5VCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2Energy/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2Frequency/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2InputCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2InputPower/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2InputVoltage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2Out12V/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2Out12VCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2Out3V/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2Out3VCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2Out5V/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2Out5VCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/TotalEnergy/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/TotalPower/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/ThermalSubsystem/Fans/Bay1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/ThermalSubsystem/Fans/Bay2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/ThermalSubsystem/Fans/CPU1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/ThermalSubsystem/Fans/CPU2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/ThermalSubsystem/Fans/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/ThermalSubsystem/ThermalMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/ThermalSubsystem/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/DedicatedNetworkPorts/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/DedicatedNetworkPorts/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/EthernetInterfaces/eth0/SD/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/EthernetInterfaces/eth0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/EthernetInterfaces/eth1/SD/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/EthernetInterfaces/eth1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/LogServices/Log/Entries/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/LogServices/Log/Entries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/LogServices/Log/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/LogServices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/NetworkProtocol/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/SerialInterfaces/TTY0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/SerialInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/SharedNetworkPorts/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/VirtualMedia/CD1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/VirtualMedia/Floppy1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/VirtualMedia/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/SessionService/Sessions/1234567890ABCDEF/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/SessionService/Sessions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/SessionService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Bios/Settings/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Bios/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/EthernetInterfaces/SC2KP1F0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/EthernetInterfaces/SC2KP2F0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/LogServices/Log1/Entries/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/LogServices/Log1/Entries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/LogServices/Log1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/LogServices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Memory/DIMM1/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Memory/DIMM1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Memory/DIMM2/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Memory/DIMM2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Memory/DIMM3/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Memory/DIMM3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Memory/DIMM4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/NetworkInterfaces/SCFCP1F0/NetworkDeviceFunctions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/NetworkInterfaces/SCFCP1F0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/NetworkInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Processors/CPU1/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Processors/CPU1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Processors/CPU2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/SimpleStorage/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/SimpleStorage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/explorer_config.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-acd/odata/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/$metadata/index.xml create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/AccountService/Accounts/1/Certificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/AccountService/Accounts/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/AccountService/Accounts/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/AccountService/Accounts/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/AccountService/Roles/Administrator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/AccountService/Roles/Operator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/AccountService/Roles/ReadOnly/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/AccountService/Roles/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/AccountService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Chassis/1U/Drives/32ADF365C6C1B7BD/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Chassis/1U/Drives/35D38F11ACEF7BD3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Chassis/1U/Drives/3D58ECBC375FD9F2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Chassis/1U/Drives/3F5A8C54207B7233/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Chassis/1U/Drives/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Chassis/1U/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Chassis/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/EthernetInterfaces/Dedicated/SD/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/EthernetInterfaces/Dedicated/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/LogServices/Log/Entries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/LogServices/Log/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/LogServices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/NetworkProtocol/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/VirtualMedia/CD1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/VirtualMedia/Floppy1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/VirtualMedia/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/SessionService/Sessions/1234567890ABCDEF/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/SessionService/Sessions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/SessionService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Memory/DIMM1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Memory/DIMM2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Memory/DIMM3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Memory/DIMM4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/OperatingSystem/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Processors/CPU1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Processors/CPU2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Storage/1/Volumes/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Storage/1/Volumes/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Storage/1/Volumes/3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Storage/1/Volumes/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Storage/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Storage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/EthernetInterfaces/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/EthernetInterfaces/ContainerHostInterface/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Applications/Logger/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Applications/WebServer/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Applications/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/ContainerImages/WebLogic/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/ContainerImages/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/ContainerImages/mariadb-10-3-28/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/ContainerImages/mariadb-10-5-9/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Containers/Database/EthernetInterfaces/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Containers/Database/EthernetInterfaces/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Containers/Database/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Containers/Database/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Containers/WebBusinessLogic/EthernetInterfaces/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Containers/WebBusinessLogic/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Containers/WebBusinessLogic/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Containers/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/Storage/1/Volumes/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/Storage/1/Volumes/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/Storage/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/Storage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/UpdateService/FirmwareInventory/BIOS/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/UpdateService/FirmwareInventory/BMC/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/UpdateService/FirmwareInventory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/UpdateService/SimpleUpdateActionInfo/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/UpdateService/SoftwareInventory/ContosoLinux/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/UpdateService/SoftwareInventory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/UpdateService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/explorer_config.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-applications/odata/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/$metadata/index.xml create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/AccountService/Accounts/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/AccountService/Accounts/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/AccountService/Roles/Administrator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/AccountService/Roles/Operator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/AccountService/Roles/ReadOnly/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/AccountService/Roles/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/AccountService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade1/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade2/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade3/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade4/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade5/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade5/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade6/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade6/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade7/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade7/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade8/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade8/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Enclosure/Power/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Enclosure/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Enclosure/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/EthernetInterfaces/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Memory/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Memory/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Processors/CPU1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Processors/CPU2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/EthernetInterfaces/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Memory/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Memory/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Processors/CPU1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Processors/CPU2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/EthernetInterfaces/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Memory/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Memory/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Processors/CPU1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Processors/CPU2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock4/Systems/RBSystem/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/EthernetInterfaces/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Memory/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Memory/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Processors/CPU1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Processors/CPU2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/EthernetInterfaces/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Memory/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Memory/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Processors/CPU1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Processors/CPU2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/EthernetInterfaces/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/Memory/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/Memory/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/Processors/CPU1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/Processors/CPU2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeStorageBlock8/Drives/Drive1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeStorageBlock8/Drives/Drive2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeStorageBlock8/Storage/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeStorageBlock8/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceZones/EncZone1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceZones/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/EventService/SubmitTestEventActionInfo/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/EventService/Subscriptions/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/EventService/Subscriptions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/EventService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr1/EthernetInterfaces/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr1/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr1/NetworkProtocol/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr1/SerialInterfaces/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr1/SerialInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr1/VirtualMedia/CDDVD/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr1/VirtualMedia/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr2/EthernetInterfaces/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr2/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr2/NetworkProtocol/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr2/SerialInterfaces/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr2/SerialInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr2/VirtualMedia/CDDVD/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr2/VirtualMedia/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/README.md create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/SessionService/Sessions/12623963E803C264/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/SessionService/Sessions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/SessionService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/Capabilities/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition1/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition1/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition1/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition2/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition2/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition2/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition3/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition3/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition3/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition3/Storage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/TaskService/Tasks/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/TaskService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/explorer_config.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/odata/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/$metadata/index.xml create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/AccountService/Accounts/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/AccountService/Accounts/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/AccountService/Roles/Administrator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/AccountService/Roles/Operator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/AccountService/Roles/ReadOnly/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/AccountService/Roles/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/AccountService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/Blade1/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/Blade1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/Blade2/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/Blade2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/Blade3/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/Blade3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/Blade4/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/Blade4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/MultiBladeEncl/Power/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/MultiBladeEncl/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/MultiBladeEncl/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/EventService/SubmitTestEventActionInfo/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/EventService/Subscriptions/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/EventService/Subscriptions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/EventService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade1BMC/EthernetInterfaces/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade1BMC/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade1BMC/LogServices/Log/Entries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade1BMC/LogServices/Log/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade1BMC/LogServices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade1BMC/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade2BMC/EthernetInterfaces/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade2BMC/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade2BMC/LogServices/Log/Entries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade2BMC/LogServices/Log/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade2BMC/LogServices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade2BMC/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade3BMC/EthernetInterfaces/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade3BMC/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade3BMC/LogServices/Log/Entries/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade3BMC/LogServices/Log/Entries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade3BMC/LogServices/Log/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade3BMC/LogServices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade3BMC/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade4BMC/EthernetInterfaces/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade4BMC/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade4BMC/LogServices/Log/Entries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade4BMC/LogServices/Log/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade4BMC/LogServices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade4BMC/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/MultiBladeBMC/EthernetInterfaces/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/MultiBladeBMC/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/MultiBladeBMC/LogServices/Log/Entries/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/MultiBladeBMC/LogServices/Log/Entries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/MultiBladeBMC/LogServices/Log/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/MultiBladeBMC/LogServices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/MultiBladeBMC/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/SessionService/Sessions/12623963E803C264/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/SessionService/Sessions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/SessionService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9450R6/Processors/CPU/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9450R6/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9450R6/SimpleStorage/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9450R6/SimpleStorage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9450R6/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9451R6/Processors/CPU/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9451R6/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9451R6/SimpleStorage/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9451R6/SimpleStorage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9451R6/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9452R6/Processors/CPU/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9452R6/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9452R6/SimpleStorage/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9452R6/SimpleStorage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9452R6/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9453R6/Processors/CPU/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9453R6/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9453R6/SimpleStorage/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9453R6/SimpleStorage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9453R6/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/TaskService/Tasks/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/TaskService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/explorer_config.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-bladed/odata/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cables/$metadata/index.xml create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cables/Cables/fan0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cables/Cables/hdmi_dp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cables/Cables/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cables/Cables/pcie0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cables/Cables/power0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cables/Cables/sata0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cables/Chassis/bmc/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cables/Chassis/chassis/PCIeSlots/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cables/Chassis/chassis/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cables/Chassis/hsbp/Drives/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cables/Chassis/hsbp/Drives/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cables/Chassis/hsbp/PCIeSlots/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cables/Chassis/hsbp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cables/Chassis/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cables/SessionService/Sessions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cables/SessionService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cables/Systems/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cables/Systems/system/Storage/1/Controllers/1/Ports/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cables/Systems/system/Storage/1/Controllers/1/Ports/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cables/Systems/system/Storage/1/Controllers/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cables/Systems/system/Storage/1/Controllers/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cables/Systems/system/Storage/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cables/Systems/system/Storage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cables/Systems/system/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cables/explorer_config.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cables/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cables/odata/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-catfish/$metadata/index.xml create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-catfish/AccountService/Accounts/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-catfish/AccountService/Accounts/jane/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-catfish/AccountService/Accounts/john/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-catfish/AccountService/Accounts/root/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-catfish/AccountService/Roles/Administrator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-catfish/AccountService/Roles/Operator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-catfish/AccountService/Roles/ReadOnly/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-catfish/AccountService/Roles/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-catfish/AccountService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-catfish/Chassis/1/Power/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-catfish/Chassis/1/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-catfish/Chassis/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-catfish/Chassis/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-catfish/Managers/bmc/EthernetInterfaces/eth0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-catfish/Managers/bmc/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-catfish/Managers/bmc/NetworkProtocol/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-catfish/Managers/bmc/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-catfish/Managers/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-catfish/README.md create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-catfish/README.txt create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-catfish/SessionService/Sessions/1234567890ABCDEF/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-catfish/SessionService/Sessions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-catfish/SessionService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-catfish/Systems/1/LogServices/SEL/Entries/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-catfish/Systems/1/LogServices/SEL/Entries/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-catfish/Systems/1/LogServices/SEL/Entries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-catfish/Systems/1/LogServices/SEL/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-catfish/Systems/1/LogServices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-catfish/Systems/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-catfish/Systems/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-catfish/explorer_config.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-catfish/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-catfish/odata/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/$metadata/index.xml create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/AccountService/Accounts/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/AccountService/Accounts/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/AccountService/Roles/Administrator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/AccountService/Roles/Operator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/AccountService/Roles/ReadOnly/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/AccountService/Roles/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/AccountService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableEnclosure/Power/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableEnclosure/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableEnclosure/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableModule1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableModule2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableModule3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableModule4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableModule5/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableModule6/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableModule7/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/Capabilities/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock1/EthernetInterfaces/Block1OnboardNIC/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock1/Processors/Block1CPU0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock1/Processors/Block1CPU1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock2/Processors/Block2CPU0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock2/Processors/Block2CPU1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock10/Drives/Block10Slot4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock10/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock3/Drives/Block3Slot0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock4/Drives/Block4Slot1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock5/Drives/Block5Slot2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock5/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock6/Drives/Block6Slot3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock6/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock7/SimpleStorage/Block7SASTray/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock7/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/NetworkBlock8/EthernetInterfaces/Block8Port0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/NetworkBlock8/EthernetInterfaces/Block8Port1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/NetworkBlock8/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/OffloadBlock9/Processors/Block9GPU/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/OffloadBlock9/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/SystemBlock11/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/SystemBlock12/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceZones/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceZones/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceZones/3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceZones/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Managers/1/EthernetInterfaces/Dedicated/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Managers/1/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Managers/1/LogServices/Log/Entries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Managers/1/LogServices/Log/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Managers/1/LogServices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Managers/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Managers/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/SessionService/Sessions/1234567890ABCDEF/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/SessionService/Sessions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/SessionService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/Capabilities/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem/Storage/NVMe/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem/Storage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem2/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem2/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem2/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem2/Storage/NVMe/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem2/Storage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/EthernetInterfaces/SystemNIC/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/Memory/DIMM0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/Processors/CPU0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/Storage/NVMe/Drives/Drive0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/Storage/NVMe/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/Storage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/EthernetInterfaces/SystemNIC/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/Memory/DIMM0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/Processors/CPU0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/Storage/NVMe/Drives/Drive0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/Storage/NVMe/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/Storage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/EthernetInterfaces/SystemNIC/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/Memory/DIMM0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/Processors/CPU0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/Storage/NVMe/Drives/Drive0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/Storage/NVMe/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/Storage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/explorer_config.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-composability/odata/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/$metadata/index.xml create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/AccountService/Accounts/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/AccountService/Accounts/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/AccountService/Roles/Administrator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/AccountService/Roles/Operator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/AccountService/Roles/ReadOnly/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/AccountService/Roles/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/AccountService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/BladeServer-1/Power/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/BladeServer-1/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/BladeServer-1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/BladeServer-2/Power/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/BladeServer-2/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/BladeServer-2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/BladeServer-3/Power/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/BladeServer-3/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/BladeServer-3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/FabricEngine/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/IOM-1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/IOM-2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-1/Power/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-1/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-2/Power/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-2/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-3/Power/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-3/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-4/Power/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-4/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-5/Power/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-5/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-5/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/StorageSled-1/Drives/611/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/StorageSled-1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ActivePool/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ComposeActionInfo/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/CompositionReservations/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/CompositionReservations/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/FreePool/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/Appliance/Memory/Appliance-DIMM1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/Appliance/Processors/Appliance-CPU1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/Appliance/Storage/Appliance-Local/Drives/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/Appliance/Storage/Appliance-Local/Drives/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/Appliance/Storage/Appliance-Local/Drives/3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/Appliance/Storage/Appliance-Local/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/Appliance/Storage/Appliance-SAS/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/Appliance/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-1/Memory/BladeServer-1-DIMM1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-1/Processors/BladeServer-1-CPU1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-1/Storage/BladeServer-1-Local/Drives/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-1/Storage/BladeServer-1-Local/Drives/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-1/Storage/BladeServer-1-Local/Drives/3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-1/Storage/BladeServer-1-Local/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-1/Storage/BladeServer-1-SAS/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-2/Memory/BladeServer-2-DIMM1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-2/Processors/BladeServer-2-CPU1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-2/Storage/BladeServer-2-Local/Drives/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-2/Storage/BladeServer-2-Local/Drives/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-2/Storage/BladeServer-2-Local/Drives/3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-2/Storage/BladeServer-2-Local/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-2/Storage/BladeServer-2-SAS/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-3/Memory/BladeServer-3-DIMM1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-3/Processors/BladeServer-3-CPU1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-3/Storage/BladeServer-3-Local/Drives/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-3/Storage/BladeServer-3-Local/Drives/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-3/Storage/BladeServer-3-Local/Drives/3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-3/Storage/BladeServer-3-Local/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-3/Storage/BladeServer-3-SAS/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1/Storage/NVMe-TargetsAppliance-1/Drives/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1/Storage/NVMe-TargetsAppliance-1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-2/Storage/NVMe-TargetsAppliance-2/Drives/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-2/Storage/NVMe-TargetsAppliance-2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-3/Storage/NVMe-TargetsAppliance-3/Drives/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-3/Storage/NVMe-TargetsAppliance-3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-1/Memory/RackServer-1-DIMM1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-1/Processors/RackServer-1-CPU1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-1/Storage/RackServer-1-Local/Drives/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-1/Storage/RackServer-1-Local/Drives/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-1/Storage/RackServer-1-Local/Drives/3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-1/Storage/RackServer-1-Local/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-1/Storage/RackServer-1-SAS/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-2/Memory/RackServer-2-DIMM1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-2/Processors/RackServer-2-CPU1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-2/Storage/RackServer-2-Local/Drives/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-2/Storage/RackServer-2-Local/Drives/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-2/Storage/RackServer-2-Local/Drives/3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-2/Storage/RackServer-2-Local/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-2/Storage/RackServer-2-SAS/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-4/Memory/RackServer-4-DIMM1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-4/Processors/RackServer-4-CPU1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-4/Storage/RackServer-4-Local/Drives/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-4/Storage/RackServer-4-Local/Drives/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-4/Storage/RackServer-4-Local/Drives/3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-4/Storage/RackServer-4-Local/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-4/Storage/RackServer-4-SAS/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-5/Memory/RackServer-5-DIMM1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-5/Processors/RackServer-5-CPU1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-5/Storage/RackServer-5-Local/Drives/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-5/Storage/RackServer-5-Local/Drives/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-5/Storage/RackServer-5-Local/Drives/3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-5/Storage/RackServer-5-Local/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-5/Storage/RackServer-5-SAS/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-5/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/SASSled-1/Drives/SASSled-1-Drive1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/SASSled-1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/SASSled-2/Drives/SASSled-2-Drive1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/SASSled-2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/SASSled-3/Drives/SASSled-3-Drive1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/SASSled-3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceZones/Appliance/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceZones/BladeServer-1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceZones/BladeServer-2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceZones/BladeServer-3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceZones/RackServer-1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceZones/RackServer-2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceZones/RackServer-4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceZones/RackServer-5/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceZones/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Managers/1/EthernetInterfaces/Dedicated/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Managers/1/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Managers/1/LogServices/Log/Entries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Managers/1/LogServices/Log/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Managers/1/LogServices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Managers/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Managers/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/SessionService/Sessions/1234567890ABCDEF/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/SessionService/Sessions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/SessionService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-1/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-1/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-1/Storage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-2/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-2/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-2/Storage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-3/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-3/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-3/Storage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/Capabilities/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-1/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-1/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-1/Storage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-2/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-2/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-2/Storage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-3/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-3/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-3/Storage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-4/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-4/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-4/Storage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-5/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-5/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-5/Storage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-5/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/explorer_config.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-compose-action/odata/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/$metadata/index.xml create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/AccountService/Accounts/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/AccountService/Accounts/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/AccountService/Roles/Administrator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/AccountService/Roles/Operator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/AccountService/Roles/ReadOnly/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/AccountService/Roles/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/AccountService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/ComposableEnclosure/Power/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/ComposableEnclosure/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/ComposableEnclosure/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/ComposableModule1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/ComposableModule2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/ComposableModule3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/ComposableModule4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/ComposableModule5/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/ComposableModule6/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock1/EthernetInterfaces/Block1OnboardNIC/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock1/Processors/Block1CPU0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock1/Processors/Block1CPU1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock2/Processors/Block2CPU0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock2/Processors/Block2CPU1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock3/Drives/Slot0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock3/Storage/Block3NVMe/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock4/Drives/Slot1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock4/Storage/Block4NVMe/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock5/Drives/Slot2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock5/Storage/Block5NVMe/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock5/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock6/Drives/Slot3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock6/Storage/Block6NVMe/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock6/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock7/SimpleStorage/Block7SASTray/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock7/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/NetworkBlock8/EthernetInterfaces/Block8Port0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/NetworkBlock8/EthernetInterfaces/Block8Port1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/NetworkBlock8/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/OffloadBlock9/Processors/Block9GPU/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/OffloadBlock9/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceZones/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceZones/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceZones/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Managers/1/EthernetInterfaces/Dedicated/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Managers/1/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Managers/1/LogServices/Log/Entries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Managers/1/LogServices/Log/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Managers/1/LogServices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Managers/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Managers/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/SessionService/Sessions/1234567890ABCDEF/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/SessionService/Sessions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/SessionService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem/Storage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem2/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem2/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem2/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem2/Storage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ConstrainedCompositionCapabilities/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/explorer_config.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/odata/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/$metadata/index.xml create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/AccountService/Accounts/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/AccountService/Accounts/FrontPanel/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/AccountService/Accounts/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/AccountService/Roles/Administrator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/AccountService/Roles/Operator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/AccountService/Roles/ReadOnly/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/AccountService/Roles/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/AccountService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Controls/Pump1Speed/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Controls/Pump2Speed/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Controls/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/LeakDetectors/Moisture/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/LeakDetectors/Overflow/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/LeakDetectors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/PrimaryDeltaPressure/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/PrimaryDeltaTemp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/PrimaryFlow/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/PrimaryHeatLoad/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/PrimaryReturnPressure/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/PrimaryReturnTemp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/PrimarySupplyPressure/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/PrimarySupplyTemp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SecondaryDeltaPressure/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SecondaryDeltaTemp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SecondaryFlow/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SecondaryHeatLoad/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SecondaryReturnPressure/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SecondaryReturnTemp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SecondarySupplyPressure/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SecondarySupplyTemp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SystemRelativeHumidity/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SystemTemperature/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/EventService/Subscriptions/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/EventService/Subscriptions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/EventService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/CDU/EthernetInterfaces/Main/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/CDU/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/CDU/LogServices/Log/Entries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/CDU/LogServices/Log/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/CDU/LogServices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/CDU/NetworkProtocol/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/CDU/SerialInterfaces/TTY0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/CDU/SerialInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/CDU/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/SessionService/Sessions/1234567890ABCDEF/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/SessionService/Sessions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/SessionService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/Filters/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/Filters/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/LeakDetection/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/PrimaryCoolantConnectors/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/PrimaryCoolantConnectors/Pair1of2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/PrimaryCoolantConnectors/Pair2of2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/PrimaryCoolantConnectors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/Pumps/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/Pumps/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/Pumps/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/Reservoirs/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/Reservoirs/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/SecondaryCoolantConnectors/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/SecondaryCoolantConnectors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/explorer_config.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLMemChassis1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLMemChassis2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLRack/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType1/PCIeDevices/1/CXLLogicalDevices/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType1/PCIeDevices/1/CXLLogicalDevices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType1/PCIeDevices/1/PCIeFunctions/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType1/PCIeDevices/1/PCIeFunctions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType1/PCIeDevices/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType1/PCIeDevices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType1/Processors/FPGA/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType1/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/Memory/HBM/MemoryMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/Memory/HBM/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/MemoryDomains/1/MemoryChunks/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/MemoryDomains/1/MemoryChunks/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/MemoryDomains/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/MemoryDomains/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/PCIeDevices/1/CXLLogicalDevices/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/PCIeDevices/1/CXLLogicalDevices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/PCIeDevices/1/PCIeFunctions/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/PCIeDevices/1/PCIeFunctions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/PCIeDevices/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/PCIeDevices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/Processors/GPU/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/Memory/3DXP/InjectPersistentPoisonActionInfo/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/Memory/3DXP/MemoryMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/Memory/3DXP/ScanMediaActionInfo/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/Memory/3DXP/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/MemoryDomains/1/MemoryChunks/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/MemoryDomains/1/MemoryChunks/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/MemoryDomains/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/MemoryDomains/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/PCIeDevices/1/PCIeFunctions/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/PCIeDevices/1/PCIeFunctions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/PCIeDevices/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/PCIeDevices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/Host1Chassis/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/Host2Chassis/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/Host5Chassis/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/FabricAdapters/1/Ports/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/FabricAdapters/1/Ports/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/FabricAdapters/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/FabricAdapters/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/PCIeDevices/1/CXLLogicalDevices/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/PCIeDevices/1/CXLLogicalDevices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/PCIeDevices/1/PCIeFunctions/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/PCIeDevices/1/PCIeFunctions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/PCIeDevices/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/PCIeDevices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/Processors/FPGA/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/FabricAdapters/1/Ports/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/FabricAdapters/1/Ports/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/FabricAdapters/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/FabricAdapters/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/Memory/HBM/MemoryMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/Memory/HBM/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/MemoryDomains/1/MemoryChunks/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/MemoryDomains/1/MemoryChunks/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/MemoryDomains/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/MemoryDomains/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/PCIeDevices/1/CXLLogicalDevices/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/PCIeDevices/1/CXLLogicalDevices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/PCIeDevices/1/PCIeFunctions/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/PCIeDevices/1/PCIeFunctions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/PCIeDevices/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/PCIeDevices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/Processors/GPU/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/FabricAdapters/1/Ports/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/FabricAdapters/1/Ports/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/FabricAdapters/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/FabricAdapters/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/Memory/3DXP/MemoryMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/Memory/3DXP/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/MemoryDomains/1/MemoryChunks/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/MemoryDomains/1/MemoryChunks/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/MemoryDomains/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/MemoryDomains/6/MemoryChunks/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/MemoryDomains/6/MemoryChunks/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/MemoryDomains/6/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/MemoryDomains/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/PCIeDevices/1/CXLLogicalDevices/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/PCIeDevices/1/CXLLogicalDevices/6/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/PCIeDevices/1/CXLLogicalDevices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/PCIeDevices/1/PCIeFunctions/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/PCIeDevices/1/PCIeFunctions/6/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/PCIeDevices/1/PCIeFunctions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/PCIeDevices/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/PCIeDevices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/FabricAdapters/1/Ports/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/FabricAdapters/1/Ports/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/FabricAdapters/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/FabricAdapters/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/Memory/3DXP/MemoryMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/Memory/3DXP/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/MemoryDomains/1/MemoryChunks/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/MemoryDomains/1/MemoryChunks/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/MemoryDomains/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/MemoryDomains/6/MemoryChunks/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/MemoryDomains/6/MemoryChunks/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/MemoryDomains/6/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/MemoryDomains/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/6/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions/6/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/PCIeDevices/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/PCIeDevices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Connections/12/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Connections/13/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Connections/14/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Connections/15/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Connections/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/I1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/I2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/I5/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/S1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/S2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/T1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/T2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/T3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/T4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/T5/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/D1/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/D1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/D2/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/D2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/D3/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/D3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/F1/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/F1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/U1/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/U1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/U2/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/U2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/U3/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/U3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/VCSs/1/VPPBs/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/VCSs/1/VPPBs/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/VCSs/1/VPPBs/3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/VCSs/1/VPPBs/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/VCSs/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/VCSs/2/VPPBs/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/VCSs/2/VPPBs/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/VCSs/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/VCSs/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/Ports/D1/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/Ports/D1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/Ports/F1/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/Ports/F1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/Ports/U1/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/Ports/U1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/Ports/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/VCSs/1/VPPBs/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/VCSs/1/VPPBs/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/VCSs/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/VCSs/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Zones/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Zones/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Zones/3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Zones/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Managers/FM1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Managers/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/SessionService/Sessions/1234567890ABCDEF/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/SessionService/Sessions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/SessionService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/EthernetInterfaces/12446A3B8891/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/CXL2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/CXL3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/DIMM1/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/DIMM1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/DIMM2/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/DIMM2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/DIMM3/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/DIMM3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/DIMM4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/RCXL2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/RCXL3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/MemoryDomains/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/MemoryDomains/CXL/MemoryChunks/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/MemoryDomains/CXL/MemoryChunks/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/MemoryDomains/CXL/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/MemoryDomains/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Processors/CPU/Ports/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Processors/CPU/Ports/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Processors/CPU/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/EthernetInterfaces/12446A3B8890/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Memory/DIMM1/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Memory/DIMM1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Memory/DIMM2/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Memory/DIMM2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Memory/DIMM3/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Memory/DIMM3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Memory/DIMM4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/MemoryDomains/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/MemoryDomains/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Processors/CPU/Ports/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Processors/CPU/Ports/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Processors/CPU/Ports/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Processors/CPU/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/EthernetInterfaces/12446A3B8895/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Memory/DIMM1/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Memory/DIMM1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Memory/DIMM2/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Memory/DIMM2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Memory/DIMM3/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Memory/DIMM3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Memory/DIMM4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Memory/RCXL3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/MemoryDomains/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/MemoryDomains/CXL/MemoryChunks/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/MemoryDomains/CXL/MemoryChunks/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/MemoryDomains/CXL/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/MemoryDomains/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Processors/CPU/Ports/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Processors/CPU/Ports/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Processors/CPU/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/explorer_config.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/odata/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/$metadata/index.xml create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/Accounts/1/Certificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/Accounts/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/Accounts/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/ExternalAccountProviders/ExternalRedfishService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/ExternalAccountProviders/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/Roles/Administrator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/Roles/Operator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/Roles/ReadOnly/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/Roles/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXL-Chassis/LogServices/LocalLog1/Entries/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXL-Chassis/LogServices/LocalLog1/Entries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXL-Chassis/LogServices/LocalLog1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXL-Chassis/LogServices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXL-Chassis/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXL-Chassis/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType1/PCIeDevices/1/CXLLogicalDevices/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType1/PCIeDevices/1/CXLLogicalDevices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType1/PCIeDevices/1/PCIeFunctions/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType1/PCIeDevices/1/PCIeFunctions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType1/PCIeDevices/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType1/PCIeDevices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType1/Processors/FPGA/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType1/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/Memory/HBM/MemoryMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/Memory/HBM/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/MemoryDomains/1/MemoryChunks/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/MemoryDomains/1/MemoryChunks/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/MemoryDomains/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/MemoryDomains/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/PCIeDevices/1/CXLLogicalDevices/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/PCIeDevices/1/CXLLogicalDevices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/PCIeDevices/1/PCIeFunctions/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/PCIeDevices/1/PCIeFunctions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/PCIeDevices/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/PCIeDevices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/Processors/GPU/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/FabricAdapters/1/Ports/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/FabricAdapters/1/Ports/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/FabricAdapters/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/FabricAdapters/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/Memory/3DXP/InjectPersistentPoisonActionInfo/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/Memory/3DXP/MemoryMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/Memory/3DXP/ScanMediaActionInfo/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/Memory/3DXP/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/MemoryDomains/1/MemoryChunks/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/MemoryDomains/1/MemoryChunks/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/MemoryDomains/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/MemoryDomains/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/1/MemoryRegions/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/1/MemoryRegions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/PCIeDevices/1/PCIeFunctions/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/PCIeDevices/1/PCIeFunctions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/PCIeDevices/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/PCIeDevices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/FabricAdapters/1/Ports/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/FabricAdapters/1/Ports/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/FabricAdapters/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/FabricAdapters/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/PCIeDevices/1/CXLLogicalDevices/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/PCIeDevices/1/CXLLogicalDevices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/PCIeDevices/1/PCIeFunctions/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/PCIeDevices/1/PCIeFunctions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/PCIeDevices/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/PCIeDevices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/Processors/FPGA/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/FabricAdapters/1/Ports/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/FabricAdapters/1/Ports/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/FabricAdapters/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/FabricAdapters/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/Memory/HBM/MemoryMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/Memory/HBM/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/MemoryDomains/1/MemoryChunks/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/MemoryDomains/1/MemoryChunks/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/MemoryDomains/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/MemoryDomains/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/PCIeDevices/1/CXLLogicalDevices/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/PCIeDevices/1/CXLLogicalDevices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/PCIeDevices/1/PCIeFunctions/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/PCIeDevices/1/PCIeFunctions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/PCIeDevices/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/PCIeDevices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/Processors/GPU/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/FabricAdapters/1/Ports/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/FabricAdapters/1/Ports/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/FabricAdapters/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/FabricAdapters/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/Memory/3DXP/InjectPersistentPoisonActionInfo/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/Memory/3DXP/MemoryMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/Memory/3DXP/ScanMediaActionInfo/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/Memory/3DXP/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/MemoryDomains/1/MemoryChunks/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/MemoryDomains/1/MemoryChunks/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/MemoryDomains/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/MemoryDomains/6/MemoryChunks/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/MemoryDomains/6/MemoryChunks/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/MemoryDomains/6/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/MemoryDomains/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/1/MemoryRegions/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/1/MemoryRegions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/6/MemoryRegions/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/6/MemoryRegions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/6/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions/6/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Connections/12/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Connections/13/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Connections/14/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Connections/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/I1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/I2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/I3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/I4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/S1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/T1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/T2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/T3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/T4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/T5/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/D1/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/D1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/D2/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/D2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/D3/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/D3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/D4/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/D4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/U1/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/U1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/U2/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/U2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/U3/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/U3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/1/VPPBs/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/1/VPPBs/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/1/VPPBs/3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/1/VPPBs/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/2/VPPBs/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/2/VPPBs/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/2/VPPBs/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Zones/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Zones/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Zones/3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Zones/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Managers/FM1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Managers/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/SessionService/Sessions/1234567890ABCDEF/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/SessionService/Sessions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/SessionService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Memory/CXL2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Memory/CXL3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Memory/RCXL2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Memory/RCXL3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/MemoryDomains/CXL/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/MemoryDomains/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Processors/CPU/Ports/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Processors/CPU/Ports/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Processors/CPU/Ports/4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Processors/CPU/Ports/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Processors/CPU/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/explorer_config.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-cxl/odata/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/$metadata/index.xml create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/AccountService/Accounts/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/AccountService/Accounts/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/AccountService/Roles/Administrator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/AccountService/Roles/Operator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/AccountService/Roles/ReadOnly/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/AccountService/Roles/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/AccountService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Chassis/ExpansionEnclosure/Power/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Chassis/ExpansionEnclosure/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Chassis/ExpansionEnclosure/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Chassis/ResourceTray1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Chassis/ResourceTray2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Chassis/ResourceTray3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Chassis/ResourceTray4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Chassis/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Managers/1/EthernetInterfaces/Dedicated/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Managers/1/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Managers/1/LogServices/Log/Entries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Managers/1/LogServices/Log/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Managers/1/LogServices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Managers/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Managers/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray1-SAS/Drives/Slot0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray1-SAS/Drives/Slot1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray1-SAS/Drives/Slot2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray1-SAS/Drives/Slot3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray1-SAS/Storage/SAS/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray1-SAS/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray2-Drive1/Drives/Slot0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray2-Drive1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray2-Drive2/Drives/Slot1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray2-Drive2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray2-Drive3/Drives/Slot2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray2-Drive3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray2-Drive4/Drives/Slot3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray2-Drive4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray3-Memory/Memory/DIMM0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray3-Memory/Memory/DIMM1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray3-Memory/Memory/DIMM2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray3-Memory/Memory/DIMM3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray3-Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC1/EthernetInterfaces/Port0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC1/EthernetInterfaces/Port1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC2/EthernetInterfaces/Port0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC2/EthernetInterfaces/Port1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC3/EthernetInterfaces/Port0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC3/EthernetInterfaces/Port1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC4/EthernetInterfaces/Port0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC4/EthernetInterfaces/Port1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/SessionService/Sessions/1234567890ABCDEF/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/SessionService/Sessions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/SessionService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/explorer_config.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/odata/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/$metadata/index.xml create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/AccountService/Accounts/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/AccountService/Accounts/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/AccountService/Roles/Administrator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/AccountService/Roles/Operator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/AccountService/Roles/ReadOnly/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/AccountService/Roles/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/AccountService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/Sensor1/AutomationInstrumentation/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/Sensor1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/Thermostat/AutomationInstrumentation/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/Thermostat/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/VelocityMover/AutomationInstrumentation/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/VelocityMover/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/XAxisMover/AutomationInstrumentation/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/XAxisMover/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/YAxisMover/AutomationInstrumentation/Settings/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/YAxisMover/AutomationInstrumentation/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/YAxisMover/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/ZAxisMover/AutomationInstrumentation/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/ZAxisMover/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Cables/ComPower1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Cables/ComPower4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Cables/ComPower5/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Cables/MainPower/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Cables/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Controls/XOutput/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Controls/XVelocity/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Controls/YOutput/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Controls/ZOutput/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Controls/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Sensors/XPosition/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Sensors/XVelocity/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Sensors/YPosition/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Sensors/ZPosition/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Sensors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Aggregator/Sensors/CPUTemp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Aggregator/Sensors/SystemBoard/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Aggregator/Sensors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Aggregator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Conveyor/Controls/Output/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Conveyor/Controls/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Conveyor/Sensors/Current/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Conveyor/Sensors/Velocity/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Conveyor/Sensors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Conveyor/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node4/Sensors/Current/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node4/Sensors/Temperature/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node4/Sensors/Voltage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node4/Sensors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node5/Controls/Thermostat/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node5/Controls/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node5/Sensors/Temperature/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node5/Sensors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node5/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/EventService/Subscriptions/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/EventService/Subscriptions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/EventService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/Documents/Recipe1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/Documents/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/Executors/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/Executors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/Jobs/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/Jobs/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/Jobs/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/Log/Entries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/Log/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/AutomationManager/EthernetInterfaces/eth0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/AutomationManager/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/AutomationManager/LogServices/Log/Entries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/AutomationManager/LogServices/Log/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/AutomationManager/LogServices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/AutomationManager/NetworkProtocol/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/AutomationManager/SerialInterfaces/TTY0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/AutomationManager/SerialInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/AutomationManager/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/SessionService/Sessions/1234567890ABCDEF/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/SessionService/Sessions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/SessionService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Systems/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/Systems/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/TaskService/Tasks/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/TaskService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-iiot/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/$metadata/index.xml create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/Accounts/1/Certificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/Accounts/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/Accounts/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/Accounts/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/ExternalAccountProviders/ExternalRedfishService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/ExternalAccountProviders/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/Roles/Administrator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/Roles/Operator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/Roles/ReadOnly/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/Roles/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/CertificateService/CertificateLocations/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/CertificateService/GenerateCSRActionInfo/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/CertificateService/ReplaceCertificateActionInfo/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/CertificateService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Controls/CPU1Freq/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Controls/PowerLimit/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Controls/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/PowerSubsystem/Batteries/Module1/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/PowerSubsystem/Batteries/Module1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/PowerSubsystem/Batteries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Assembly/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/PowerSubsystem/PowerSupplies/Bay2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/PowerSubsystem/PowerSupplies/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/PowerSubsystem/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/AmbientTemp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/Battery1InputCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/Battery1InputVoltage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/Battery1OutputCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/Battery1OutputVoltage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/Battery1StateOfHealth/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/Battery1Temp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/CPU1Power/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/CPU1Temp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/CPUFan1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/CPUFan2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/DIMM1Temp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/DIMM2Temp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/DIMM3Temp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/ExhaustTemp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/FanBay1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/FanBay2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/IntakeTemp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1Energy/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1Frequency/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1InputCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1InputPower/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1InputVoltage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1Out12V/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1Out12VCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1Out3V/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1Out3VCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1Out5V/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1Out5VCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2Energy/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2Frequency/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2InputCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2InputPower/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2InputVoltage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2Out12V/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2Out12VCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2Out3V/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2Out3VCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2Out5V/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2Out5VCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/TotalEnergy/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/TotalPower/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/CoolantConnectors/CPU1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/CoolantConnectors/CPU2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/CoolantConnectors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/Fans/Bay1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/Fans/Bay2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/Fans/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/Pumps/CPU1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/Pumps/CPU2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/Pumps/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/ThermalMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/AC-RoT0/Certificates/DeviceCert/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/AC-RoT0/Certificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/AC-RoT0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/TPM/Certificates/EKCert/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/TPM/Certificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/TPM/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/iRoT0/Certificates/DeviceCert/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/iRoT0/Certificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/iRoT0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/ComponentIntegrity/SS-SPDM-0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/ComponentIntegrity/SS-SPDM-1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/ComponentIntegrity/TPM-0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/ComponentIntegrity/USB-Integrity/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/ComponentIntegrity/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/EventService/SubmitTestEventActionInfo/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/EventService/Subscriptions/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/EventService/Subscriptions/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/EventService/Subscriptions/3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/EventService/Subscriptions/4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/EventService/Subscriptions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/EventService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/KeyService/NVMeoFKeyPolicies/0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/KeyService/NVMeoFKeyPolicies/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/KeyService/NVMeoFSecrets/0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/KeyService/NVMeoFSecrets/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/KeyService/NVMeoFSecrets/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/KeyService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/DedicatedNetworkPorts/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/DedicatedNetworkPorts/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/EthernetInterfaces/ToHost/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/EthernetInterfaces/eth0/SD/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/EthernetInterfaces/eth0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/HostInterfaces/1/HostEthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/HostInterfaces/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/HostInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/LogServices/Log/Entries/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/LogServices/Log/Entries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/LogServices/Log/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/LogServices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1/RekeyActionInfo/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/NetworkProtocol/HTTPS/Certificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/NetworkProtocol/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SecurityPolicy/SPDM/RevokedCertificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SecurityPolicy/SPDM/TrustedCertificates/contoso-root/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SecurityPolicy/SPDM/TrustedCertificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SecurityPolicy/TLS/Client/RevokedCertificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SecurityPolicy/TLS/Client/TrustedCertificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SecurityPolicy/TLS/Server/RevokedCertificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SecurityPolicy/TLS/Server/TrustedCertificates/contoso-root/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SecurityPolicy/TLS/Server/TrustedCertificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SecurityPolicy/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SerialInterfaces/TTY0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SerialInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Registries/Base.1.5.0.json/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Registries/Base.1.5.0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Registries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/SessionService/Sessions/1234567890ABCDEF/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/SessionService/Sessions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/SessionService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Bios/Settings/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Bios/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Certificates/contoso-root/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Certificates/contoso-subca/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Certificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/EthernetInterfaces/ToManager/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/EthernetInterfaces/VLAN1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/GraphicsControllers/GPU1/Ports/DisplayPort/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/GraphicsControllers/GPU1/Ports/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/GraphicsControllers/GPU1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/GraphicsControllers/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/LogServices/Log1/Entries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/LogServices/Log1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/LogServices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Memory/DIMM1/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Memory/DIMM1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Memory/DIMM2/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Memory/DIMM2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Memory/DIMM3/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Memory/DIMM3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Memory/DIMM4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Processors/CPU1/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Processors/CPU1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Processors/CPU2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Processors/FPGA1/AccelerationFunctions/Compression/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Processors/FPGA1/AccelerationFunctions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Processors/FPGA1/ProcessorMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Processors/FPGA1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/Certificates/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/Certificates/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/Certificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PK/Certificates/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PK/Certificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PK/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PKDefault/Certificates/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PKDefault/Certificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PKDefault/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Signatures/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Signatures/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbDefault/Signatures/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbDefault/Signatures/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbDefault/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Certificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbxDefault/Signatures/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbxDefault/Signatures/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbxDefault/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SimpleStorage/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SimpleStorage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/USBControllers/USB1/Ports/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/USBControllers/USB1/Ports/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/USBControllers/USB1/Ports/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/USBControllers/USB1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/USBControllers/USB2/Ports/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/USBControllers/USB2/Ports/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/USBControllers/USB2/Ports/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/USBControllers/USB2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/USBControllers/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/VirtualMedia/CD1/Certificates/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/VirtualMedia/CD1/Certificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/VirtualMedia/CD1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/VirtualMedia/Floppy1/Certificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/VirtualMedia/Floppy1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/VirtualMedia/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/TaskService/Tasks/545/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/TaskService/Tasks/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/TaskService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/ClientCertificates/1/RekeyActionInfo/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/ClientCertificates/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/ClientCertificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/FirmwareInventory/AC-RoT0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/FirmwareInventory/BIOS/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/FirmwareInventory/BMC/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/FirmwareInventory/SS/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/FirmwareInventory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/SimpleUpdateActionInfo/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/explorer_config.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/odata/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/$metadata/index.xml create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/AccountService/Accounts/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/AccountService/Accounts/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/AccountService/Roles/Administrator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/AccountService/Roles/Operator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/AccountService/Roles/ReadOnly/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/AccountService/Roles/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/AccountService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Chassis/1U/Drives/32ADF365C6C1B7BD/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Chassis/1U/Drives/35D38F11ACEF7BD3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Chassis/1U/Drives/3D58ECBC375FD9F2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Chassis/1U/Drives/3F5A8C54207B7233/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Chassis/1U/Drives/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Chassis/1U/Power/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Chassis/1U/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Chassis/1U/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Chassis/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/EventService/SubmitTestEventActionInfo/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/EventService/Subscriptions/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/EventService/Subscriptions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/EventService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/EthernetInterfaces/Dedicated/SD/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/EthernetInterfaces/Dedicated/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/LogServices/Log/Entries/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/LogServices/Log/Entries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/LogServices/Log/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/LogServices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/NetworkProtocol/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/SerialInterfaces/TTY0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/SerialInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/VirtualMedia/CD1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/VirtualMedia/Floppy1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/VirtualMedia/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/SessionService/Sessions/1234567890ABCDEF/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/SessionService/Sessions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/SessionService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Bios/Settings/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Bios/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/LogServices/Log1/Entries/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/LogServices/Log1/Entries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/LogServices/Log1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/LogServices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Memory/DIMM1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Memory/DIMM2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Memory/DIMM3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Memory/DIMM4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Processors/CPU1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Processors/CPU2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Storage/1/Volumes/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Storage/1/Volumes/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Storage/1/Volumes/3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Storage/1/Volumes/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Storage/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Storage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/TaskService/Tasks/545/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/TaskService/Tasks/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/TaskService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/explorer_config.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-localstorage/odata/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/$metadata/index.xml create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/AccountService/Accounts/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/AccountService/Accounts/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/AccountService/Roles/Administrator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/AccountService/Roles/Operator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/AccountService/Roles/ReadOnly/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/AccountService/Roles/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/AccountService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Chassis/1U/Drives/32ADF365C6C1B7BD/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Chassis/1U/Drives/35D38F11ACEF7BD3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Chassis/1U/Drives/3D58ECBC375FD9F2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Chassis/1U/Drives/3F5A8C54207B7233/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Chassis/1U/Drives/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Chassis/1U/Power/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Chassis/1U/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Chassis/1U/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Chassis/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/EventService/SubmitTestEventActionInfo/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/EventService/Subscriptions/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/EventService/Subscriptions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/EventService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/EthernetInterfaces/Dedicated/SD/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/EthernetInterfaces/Dedicated/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/LogServices/Log/Entries/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/LogServices/Log/Entries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/LogServices/Log/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/LogServices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/NetworkProtocol/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/SerialInterfaces/TTY0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/SerialInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/VirtualMedia/CD1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/VirtualMedia/Floppy1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/VirtualMedia/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/SessionService/Sessions/1234567890ABCDEF/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/SessionService/Sessions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/SessionService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Bios/Settings/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Bios/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/LogServices/Log1/Entries/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/LogServices/Log1/Entries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/LogServices/Log1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/LogServices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Memory/DIMM1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Memory/DIMM2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Memory/DIMM3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Memory/DIMM4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Processors/CPU1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Processors/CPU2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/1/Controllers/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/1/Controllers/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/1/Controllers/3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/1/Controllers/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/1/Volumes/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/1/Volumes/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/1/Volumes/3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/1/Volumes/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/TaskService/Tasks/545/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/TaskService/Tasks/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/TaskService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/explorer_config.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-mpf/odata/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/$metadata/index.xml create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/AccountService/Accounts/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/AccountService/Accounts/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/AccountService/Roles/Administrator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/AccountService/Roles/Operator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/AccountService/Roles/ReadOnly/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/AccountService/Roles/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/AccountService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/Drives/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/Drives/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/Drives/3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/Drives/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/NetworkAdapters/1/NetworkDeviceFunctions/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/NetworkAdapters/1/NetworkDeviceFunctions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/NetworkAdapters/1/NetworkPorts/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/NetworkAdapters/1/NetworkPorts/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/NetworkAdapters/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/NetworkAdapters/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/Power/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/Connections/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/Connections/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/Connections/3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/Connections/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/EndpointGroups/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/EndpointGroups/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/Endpoints/Initiator1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/Endpoints/Initiator2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/Endpoints/Target1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/Endpoints/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Managers/BMC/EthernetInterfaces/Dedicated/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Managers/BMC/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Managers/BMC/LogServices/Log/Entries/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Managers/BMC/LogServices/Log/Entries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Managers/BMC/LogServices/Log/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Managers/BMC/LogServices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Managers/BMC/NetworkProtocol/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Managers/BMC/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Managers/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/SessionService/Sessions/1234567890ABCDEF/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/SessionService/Sessions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/SessionService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/NVMeoF/Controllers/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/NVMeoF/Controllers/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/NVMeoF/Controllers/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/NVMeoF/Volumes/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/NVMeoF/Volumes/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/NVMeoF/Volumes/3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/NVMeoF/Volumes/4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/NVMeoF/Volumes/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/NVMeoF/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Systems/NVMeoF-SoC/NetworkInterfaces/1/NetworkDeviceFunctions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Systems/NVMeoF-SoC/NetworkInterfaces/1/NetworkPorts/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Systems/NVMeoF-SoC/NetworkInterfaces/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Systems/NVMeoF-SoC/NetworkInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Systems/NVMeoF-SoC/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Systems/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/explorer_config.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/odata/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/$metadata/index.xml create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/AccountService/Accounts/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/AccountService/Accounts/jane/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/AccountService/Accounts/john/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/AccountService/Accounts/root/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/AccountService/Roles/Administrator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/AccountService/Roles/Operator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/AccountService/Roles/ReadOnly/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/AccountService/Roles/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/AccountService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoAccountService.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoAccountService.v1_0_0.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoAccountService.v1_0_1.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoAccountService_v1.xml create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoServiceRoot.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoServiceRoot.v1_0_0.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoServiceRoot_v1.xml create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoTurboencabulatorService.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoTurboencabulatorService.v1_0_0.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoTurboencabulatorService_v1.xml create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Oem/Contoso/TurboencabulatorService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/SessionService/Sessions/1234567890ABCDEF/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/SessionService/Sessions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/SessionService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/explorer_config.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/odata/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/$metadata/index.xml create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/AccountService/Accounts/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/AccountService/Accounts/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/AccountService/Roles/Administrator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/AccountService/Roles/Operator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/AccountService/Roles/ReadOnly/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/AccountService/Roles/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/AccountService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/ACMainPower/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CabTemp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentA/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentA1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentA2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentA3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentB1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentB2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentB3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentC1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentC2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentC3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentMains1-1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentMains1-2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentMains1-3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentMainsNeutral/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/EnergyA1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/EnergyA2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/EnergyA3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/EnergyB1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/EnergyB2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/EnergyB3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/EnergyC1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/EnergyC2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/EnergyC3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/FreqMains/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/FrequencyA1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/FrequencyA2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/FrequencyA3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/GroupEnergyRack5Storage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/GroupPowerRack5Storage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/Humidity/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PDUPower/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerA/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerA1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerA2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerA3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerB1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerB2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerB3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerC1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerC2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerC3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerMains1-1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerMains1-2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerMains1-3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerMains1-4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerMains1-5/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerMains1-6/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageA1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageA2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageA3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageAL1L2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageAL1N/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageB1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageB2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageB3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageC1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageC2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageC3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageMains1-1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageMains1-2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageMains1-3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageMains1-4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageMains1-5/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageMains1-6/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/ACMainPower/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CabTemp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentA/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentA1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentA2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentA3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentB/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentB1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentB2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentB3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentMains1-1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentMains1-2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentMains2-1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentMains2-2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/EnergyA1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/EnergyA2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/EnergyA3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/EnergyB1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/EnergyB2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/EnergyB3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/FreqMains/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/FrequencyA/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/FrequencyA1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/FrequencyA2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/FrequencyA3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/FrequencyB/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/FrequencyB1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/FrequencyB2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/FrequencyB3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/Humidity/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PDUPower/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerA/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerA1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerA2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerA3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerB/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerB1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerB2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerB3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerMains1-2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerMains2-3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageA1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageA2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageA3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageAL1L2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageB1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageB2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageB3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageBL1L2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageMains1-1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageMains2-1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/EventService/Subscriptions/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/EventService/Subscriptions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/EventService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Facilities/Building/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Facilities/Room237/PowerDomains/Row1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Facilities/Room237/PowerDomains/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Facilities/Room237/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Facilities/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/EthernetInterfaces/Dedicated/SD/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/EthernetInterfaces/Dedicated/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/LogServices/Log/Entries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/LogServices/Log/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/LogServices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/NetworkProtocol/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/SerialInterfaces/TTY0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/SerialInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/VirtualMedia/CD1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/VirtualMedia/Floppy1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/VirtualMedia/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/FloorPDUs/Row1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/FloorPDUs/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Branches/A/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Branches/B/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Branches/C/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Branches/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Mains/AC1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Mains/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/OutletGroups/Rack5Storage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/OutletGroups/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/A1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/A2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/A3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/A4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/A5/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/B1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/B2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/B3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/C1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/C2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/C3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Branches/A/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Branches/B/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Branches/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Mains/AC1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Mains/AC2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Mains/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/OutletGroups/Rack5Storage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/OutletGroups/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Outlets/A1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Outlets/A2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Outlets/A3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Outlets/B1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Outlets/B2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Outlets/B3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Outlets/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/SessionService/Sessions/1234567890ABCDEF/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/SessionService/Sessions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/SessionService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/explorer_config.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pdu/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/README.md create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/SessionService/Sessions/1234567890ABCDEF/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/SessionService/Sessions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/SessionService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/Memory/PMEM-DIMM1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/Memory/PMEM-DIMM2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/Memory/PMEM-DIMM3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/Memory/PMEM-DIMM4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/MemoryDomains/PMEM-1/MemoryChunks/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/MemoryDomains/PMEM-1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/MemoryDomains/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/README.md create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/Memory/PMEM-DIMM1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/Memory/PMEM-DIMM2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/MemoryDomains/PMEM-1/MemoryChunks/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/MemoryDomains/PMEM-1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/MemoryDomains/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/README.md create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-3-PMEM/Memory/PMEM-DIMM1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-3-PMEM/Memory/PMEM-DIMM2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-3-PMEM/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-3-PMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-3-PMEM/MemoryDomains/PMEM-1/MemoryChunks/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-3-PMEM/MemoryDomains/PMEM-1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-3-PMEM/MemoryDomains/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-3-PMEM/README.md create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-3-PMEM/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/Memory/PMEM-DIMM1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/Memory/PMEM-DIMM2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/Memory/PMEM-DIMM3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/Memory/PMEM-DIMM4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-5/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/MemoryDomains/PMEM-1/MemoryChunks/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/MemoryDomains/PMEM-1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/MemoryDomains/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/README.md create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-PMEM-2 create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-PMEM-3 create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-PMEM-4 create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/InitialBoot/Memory/PMEM-DIMM1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/InitialBoot/Memory/PMEM-DIMM2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/InitialBoot/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/InitialBoot/MemoryDomains/PMEM-2/MemoryChunks/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/InitialBoot/MemoryDomains/PMEM-2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/InitialBoot/MemoryDomains/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/InitialBoot/README.md create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/InitialBoot/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/PMEM create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/PMEM-AllPMEMMem create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/README.md create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/TaskService/README.md create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/TaskService/TaskMonitors/1/README.md create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/TaskService/TaskMonitors/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/TaskService/Tasks/1/README.md create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/TaskService/Tasks/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/TaskService/Tasks/README.md create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/TaskService/Tasks/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/TaskService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/_artwork/Add-PMEM.png create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/_artwork/Config-2.png create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/_artwork/Config-3.png create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/_artwork/Config-4.png create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/_artwork/Initial.png create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/_artwork/PMEM-Redfish-Data-Model.JPG create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/_artwork/README.md create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/$metadata/index.xml create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/AccountService/Accounts/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/AccountService/Accounts/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/AccountService/Roles/Administrator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/AccountService/Roles/Operator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/AccountService/Roles/ReadOnly/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/AccountService/Roles/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/AccountService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay1/Assembly/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay1/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay5/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay6/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/BusBarTemp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/CurrentA/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/CurrentB/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/CurrentDC/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/CurrentMains1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/CurrentMains2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/EnergyDC/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/FreqMains1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/FreqMains2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/FrequencyA1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/LoadPercent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1Energy/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1Fan/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1Frequency/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1InputCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1InputPower/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1InputVoltage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1OutputPower/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1Temp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1_120VCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1_120VOutput/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1_DCCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1_DCVOutput/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PowerA/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PowerB/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PowerDC/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PowerMains1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PowerMains2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/SocPercent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/SocVoltage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/VoltageA/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/VoltageB/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/VoltageDC/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/VoltageMains1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/VoltageMains2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/EventService/Subscriptions/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/EventService/Subscriptions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/EventService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Facilities/Building/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Facilities/Room237/PowerDomains/Row1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Facilities/Room237/PowerDomains/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Facilities/Room237/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Facilities/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/EthernetInterfaces/Dedicated/SD/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/EthernetInterfaces/Dedicated/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/LogServices/Log/Entries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/LogServices/Log/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/LogServices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/NetworkProtocol/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/SerialInterfaces/TTY0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/SerialInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/VirtualMedia/CD1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/VirtualMedia/Floppy1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/VirtualMedia/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Busway/Mains/AC/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Busway/Mains/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Busway/Outlets/A1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Busway/Outlets/A2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Busway/Outlets/A3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Busway/Outlets/A4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Busway/Outlets/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Busway/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Rack42Busbar/Mains/DC/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Rack42Busbar/Mains/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Rack42Busbar/Outlets/A1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Rack42Busbar/Outlets/A2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Rack42Busbar/Outlets/A3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Rack42Busbar/Outlets/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Rack42Busbar/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Branches/A/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Branches/B/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Branches/DC/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Branches/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Mains/AC1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Mains/AC2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Mains/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Outlets/A1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Outlets/B1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Outlets/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/SessionService/Sessions/1234567890ABCDEF/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/SessionService/Sessions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/SessionService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/explorer_config.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/$metadata/index.xml create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/Accounts/1/Certificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/Accounts/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/Accounts/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/Accounts/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/ExternalAccountProviders/ExternalRedfishService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/ExternalAccountProviders/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/OutboundConnections/1/Certificates/1/RekeyActionInfo/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/OutboundConnections/1/Certificates/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/OutboundConnections/1/Certificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/OutboundConnections/1/ClientCertificates/1/RekeyActionInfo/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/OutboundConnections/1/ClientCertificates/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/OutboundConnections/1/ClientCertificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/OutboundConnections/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/OutboundConnections/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/Roles/Administrator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/Roles/Operator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/Roles/ReadOnly/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/Roles/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/CertificateService/CertificateEnrollments/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/CertificateService/CertificateEnrollments/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/CertificateService/CertificateLocations/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/CertificateService/EnrollmentCACertificates/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/CertificateService/EnrollmentCACertificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/CertificateService/GenerateCSRActionInfo/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/CertificateService/ReplaceCertificateActionInfo/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/CertificateService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Controls/CPU1Freq/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Controls/PowerLimit/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Controls/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Power/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/PowerSubsystem/Batteries/Module1/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/PowerSubsystem/Batteries/Module1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/PowerSubsystem/Batteries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Assembly/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/PowerSubsystem/PowerSupplies/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/PowerSubsystem/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/AmbientTemp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/Battery1InputCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/Battery1InputVoltage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/Battery1OutputCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/Battery1OutputVoltage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/Battery1StateOfHealth/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/Battery1Temp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/CPU1Power/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/CPU1Temp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/CPUFan1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/CPUFan2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/DIMM1Temp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/DIMM2Temp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/DIMM3Temp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/ExhaustTemp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/FanBay1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/FanBay2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/IntakeTemp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1Energy/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1Frequency/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1InputCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1InputPower/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1InputVoltage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1Out12V/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1Out12VCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1Out3V/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1Out3VCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1Out5V/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1Out5VCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2Energy/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2Frequency/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2InputCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2InputPower/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2InputVoltage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2Out12V/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2Out12VCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2Out3V/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2Out3VCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2Out5V/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2Out5VCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/TotalEnergy/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/TotalPower/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/Fans/Bay1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/Fans/Bay2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/Fans/CPU1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/Fans/CPU2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/Fans/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/Heaters/CPU1Heater/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/Heaters/CPU1Heater/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/Heaters/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/ThermalMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/AC-RoT0/Certificates/DeviceCert/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/AC-RoT0/Certificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/AC-RoT0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/TPM/Certificates/EKCert/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/TPM/Certificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/TPM/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/iRoT0/Certificates/DeviceCert/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/iRoT0/Certificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/iRoT0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/ComponentIntegrity/SS-SPDM-0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/ComponentIntegrity/SS-SPDM-1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/ComponentIntegrity/TPM-0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/ComponentIntegrity/USB-Integrity/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/ComponentIntegrity/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/EventService/SubmitTestEventActionInfo/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/EventService/Subscriptions/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/EventService/Subscriptions/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/EventService/Subscriptions/3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/EventService/Subscriptions/4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/EventService/Subscriptions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/EventService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/KeyService/NVMeoFKeyPolicies/0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/KeyService/NVMeoFKeyPolicies/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/KeyService/NVMeoFSecrets/0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/KeyService/NVMeoFSecrets/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/KeyService/NVMeoFSecrets/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/KeyService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/DedicatedNetworkPorts/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/DedicatedNetworkPorts/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/EthernetInterfaces/ToHost/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/EthernetInterfaces/eth0/SD/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/EthernetInterfaces/eth0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/HostInterfaces/1/HostEthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/HostInterfaces/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/HostInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/LogServices/Log/Entries/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/LogServices/Log/Entries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/LogServices/Log/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/LogServices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1/RekeyActionInfo/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/NetworkProtocol/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SecurityPolicy/SPDM/RevokedCertificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SecurityPolicy/SPDM/TrustedCertificates/contoso-root/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SecurityPolicy/SPDM/TrustedCertificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SecurityPolicy/TLS/Client/RevokedCertificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SecurityPolicy/TLS/Client/TrustedCertificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SecurityPolicy/TLS/Server/RevokedCertificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SecurityPolicy/TLS/Server/TrustedCertificates/contoso-root/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SecurityPolicy/TLS/Server/TrustedCertificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SecurityPolicy/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SerialInterfaces/TTY0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SerialInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Registries/Base.1.5.0.json/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Registries/Base.1.5.0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Registries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/ServiceConditions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/SessionService/Sessions/1234567890ABCDEF/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/SessionService/Sessions/1234567890ABCDEG/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/SessionService/Sessions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/SessionService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Bios/Settings/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Bios/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Certificates/contoso-root/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Certificates/contoso-subca/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Certificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/EthernetInterfaces/ToManager/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/EthernetInterfaces/VLAN1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/GraphicsControllers/GPU1/Ports/DisplayPort/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/GraphicsControllers/GPU1/Ports/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/GraphicsControllers/GPU1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/GraphicsControllers/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/LogServices/Log1/Entries/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/LogServices/Log1/Entries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/LogServices/Log1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/LogServices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Memory/DIMM1/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Memory/DIMM1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Memory/DIMM2/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Memory/DIMM2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Memory/DIMM3/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Memory/DIMM3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Memory/DIMM4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Processors/CPU1/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Processors/CPU1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Processors/CPU2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Processors/FPGA1/AccelerationFunctions/Compression/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Processors/FPGA1/AccelerationFunctions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Processors/FPGA1/ProcessorMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Processors/FPGA1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/Certificates/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/Certificates/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/Certificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PK/Certificates/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PK/Certificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PK/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PKDefault/Certificates/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PKDefault/Certificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PKDefault/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Signatures/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Signatures/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbDefault/Signatures/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbDefault/Signatures/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbDefault/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Certificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbxDefault/Signatures/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbxDefault/Signatures/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbxDefault/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SimpleStorage/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SimpleStorage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/USBControllers/USB1/Ports/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/USBControllers/USB1/Ports/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/USBControllers/USB1/Ports/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/USBControllers/USB1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/USBControllers/USB2/Ports/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/USBControllers/USB2/Ports/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/USBControllers/USB2/Ports/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/USBControllers/USB2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/USBControllers/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/VirtualMedia/CD1/Certificates/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/VirtualMedia/CD1/Certificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/VirtualMedia/CD1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/VirtualMedia/CD2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/VirtualMedia/Floppy1/Certificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/VirtualMedia/Floppy1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/VirtualMedia/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/TaskService/Tasks/545/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/TaskService/Tasks/687/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/TaskService/Tasks/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/TaskService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/ClientCertificates/1/RekeyActionInfo/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/ClientCertificates/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/ClientCertificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/FirmwareInventory/AC-RoT0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/FirmwareInventory/BIOS/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/FirmwareInventory/BMC/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/FirmwareInventory/SS/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/FirmwareInventory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/LocalImageStore/102/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/LocalImageStore/49/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/LocalImageStore/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/SimpleUpdateActionInfo/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/explorer_config.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/odata/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/$metadata/index.xml create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/AccountService/Accounts/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/AccountService/Accounts/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/AccountService/Roles/Administrator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/AccountService/Roles/Operator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/AccountService/Roles/ReadOnly/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/AccountService/Roles/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/AccountService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Chassis/Switch1/Power/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Chassis/Switch1/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Chassis/Switch1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Chassis/Switch2/Power/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Chassis/Switch2/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Chassis/Switch2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Chassis/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/EventService/SubmitTestEventActionInfo/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/EventService/Subscriptions/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/EventService/Subscriptions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/EventService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/Drive1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/Drive2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/Drive3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/Drive4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/Enclosure1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/Enclosure2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/Initiator1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/Initiator2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/TapeDrive/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/Ports/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/Ports/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/Ports/3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/Ports/4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/Ports/5/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/Ports/6/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/Ports/7/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/Ports/8/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/Ports/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/Ports/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/Ports/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/Ports/3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/Ports/4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/Ports/5/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/Ports/6/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/Ports/7/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/Ports/8/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/Ports/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Zones/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Zones/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Zones/3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Zones/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch1/EthernetInterfaces/Dedicated/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch1/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch1/LogServices/Log/Entries/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch1/LogServices/Log/Entries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch1/LogServices/Log/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch1/LogServices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch1/NetworkProtocol/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch2/EthernetInterfaces/Dedicated/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch2/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch2/LogServices/Log/Entries/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch2/LogServices/Log/Entries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch2/LogServices/Log/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch2/LogServices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch2/NetworkProtocol/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/SessionService/Sessions/1234567890ABCDEF/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/SessionService/Sessions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/SessionService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/TaskService/Tasks/545/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/TaskService/Tasks/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/TaskService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/explorer_config.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/odata/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/$metadata/index.xml create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/AccountService/Accounts/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/AccountService/Accounts/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/AccountService/Accounts/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/AccountService/Roles/Administrator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/AccountService/Roles/Operator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/AccountService/Roles/ReadOnly/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/AccountService/Roles/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/AccountService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Assembly/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/PowerSubsystem/PowerSupplies/Bay2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/PowerSubsystem/PowerSupplies/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/PowerSubsystem/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/AmbientTemp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/CPU1Power/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/CPU1Temp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/CPUFan1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/CPUFan2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/DIMM1Temp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/DIMM2Temp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/DIMM3Temp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/ExhaustTemp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/FanBay1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/FanBay2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/IntakeTemp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1Energy/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1Frequency/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1InputCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1InputPower/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1InputVoltage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1Out12V/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1Out12VCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1Out3V/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1Out3VCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1Out5V/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1Out5VCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2Energy/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2Frequency/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2InputCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2InputPower/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2InputVoltage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2Out12V/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2Out12VCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2Out3V/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2Out3VCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2Out5V/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2Out5VCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/TotalEnergy/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/TotalPower/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/ThermalSubsystem/Fans/Bay1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/ThermalSubsystem/Fans/Bay2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/ThermalSubsystem/Fans/CPU1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/ThermalSubsystem/Fans/CPU2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/ThermalSubsystem/Fans/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/ThermalSubsystem/ThermalMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/ThermalSubsystem/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/Drives/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/Drives/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0/AllowDeny/Rule1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0/AllowDeny/Rule2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0/AllowDeny/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP2F0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/Ports/SC2KP1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/Ports/SC2KP2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/Ports/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/Sensors/CPUFan1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/Sensors/CardTemp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/Sensors/TotalPower/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/Sensors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/ThermalSubsystem/Fans/CPU1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/ThermalSubsystem/Fans/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/ThermalSubsystem/ThermalMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/ThermalSubsystem/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/Slot2/NetworkDeviceFunctions/SC2KP1F0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/Slot2/NetworkDeviceFunctions/SC2KP2F0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/Slot2/NetworkDeviceFunctions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/Slot2/Ports/SC2KP1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/Slot2/Ports/SC2KP2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/Slot2/Ports/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/Slot2/Processors/FPGA1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/Slot2/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/Slot2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/Sensors/CardTemp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/Sensors/TotalPower/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/Sensors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/ThermalSubsystem/ThermalMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/ThermalSubsystem/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/AddressPools/AddressPool1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/AddressPools/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/Endpoints/EP1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/Endpoints/EP2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/Endpoints/EP3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/Endpoints/EP4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/Endpoints/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/Zones/Zone0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/Zones/Zone1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/Zones/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/EthernetInterfaces/Dedicated/SD/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/EthernetInterfaces/Dedicated/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/LogServices/Log/Entries/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/LogServices/Log/Entries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/LogServices/Log/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/LogServices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/NetworkProtocol/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/SerialInterfaces/TTY0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/SerialInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/VirtualMedia/CD1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/VirtualMedia/Floppy1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/VirtualMedia/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/SessionService/Sessions/1234567890ABCDEF/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/SessionService/Sessions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/SessionService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Bios/Settings/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Bios/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/LogServices/Log1/Entries/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/LogServices/Log1/Entries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/LogServices/Log1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/LogServices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Memory/DIMM1/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Memory/DIMM1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Memory/DIMM2/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Memory/DIMM2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Memory/DIMM3/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Memory/DIMM3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Memory/DIMM4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/NetworkInterfaces/4AWAII/NetworkDeviceFunctions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/NetworkInterfaces/4AWAII/Ports/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/NetworkInterfaces/4AWAII/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/NetworkInterfaces/4AWAIJ/NetworkDeviceFunctions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/NetworkInterfaces/4AWAIJ/Ports/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/NetworkInterfaces/4AWAIJ/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/NetworkInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Processors/CPU1/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Processors/CPU1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Processors/CPU2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/SimpleStorage/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/SimpleStorage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/LogServices/Log1/Entries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/LogServices/Log1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/LogServices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/Memory/DRAM1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/Memory/DRAM2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/Processors/CPU1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/Storage/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/Storage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/explorer_config.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-smartnic/odata/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/$metadata/index.xml create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/AccountService/Accounts/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/AccountService/Accounts/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/AccountService/Roles/Administrator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/AccountService/Roles/Operator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/AccountService/Roles/ReadOnly/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/AccountService/Roles/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/AccountService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/1/Assembly/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/1/Power/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/1/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/Tray_1/Power/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/Tray_1/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/Tray_1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/Tray_2/Power/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/Tray_2/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/Tray_2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/Tray_3/Power/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/Tray_3/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/Tray_3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/EthernetInterfaces/1/SD/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/EthernetInterfaces/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/LogServices/Log1/Entries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/LogServices/Log1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/LogServices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/NetworkProtocol/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/SerialInterfaces/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/SerialInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/VirtualMedia/CD1/InsertMediaActionInfo/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/VirtualMedia/CD1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/VirtualMedia/Floppy1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/VirtualMedia/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/SessionService/Sessions/1234567890ABCDEF/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/SessionService/Sessions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/SessionService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/Memory/1/MemoryMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/Memory/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/Memory/2/MemoryMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/Memory/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/Processors/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/Processors/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/ResetActionInfo/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/AverageConsumedWatts/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/AverageReadingCelsius/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/FanSpeed/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/MaximumConsumedWatts/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/Memory_BlocksRead/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/MinimumConsumedWatts/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/OrientationSensor/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/OutletAirflowTemp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/PowerConsumedWatts/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReportDefinitions/AvgPlatformPowerUsage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReportDefinitions/PlatformPowerUsage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReportDefinitions/PowerMetricStats/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReportDefinitions/PowerMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReportDefinitions/TransmitPowerUsageOnChange/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReportDefinitions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReports/AvgPlatformPowerUsage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReports/PlatformPowerUsage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReports/PowerMetricStats/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReports/PowerMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReports/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/TelemetryData/TelemetrySnapshot.1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/TelemetryData/TelemetrySnapshot/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/TelemetryData/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/Triggers/DriveMediaLife/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/Triggers/FanTriggers/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/Triggers/OrientationTrigger/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/Triggers/PlatformPowerCapTriggers/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/Triggers/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/explorer_config.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-telemetry/odata/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/Accounts/1/Certificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/Accounts/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/Accounts/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/Accounts/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/ExternalAccountProviders/ExternalRedfishService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/ExternalAccountProviders/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/Roles/Administrator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/Roles/Operator/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/Roles/ReadOnly/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/Roles/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/CertificateService/CertificateLocations/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/CertificateService/GenerateCSRActionInfo/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/CertificateService/ReplaceCertificateActionInfo/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/CertificateService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-1-0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-1-1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-1-2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-1-3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-1-4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-1-5/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-1-6/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-1-7/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-2-0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-2-1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-2-2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-2-3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-2-4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-2-5/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-2-6/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-2-7/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/M.2-1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/M.2-2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/NetworkAdapters/NIC1/NetworkDeviceFunctions/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/NetworkAdapters/NIC1/NetworkDeviceFunctions/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/NetworkAdapters/NIC1/NetworkDeviceFunctions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/NetworkAdapters/NIC1/Ports/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/NetworkAdapters/NIC1/Ports/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/NetworkAdapters/NIC1/Ports/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/NetworkAdapters/NIC1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/NetworkAdapters/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/EmbeddedNVMeBridge/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/IntegratedNIC/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/IntegratedNVMe1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/IntegratedNVMe2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/IntegratedRAID/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/Slot1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/Slot2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/Slot3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/Slot4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeSlots/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Power/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay1/Assembly/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay1/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay2/Assembly/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay2/Metrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PowerSubsystem/PowerSupplies/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PowerSubsystem/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/AmbientTemp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU1Power/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU1Temp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU2Power/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU2Temp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU3Power/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU3Temp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU4Power/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU4Temp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU5Power/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU5Temp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU6Power/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU6Temp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU7Power/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU7Temp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU8Power/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU8Temp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPUFan1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPUFan2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/DIMM1Temp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/DIMM2Temp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/DIMM3Temp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/ExhaustTemp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/FanBay1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/FanBay2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/FanBay3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/FanBay4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/IntakeTemp/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1Energy/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1Frequency/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1InputCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1InputPower/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1InputVoltage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1Out12V/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1Out12VCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1Out3V/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1Out3VCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1Out5V/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1Out5VCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2Energy/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2Frequency/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2InputCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2InputPower/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2InputVoltage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2Out12V/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2Out12VCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2Out3V/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2Out3VCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2Out5V/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2Out5VCurrent/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/TotalEnergy/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/TotalPower/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Thermal/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/ThermalSubsystem/Fans/Bay1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/ThermalSubsystem/Fans/Bay2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/ThermalSubsystem/Fans/CPU1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/ThermalSubsystem/Fans/CPU2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/ThermalSubsystem/Fans/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/ThermalSubsystem/ThermalMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/ThermalSubsystem/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/EventService/SubmitTestEventActionInfo/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/EventService/Subscriptions/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/EventService/Subscriptions/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/EventService/Subscriptions/3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/EventService/Subscriptions/4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/EventService/Subscriptions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/EventService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/EthernetInterfaces/Dedicated/SD/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/EthernetInterfaces/Dedicated/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/LogServices/Log/Entries/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/LogServices/Log/Entries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/LogServices/Log/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/LogServices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1/RekeyActionInfo/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/NetworkProtocol/HTTPS/Certificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/NetworkProtocol/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/SerialInterfaces/TTY0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/SerialInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/VirtualMedia/CD1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/VirtualMedia/Floppy1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/VirtualMedia/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Registries/Base.1.5.0.json/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Registries/Base.1.5.0/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Registries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/SessionService/Sessions/1234567890ABCDEF/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/SessionService/Sessions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/SessionService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Bios/Settings/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Bios/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/EthernetInterfaces/Network1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/EthernetInterfaces/Network2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/EthernetInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU1/Ports/DisplayPort1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU1/Ports/DisplayPort2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU1/Ports/DisplayPort3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU1/Ports/HDMI/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU1/Ports/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU2/Ports/DisplayPort1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU2/Ports/DisplayPort2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU2/Ports/DisplayPort3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU2/Ports/HDMI/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU2/Ports/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/LogServices/Log1/Entries/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/LogServices/Log1/Entries/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/LogServices/Log1/Entries/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/LogServices/Log1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/LogServices/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM10/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM11/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM12/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM13/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM14/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM15/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM16/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM5/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM6/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM7/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM8/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM9/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/NetworkInterfaces/NIC1/NetworkDeviceFunctions/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/NetworkInterfaces/NIC1/Ports/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/NetworkInterfaces/NIC1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/NetworkInterfaces/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core1-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core10-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core10/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core11-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core11/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core12-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core12/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core13-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core13/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core14-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core14/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core15-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core15/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core16-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core16/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core2-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core3-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core4-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core5-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core5/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core6-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core6/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core7-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core7/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core8-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core8/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core9-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core9/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core1-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core10-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core10/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core11-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core11/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core12-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core12/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core13-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core13/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core14-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core14/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core15-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core15/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core16-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core16/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core2-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core3-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core4-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core5-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core5/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core6-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core6/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core7-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core7/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core8-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core8/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core9-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core9/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core1-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core10-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core10/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core11-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core11/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core12-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core12/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core13-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core13/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core14-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core14/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core15-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core15/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core16-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core16/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core2-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core3-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core4-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core5-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core5/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core6-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core6/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core7-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core7/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core8-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core8/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core9-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core9/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core1-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core10-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core10/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core11-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core11/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core12-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core12/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core13-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core13/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core14-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core14/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core15-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core15/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core16-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core16/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core2-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core3-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core4-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core5-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core5/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core6-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core6/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core7-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core7/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core8-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core8/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core9-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core9/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core1-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core10-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core10/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core11-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core11/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core12-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core12/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core13-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core13/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core14-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core14/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core15-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core15/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core16-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core16/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core2-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core3-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core4-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core5-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core5/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core6-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core6/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core7-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core7/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core8-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core8/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core9-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core9/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core1-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core10-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core10/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core11-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core11/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core12-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core12/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core13-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core13/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core14-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core14/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core15-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core15/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core16-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core16/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core2-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core3-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core4-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core5-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core5/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core6-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core6/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core7-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core7/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core8-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core8/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core9-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core9/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core1-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core10-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core10/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core11-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core11/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core12-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core12/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core13-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core13/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core14-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core14/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core15-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core15/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core16-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core16/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core2-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core3-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core4-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core5-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core5/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core6-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core6/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core7-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core7/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core8-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core8/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core9-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core9/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/EnvironmentMetrics/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core1-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core10-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core10/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core11-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core11/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core12-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core12/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core13-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core13/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core14-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core14/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core15-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core15/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core16-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core16/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core2-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core3-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core4-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core5-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core5/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core6-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core6/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core7-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core7/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core8-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core8/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core9-Thread/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core9/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/GPU1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/GPU2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEK/Certificates/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEK/Certificates/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEK/Certificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEK/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEKDefault/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/PK/Certificates/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/PK/Certificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/PK/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/PKDefault/Certificates/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/PKDefault/Certificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/PKDefault/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/Certificates/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/Certificates/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/Certificates/3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/Certificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/Signatures/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/Signatures/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbDefault/Signatures/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbDefault/Signatures/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbDefault/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbx/Certificates/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbx/Signatures/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbx/Signatures/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbx/Signatures/3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbx/Signatures/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbx/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbxDefault/Signatures/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbxDefault/Signatures/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbxDefault/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/HAFiberChannel/Volumes/AssetStorage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/HAFiberChannel/Volumes/RenderStorage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/HAFiberChannel/Volumes/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/HAFiberChannel/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/NVMeSWRAID/Volumes/Boot/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/NVMeSWRAID/Volumes/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/NVMeSWRAID/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/NVMeSecondary/Volumes/AssetCache/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/NVMeSecondary/Volumes/RenderVol/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/NVMeSecondary/Volumes/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/NVMeSecondary/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/RAIDIntegrated/Volumes/Scratchpad/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/RAIDIntegrated/Volumes/Secondary/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/RAIDIntegrated/Volumes/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/RAIDIntegrated/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB1/Ports/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB1/Ports/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB1/Ports/3/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB1/Ports/4/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB1/Ports/5/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB1/Ports/6/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB1/Ports/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB2/Ports/1/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB2/Ports/2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB2/Ports/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/TaskService/Tasks/545/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/TaskService/Tasks/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/TaskService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/UpdateService/FirmwareInventory/BIOS/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/UpdateService/FirmwareInventory/BMC/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/UpdateService/FirmwareInventory/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/UpdateService/SimpleUpdateActionInfo/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/UpdateService/index.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/explorer_config.json create mode 100644 test_dependencies/mockups/DSP2043_2026.2/public-tower/index.json diff --git a/collector/chassis/collector.go b/collector/chassis/collector.go index f785a5e9..e4155144 100755 --- a/collector/chassis/collector.go +++ b/collector/chassis/collector.go @@ -9,6 +9,7 @@ import ( "github.com/prometheus/client_golang/prometheus" "github.com/stmcginnis/gofish/schemas" + "github.com/stackhpc/redfish_exporter/collector/chassis/power" "github.com/stackhpc/redfish_exporter/collector/chassis/thermal" "github.com/stackhpc/redfish_exporter/common" ) @@ -18,8 +19,6 @@ var ( ChassisSubsystem = "chassis" ChassisLabelNames = []string{"resource", "chassis_id"} ChassisModel = []string{"resource", "chassis_id", "manufacturer", "model", "part_number", "sku"} - ChassisPowerVoltageLabelNames = []string{"resource", "chassis_id", "power_voltage", "power_voltage_id"} - ChassisPowerSupplyLabelNames = []string{"resource", "chassis_id", "power_supply", "power_supply_id"} ChassisNetworkAdapterLabelNames = []string{"resource", "chassis_id", "network_adapter", "network_adapter_id"} ChassisNetworkPortLabelNames = []string{"resource", "chassis_id", "network_adapter", "network_adapter_id", "network_port", "network_port_id", "network_port_type", "network_port_speed", "network_port_connectiont_type", "network_physical_port_number"} ChassisPhysicalSecurityLabelNames = []string{"resource", "chassis_id", "intrusion_sensor_number", "intrusion_sensor_rearm"} @@ -45,18 +44,6 @@ func createChassisMetricMap() map[string]common.Metric { common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "state", fmt.Sprintf("state of chassis,%s", common.StateHelp), ChassisLabelNames) common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "model_info", "organization responsible for producing the chassis, the name by which the manufacturer generally refers to the chassis, and a part number and sku assigned by the organization that is responsible for producing or manufacturing the chassis", ChassisModel) - common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "power_voltage_state", fmt.Sprintf("power voltage state of chassis component,%s", common.StateHelp), ChassisPowerVoltageLabelNames) - common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "power_voltage_volts", "power voltage volts number of chassis component", ChassisPowerVoltageLabelNames) - common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "power_average_consumed_watts", "power wattage watts number of chassis component", ChassisPowerVoltageLabelNames) - - common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "power_powersupply_state", fmt.Sprintf("powersupply state of chassis component,%s", common.StateHelp), ChassisPowerSupplyLabelNames) - common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "power_powersupply_health", fmt.Sprintf("powersupply health of chassis component,%s", common.HealthHelp), ChassisPowerSupplyLabelNames) - common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "power_powersupply_power_efficiency_percentage", "rated efficiency, as a percentage, of the associated power supply on this chassis", ChassisPowerSupplyLabelNames) - common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "power_powersupply_last_power_output_watts", "average power output, measured in Watts, of the associated power supply on this chassis", ChassisPowerSupplyLabelNames) - common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "power_powersupply_power_input_watts", "measured input power, in Watts, of powersupply on this chassis", ChassisPowerSupplyLabelNames) - common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "power_powersupply_power_output_watts", "measured output power, in Watts, of powersupply on this chassis", ChassisPowerSupplyLabelNames) - common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "power_powersupply_power_capacity_watts", "power_capacity_watts of powersupply on this chassis", ChassisPowerSupplyLabelNames) - common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "network_adapter_state", fmt.Sprintf("chassis network adapter state,%s", common.StateHelp), ChassisNetworkAdapterLabelNames) common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "network_adapter_health_state", fmt.Sprintf("chassis network adapter health state,%s", common.HealthHelp), ChassisNetworkAdapterLabelNames) @@ -140,36 +127,8 @@ func (c *ChassisCollector) Collect(ch chan<- prometheus.Metric) { thermal := thermal.NewCollector(c.Ctx, c.Log, chassis) wg.Go(func() { thermal.Collect(ch) }) - chassisPowerInfo, err := chassis.Power() - if err != nil { - chassisLogContext.Error("error getting power data from chassis", "operation", "chassis.Power()", "err", err) - } else if chassisPowerInfo == nil { - chassisLogContext.Info("no power data found", "operation", "chassis.Power()") - } else { - // power voltages - chassisPowerInfoVoltages := chassisPowerInfo.Voltages - wg3 := &sync.WaitGroup{} - wg3.Add(len(chassisPowerInfoVoltages)) - for _, chassisPowerInfoVoltage := range chassisPowerInfoVoltages { - go parseChassisPowerInfoVoltage(ch, chassisID, chassisPowerInfoVoltage, wg3) - } - - // power control - chassisPowerInfoPowerControls := chassisPowerInfo.PowerControl - wg4 := &sync.WaitGroup{} - wg4.Add(len(chassisPowerInfoPowerControls)) - for _, chassisPowerInfoPowerControl := range chassisPowerInfoPowerControls { - go parseChassisPowerInfoPowerControl(ch, chassisID, chassisPowerInfoPowerControl, wg4) - } - - // powerSupply - chassisPowerInfoPowerSupplies := chassisPowerInfo.PowerSupplies - wg5 := &sync.WaitGroup{} - wg5.Add(len(chassisPowerInfoPowerSupplies)) - for _, chassisPowerInfoPowerSupply := range chassisPowerInfoPowerSupplies { - go parseChassisPowerInfoPowerSupply(ch, chassisID, chassisPowerInfoPowerSupply, wg5) - } - } + power := power.NewCollector(c.Ctx, c.Log, chassis) + wg.Go(func() { power.Collect(ch) }) // process NetapAdapter @@ -227,53 +186,6 @@ func (c *ChassisCollector) Collect(ch chan<- prometheus.Metric) { c.collectorScrapeStatus.WithLabelValues("chassis").Set(float64(1)) } -func parseChassisPowerInfoVoltage(ch chan<- prometheus.Metric, chassisID string, voltageInfo schemas.Voltage, wg *sync.WaitGroup) { - defer wg.Done() - voltageInfoID := voltageInfo.MemberID - chassisPowerVoltageLabelvalues := []string{"power_voltage", chassisID, voltageInfo.Name, voltageInfoID} - if chassisPowerInfoVoltageStateValue, ok := common.ParseCommonStatusState(voltageInfo.Status.State); ok { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_power_voltage_state"].Desc, prometheus.GaugeValue, chassisPowerInfoVoltageStateValue, chassisPowerVoltageLabelvalues...) - } - if voltageInfo.ReadingVolts != nil { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_power_voltage_volts"].Desc, prometheus.GaugeValue, float64(*voltageInfo.ReadingVolts), chassisPowerVoltageLabelvalues...) - } -} - -func parseChassisPowerInfoPowerControl(ch chan<- prometheus.Metric, chassisID string, powerControl schemas.PowerControl, wg *sync.WaitGroup) { - defer wg.Done() - chassisPowerVoltageLabelvalues := []string{"power_wattage", chassisID, powerControl.Name, powerControl.MemberID} - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_power_average_consumed_watts"].Desc, prometheus.GaugeValue, float64(*powerControl.PowerMetrics.AverageConsumedWatts), chassisPowerVoltageLabelvalues...) -} - -func parseChassisPowerInfoPowerSupply(ch chan<- prometheus.Metric, chassisID string, powerSupply schemas.PowerSupply, wg *sync.WaitGroup) { - defer wg.Done() - powerSupplyID := powerSupply.MemberID - - chassisPowerInfoPowerSupplyState := powerSupply.Status.State - chassisPowerInfoPowerSupplyHealth := powerSupply.Status.Health - chassisPowerSupplyLabelvalues := []string{"power_supply", chassisID, powerSupply.Name, powerSupplyID} - if chassisPowerInfoPowerSupplyStateValue, ok := common.ParseCommonStatusState(chassisPowerInfoPowerSupplyState); ok { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_power_powersupply_state"].Desc, prometheus.GaugeValue, chassisPowerInfoPowerSupplyStateValue, chassisPowerSupplyLabelvalues...) - } - if chassisPowerInfoPowerSupplyHealthValue, ok := common.ParseCommonStatusHealth(chassisPowerInfoPowerSupplyHealth); ok { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_power_powersupply_health"].Desc, prometheus.GaugeValue, chassisPowerInfoPowerSupplyHealthValue, chassisPowerSupplyLabelvalues...) - } - if powerSupply.EfficiencyPercent != nil { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_power_powersupply_power_efficiency_percentage"].Desc, prometheus.GaugeValue, float64(*powerSupply.EfficiencyPercent), chassisPowerSupplyLabelvalues...) - } - if powerSupply.LastPowerOutputWatts != nil { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_power_powersupply_last_power_output_watts"].Desc, prometheus.GaugeValue, float64(*powerSupply.LastPowerOutputWatts), chassisPowerSupplyLabelvalues...) - } - if powerSupply.PowerCapacityWatts != nil { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_power_powersupply_power_capacity_watts"].Desc, prometheus.GaugeValue, float64(*powerSupply.PowerCapacityWatts), chassisPowerSupplyLabelvalues...) - } - if powerSupply.PowerInputWatts != nil { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_power_powersupply_power_input_watts"].Desc, prometheus.GaugeValue, float64(*powerSupply.PowerInputWatts), chassisPowerSupplyLabelvalues...) - } - if powerSupply.PowerOutputWatts != nil { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_power_powersupply_power_output_watts"].Desc, prometheus.GaugeValue, float64(*powerSupply.PowerOutputWatts), chassisPowerSupplyLabelvalues...) - } -} func parseNetworkAdapter(ch chan<- prometheus.Metric, chassisID string, networkAdapter *schemas.NetworkAdapter, wg *sync.WaitGroup) error { defer wg.Done() diff --git a/collector/chassis/power/collector.go b/collector/chassis/power/collector.go new file mode 100644 index 00000000..38101b00 --- /dev/null +++ b/collector/chassis/power/collector.go @@ -0,0 +1,174 @@ +package power + +import ( + "fmt" + "log/slog" + "sync" + + "github.com/prometheus/client_golang/prometheus" + "github.com/stackhpc/redfish_exporter/common" + "github.com/stmcginnis/gofish/schemas" +) + +var ( + Subsystem = "chassis" + ChassisPowerVoltageLabelNames = []string{"resource", "chassis_id", "power_voltage", "power_voltage_id"} + ChassisPowerSupplyLabelNames = []string{"resource", "chassis_id", "power_supply", "power_supply_id"} + + metricMap = createMetricMap() +) + +func createMetricMap() map[string]common.Metric { + metrics := make(map[string]common.Metric) + + common.AddToMetricMap(metrics, Subsystem, "power_voltage_state", fmt.Sprintf("power voltage state of chassis component,%s", common.StateHelp), ChassisPowerVoltageLabelNames) + common.AddToMetricMap(metrics, Subsystem, "power_voltage_volts", "power voltage volts number of chassis component", ChassisPowerVoltageLabelNames) + common.AddToMetricMap(metrics, Subsystem, "power_average_consumed_watts", "power wattage watts number of chassis component", ChassisPowerVoltageLabelNames) + + common.AddToMetricMap(metrics, Subsystem, "power_powersupply_state", fmt.Sprintf("powersupply state of chassis component,%s", common.StateHelp), ChassisPowerSupplyLabelNames) + common.AddToMetricMap(metrics, Subsystem, "power_powersupply_health", fmt.Sprintf("powersupply health of chassis component,%s", common.HealthHelp), ChassisPowerSupplyLabelNames) + common.AddToMetricMap(metrics, Subsystem, "power_powersupply_power_efficiency_percentage", "rated efficiency, as a percentage, of the associated power supply on this chassis", ChassisPowerSupplyLabelNames) + common.AddToMetricMap(metrics, Subsystem, "power_powersupply_last_power_output_watts", "average power output, measured in Watts, of the associated power supply on this chassis", ChassisPowerSupplyLabelNames) + common.AddToMetricMap(metrics, Subsystem, "power_powersupply_power_input_watts", "measured input power, in Watts, of powersupply on this chassis", ChassisPowerSupplyLabelNames) + common.AddToMetricMap(metrics, Subsystem, "power_powersupply_power_output_watts", "measured output power, in Watts, of powersupply on this chassis", ChassisPowerSupplyLabelNames) + common.AddToMetricMap(metrics, Subsystem, "power_powersupply_power_capacity_watts", "power_capacity_watts of powersupply on this chassis", ChassisPowerSupplyLabelNames) + + return metrics +} + +// Implements the prometheus.Collector. +type Collector struct { + Ctx *common.CollectionContext + metrics map[string]common.Metric + Log *slog.Logger + chassis *schemas.Chassis +} + +// NewCollector returns a collector that collects chassis power data +func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, chassis *schemas.Chassis) *Collector { + return &Collector{ + metrics: metricMap, + Ctx: ctx, + Log: logger.With( + "collector", Subsystem, + ), + chassis: chassis, + } +} + +// Describe implemented prometheus.Collector +func (c *Collector) Describe(ch chan<- *prometheus.Desc) { + for _, metric := range c.metrics { + ch <- metric.Desc + } +} + +func (c *Collector) Collect(ch chan<- prometheus.Metric) { + wg := &sync.WaitGroup{} + + // chassis.Power() is deprecated since Redfish v1.15.0 + wg.Go(func() { c.collectDeprecatedPower(ch) }) + + // chassis.PowerSubsystem() replaces it + wg.Go(func() { c.collectPowerSubsystem(ch) }) + + wg.Wait() +} + +// chassis.Power() was deprecated in Redfish v1.15.0, and replaced with chassis.PowerSubsystem() +func (c *Collector) collectDeprecatedPower(ch chan<- prometheus.Metric) { + powerInfo, err := c.chassis.Power() + if err != nil { + c.Log.Error("error getting power data from chassis", "operation", "chassis.Power()", "err", err) + return + } else if powerInfo == nil { + c.Log.Info("no power data found", "operation", "chassis.Power()") + return + } + + wg := &sync.WaitGroup{} + + for _, voltage := range powerInfo.Voltages { + wg.Go(func() { parseVoltage(ch, c.chassis.ID, voltage) }) + } + + for _, powerControl := range powerInfo.PowerControl { + wg.Go(func() { parsePowerControl(ch, c.chassis.ID, powerControl) }) + } + + for _, powerSupply := range powerInfo.PowerSupplies { + wg.Go(func() { parsePowerSupply(ch, c.chassis.ID, powerSupply) }) + } + + wg.Wait() +} + +// PowerSubsystem exposes less information than Power, since much of it is relocated to Sensors or EnvironmentMetrics +func (c *Collector) collectPowerSubsystem(ch chan<- prometheus.Metric) { + powerSubsystem, err := c.chassis.PowerSubsystem() + + if err != nil { + c.Log.Error("error getting power subsystem from chassis", "operation", "chassis.PowerSubsystem()", "err", err) + return + } else if powerSubsystem == nil { + c.Log.Info("no power subsystem found", "operation", "chassis.PowerSubsystem()") + return + } + + powerSupplies, err := powerSubsystem.PowerSupplies() + if err != nil { + c.Log.Error("error getting power supplies from power subsystem", "operation", "powerSubsystem.PowerSupplies()", "err", err) + return + } else if powerSupplies == nil { + c.Log.Info("no power supplies found", "operation", "powerSubsystem.PowerSupplies()") + return + } + + wg := &sync.WaitGroup{} + + for _, powerSupply := range powerSupplies { + wg.Go(func() { parsePowerSupply(ch, c.chassis.ID, *powerSupply) }) + } + + wg.Wait() +} + +func parseVoltage(ch chan<- prometheus.Metric, chassisID string, voltageInfo schemas.Voltage) { + labelValues := []string{"power_voltage", chassisID, voltageInfo.Name, voltageInfo.MemberID} + if chassisPowerInfoVoltageStateValue, ok := common.ParseCommonStatusState(voltageInfo.Status.State); ok { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_power_voltage_state"].Desc, prometheus.GaugeValue, chassisPowerInfoVoltageStateValue, labelValues...) + } + if voltageInfo.ReadingVolts != nil { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_power_voltage_volts"].Desc, prometheus.GaugeValue, float64(*voltageInfo.ReadingVolts), labelValues...) + } +} + +func parsePowerControl(ch chan<- prometheus.Metric, chassisID string, powerControl schemas.PowerControl) { + labelValues := []string{"power_wattage", chassisID, powerControl.Name, powerControl.MemberID} + ch <- prometheus.MustNewConstMetric(metricMap["chassis_power_average_consumed_watts"].Desc, prometheus.GaugeValue, float64(*powerControl.PowerMetrics.AverageConsumedWatts), labelValues...) +} + +func parsePowerSupply(ch chan<- prometheus.Metric, chassisID string, powerSupply schemas.PowerSupply) { + labelValues := []string{"power_supply", chassisID, powerSupply.Name, powerSupply.MemberID} + if chassisPowerInfoPowerSupplyStateValue, ok := common.ParseCommonStatusState(powerSupply.Status.State); ok { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_power_powersupply_state"].Desc, prometheus.GaugeValue, chassisPowerInfoPowerSupplyStateValue, labelValues...) + } + if chassisPowerInfoPowerSupplyHealthValue, ok := common.ParseCommonStatusHealth(powerSupply.Status.Health); ok { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_power_powersupply_health"].Desc, prometheus.GaugeValue, chassisPowerInfoPowerSupplyHealthValue, labelValues...) + } + if powerSupply.EfficiencyPercent != nil { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_power_powersupply_power_efficiency_percentage"].Desc, prometheus.GaugeValue, float64(*powerSupply.EfficiencyPercent), labelValues...) + } + if powerSupply.LastPowerOutputWatts != nil { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_power_powersupply_last_power_output_watts"].Desc, prometheus.GaugeValue, float64(*powerSupply.LastPowerOutputWatts), labelValues...) + } + if powerSupply.PowerCapacityWatts != nil { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_power_powersupply_power_capacity_watts"].Desc, prometheus.GaugeValue, float64(*powerSupply.PowerCapacityWatts), labelValues...) + } + if powerSupply.PowerInputWatts != nil { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_power_powersupply_power_input_watts"].Desc, prometheus.GaugeValue, float64(*powerSupply.PowerInputWatts), labelValues...) + } + if powerSupply.PowerOutputWatts != nil { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_power_powersupply_power_output_watts"].Desc, prometheus.GaugeValue, float64(*powerSupply.PowerOutputWatts), labelValues...) + } +} diff --git a/collector/chassis/power/collector_test.go b/collector/chassis/power/collector_test.go new file mode 100644 index 00000000..bd230da8 --- /dev/null +++ b/collector/chassis/power/collector_test.go @@ -0,0 +1,88 @@ +package power_test + +import ( + "testing" + + "github.com/prometheus/common/promslog" + "github.com/stackhpc/redfish_exporter/collector/chassis/power" + "github.com/stackhpc/redfish_exporter/common" + redfish_test "github.com/stackhpc/redfish_exporter/common/test" + "github.com/stretchr/testify/require" +) + +func TestDSP2043_1_0_0(t *testing.T) { + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_1.0.0/DSP2043-server", false) + + chassis, err := redfishClient.Service.Chassis() + require.NoError(t, err) + + ctx := common.CollectionContext{ + RedfishClient: redfishClient, + } + + promslogConfig := promslog.Config{} + logger := promslog.New(&promslogConfig) + + collector := power.NewCollector(&ctx, logger, chassis[0]) + expected := ` + redfish_chassis_power_average_consumed_watts{chassis_id="1U",power_voltage="Server Power Control",power_voltage_id="0",resource="power_wattage"} 319 + redfish_chassis_power_powersupply_health{chassis_id="1U",power_supply="Power Supply Bay",power_supply_id="0",resource="power_supply"} 2 + redfish_chassis_power_powersupply_last_power_output_watts{chassis_id="1U",power_supply="Power Supply Bay",power_supply_id="0",resource="power_supply"} 325 + redfish_chassis_power_powersupply_power_capacity_watts{chassis_id="1U",power_supply="Power Supply Bay",power_supply_id="0",resource="power_supply"} 800 + redfish_chassis_power_powersupply_state{chassis_id="1U",power_supply="Power Supply Bay",power_supply_id="0",resource="power_supply"} 1 + redfish_chassis_power_voltage_state{chassis_id="1U",power_voltage="VRM1 Voltage",power_voltage_id="0",resource="power_voltage"} 1 + redfish_chassis_power_voltage_state{chassis_id="1U",power_voltage="VRM2 Voltage",power_voltage_id="1",resource="power_voltage"} 1 + redfish_chassis_power_voltage_volts{chassis_id="1U",power_voltage="VRM1 Voltage",power_voltage_id="0",resource="power_voltage"} 12 + redfish_chassis_power_voltage_volts{chassis_id="1U",power_voltage="VRM2 Voltage",power_voltage_id="1",resource="power_voltage"} 5 + + ` + redfish_test.CollectAndCompare(t, collector, expected, + "redfish_chassis_power_voltage_state", + "redfish_chassis_power_voltage_volts", + "redfish_chassis_power_average_consumed_watts", + "redfish_chassis_power_powersupply_state", + "redfish_chassis_power_powersupply_health", + "redfish_chassis_power_powersupply_last_power_output_watts", + "redfish_chassis_power_powersupply_power_capacity_watts", + ) +} + +func TestPublicRackmount1_2026_2(t *testing.T) { + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-rackmount1", false) + + chassis, err := redfishClient.Service.Chassis() + require.NoError(t, err) + + ctx := common.CollectionContext{ + RedfishClient: redfishClient, + } + + promslogConfig := promslog.Config{} + logger := promslog.New(&promslogConfig) + + collector := power.NewCollector(&ctx, logger, chassis[0]) + expected := ` + redfish_chassis_power_average_consumed_watts{chassis_id="1U",power_voltage="System Input Power",power_voltage_id="0",resource="power_wattage"} 319 + redfish_chassis_power_powersupply_health{chassis_id="1U",power_supply="Power Supply Bay 1",power_supply_id="",resource="power_supply"} 2 + redfish_chassis_power_powersupply_health{chassis_id="1U",power_supply="Power Supply Bay",power_supply_id="0",resource="power_supply"} 2 + redfish_chassis_power_powersupply_last_power_output_watts{chassis_id="1U",power_supply="Power Supply Bay",power_supply_id="0",resource="power_supply"} 325 + redfish_chassis_power_powersupply_power_capacity_watts{chassis_id="1U",power_supply="Power Supply Bay 1",power_supply_id="",resource="power_supply"} 400 + redfish_chassis_power_powersupply_power_capacity_watts{chassis_id="1U",power_supply="Power Supply Bay",power_supply_id="0",resource="power_supply"} 800 + redfish_chassis_power_powersupply_state{chassis_id="1U",power_supply="Power Supply Bay 1",power_supply_id="",resource="power_supply"} 1 + redfish_chassis_power_powersupply_state{chassis_id="1U",power_supply="Power Supply Bay 2",power_supply_id="",resource="power_supply"} 7 + redfish_chassis_power_powersupply_state{chassis_id="1U",power_supply="Power Supply Bay",power_supply_id="0",resource="power_supply"} 1 + redfish_chassis_power_voltage_state{chassis_id="1U",power_voltage="VRM1 Voltage",power_voltage_id="0",resource="power_voltage"} 1 + redfish_chassis_power_voltage_state{chassis_id="1U",power_voltage="VRM2 Voltage",power_voltage_id="1",resource="power_voltage"} 1 + redfish_chassis_power_voltage_volts{chassis_id="1U",power_voltage="VRM1 Voltage",power_voltage_id="0",resource="power_voltage"} 12 + redfish_chassis_power_voltage_volts{chassis_id="1U",power_voltage="VRM2 Voltage",power_voltage_id="1",resource="power_voltage"} 5 + ` + redfish_test.CollectAndCompare(t, collector, expected, + "redfish_chassis_power_voltage_state", + "redfish_chassis_power_voltage_volts", + "redfish_chassis_power_average_consumed_watts", + "redfish_chassis_power_powersupply_state", + "redfish_chassis_power_powersupply_health", + "redfish_chassis_power_powersupply_last_power_output_watts", + "redfish_chassis_power_powersupply_power_capacity_watts", + ) +} diff --git a/collector/chassis/thermal/collector_test.go b/collector/chassis/thermal/collector_test.go index da9d682f..31ebd8b1 100644 --- a/collector/chassis/thermal/collector_test.go +++ b/collector/chassis/thermal/collector_test.go @@ -10,8 +10,8 @@ import ( "github.com/stretchr/testify/require" ) -func TestDSP2043(t *testing.T) { - redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043-server", false) +func TestDSP2043_1_0_0(t *testing.T) { + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_1.0.0/DSP2043-server", false) chassis, err := redfishClient.Service.Chassis() require.NoError(t, err) diff --git a/collector/collector_test.go b/collector/collector_test.go index 1b0fbe93..151b1d71 100644 --- a/collector/collector_test.go +++ b/collector/collector_test.go @@ -6,7 +6,7 @@ import ( "github.com/prometheus/client_golang/prometheus" ) -var mocksForAllTests = []string{"DSP2043-server", "proposed-ocp-profile", "public-bladed", "public-rackmount"} +var mocksForAllTests = []string{"DSP2043_1.0.0/DSP2043-server", "DSP2043_2026.2/public-rackmount1"} func TestScrape(t *testing.T) { for _, path := range mocksForAllTests { diff --git a/test_dependencies/mockups/DSP2043-server/AccountService/Accounts/1/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/AccountService/Accounts/1/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/AccountService/Accounts/1/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/AccountService/Accounts/1/index.json diff --git a/test_dependencies/mockups/DSP2043-server/AccountService/Accounts/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/AccountService/Accounts/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/AccountService/Accounts/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/AccountService/Accounts/index.json diff --git a/test_dependencies/mockups/DSP2043-server/AccountService/Roles/Admin/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/AccountService/Roles/Admin/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/AccountService/Roles/Admin/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/AccountService/Roles/Admin/index.json diff --git a/test_dependencies/mockups/DSP2043-server/AccountService/Roles/Operator/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/AccountService/Roles/Operator/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/AccountService/Roles/Operator/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/AccountService/Roles/Operator/index.json diff --git a/test_dependencies/mockups/DSP2043-server/AccountService/Roles/ReadOnlyUser/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/AccountService/Roles/ReadOnlyUser/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/AccountService/Roles/ReadOnlyUser/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/AccountService/Roles/ReadOnlyUser/index.json diff --git a/test_dependencies/mockups/DSP2043-server/AccountService/Roles/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/AccountService/Roles/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/AccountService/Roles/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/AccountService/Roles/index.json diff --git a/test_dependencies/mockups/DSP2043-server/AccountService/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/AccountService/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/AccountService/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/AccountService/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Chassis/1U/Power/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Chassis/1U/Power/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Chassis/1U/Power/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Chassis/1U/Power/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Chassis/1U/Thermal/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Chassis/1U/Thermal/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Chassis/1U/Thermal/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Chassis/1U/Thermal/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Chassis/1U/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Chassis/1U/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Chassis/1U/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Chassis/1U/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Chassis/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Chassis/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Chassis/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Chassis/index.json diff --git a/test_dependencies/mockups/DSP2043-server/EventService/Subscriptions/1/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/EventService/Subscriptions/1/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/EventService/Subscriptions/1/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/EventService/Subscriptions/1/index.json diff --git a/test_dependencies/mockups/DSP2043-server/EventService/Subscriptions/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/EventService/Subscriptions/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/EventService/Subscriptions/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/EventService/Subscriptions/index.json diff --git a/test_dependencies/mockups/DSP2043-server/EventService/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/EventService/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/EventService/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/EventService/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Managers/BMC/LogServices/Log/Entries/1/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Managers/BMC/LogServices/Log/Entries/1/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Managers/BMC/LogServices/Log/Entries/1/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Managers/BMC/LogServices/Log/Entries/1/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Managers/BMC/LogServices/Log/Entries/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Managers/BMC/LogServices/Log/Entries/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Managers/BMC/LogServices/Log/Entries/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Managers/BMC/LogServices/Log/Entries/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Managers/BMC/LogServices/Log/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Managers/BMC/LogServices/Log/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Managers/BMC/LogServices/Log/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Managers/BMC/LogServices/Log/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Managers/BMC/LogServices/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Managers/BMC/LogServices/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Managers/BMC/LogServices/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Managers/BMC/LogServices/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Managers/BMC/NICs/Dedicated/SD/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Managers/BMC/NICs/Dedicated/SD/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Managers/BMC/NICs/Dedicated/SD/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Managers/BMC/NICs/Dedicated/SD/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Managers/BMC/NICs/Dedicated/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Managers/BMC/NICs/Dedicated/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Managers/BMC/NICs/Dedicated/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Managers/BMC/NICs/Dedicated/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Managers/BMC/NICs/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Managers/BMC/NICs/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Managers/BMC/NICs/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Managers/BMC/NICs/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Managers/BMC/NetworkProtocol/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Managers/BMC/NetworkProtocol/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Managers/BMC/NetworkProtocol/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Managers/BMC/NetworkProtocol/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Managers/BMC/SerialInterfaces/TTY0/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Managers/BMC/SerialInterfaces/TTY0/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Managers/BMC/SerialInterfaces/TTY0/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Managers/BMC/SerialInterfaces/TTY0/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Managers/BMC/SerialInterfaces/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Managers/BMC/SerialInterfaces/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Managers/BMC/SerialInterfaces/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Managers/BMC/SerialInterfaces/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Managers/BMC/VirtualMedia/CD1/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Managers/BMC/VirtualMedia/CD1/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Managers/BMC/VirtualMedia/CD1/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Managers/BMC/VirtualMedia/CD1/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Managers/BMC/VirtualMedia/Floppy1/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Managers/BMC/VirtualMedia/Floppy1/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Managers/BMC/VirtualMedia/Floppy1/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Managers/BMC/VirtualMedia/Floppy1/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Managers/BMC/VirtualMedia/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Managers/BMC/VirtualMedia/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Managers/BMC/VirtualMedia/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Managers/BMC/VirtualMedia/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Managers/BMC/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Managers/BMC/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Managers/BMC/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Managers/BMC/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Managers/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Managers/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Managers/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Managers/index.json diff --git a/test_dependencies/mockups/DSP2043-server/SessionService/Sessions/1234567890ABCDEF/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/SessionService/Sessions/1234567890ABCDEF/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/SessionService/Sessions/1234567890ABCDEF/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/SessionService/Sessions/1234567890ABCDEF/index.json diff --git a/test_dependencies/mockups/DSP2043-server/SessionService/Sessions/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/SessionService/Sessions/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/SessionService/Sessions/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/SessionService/Sessions/index.json diff --git a/test_dependencies/mockups/DSP2043-server/SessionService/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/SessionService/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/SessionService/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/SessionService/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/BIOS/Settings/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/BIOS/Settings/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/BIOS/Settings/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/BIOS/Settings/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/BIOS/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/BIOS/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/BIOS/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/BIOS/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/1/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/1/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/1/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/1/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/2/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/2/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/2/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/2/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/EthernetInterfaces/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/LogServices/Log1/Entries/2/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/LogServices/Log1/Entries/2/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/LogServices/Log1/Entries/2/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/LogServices/Log1/Entries/2/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/LogServices/Log1/Entries/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/LogServices/Log1/Entries/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/LogServices/Log1/Entries/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/LogServices/Log1/Entries/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/LogServices/Log1/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/LogServices/Log1/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/LogServices/Log1/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/LogServices/Log1/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/LogServices/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/LogServices/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/LogServices/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/LogServices/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Memory/DIMM1/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/Memory/DIMM1/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Memory/DIMM1/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/Memory/DIMM1/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Memory/DIMM2/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/Memory/DIMM2/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Memory/DIMM2/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/Memory/DIMM2/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Memory/DIMM3/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/Memory/DIMM3/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Memory/DIMM3/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/Memory/DIMM3/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Memory/DIMM4/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/Memory/DIMM4/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Memory/DIMM4/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/Memory/DIMM4/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Memory/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/Memory/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Memory/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/Memory/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Processors/CPU1/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/Processors/CPU1/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Processors/CPU1/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/Processors/CPU1/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Processors/CPU2/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/Processors/CPU2/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Processors/CPU2/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/Processors/CPU2/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Processors/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/Processors/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/Processors/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/Processors/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/SimpleStorage/1/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/SimpleStorage/1/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/SimpleStorage/1/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/SimpleStorage/1/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/SimpleStorage/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/SimpleStorage/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/SimpleStorage/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/SimpleStorage/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Systems/437XR1138R2/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/437XR1138R2/index.json diff --git a/test_dependencies/mockups/DSP2043-server/Systems/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/Systems/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/Systems/index.json diff --git a/test_dependencies/mockups/DSP2043-server/TaskService/Tasks/545/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/TaskService/Tasks/545/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/TaskService/Tasks/545/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/TaskService/Tasks/545/index.json diff --git a/test_dependencies/mockups/DSP2043-server/TaskService/Tasks/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/TaskService/Tasks/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/TaskService/Tasks/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/TaskService/Tasks/index.json diff --git a/test_dependencies/mockups/DSP2043-server/TaskService/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/TaskService/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/TaskService/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/TaskService/index.json diff --git a/test_dependencies/mockups/DSP2043-server/index.json b/test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/index.json similarity index 100% rename from test_dependencies/mockups/DSP2043-server/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/DSP2043-server/index.json diff --git a/test_dependencies/mockups/README2043.html b/test_dependencies/mockups/DSP2043_1.0.0/README2043.html similarity index 100% rename from test_dependencies/mockups/README2043.html rename to test_dependencies/mockups/DSP2043_1.0.0/README2043.html diff --git a/test_dependencies/mockups/proposed-ocp-profile/$metadata/index.xml b/test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/$metadata/index.xml similarity index 100% rename from test_dependencies/mockups/proposed-ocp-profile/$metadata/index.xml rename to test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/$metadata/index.xml diff --git a/test_dependencies/mockups/proposed-ocp-profile/AccountService/Accounts/index.json b/test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/AccountService/Accounts/index.json similarity index 100% rename from test_dependencies/mockups/proposed-ocp-profile/AccountService/Accounts/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/AccountService/Accounts/index.json diff --git a/test_dependencies/mockups/proposed-ocp-profile/AccountService/Accounts/jane/index.json b/test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/AccountService/Accounts/jane/index.json similarity index 100% rename from test_dependencies/mockups/proposed-ocp-profile/AccountService/Accounts/jane/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/AccountService/Accounts/jane/index.json diff --git a/test_dependencies/mockups/proposed-ocp-profile/AccountService/Accounts/john/index.json b/test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/AccountService/Accounts/john/index.json similarity index 100% rename from test_dependencies/mockups/proposed-ocp-profile/AccountService/Accounts/john/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/AccountService/Accounts/john/index.json diff --git a/test_dependencies/mockups/proposed-ocp-profile/AccountService/Accounts/root/index.json b/test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/AccountService/Accounts/root/index.json similarity index 100% rename from test_dependencies/mockups/proposed-ocp-profile/AccountService/Accounts/root/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/AccountService/Accounts/root/index.json diff --git a/test_dependencies/mockups/proposed-ocp-profile/AccountService/Roles/Admin/index.json b/test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/AccountService/Roles/Admin/index.json similarity index 100% rename from test_dependencies/mockups/proposed-ocp-profile/AccountService/Roles/Admin/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/AccountService/Roles/Admin/index.json diff --git a/test_dependencies/mockups/proposed-ocp-profile/AccountService/Roles/Operator/index.json b/test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/AccountService/Roles/Operator/index.json similarity index 100% rename from test_dependencies/mockups/proposed-ocp-profile/AccountService/Roles/Operator/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/AccountService/Roles/Operator/index.json diff --git a/test_dependencies/mockups/proposed-ocp-profile/AccountService/Roles/ReadOnlyUser/index.json b/test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/AccountService/Roles/ReadOnlyUser/index.json similarity index 100% rename from test_dependencies/mockups/proposed-ocp-profile/AccountService/Roles/ReadOnlyUser/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/AccountService/Roles/ReadOnlyUser/index.json diff --git a/test_dependencies/mockups/proposed-ocp-profile/AccountService/Roles/index.json b/test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/AccountService/Roles/index.json similarity index 100% rename from test_dependencies/mockups/proposed-ocp-profile/AccountService/Roles/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/AccountService/Roles/index.json diff --git a/test_dependencies/mockups/proposed-ocp-profile/AccountService/index.json b/test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/AccountService/index.json similarity index 100% rename from test_dependencies/mockups/proposed-ocp-profile/AccountService/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/AccountService/index.json diff --git a/test_dependencies/mockups/proposed-ocp-profile/Chassis/1/Power/index.json b/test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/Chassis/1/Power/index.json similarity index 100% rename from test_dependencies/mockups/proposed-ocp-profile/Chassis/1/Power/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/Chassis/1/Power/index.json diff --git a/test_dependencies/mockups/proposed-ocp-profile/Chassis/1/Thermal/index.json b/test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/Chassis/1/Thermal/index.json similarity index 100% rename from test_dependencies/mockups/proposed-ocp-profile/Chassis/1/Thermal/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/Chassis/1/Thermal/index.json diff --git a/test_dependencies/mockups/proposed-ocp-profile/Chassis/1/index.json b/test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/Chassis/1/index.json similarity index 100% rename from test_dependencies/mockups/proposed-ocp-profile/Chassis/1/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/Chassis/1/index.json diff --git a/test_dependencies/mockups/proposed-ocp-profile/Chassis/index.json b/test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/Chassis/index.json similarity index 100% rename from test_dependencies/mockups/proposed-ocp-profile/Chassis/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/Chassis/index.json diff --git a/test_dependencies/mockups/proposed-ocp-profile/Managers/bmc/EthernetInterfaces/eth0/index.json b/test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/Managers/bmc/EthernetInterfaces/eth0/index.json similarity index 100% rename from test_dependencies/mockups/proposed-ocp-profile/Managers/bmc/EthernetInterfaces/eth0/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/Managers/bmc/EthernetInterfaces/eth0/index.json diff --git a/test_dependencies/mockups/proposed-ocp-profile/Managers/bmc/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/Managers/bmc/EthernetInterfaces/index.json similarity index 100% rename from test_dependencies/mockups/proposed-ocp-profile/Managers/bmc/EthernetInterfaces/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/Managers/bmc/EthernetInterfaces/index.json diff --git a/test_dependencies/mockups/proposed-ocp-profile/Managers/bmc/NetworkProtocol/index.json b/test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/Managers/bmc/NetworkProtocol/index.json similarity index 100% rename from test_dependencies/mockups/proposed-ocp-profile/Managers/bmc/NetworkProtocol/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/Managers/bmc/NetworkProtocol/index.json diff --git a/test_dependencies/mockups/proposed-ocp-profile/Managers/bmc/index.json b/test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/Managers/bmc/index.json similarity index 100% rename from test_dependencies/mockups/proposed-ocp-profile/Managers/bmc/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/Managers/bmc/index.json diff --git a/test_dependencies/mockups/proposed-ocp-profile/Managers/index.json b/test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/Managers/index.json similarity index 100% rename from test_dependencies/mockups/proposed-ocp-profile/Managers/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/Managers/index.json diff --git a/test_dependencies/mockups/proposed-ocp-profile/README.md b/test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/README.md similarity index 100% rename from test_dependencies/mockups/proposed-ocp-profile/README.md rename to test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/README.md diff --git a/test_dependencies/mockups/proposed-ocp-profile/README.txt b/test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/README.txt similarity index 100% rename from test_dependencies/mockups/proposed-ocp-profile/README.txt rename to test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/README.txt diff --git a/test_dependencies/mockups/proposed-ocp-profile/SessionService/Sessions/1234567890ABCDEF/index.json b/test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/SessionService/Sessions/1234567890ABCDEF/index.json similarity index 100% rename from test_dependencies/mockups/proposed-ocp-profile/SessionService/Sessions/1234567890ABCDEF/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/SessionService/Sessions/1234567890ABCDEF/index.json diff --git a/test_dependencies/mockups/proposed-ocp-profile/SessionService/Sessions/index.json b/test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/SessionService/Sessions/index.json similarity index 100% rename from test_dependencies/mockups/proposed-ocp-profile/SessionService/Sessions/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/SessionService/Sessions/index.json diff --git a/test_dependencies/mockups/proposed-ocp-profile/SessionService/index.json b/test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/SessionService/index.json similarity index 100% rename from test_dependencies/mockups/proposed-ocp-profile/SessionService/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/SessionService/index.json diff --git a/test_dependencies/mockups/proposed-ocp-profile/Systems/1/LogServices/SEL/Entries/1/index.json b/test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/Systems/1/LogServices/SEL/Entries/1/index.json similarity index 100% rename from test_dependencies/mockups/proposed-ocp-profile/Systems/1/LogServices/SEL/Entries/1/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/Systems/1/LogServices/SEL/Entries/1/index.json diff --git a/test_dependencies/mockups/proposed-ocp-profile/Systems/1/LogServices/SEL/Entries/2/index.json b/test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/Systems/1/LogServices/SEL/Entries/2/index.json similarity index 100% rename from test_dependencies/mockups/proposed-ocp-profile/Systems/1/LogServices/SEL/Entries/2/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/Systems/1/LogServices/SEL/Entries/2/index.json diff --git a/test_dependencies/mockups/proposed-ocp-profile/Systems/1/LogServices/SEL/Entries/index.json b/test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/Systems/1/LogServices/SEL/Entries/index.json similarity index 100% rename from test_dependencies/mockups/proposed-ocp-profile/Systems/1/LogServices/SEL/Entries/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/Systems/1/LogServices/SEL/Entries/index.json diff --git a/test_dependencies/mockups/proposed-ocp-profile/Systems/1/LogServices/SEL/index.json b/test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/Systems/1/LogServices/SEL/index.json similarity index 100% rename from test_dependencies/mockups/proposed-ocp-profile/Systems/1/LogServices/SEL/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/Systems/1/LogServices/SEL/index.json diff --git a/test_dependencies/mockups/proposed-ocp-profile/Systems/1/LogServices/index.json b/test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/Systems/1/LogServices/index.json similarity index 100% rename from test_dependencies/mockups/proposed-ocp-profile/Systems/1/LogServices/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/Systems/1/LogServices/index.json diff --git a/test_dependencies/mockups/proposed-ocp-profile/Systems/1/index.json b/test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/Systems/1/index.json similarity index 100% rename from test_dependencies/mockups/proposed-ocp-profile/Systems/1/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/Systems/1/index.json diff --git a/test_dependencies/mockups/proposed-ocp-profile/Systems/index.json b/test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/Systems/index.json similarity index 100% rename from test_dependencies/mockups/proposed-ocp-profile/Systems/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/Systems/index.json diff --git a/test_dependencies/mockups/proposed-ocp-profile/explorer_config.json b/test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/explorer_config.json similarity index 100% rename from test_dependencies/mockups/proposed-ocp-profile/explorer_config.json rename to test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/explorer_config.json diff --git a/test_dependencies/mockups/proposed-ocp-profile/index.json b/test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/index.json similarity index 100% rename from test_dependencies/mockups/proposed-ocp-profile/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/index.json diff --git a/test_dependencies/mockups/proposed-ocp-profile/odata/index.json b/test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/odata/index.json similarity index 100% rename from test_dependencies/mockups/proposed-ocp-profile/odata/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/proposed-ocp-profile/odata/index.json diff --git a/test_dependencies/mockups/public-bladed/AccountService/Accounts/1/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/AccountService/Accounts/1/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/AccountService/Accounts/1/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/AccountService/Accounts/1/index.json diff --git a/test_dependencies/mockups/public-bladed/AccountService/Accounts/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/AccountService/Accounts/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/AccountService/Accounts/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/AccountService/Accounts/index.json diff --git a/test_dependencies/mockups/public-bladed/AccountService/Roles/Admin/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/AccountService/Roles/Admin/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/AccountService/Roles/Admin/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/AccountService/Roles/Admin/index.json diff --git a/test_dependencies/mockups/public-bladed/AccountService/Roles/Operator/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/AccountService/Roles/Operator/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/AccountService/Roles/Operator/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/AccountService/Roles/Operator/index.json diff --git a/test_dependencies/mockups/public-bladed/AccountService/Roles/ReadOnlyUser/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/AccountService/Roles/ReadOnlyUser/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/AccountService/Roles/ReadOnlyUser/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/AccountService/Roles/ReadOnlyUser/index.json diff --git a/test_dependencies/mockups/public-bladed/AccountService/Roles/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/AccountService/Roles/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/AccountService/Roles/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/AccountService/Roles/index.json diff --git a/test_dependencies/mockups/public-bladed/AccountService/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/AccountService/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/AccountService/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/AccountService/index.json diff --git a/test_dependencies/mockups/public-bladed/Chassis/Blade1/Thermal/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Chassis/Blade1/Thermal/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Chassis/Blade1/Thermal/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Chassis/Blade1/Thermal/index.json diff --git a/test_dependencies/mockups/public-bladed/Chassis/Blade1/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Chassis/Blade1/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Chassis/Blade1/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Chassis/Blade1/index.json diff --git a/test_dependencies/mockups/public-bladed/Chassis/Blade2/Thermal/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Chassis/Blade2/Thermal/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Chassis/Blade2/Thermal/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Chassis/Blade2/Thermal/index.json diff --git a/test_dependencies/mockups/public-bladed/Chassis/Blade2/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Chassis/Blade2/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Chassis/Blade2/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Chassis/Blade2/index.json diff --git a/test_dependencies/mockups/public-bladed/Chassis/Blade3/Thermal/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Chassis/Blade3/Thermal/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Chassis/Blade3/Thermal/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Chassis/Blade3/Thermal/index.json diff --git a/test_dependencies/mockups/public-bladed/Chassis/Blade3/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Chassis/Blade3/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Chassis/Blade3/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Chassis/Blade3/index.json diff --git a/test_dependencies/mockups/public-bladed/Chassis/Blade4/Thermal/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Chassis/Blade4/Thermal/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Chassis/Blade4/Thermal/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Chassis/Blade4/Thermal/index.json diff --git a/test_dependencies/mockups/public-bladed/Chassis/Blade4/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Chassis/Blade4/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Chassis/Blade4/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Chassis/Blade4/index.json diff --git a/test_dependencies/mockups/public-bladed/Chassis/MultiBladeEncl/Power/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Chassis/MultiBladeEncl/Power/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Chassis/MultiBladeEncl/Power/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Chassis/MultiBladeEncl/Power/index.json diff --git a/test_dependencies/mockups/public-bladed/Chassis/MultiBladeEncl/Thermal/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Chassis/MultiBladeEncl/Thermal/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Chassis/MultiBladeEncl/Thermal/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Chassis/MultiBladeEncl/Thermal/index.json diff --git a/test_dependencies/mockups/public-bladed/Chassis/MultiBladeEncl/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Chassis/MultiBladeEncl/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Chassis/MultiBladeEncl/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Chassis/MultiBladeEncl/index.json diff --git a/test_dependencies/mockups/public-bladed/Chassis/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Chassis/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Chassis/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Chassis/index.json diff --git a/test_dependencies/mockups/public-bladed/EventService/Subscriptions/1/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/EventService/Subscriptions/1/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/EventService/Subscriptions/1/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/EventService/Subscriptions/1/index.json diff --git a/test_dependencies/mockups/public-bladed/EventService/Subscriptions/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/EventService/Subscriptions/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/EventService/Subscriptions/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/EventService/Subscriptions/index.json diff --git a/test_dependencies/mockups/public-bladed/EventService/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/EventService/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/EventService/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/EventService/index.json diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade1BMC/EthernetInterfaces/1/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade1BMC/EthernetInterfaces/1/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Managers/Blade1BMC/EthernetInterfaces/1/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade1BMC/EthernetInterfaces/1/index.json diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade1BMC/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade1BMC/EthernetInterfaces/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Managers/Blade1BMC/EthernetInterfaces/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade1BMC/EthernetInterfaces/index.json diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade1BMC/LogServices/Log/Entries/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade1BMC/LogServices/Log/Entries/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Managers/Blade1BMC/LogServices/Log/Entries/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade1BMC/LogServices/Log/Entries/index.json diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade1BMC/LogServices/Log/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade1BMC/LogServices/Log/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Managers/Blade1BMC/LogServices/Log/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade1BMC/LogServices/Log/index.json diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade1BMC/LogServices/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade1BMC/LogServices/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Managers/Blade1BMC/LogServices/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade1BMC/LogServices/index.json diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade1BMC/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade1BMC/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Managers/Blade1BMC/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade1BMC/index.json diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade2BMC/EthernetInterfaces/1/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade2BMC/EthernetInterfaces/1/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Managers/Blade2BMC/EthernetInterfaces/1/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade2BMC/EthernetInterfaces/1/index.json diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade2BMC/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade2BMC/EthernetInterfaces/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Managers/Blade2BMC/EthernetInterfaces/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade2BMC/EthernetInterfaces/index.json diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade2BMC/LogServices/Log/Entries/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade2BMC/LogServices/Log/Entries/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Managers/Blade2BMC/LogServices/Log/Entries/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade2BMC/LogServices/Log/Entries/index.json diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade2BMC/LogServices/Log/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade2BMC/LogServices/Log/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Managers/Blade2BMC/LogServices/Log/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade2BMC/LogServices/Log/index.json diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade2BMC/LogServices/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade2BMC/LogServices/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Managers/Blade2BMC/LogServices/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade2BMC/LogServices/index.json diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade2BMC/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade2BMC/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Managers/Blade2BMC/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade2BMC/index.json diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade3BMC/EthernetInterfaces/1/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade3BMC/EthernetInterfaces/1/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Managers/Blade3BMC/EthernetInterfaces/1/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade3BMC/EthernetInterfaces/1/index.json diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade3BMC/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade3BMC/EthernetInterfaces/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Managers/Blade3BMC/EthernetInterfaces/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade3BMC/EthernetInterfaces/index.json diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade3BMC/LogServices/Log/Entries/1/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade3BMC/LogServices/Log/Entries/1/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Managers/Blade3BMC/LogServices/Log/Entries/1/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade3BMC/LogServices/Log/Entries/1/index.json diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade3BMC/LogServices/Log/Entries/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade3BMC/LogServices/Log/Entries/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Managers/Blade3BMC/LogServices/Log/Entries/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade3BMC/LogServices/Log/Entries/index.json diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade3BMC/LogServices/Log/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade3BMC/LogServices/Log/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Managers/Blade3BMC/LogServices/Log/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade3BMC/LogServices/Log/index.json diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade3BMC/LogServices/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade3BMC/LogServices/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Managers/Blade3BMC/LogServices/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade3BMC/LogServices/index.json diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade3BMC/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade3BMC/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Managers/Blade3BMC/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade3BMC/index.json diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade4BMC/EthernetInterfaces/1/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade4BMC/EthernetInterfaces/1/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Managers/Blade4BMC/EthernetInterfaces/1/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade4BMC/EthernetInterfaces/1/index.json diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade4BMC/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade4BMC/EthernetInterfaces/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Managers/Blade4BMC/EthernetInterfaces/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade4BMC/EthernetInterfaces/index.json diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade4BMC/LogServices/Log/Entries/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade4BMC/LogServices/Log/Entries/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Managers/Blade4BMC/LogServices/Log/Entries/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade4BMC/LogServices/Log/Entries/index.json diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade4BMC/LogServices/Log/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade4BMC/LogServices/Log/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Managers/Blade4BMC/LogServices/Log/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade4BMC/LogServices/Log/index.json diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade4BMC/LogServices/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade4BMC/LogServices/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Managers/Blade4BMC/LogServices/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade4BMC/LogServices/index.json diff --git a/test_dependencies/mockups/public-bladed/Managers/Blade4BMC/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade4BMC/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Managers/Blade4BMC/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/Blade4BMC/index.json diff --git a/test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/EthernetInterfaces/1/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/MultiBladeBMC/EthernetInterfaces/1/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/EthernetInterfaces/1/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/MultiBladeBMC/EthernetInterfaces/1/index.json diff --git a/test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/MultiBladeBMC/EthernetInterfaces/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/EthernetInterfaces/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/MultiBladeBMC/EthernetInterfaces/index.json diff --git a/test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/LogServices/Log/Entries/1/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/MultiBladeBMC/LogServices/Log/Entries/1/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/LogServices/Log/Entries/1/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/MultiBladeBMC/LogServices/Log/Entries/1/index.json diff --git a/test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/LogServices/Log/Entries/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/MultiBladeBMC/LogServices/Log/Entries/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/LogServices/Log/Entries/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/MultiBladeBMC/LogServices/Log/Entries/index.json diff --git a/test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/LogServices/Log/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/MultiBladeBMC/LogServices/Log/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/LogServices/Log/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/MultiBladeBMC/LogServices/Log/index.json diff --git a/test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/LogServices/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/MultiBladeBMC/LogServices/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/LogServices/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/MultiBladeBMC/LogServices/index.json diff --git a/test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/MultiBladeBMC/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Managers/MultiBladeBMC/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/MultiBladeBMC/index.json diff --git a/test_dependencies/mockups/public-bladed/Managers/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Managers/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Managers/index.json diff --git a/test_dependencies/mockups/public-bladed/SessionService/Sessions/12623963E803C264/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/SessionService/Sessions/12623963E803C264/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/SessionService/Sessions/12623963E803C264/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/SessionService/Sessions/12623963E803C264/index.json diff --git a/test_dependencies/mockups/public-bladed/SessionService/Sessions/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/SessionService/Sessions/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/SessionService/Sessions/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/SessionService/Sessions/index.json diff --git a/test_dependencies/mockups/public-bladed/SessionService/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/SessionService/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/SessionService/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/SessionService/index.json diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9450R6/Processors/CPU/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9450R6/Processors/CPU/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Systems/529QB9450R6/Processors/CPU/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9450R6/Processors/CPU/index.json diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9450R6/Processors/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9450R6/Processors/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Systems/529QB9450R6/Processors/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9450R6/Processors/index.json diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9450R6/SimpleStorage/1/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9450R6/SimpleStorage/1/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Systems/529QB9450R6/SimpleStorage/1/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9450R6/SimpleStorage/1/index.json diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9450R6/SimpleStorage/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9450R6/SimpleStorage/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Systems/529QB9450R6/SimpleStorage/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9450R6/SimpleStorage/index.json diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9450R6/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9450R6/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Systems/529QB9450R6/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9450R6/index.json diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9451R6/Processors/CPU/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9451R6/Processors/CPU/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Systems/529QB9451R6/Processors/CPU/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9451R6/Processors/CPU/index.json diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9451R6/Processors/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9451R6/Processors/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Systems/529QB9451R6/Processors/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9451R6/Processors/index.json diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9451R6/SimpleStorage/1/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9451R6/SimpleStorage/1/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Systems/529QB9451R6/SimpleStorage/1/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9451R6/SimpleStorage/1/index.json diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9451R6/SimpleStorage/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9451R6/SimpleStorage/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Systems/529QB9451R6/SimpleStorage/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9451R6/SimpleStorage/index.json diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9451R6/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9451R6/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Systems/529QB9451R6/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9451R6/index.json diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9452R6/Processors/CPU/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9452R6/Processors/CPU/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Systems/529QB9452R6/Processors/CPU/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9452R6/Processors/CPU/index.json diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9452R6/Processors/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9452R6/Processors/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Systems/529QB9452R6/Processors/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9452R6/Processors/index.json diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9452R6/SimpleStorage/1/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9452R6/SimpleStorage/1/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Systems/529QB9452R6/SimpleStorage/1/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9452R6/SimpleStorage/1/index.json diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9452R6/SimpleStorage/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9452R6/SimpleStorage/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Systems/529QB9452R6/SimpleStorage/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9452R6/SimpleStorage/index.json diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9452R6/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9452R6/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Systems/529QB9452R6/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9452R6/index.json diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9453R6/Processors/CPU/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9453R6/Processors/CPU/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Systems/529QB9453R6/Processors/CPU/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9453R6/Processors/CPU/index.json diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9453R6/Processors/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9453R6/Processors/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Systems/529QB9453R6/Processors/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9453R6/Processors/index.json diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9453R6/SimpleStorage/1/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9453R6/SimpleStorage/1/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Systems/529QB9453R6/SimpleStorage/1/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9453R6/SimpleStorage/1/index.json diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9453R6/SimpleStorage/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9453R6/SimpleStorage/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Systems/529QB9453R6/SimpleStorage/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9453R6/SimpleStorage/index.json diff --git a/test_dependencies/mockups/public-bladed/Systems/529QB9453R6/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9453R6/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Systems/529QB9453R6/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/529QB9453R6/index.json diff --git a/test_dependencies/mockups/public-bladed/Systems/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/Systems/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/Systems/index.json diff --git a/test_dependencies/mockups/public-bladed/TaskService/Tasks/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/TaskService/Tasks/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/TaskService/Tasks/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/TaskService/Tasks/index.json diff --git a/test_dependencies/mockups/public-bladed/TaskService/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/TaskService/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/TaskService/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/TaskService/index.json diff --git a/test_dependencies/mockups/public-bladed/explorer_config.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/explorer_config.json similarity index 100% rename from test_dependencies/mockups/public-bladed/explorer_config.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/explorer_config.json diff --git a/test_dependencies/mockups/public-bladed/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-bladed/index.json similarity index 100% rename from test_dependencies/mockups/public-bladed/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-bladed/index.json diff --git a/test_dependencies/mockups/public-rackmount/AccountService/Accounts/1/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/AccountService/Accounts/1/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/AccountService/Accounts/1/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/AccountService/Accounts/1/index.json diff --git a/test_dependencies/mockups/public-rackmount/AccountService/Accounts/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/AccountService/Accounts/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/AccountService/Accounts/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/AccountService/Accounts/index.json diff --git a/test_dependencies/mockups/public-rackmount/AccountService/Roles/Admin/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/AccountService/Roles/Admin/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/AccountService/Roles/Admin/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/AccountService/Roles/Admin/index.json diff --git a/test_dependencies/mockups/public-rackmount/AccountService/Roles/Operator/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/AccountService/Roles/Operator/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/AccountService/Roles/Operator/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/AccountService/Roles/Operator/index.json diff --git a/test_dependencies/mockups/public-rackmount/AccountService/Roles/ReadOnlyUser/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/AccountService/Roles/ReadOnlyUser/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/AccountService/Roles/ReadOnlyUser/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/AccountService/Roles/ReadOnlyUser/index.json diff --git a/test_dependencies/mockups/public-rackmount/AccountService/Roles/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/AccountService/Roles/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/AccountService/Roles/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/AccountService/Roles/index.json diff --git a/test_dependencies/mockups/public-rackmount/AccountService/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/AccountService/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/AccountService/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/AccountService/index.json diff --git a/test_dependencies/mockups/public-rackmount/Chassis/1U/Power/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Chassis/1U/Power/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Chassis/1U/Power/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Chassis/1U/Power/index.json diff --git a/test_dependencies/mockups/public-rackmount/Chassis/1U/Thermal/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Chassis/1U/Thermal/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Chassis/1U/Thermal/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Chassis/1U/Thermal/index.json diff --git a/test_dependencies/mockups/public-rackmount/Chassis/1U/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Chassis/1U/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Chassis/1U/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Chassis/1U/index.json diff --git a/test_dependencies/mockups/public-rackmount/Chassis/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Chassis/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Chassis/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Chassis/index.json diff --git a/test_dependencies/mockups/public-rackmount/EventService/Subscriptions/1/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/EventService/Subscriptions/1/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/EventService/Subscriptions/1/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/EventService/Subscriptions/1/index.json diff --git a/test_dependencies/mockups/public-rackmount/EventService/Subscriptions/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/EventService/Subscriptions/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/EventService/Subscriptions/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/EventService/Subscriptions/index.json diff --git a/test_dependencies/mockups/public-rackmount/EventService/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/EventService/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/EventService/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/EventService/index.json diff --git a/test_dependencies/mockups/public-rackmount/Managers/BMC/LogServices/Log/Entries/1/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Managers/BMC/LogServices/Log/Entries/1/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Managers/BMC/LogServices/Log/Entries/1/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Managers/BMC/LogServices/Log/Entries/1/index.json diff --git a/test_dependencies/mockups/public-rackmount/Managers/BMC/LogServices/Log/Entries/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Managers/BMC/LogServices/Log/Entries/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Managers/BMC/LogServices/Log/Entries/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Managers/BMC/LogServices/Log/Entries/index.json diff --git a/test_dependencies/mockups/public-rackmount/Managers/BMC/LogServices/Log/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Managers/BMC/LogServices/Log/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Managers/BMC/LogServices/Log/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Managers/BMC/LogServices/Log/index.json diff --git a/test_dependencies/mockups/public-rackmount/Managers/BMC/LogServices/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Managers/BMC/LogServices/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Managers/BMC/LogServices/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Managers/BMC/LogServices/index.json diff --git a/test_dependencies/mockups/public-rackmount/Managers/BMC/NICs/Dedicated/SD/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Managers/BMC/NICs/Dedicated/SD/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Managers/BMC/NICs/Dedicated/SD/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Managers/BMC/NICs/Dedicated/SD/index.json diff --git a/test_dependencies/mockups/public-rackmount/Managers/BMC/NICs/Dedicated/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Managers/BMC/NICs/Dedicated/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Managers/BMC/NICs/Dedicated/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Managers/BMC/NICs/Dedicated/index.json diff --git a/test_dependencies/mockups/public-rackmount/Managers/BMC/NICs/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Managers/BMC/NICs/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Managers/BMC/NICs/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Managers/BMC/NICs/index.json diff --git a/test_dependencies/mockups/public-rackmount/Managers/BMC/NetworkProtocol/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Managers/BMC/NetworkProtocol/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Managers/BMC/NetworkProtocol/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Managers/BMC/NetworkProtocol/index.json diff --git a/test_dependencies/mockups/public-rackmount/Managers/BMC/SerialInterfaces/TTY0/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Managers/BMC/SerialInterfaces/TTY0/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Managers/BMC/SerialInterfaces/TTY0/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Managers/BMC/SerialInterfaces/TTY0/index.json diff --git a/test_dependencies/mockups/public-rackmount/Managers/BMC/SerialInterfaces/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Managers/BMC/SerialInterfaces/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Managers/BMC/SerialInterfaces/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Managers/BMC/SerialInterfaces/index.json diff --git a/test_dependencies/mockups/public-rackmount/Managers/BMC/VirtualMedia/CD1/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Managers/BMC/VirtualMedia/CD1/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Managers/BMC/VirtualMedia/CD1/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Managers/BMC/VirtualMedia/CD1/index.json diff --git a/test_dependencies/mockups/public-rackmount/Managers/BMC/VirtualMedia/Floppy1/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Managers/BMC/VirtualMedia/Floppy1/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Managers/BMC/VirtualMedia/Floppy1/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Managers/BMC/VirtualMedia/Floppy1/index.json diff --git a/test_dependencies/mockups/public-rackmount/Managers/BMC/VirtualMedia/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Managers/BMC/VirtualMedia/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Managers/BMC/VirtualMedia/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Managers/BMC/VirtualMedia/index.json diff --git a/test_dependencies/mockups/public-rackmount/Managers/BMC/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Managers/BMC/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Managers/BMC/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Managers/BMC/index.json diff --git a/test_dependencies/mockups/public-rackmount/Managers/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Managers/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Managers/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Managers/index.json diff --git a/test_dependencies/mockups/public-rackmount/SessionService/Sessions/1234567890ABCDEF/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/SessionService/Sessions/1234567890ABCDEF/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/SessionService/Sessions/1234567890ABCDEF/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/SessionService/Sessions/1234567890ABCDEF/index.json diff --git a/test_dependencies/mockups/public-rackmount/SessionService/Sessions/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/SessionService/Sessions/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/SessionService/Sessions/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/SessionService/Sessions/index.json diff --git a/test_dependencies/mockups/public-rackmount/SessionService/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/SessionService/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/SessionService/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/SessionService/index.json diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/BIOS/Settings/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/BIOS/Settings/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/BIOS/Settings/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/BIOS/Settings/index.json diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/BIOS/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/BIOS/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/BIOS/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/BIOS/index.json diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/1/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/1/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/1/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/1/index.json diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/2/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/2/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/2/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/2/index.json diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/index.json diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/index.json diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890/index.json diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/EthernetInterfaces/index.json diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/LogServices/Log1/Entries/2/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/LogServices/Log1/Entries/2/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/LogServices/Log1/Entries/2/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/LogServices/Log1/Entries/2/index.json diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/LogServices/Log1/Entries/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/LogServices/Log1/Entries/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/LogServices/Log1/Entries/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/LogServices/Log1/Entries/index.json diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/LogServices/Log1/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/LogServices/Log1/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/LogServices/Log1/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/LogServices/Log1/index.json diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/LogServices/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/LogServices/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/LogServices/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/LogServices/index.json diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Memory/DIMM1/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/Memory/DIMM1/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Memory/DIMM1/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/Memory/DIMM1/index.json diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Memory/DIMM2/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/Memory/DIMM2/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Memory/DIMM2/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/Memory/DIMM2/index.json diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Memory/DIMM3/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/Memory/DIMM3/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Memory/DIMM3/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/Memory/DIMM3/index.json diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Memory/DIMM4/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/Memory/DIMM4/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Memory/DIMM4/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/Memory/DIMM4/index.json diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Memory/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/Memory/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Memory/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/Memory/index.json diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Processors/CPU1/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/Processors/CPU1/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Processors/CPU1/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/Processors/CPU1/index.json diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Processors/CPU2/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/Processors/CPU2/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Processors/CPU2/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/Processors/CPU2/index.json diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Processors/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/Processors/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/Processors/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/Processors/index.json diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/SimpleStorage/1/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/SimpleStorage/1/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/SimpleStorage/1/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/SimpleStorage/1/index.json diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/SimpleStorage/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/SimpleStorage/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/SimpleStorage/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/SimpleStorage/index.json diff --git a/test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Systems/437XR1138R2/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/437XR1138R2/index.json diff --git a/test_dependencies/mockups/public-rackmount/Systems/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/Systems/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/Systems/index.json diff --git a/test_dependencies/mockups/public-rackmount/TaskService/Tasks/545/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/TaskService/Tasks/545/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/TaskService/Tasks/545/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/TaskService/Tasks/545/index.json diff --git a/test_dependencies/mockups/public-rackmount/TaskService/Tasks/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/TaskService/Tasks/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/TaskService/Tasks/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/TaskService/Tasks/index.json diff --git a/test_dependencies/mockups/public-rackmount/TaskService/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/TaskService/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/TaskService/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/TaskService/index.json diff --git a/test_dependencies/mockups/public-rackmount/explorer_config.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/explorer_config.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/explorer_config.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/explorer_config.json diff --git a/test_dependencies/mockups/public-rackmount/index.json b/test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/index.json similarity index 100% rename from test_dependencies/mockups/public-rackmount/index.json rename to test_dependencies/mockups/DSP2043_1.0.0/public-rackmount/index.json diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2043_2026.2.html b/test_dependencies/mockups/DSP2043_2026.2/DSP2043_2026.2.html new file mode 100644 index 00000000..d706f167 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/DSP2043_2026.2.html @@ -0,0 +1,1330 @@ + + + + + + + + Redfish Mockups Bundle Readme + + + + + + + +
    +Redfish DMTF Logo + +

    Document Identifier: DSP2043

    +

    Date: 2026-08-07

    +

    Version: 2026.2

    +
    +
    +
    +

    Redfish Mockups Bundle Readme

    + +




    + + +
    + +

    Supersedes: 2026.1

    +

    Document Class: Informational

    +

    Document Status: Published

    +

    Document Language: en-US

    +
    + +

    DMTF is a not-for-profit association of industry members dedicated to promoting enterprise and systems management and interoperability. Members and non-members may reproduce DMTF specifications and documents, provided that correct attribution is given. As DMTF specifications may be revised from time to time, the particular version and release date should always be noted.

    +

    Implementation of certain elements of this standard or proposed standard may be subject to third party patent rights, including provisional patent rights (herein "patent rights"). DMTF makes no representations to users of the standard as to the existence of such rights, and is not responsible to recognize, disclose, or identify any or all such third party patent right, owners or claimants, nor for any incomplete or inaccurate identification or disclosure of such rights, owners or claimants. DMTF shall have no liability to any party, in any manner or circumstance, under any legal theory whatsoever, for failure to recognize, disclose, or identify any such third party patent rights, or for such party's reliance on the standard or incorporation thereof in its product, protocols or testing procedures. DMTF shall have no liability to any party implementing such standard, whether such implementation is foreseeable or not, nor to any patent owner or claimant, and shall have no liability or responsibility for costs or losses incurred if a standard is withdrawn or modified after publication, and shall be indemnified and held harmless by any party implementing the standard from any and all claims of infringement by a patent owner for such implementations.

    +

    For information about patents held by third-parties which have notified DMTF that, in their opinion, such patent may relate to or impact implementations of DMTF standards, visit http://www.dmtf.org/about/policies/disclosures.php.

    +

    This document's normative language is English. Translation into other languages is permitted.

    +

    CONTENTS

    + +
    +

    1 Foreword

    +

    The following files are part of the Redfish development effort:

    +
      +
    • DSP0218 - Platform +Level Data Model (PLDM) for Redfish Device Enablement Specification - +Binary-encoded JSON (BEJ) and dictionary-based mapping of Redfish +schemas and properties into PLDM messages.
    • +
    • DSP0266 - Redfish +Specification - Main Redfish Specification.
    • +
    • DSP0268 - Redfish +Data Model Specification - Normative descriptions and additional text +for every schema defined in DSP8010 and example payloads for every +resource.
    • +
    • DSP0270 - Redfish +Host Interface Specification - "In-band" or "OS-based" Redfish host +interface.
    • +
    • DSP0272 - Redfish +Interoperability Profiles Specification - Structure and JSON document +that is used to define and publish an interoperability profile that +checks an implementation's conformance to a defined minimum set of +functionality.
    • +
    • DSP2043 - Redfish +Mockups Bundle - Set of mockups that can be used as sample output from +GET responses from a Redfish service. Informative in +nature, it was used to develop the schema. A person can set up an NGINX +or similar server and configure it to output JSON format and then use +this directory for demonstration purposes.
    • +
    • DSP2044 - Redfish +White Paper - Non-normative document helping those new to Redfish +understand how to interact with the Redfish service and understand +common functions and tasks.
    • +
    • DSP2046 - Redfish +Resource and Schema Guide - Informative documentation regarding common +Redfish resource properties and a listing of properties that can be +found in each of the Redfish resources.
    • +
    • DSP2053 - Redfish +Property Guide - Informative documentation providing an index to +individual property definitions across all Redfish schema.
    • +
    • DSP2065 - Redfish +Message Registry Guide - Informative documentation providing details +regarding the messages defined in Redfish standard message +registries.
    • +
    • DSP8010 - Redfish +Schema - Redfish schema definitions. These files are normative in nature +and are normatively referenced by the Redfish Specification. +The three schema formats are CSDL (OData Common Schema Definition +Language format, which is in XML), JSON Schema, and OpenAPI schema. +These schema definitions should be functionally equivalent, thus +specifying the schema in three different languages.
    • +
    • DSP8011 - Redfish +Standard Registries - Redfish registry definitions. This bundle of +Redfish registries includes message registries used for Redfish-defined +messages including events and privilege maps.
    • +
    • DSP8013 - Redfish +Interoperability Profiles Bundle - Bundle of published Redfish +interoperability profile documents and supporting schema and sample +documents used for creating profiles.
    • +
    +

    2 Redfish Mockups Bundle +contents

    +

    This archive contains a number of mockups of various Redfish service +implementations. They are intended to be a guide for learning about the +Redfish Specification by showing typical examples of implementations. +These mockups are not prototypes and do not reflect any actual product +or Redfish implementation.

    +

    Many of these mockups are also used to populate the Redfish Resource +Explorer, part of the Redfish Developer Hub located at: http://redfish.dmtf.org

    +

    2.1 Simple Rack-mounted Server +(public-rackmount1)

    +

    This illustration of a Redfish service implementation shows a typical +rack-mount server, as commonly used in scale-out data centers. It +depicts the types of information that can be expected, but does not +represent an actual implementation.

    +

    2.2 Bladed System +(public-bladed)

    +

    This example represents an enclosure of "blade servers" that share +infrastructure components, such as power supplies and fans. Depicting an +enclosure containing four blade servers (a total of five "Chassis"), +this mockup demonstrates the modeling of multiple chassis and systems +managed from a single Redfish service.

    +

    2.3 Simple Rack-mounted Server with +Local Storage (public-localstorage)

    +

    This example shows a server with an implementation of the Redfish +storage resources, showing an integrated RAID controller with four +attached drives.

    +

    2.4 Simple Rack-mounted Server with +Local Storage that supports multiple physical functions +(public-mpf)

    +

    This example shows a server with an implementation of the Redfish +storage resources, showing an MPF RAID controller with four attached +drives managed by two physical functions.

    +

    2.5 SAS Fabric +(public-sasfabric)

    +

    This example shows a more complex storage implementation using a pair +of SAS switches, storage enclosures and multiple storage devices.

    +

    2.6 Proposed OCP Redfish Profile +(public-catfish)

    +

    This draft example, for ongoing development, represents a proposed +minimal Redfish data model "profile" that meets the needs of the Open +Compute Project's Hardware Management requirements. This draft profile +is intended to help define a list of required properties so that +essential management-related tasks, as defined by OCP, can be performed +on any Redfish implementation.

    +

    2.7 Composable System via Specific +Compositions (public-composability)

    +

    This example shows a service with various sets of disaggregated +hardware as resources. It provides an example two composed systems +utilizing some of the disaggregated hardware. It also shows how Resource +Zones can provide information about binding restrictions. It also shows +how to express composition requests using the specific composition +format.

    +

    2.8 Bladed Partitions +(public-bladed-partitions)

    +

    This example shows how Redfish Composability can be used to create +composed Computer System instances from smaller sets of Computer +Systems. A top level enclosure called "Enclosure" contains a set of +blades, which are used to create the composed Computer Systems.

    +

    2.9 Composable System via +Constrained Compositions (public-constrained-composition)

    +

    This example shows a service with various sets of disaggregated +hardware as resources. It provides an example two composed systems +utilizing some of the disaggregated hardware. It also shows how Resource +Zones can provide information about binding restrictions. It also shows +how to express composition requests using the constrained composition +format.

    +

    2.10 Expansion Enclosure with +Resource Blocks (public-expansion-box)

    +

    This example shows a service with various sets of disaggregated +hardware as resources. The service itself provides information about the +types of hardware available in the enclosure, but provides no +composability functionality. In these circumstances, an external Redfish +service might be used to orchestrate how the equipment is provisioned +for composability.

    +

    2.11 Telemetry Service +(public-telemetry)

    +

    This example shows a service that supports reporting telemetry data +through the Telemetry Service. It has sample metric definitions and +metric reports based upon data found in other portions of the data +model.

    +

    2.12 Power Distribution Unit (PDU) +(public-pdu)

    +

    This example shows a set of managed power distribution units (PDU), +including a rack-mount unit, a floor (row) PDU, and an automatic +transfer switch.

    +

    2.13 Sample Service with OEM +Extensions (public-oem-examples)

    +

    A lightweight Redfish service with OEM examples. The Service Root +resource has been extended to have an OEM section. The service container +also has an extension. The Account Service resource contains and OEM +action. These OEM extensions are defined in the Contoso.com folder of +the mockup.

    +

    2.14 Mockup for PMEM technologies +(public-pmem-configuration)

    +

    A mockup of initial configurations for reporting PMEM Devices and +then the configurations after a sequence of configuration requests.

    +

    2.15 NVMe-oF JBOF +(public-nvmeof-jbof)

    +

    This mockup contains a sample Redfish service for an NVMe-oF JBOF. +The storage resources off of service root contain the provisionable +storage for external hosts. The fabric portion of the data model is used +to express host connectivity to the different NVMe namespaces. It also +contains a single SoC, represented as a computer system, that is used as +the front-end for receiving NVMe-oF traffic before the drives are +accessed.

    +

    2.16 Advanced Communication Devices +(public-acd)

    +

    This example shows a server with an implementation of the Redfish +advanced communication device (ACD) model using the NetworkAdapter, +NetworkDeviceFunction, and Port resources.

    +

    2.17 Composable System via Compose +Action with Manifest (public-compose-action)

    +

    This example shows a service with various composable elements. The +composition service supports a Compose action, which allows a client to +provide a manifest to perform a set of operations to allocate resources +and compose systems. It also supports assignment of resource blocks into +free and active pools.

    +

    2.18 Cables (public-cables)

    +

    This example shows an implementation that contains a set of cables +and shows their connectivity to other components in the service.

    +

    2.19 Power Shelf +(public-power-shelf)

    +

    This example shows an example power shelf with connections to an +electrical bus.

    +

    2.20 SmartNICs +(public-smartnic)

    +

    This example shows a server with two SmartNICs installed. Each +SmartNIC is modeled as a Chassis resource. The SmartNIC in slot 1 +represents an SoC-based SmartNIC with its own system representation. The +SmartNIC in slot 2 represents an FPGA-based SmartNIC. There is also an +Ethernet fabric to show address pool configuration for the +SmartNICs.

    +

    2.21 Tower Server +(public-tower)

    +

    This illustration of a Redfish service implementation shows a fully +featured tower server, as might be used in a rendering or development +environment. It depicts the types of information that can be expected, +but does not represent an actual implementation.

    +

    2.22 CXL (public-cxl)

    +

    This example shows an implementation that contains a set of local and +remote CXL devices and shows their connectivity to other components in +the service.

    +

    2.23 Coolant Distribution Unit +(public-cooling-unit)

    +

    This example shows a rackmount coolant distribution unit (CDU) that +supplies liquid to downstream equipment from a facility.

    +

    2.24 Applications on a System +(public-applications)

    +

    This example shows the representation of an operating system (OS), +applications, and virtual machines running on a system.

    +
    + + diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2043_2026.2.pdf b/test_dependencies/mockups/DSP2043_2026.2/DSP2043_2026.2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a647f15be15ee8282c4c6b625514272e1858b96a GIT binary patch literal 103047 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ⅅEpR7h`N0Q#rDN@N6`mi)%%L3&jCDp+YNIB>|JSf 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/AccountService/Accounts/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/AccountService/Accounts/1/index.json new file mode 100644 index 00000000..781c45c6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/AccountService/Accounts/1/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#ManagerAccount.v1_14_2.ManagerAccount", + "Id": "1", + "Name": "User Account", + "Description": "User Account", + "Enabled": true, + "Password": null, + "PasswordChangeRequired": false, + "AccountTypes": [ + "Redfish" + ], + "UserName": "Administrator", + "RoleId": "Administrator", + "Locked": false, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + } + }, + "@odata.id": "/redfish/v1/AccountService/Accounts/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/AccountService/Accounts/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/AccountService/Accounts/2/index.json new file mode 100644 index 00000000..c5d00d44 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/AccountService/Accounts/2/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#ManagerAccount.v1_14_2.ManagerAccount", + "Id": "2", + "Name": "Employee #457", + "Description": "This user is both a Redfish administrator and a SNMPv3 user.", + "Enabled": true, + "Password": null, + "UserName": "contoso_employee457", + "RoleId": "Administrator", + "Locked": false, + "AccountTypes": [ + "Redfish", + "SNMP" + ], + "SNMP": { + "AuthenticationKey": null, + "AuthenticationProtocol": "None", + "EncryptionKey": null, + "EncryptionProtocol": "CFB128_AES128" + }, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + } + }, + "@odata.id": "/redfish/v1/AccountService/Accounts/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/AccountService/Accounts/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/AccountService/Accounts/index.json new file mode 100644 index 00000000..f509d474 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/AccountService/Accounts/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerAccountCollection.ManagerAccountCollection", + "Name": "Accounts Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Accounts/1" + } + ], + "@odata.id": "/redfish/v1/AccountService/Accounts", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/AccountService/Roles/Administrator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/AccountService/Roles/Administrator/index.json new file mode 100644 index 00000000..19d26a98 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/AccountService/Roles/Administrator/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Administrator", + "Name": "User Role", + "Description": "Admin User Role", + "RoleId": "Administrator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureManager", + "ConfigureUsers", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [ + "OemClearLog", + "OemPowerControl" + ], + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/AccountService/Roles/Operator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/AccountService/Roles/Operator/index.json new file mode 100644 index 00000000..90804a6a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/AccountService/Roles/Operator/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Operator", + "Name": "User Role", + "Description": "Operator User Role", + "RoleId": "Operator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/Operator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/AccountService/Roles/ReadOnly/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/AccountService/Roles/ReadOnly/index.json new file mode 100644 index 00000000..1df0cf03 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/AccountService/Roles/ReadOnly/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "ReadOnly", + "Name": "User Role", + "Description": "ReadOnly User Role", + "RoleId": "ReadOnly", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/AccountService/Roles/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/AccountService/Roles/index.json new file mode 100644 index 00000000..ba9ee112 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/AccountService/Roles/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#RoleCollection.RoleCollection", + "Name": "Roles Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/Operator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly" + } + ], + "@odata.id": "/redfish/v1/AccountService/Roles", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/AccountService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/AccountService/index.json new file mode 100644 index 00000000..eb627494 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/AccountService/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#AccountService.v1_19_0.AccountService", + "Id": "AccountService", + "Name": "Account Service", + "Description": "Account Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "AuthFailureLoggingThreshold": 3, + "MinPasswordLength": 8, + "AccountLockoutThreshold": 5, + "AccountLockoutDuration": 30, + "AccountLockoutCounterResetAfter": 30, + "AccountLockoutCounterResetEnabled": true, + "Accounts": { + "@odata.id": "/redfish/v1/AccountService/Accounts" + }, + "Roles": { + "@odata.id": "/redfish/v1/AccountService/Roles" + }, + "@odata.id": "/redfish/v1/AccountService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/EnvironmentMetrics/index.json new file mode 100644 index 00000000..86208b96 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/EnvironmentMetrics/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Chassis Environment Metrics", + "TemperatureCelsius": { + "Reading": 39, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/CPU1Temp" + }, + "PowerWatts": { + "Reading": 374, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/TotalPower" + }, + "FanSpeedsPercent": [ + { + "DeviceName": "Chassis Fan #1", + "Reading": 45, + "SpeedRPM": 1900, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/FanBay1" + }, + { + "DeviceName": "Chassis Fan #2", + "Reading": 55, + "SpeedRPM": 2100, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/FanBay2" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/Metrics/index.json new file mode 100644 index 00000000..8e22fd84 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/Metrics/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#NetworkAdapterMetrics.v1_1_0.NetworkAdapterMetrics", + "Id": "NetworkAdapterMetrics", + "Name": "Network Adapter Metrics", + "HostBusRXPercent": 35.53, + "HostBusTXPercent": 14.17, + "CPUCorePercent": 8.35, + "NCSIRXFrames": 0, + "NCSITXFrames": 0, + "NCSIRXBytes": 0, + "NCSITXBytes": 0, + "RXBytes": 7754199970, + "RXMulticastFrames": 1941, + "RXUnicastFrames": 27193387, + "TXBytes": 9436506547, + "TXMulticastFrames": 153, + "TXUnicastFrames": 18205770, + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot1/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0/Metrics/index.json new file mode 100644 index 00000000..4e1c603e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0/Metrics/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#NetworkDeviceFunctionMetrics.v1_2_0.NetworkDeviceFunctionMetrics", + "Id": "NetworkDeviceFunctionMetrics", + "Name": "Network Device Function Metrics", + "TXAvgQueueDepthPercent": 13.7, + "RXAvgQueueDepthPercent": 21.2, + "RXFrames": 27193387, + "RXBytes": 7754199970, + "RXUnicastFrames": 26193387, + "RXMulticastFrames": 1000000, + "TXFrames": 18205770, + "TXBytes": 9436506547, + "TXUnicastFrames": 17205770, + "TXMulticastFrames": 1000000, + "TXQueuesEmpty": false, + "RXQueuesEmpty": false, + "TXQueuesFull": 0, + "RXQueuesFull": 0, + "Ethernet": { + "NumOffloadedIPv4Conns": 0, + "NumOffloadedIPv6Conns": 0 + }, + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0/index.json new file mode 100644 index 00000000..c65adedc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0/index.json @@ -0,0 +1,39 @@ +{ + "@odata.type": "#NetworkDeviceFunction.v1_11_1.NetworkDeviceFunction", + "AssignablePhysicalNetworkPorts": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot1/Ports/SC2KP1" + } + ], + "BootMode": "PXE", + "DeviceEnabled": true, + "Ethernet": { + "MACAddress": "aa:bb:cc:dd:ee:f5", + "MTUSize": 1522, + "PermanentMACAddress": "a1:b1:c1:d1:e1:f1", + "MTUSizeMaximum": 8192, + "AdditionalProtocols": [ + "RoCEv2" + ] + }, + "Id": "SC2KP1F0", + "Links": { + "PhysicalNetworkPortAssignment": { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot1/Ports/SC2KP1" + }, + "EthernetInterfaces": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/SC2KP1F0" + } + ] + }, + "MaxVirtualFunctions": 16, + "Name": "NetworkDeviceFunction", + "NetDevFuncCapabilities": [ + "Ethernet" + ], + "NetDevFuncType": "Ethernet", + "VirtualFunctionsEnabled": false, + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP2F0/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP2F0/Metrics/index.json new file mode 100644 index 00000000..9a061397 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP2F0/Metrics/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#NetworkDeviceFunctionMetrics.v1_2_0.NetworkDeviceFunctionMetrics", + "Id": "NetworkDeviceFunctionMetrics", + "Name": "Network Device Function Metrics", + "TXAvgQueueDepthPercent": 18.7, + "RXAvgQueueDepthPercent": 12.2, + "RXFrames": 27193387, + "RXBytes": 7754199970, + "RXUnicastFrames": 26193387, + "RXMulticastFrames": 1000000, + "TXFrames": 18205770, + "TXBytes": 9436506547, + "TXUnicastFrames": 17205770, + "TXMulticastFrames": 1000000, + "TXQueuesEmpty": false, + "RXQueuesEmpty": false, + "TXQueuesFull": 0, + "RXQueuesFull": 0, + "Ethernet": { + "NumOffloadedIPv4Conns": 0, + "NumOffloadedIPv6Conns": 0 + }, + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP2F0/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP2F0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP2F0/index.json new file mode 100644 index 00000000..53423716 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP2F0/index.json @@ -0,0 +1,39 @@ +{ + "@odata.type": "#NetworkDeviceFunction.v1_11_1.NetworkDeviceFunction", + "AssignablePhysicalNetworkPorts": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot1/Ports/SC2KP2" + } + ], + "BootMode": "PXE", + "DeviceEnabled": true, + "Ethernet": { + "MACAddress": "aa:bb:cc:dd:ee:ff", + "MTUSize": 1522, + "PermanentMACAddress": "a0:b0:c0:d0:e0:f0", + "MTUSizeMaximum": 8192, + "AdditionalProtocols": [ + "RoCEv2" + ] + }, + "Id": "SC2KP2F0", + "Links": { + "PhysicalNetworkPortAssignment": { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot1/Ports/SC2KP2" + }, + "EthernetInterfaces": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/SC2KP2F0" + } + ] + }, + "MaxVirtualFunctions": 16, + "Name": "NetworkDeviceFunction", + "NetDevFuncCapabilities": [ + "Ethernet" + ], + "NetDevFuncType": "Ethernet", + "VirtualFunctionsEnabled": false, + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP2F0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/NetworkDeviceFunctions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/NetworkDeviceFunctions/index.json new file mode 100644 index 00000000..ad8234fc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/NetworkDeviceFunctions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#NetworkDeviceFunctionCollection.NetworkDeviceFunctionCollection", + "Name": "Network Device Function Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP2F0" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot1/NetworkDeviceFunctions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/Ports/SC2KP1/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/Ports/SC2KP1/Metrics/index.json new file mode 100644 index 00000000..29b53c2e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/Ports/SC2KP1/Metrics/index.json @@ -0,0 +1,53 @@ +{ + "@odata.type": "#PortMetrics.v1_9_1.PortMetrics", + "RXBytes": 567027413, + "TXBytes": 6620140961, + "RXErrors": 0, + "TXErrors": 0, + "Networking": { + "RXFrames": 3356710, + "RXUnicastFrames": 3354717, + "RXMulticastFrames": 204, + "RXBroadcastFrames": 1789, + "TXFrames": 14358417, + "TXUnicastFrames": 14357401, + "TXMulticastFrames": 670, + "TXBroadcastFrames": 346, + "RXDiscards": 498455, + "RXFrameAlignmentErrors": 0, + "RXFCSErrors": 0, + "RXFalseCarrierErrors": 0, + "RXOversizeFrames": 0, + "RXUndersizeFrames": 0, + "TXDiscards": 0, + "TXExcessiveCollisions": 0, + "TXLateCollisions": 0, + "TXMultipleCollisions": 0, + "TXSingleCollisions": 0, + "RXPFCFrames": 0, + "TXPFCFrames": 0, + "RXPauseXOFFFrames": 0, + "RXPauseXONFrames": 0, + "TXPauseXOFFFrames": 0, + "TXPauseXONFrames": 0, + "RDMARXBytes": 0, + "RDMARXRequests": 0, + "RDMAProtectionErrors": 0, + "RDMAProtocolErrors": 0, + "RDMATXBytes": 0, + "RDMATXRequests": 0, + "RDMATXReadRequests": 0, + "RDMATXSendRequests": 0, + "RDMATXWriteRequests": 0 + }, + "Transceivers": [ + { + "RXInputPowerMilliWatts": 0.06, + "TXBiasCurrentMilliAmps": 49.01, + "TXOutputPowerMilliWatts": 1.263, + "SupplyVoltage": 4.21 + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot1/Ports/SC2KP1/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/Ports/SC2KP1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/Ports/SC2KP1/index.json new file mode 100644 index 00000000..93a5799a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/Ports/SC2KP1/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "SC2KP1", + "Name": "Port 1", + "CurrentSpeedGbps": 25, + "Ethernet": { + "FlowControlConfiguration": "TX_RX", + "FlowControlStatus": "TX_RX", + "SupportedEthernetCapabilities": [ + "WakeOnLAN" + ] + }, + "LinkConfiguration": [ + { + "LinkNetworkTechnology": "Ethernet", + "AutoSpeedNegotiationCapable": true, + "AutoSpeedNegotiationEnabled": true, + "CapableLinkSpeedGbps": [ + 25, + 50 + ] + } + ], + "LinkNetworkTechnology": "Ethernet", + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "MaxFrameSize": 4096, + "MaxSpeedGbps": 50, + "PortMedium": "Electrical", + "PortType": "UpstreamPort", + "Links": { + "EthernetInterfaces": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/eth1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot1/Ports/SC2KP1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/Ports/SC2KP2/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/Ports/SC2KP2/Metrics/index.json new file mode 100644 index 00000000..4958bac1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/Ports/SC2KP2/Metrics/index.json @@ -0,0 +1,53 @@ +{ + "@odata.type": "#PortMetrics.v1_9_1.PortMetrics", + "RXBytes": 567027413, + "TXBytes": 6620140961, + "RXErrors": 0, + "TXErrors": 0, + "Networking": { + "RXFrames": 3356710, + "RXUnicastFrames": 3354717, + "RXMulticastFrames": 204, + "RXBroadcastFrames": 1789, + "TXFrames": 14358417, + "TXUnicastFrames": 14357401, + "TXMulticastFrames": 670, + "TXBroadcastFrames": 346, + "RXDiscards": 498455, + "RXFrameAlignmentErrors": 0, + "RXFCSErrors": 0, + "RXFalseCarrierErrors": 0, + "RXOversizeFrames": 0, + "RXUndersizeFrames": 0, + "TXDiscards": 0, + "TXExcessiveCollisions": 0, + "TXLateCollisions": 0, + "TXMultipleCollisions": 0, + "TXSingleCollisions": 0, + "RXPFCFrames": 0, + "TXPFCFrames": 0, + "RXPauseXOFFFrames": 0, + "RXPauseXONFrames": 0, + "TXPauseXOFFFrames": 0, + "TXPauseXONFrames": 0, + "RDMARXBytes": 0, + "RDMARXRequests": 0, + "RDMAProtectionErrors": 0, + "RDMAProtocolErrors": 0, + "RDMATXBytes": 0, + "RDMATXRequests": 0, + "RDMATXReadRequests": 0, + "RDMATXSendRequests": 0, + "RDMATXWriteRequests": 0 + }, + "Transceivers": [ + { + "RXInputPowerMilliWatts": 0.06, + "TXBiasCurrentMilliAmps": 49.01, + "TXOutputPowerMilliWatts": 1.263, + "SupplyVoltage": 4.21 + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot1/Ports/SC2KP2/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/Ports/SC2KP2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/Ports/SC2KP2/index.json new file mode 100644 index 00000000..f263d590 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/Ports/SC2KP2/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "SC2KP2", + "Name": "Port 2", + "CurrentSpeedGbps": 25, + "Ethernet": { + "FlowControlConfiguration": "TX_RX", + "FlowControlStatus": "TX_RX", + "SupportedEthernetCapabilities": [ + "WakeOnLAN" + ] + }, + "LinkConfiguration": [ + { + "AutoSpeedNegotiationCapable": true, + "AutoSpeedNegotiationEnabled": true, + "CapableLinkSpeedGbps": [ + 25, + 50 + ] + } + ], + "LinkNetworkTechnology": "Ethernet", + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "MaxFrameSize": 4096, + "MaxSpeedGbps": 50, + "PortMedium": "Electrical", + "PortType": "UpstreamPort", + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot1/Ports/SC2KP2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/Ports/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/Ports/index.json new file mode 100644 index 00000000..267999e9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/Ports/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "Port Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot1/Ports/SC2KP2" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot1/Ports", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/index.json new file mode 100644 index 00000000..4a1746bc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot1/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#NetworkAdapter.v1_14_0.NetworkAdapter", + "Actions": { + "#NetworkAdapter.ResetSettingsToDefault": { + "target": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot1/Actions/NetworkAdapter.ResetSettingsToDefault" + } + }, + "Controllers": [ + { + "ControllerCapabilities": { + "DataCenterBridging": { + "Capable": true + }, + "NetworkDeviceFunctionCount": 2, + "NetworkPortCount": 2, + "VirtualizationOffload": { + "VirtualFunction": { + "DeviceMaxCount": 16, + "MinAssignmentGroupSize": 0, + "NetworkPortMaxCount": 2 + } + }, + "NPAR": { + "NparCapable": false, + "NparEnabled": false + } + }, + "FirmwarePackageVersion": "8.11.0" + } + ], + "Id": "Slot1", + "Manufacturer": "Contoso Systems Inc.", + "Model": "Contoso SuperC 2000 25Gb 2p Adapter", + "Name": "NetworkAdapter", + "NetworkDeviceFunctions": { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot1/NetworkDeviceFunctions" + }, + "Ports": { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot1/Ports" + }, + "PartNumber": "SC2000-CNT5", + "SKU": "14865", + "SerialNumber": "CSC125J87D", + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot2/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot2/Metrics/index.json new file mode 100644 index 00000000..3b2f852b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot2/Metrics/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#NetworkAdapterMetrics.v1_1_0.NetworkAdapterMetrics", + "Id": "NetworkAdapterMetrics", + "Name": "Network Adapter Metrics", + "HostBusRXPercent": 35.53, + "HostBusTXPercent": 14.17, + "CPUCorePercent": 8.35, + "NCSIRXFrames": 0, + "NCSITXFrames": 0, + "NCSIRXBytes": 0, + "NCSITXBytes": 0, + "RXBytes": 7754199970, + "RXMulticastFrames": 1941, + "RXUnicastFrames": 27193387, + "TXBytes": 9436506547, + "TXMulticastFrames": 153, + "TXUnicastFrames": 18205770, + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot2/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot2/NetworkDeviceFunctions/SCFCP1F0/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot2/NetworkDeviceFunctions/SCFCP1F0/Metrics/index.json new file mode 100644 index 00000000..4e1c603e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot2/NetworkDeviceFunctions/SCFCP1F0/Metrics/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#NetworkDeviceFunctionMetrics.v1_2_0.NetworkDeviceFunctionMetrics", + "Id": "NetworkDeviceFunctionMetrics", + "Name": "Network Device Function Metrics", + "TXAvgQueueDepthPercent": 13.7, + "RXAvgQueueDepthPercent": 21.2, + "RXFrames": 27193387, + "RXBytes": 7754199970, + "RXUnicastFrames": 26193387, + "RXMulticastFrames": 1000000, + "TXFrames": 18205770, + "TXBytes": 9436506547, + "TXUnicastFrames": 17205770, + "TXMulticastFrames": 1000000, + "TXQueuesEmpty": false, + "RXQueuesEmpty": false, + "TXQueuesFull": 0, + "RXQueuesFull": 0, + "Ethernet": { + "NumOffloadedIPv4Conns": 0, + "NumOffloadedIPv6Conns": 0 + }, + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot2/NetworkDeviceFunctions/SCFCP1F0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot2/NetworkDeviceFunctions/SCFCP1F0/index.json new file mode 100644 index 00000000..79cac47d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot2/NetworkDeviceFunctions/SCFCP1F0/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#NetworkDeviceFunction.v1_11_1.NetworkDeviceFunction", + "Id": "SCFCP1F0", + "BootMode": "FibreChannel", + "Description": "Network Device Function", + "DeviceEnabled": true, + "FibreChannel": { + "AllowFIPVLANDiscovery": false, + "PermanentWWNN": "AB:CD:AB:CD:AB:CD:AB:CD", + "PermanentWWPN": "BC:DE:BC:DE:BC:DE:BC:DE", + "WWNN": "12:34:12:34:12:34:12:34", + "WWNSource": "ConfiguredLocally", + "WWPN": "23:45:23:45:23:45:23:45" + }, + "MaxVirtualFunctions": 0, + "Metrics": { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot2/NetworkDeviceFunctions/SCFCP1F0/Metrics" + }, + "Name": "Network Device Function", + "NetDevFuncCapabilities": [ + "FibreChannel" + ], + "NetDevFuncType": "FibreChannel", + "VirtualFunctionsEnabled": false, + "Links": { + "PhysicalNetworkPortAssignment": { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot2/Ports/SCFCP1" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot2/NetworkDeviceFunctions/SCFCP1F0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot2/NetworkDeviceFunctions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot2/NetworkDeviceFunctions/index.json new file mode 100644 index 00000000..9458daf2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot2/NetworkDeviceFunctions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#NetworkDeviceFunctionCollection.NetworkDeviceFunctionCollection", + "Name": "Network Device Function Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot2/NetworkDeviceFunctions/SCFCP1F0" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot2/NetworkDeviceFunctions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot2/Ports/SCFCP1/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot2/Ports/SCFCP1/Metrics/index.json new file mode 100644 index 00000000..334141cf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot2/Ports/SCFCP1/Metrics/index.json @@ -0,0 +1,55 @@ +{ + "@odata.type": "#PortMetrics.v1_9_1.PortMetrics", + "Id": "Metrics", + "Name": "Port Metrics", + "RXBytes": 567027413, + "TXBytes": 6620140961, + "RXErrors": 0, + "TXErrors": 0, + "Networking": { + "RXFrames": 3356710, + "RXUnicastFrames": 3354717, + "RXMulticastFrames": 204, + "RXBroadcastFrames": 1789, + "TXFrames": 14358417, + "TXUnicastFrames": 14357401, + "TXMulticastFrames": 670, + "TXBroadcastFrames": 346, + "RXDiscards": 498455, + "RXFrameAlignmentErrors": 0, + "RXFCSErrors": 0, + "RXFalseCarrierErrors": 0, + "RXOversizeFrames": 0, + "RXUndersizeFrames": 0, + "TXDiscards": 0, + "TXExcessiveCollisions": 0, + "TXLateCollisions": 0, + "TXMultipleCollisions": 0, + "TXSingleCollisions": 0, + "RXPFCFrames": 0, + "TXPFCFrames": 0, + "RXPauseXOFFFrames": 0, + "RXPauseXONFrames": 0, + "TXPauseXOFFFrames": 0, + "TXPauseXONFrames": 0, + "RDMARXBytes": 0, + "RDMARXRequests": 0, + "RDMAProtectionErrors": 0, + "RDMAProtocolErrors": 0, + "RDMATXBytes": 0, + "RDMATXRequests": 0, + "RDMATXReadRequests": 0, + "RDMATXSendRequests": 0, + "RDMATXWriteRequests": 0 + }, + "Transceivers": [ + { + "RXInputPowerMilliWatts": 0.06, + "TXBiasCurrentMilliAmps": 49.01, + "TXOutputPowerMilliWatts": 1.263, + "SupplyVoltage": 4.21 + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot2/Ports/SCFCP1/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot2/Ports/SCFCP1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot2/Ports/SCFCP1/index.json new file mode 100644 index 00000000..5a514c43 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot2/Ports/SCFCP1/index.json @@ -0,0 +1,49 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "CurrentSpeedGbps": 32, + "Description": "32Gbps Fibre Channel Port", + "Id": "SCFCP1", + "Enabled": true, + "MaxSpeedGbps": 32, + "Name": "32Gbps Fibre Channel Port", + "PortId": "1", + "PortProtocol": "FC", + "PortType": "BidirectionalPort", + "Width": 1, + "ActiveWidth": 1, + "InterfaceEnabled": true, + "LinkNetworkTechnology": "FibreChannel", + "LinkState": "Enabled", + "LinkStatus": "LinkDown", + "LinkTransitionIndicator": 0, + "Metrics": { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot2/Ports/SCFCP1/Metrics" + }, + "PortMedium": "Electrical", + "SignalDetected": true, + "FibreChannel": { + "FabricName": "ContosoFabric", + "NumberDiscoveredRemotePorts": 0, + "PortConnectionType": "ExtenderFabric" + }, + "LinkConfiguration": [ + { + "LinkNetworkTechnology": "FibreChannel", + "AutoSpeedNegotiationCapable": true, + "AutoSpeedNegotiationEnabled": true, + "ConfiguredNetworkLinks": [] + } + ], + "LocationIndicatorActive": true, + "MaxFrameSize": 2048, + "Actions": { + "#Port.Reset": { + "target": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot2/Ports/SCFCP1/Actions/Port.Reset", + "ResetType@Redfish.AllowableValues": [ + "ForceRestart" + ] + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot2/Ports/SCFCP1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot2/Ports/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot2/Ports/index.json new file mode 100644 index 00000000..caf4aa23 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot2/Ports/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "Port Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot2/Ports/SCFCP1" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot2/Ports", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot2/index.json new file mode 100644 index 00000000..d1ebe2ad --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot2/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#NetworkAdapter.v1_14_0.NetworkAdapter", + "Controllers": [ + { + "ControllerCapabilities": { + "DataCenterBridging": { + "Capable": false + }, + "NetworkDeviceFunctionCount": 1, + "NetworkPortCount": 1 + }, + "FirmwarePackageVersion": "12.13.14", + "PCIeInterface": { + "LanesInUse": 8, + "MaxLanes": 8, + "MaxPCIeType": "Gen4", + "PCIeType": "Gen3" + } + } + ], + "Description": "Contoso 32Gb FC Adapter", + "Id": "Slot2", + "Manufacturer": "Contoso", + "Model": "Contoso SC32G-FC HBA", + "Name": "Contoso SC32G-FC HBA", + "NetworkDeviceFunctions": { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot2/NetworkDeviceFunctions" + }, + "Ports": { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot1/Ports" + }, + "PartNumber": "C873463957", + "SKU": "CNT96376", + "SerialNumber": "ABCD12345", + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Metrics/index.json new file mode 100644 index 00000000..3b2f852b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Metrics/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#NetworkAdapterMetrics.v1_1_0.NetworkAdapterMetrics", + "Id": "NetworkAdapterMetrics", + "Name": "Network Adapter Metrics", + "HostBusRXPercent": 35.53, + "HostBusTXPercent": 14.17, + "CPUCorePercent": 8.35, + "NCSIRXFrames": 0, + "NCSITXFrames": 0, + "NCSIRXBytes": 0, + "NCSITXBytes": 0, + "RXBytes": 7754199970, + "RXMulticastFrames": 1941, + "RXUnicastFrames": 27193387, + "TXBytes": 9436506547, + "TXMulticastFrames": 153, + "TXUnicastFrames": 18205770, + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot2/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P1/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P1/Metrics/index.json new file mode 100644 index 00000000..4e1c603e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P1/Metrics/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#NetworkDeviceFunctionMetrics.v1_2_0.NetworkDeviceFunctionMetrics", + "Id": "NetworkDeviceFunctionMetrics", + "Name": "Network Device Function Metrics", + "TXAvgQueueDepthPercent": 13.7, + "RXAvgQueueDepthPercent": 21.2, + "RXFrames": 27193387, + "RXBytes": 7754199970, + "RXUnicastFrames": 26193387, + "RXMulticastFrames": 1000000, + "TXFrames": 18205770, + "TXBytes": 9436506547, + "TXUnicastFrames": 17205770, + "TXMulticastFrames": 1000000, + "TXQueuesEmpty": false, + "RXQueuesEmpty": false, + "TXQueuesFull": 0, + "RXQueuesFull": 0, + "Ethernet": { + "NumOffloadedIPv4Conns": 0, + "NumOffloadedIPv6Conns": 0 + }, + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P1/index.json new file mode 100644 index 00000000..bbcde4e7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P1/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#NetworkDeviceFunction.v1_11_1.NetworkDeviceFunction", + "Id": "CSP_P1", + "Description": "Network Device Function", + "DeviceEnabled": true, + "Ethernet": { + "PermanentMACAddress": "AA:BB:CC:DD:EE:FF", + "MACAddress": "AA:BB:CC:DD:EE:F0", + "MTUSize": 8192 + }, + "Metrics": { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P1/Metrics" + }, + "Name": "Network Device Function", + "NetDevFuncCapabilities": [ + "Ethernet" + ], + "NetDevFuncType": "Ethernet", + "VirtualFunctionsEnabled": false, + "Links": { + "PhysicalNetworkPortAssignment": { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P1" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P2/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P2/Metrics/index.json new file mode 100644 index 00000000..4e1c603e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P2/Metrics/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#NetworkDeviceFunctionMetrics.v1_2_0.NetworkDeviceFunctionMetrics", + "Id": "NetworkDeviceFunctionMetrics", + "Name": "Network Device Function Metrics", + "TXAvgQueueDepthPercent": 13.7, + "RXAvgQueueDepthPercent": 21.2, + "RXFrames": 27193387, + "RXBytes": 7754199970, + "RXUnicastFrames": 26193387, + "RXMulticastFrames": 1000000, + "TXFrames": 18205770, + "TXBytes": 9436506547, + "TXUnicastFrames": 17205770, + "TXMulticastFrames": 1000000, + "TXQueuesEmpty": false, + "RXQueuesEmpty": false, + "TXQueuesFull": 0, + "RXQueuesFull": 0, + "Ethernet": { + "NumOffloadedIPv4Conns": 0, + "NumOffloadedIPv6Conns": 0 + }, + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P2/index.json new file mode 100644 index 00000000..b1decd13 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P2/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#NetworkDeviceFunction.v1_11_1.NetworkDeviceFunction", + "Id": "CSP_P2", + "Description": "Network Device Function", + "DeviceEnabled": true, + "Ethernet": { + "PermanentMACAddress": "AA:BB:CC:DD:EE:FF", + "MACAddress": "AA:BB:CC:DD:EE:F1", + "MTUSize": 8192 + }, + "Metrics": { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P2/Metrics" + }, + "Name": "Network Device Function", + "NetDevFuncCapabilities": [ + "Ethernet" + ], + "NetDevFuncType": "Ethernet", + "VirtualFunctionsEnabled": false, + "Links": { + "PhysicalNetworkPortAssignment": { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P2" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P3/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P3/Metrics/index.json new file mode 100644 index 00000000..4e1c603e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P3/Metrics/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#NetworkDeviceFunctionMetrics.v1_2_0.NetworkDeviceFunctionMetrics", + "Id": "NetworkDeviceFunctionMetrics", + "Name": "Network Device Function Metrics", + "TXAvgQueueDepthPercent": 13.7, + "RXAvgQueueDepthPercent": 21.2, + "RXFrames": 27193387, + "RXBytes": 7754199970, + "RXUnicastFrames": 26193387, + "RXMulticastFrames": 1000000, + "TXFrames": 18205770, + "TXBytes": 9436506547, + "TXUnicastFrames": 17205770, + "TXMulticastFrames": 1000000, + "TXQueuesEmpty": false, + "RXQueuesEmpty": false, + "TXQueuesFull": 0, + "RXQueuesFull": 0, + "Ethernet": { + "NumOffloadedIPv4Conns": 0, + "NumOffloadedIPv6Conns": 0 + }, + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P3/index.json new file mode 100644 index 00000000..e3588bf2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P3/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#NetworkDeviceFunction.v1_11_1.NetworkDeviceFunction", + "Id": "CSP_P3", + "Description": "Network Device Function", + "DeviceEnabled": true, + "Ethernet": { + "PermanentMACAddress": "AA:BB:CC:DD:EE:FF", + "MACAddress": "AA:BB:CC:DD:EE:F2", + "MTUSize": 8192 + }, + "Metrics": { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P3/Metrics" + }, + "Name": "Network Device Function", + "NetDevFuncCapabilities": [ + "Ethernet" + ], + "NetDevFuncType": "Ethernet", + "VirtualFunctionsEnabled": false, + "Links": { + "PhysicalNetworkPortAssignment": { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P3" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P4/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P4/Metrics/index.json new file mode 100644 index 00000000..4e1c603e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P4/Metrics/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#NetworkDeviceFunctionMetrics.v1_2_0.NetworkDeviceFunctionMetrics", + "Id": "NetworkDeviceFunctionMetrics", + "Name": "Network Device Function Metrics", + "TXAvgQueueDepthPercent": 13.7, + "RXAvgQueueDepthPercent": 21.2, + "RXFrames": 27193387, + "RXBytes": 7754199970, + "RXUnicastFrames": 26193387, + "RXMulticastFrames": 1000000, + "TXFrames": 18205770, + "TXBytes": 9436506547, + "TXUnicastFrames": 17205770, + "TXMulticastFrames": 1000000, + "TXQueuesEmpty": false, + "RXQueuesEmpty": false, + "TXQueuesFull": 0, + "RXQueuesFull": 0, + "Ethernet": { + "NumOffloadedIPv4Conns": 0, + "NumOffloadedIPv6Conns": 0 + }, + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P4/index.json new file mode 100644 index 00000000..c3691c59 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P4/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#NetworkDeviceFunction.v1_11_1.NetworkDeviceFunction", + "Id": "CSP_P4", + "Description": "Network Device Function", + "DeviceEnabled": true, + "Ethernet": { + "PermanentMACAddress": "AA:BB:CC:DD:EE:FF", + "MACAddress": "AA:BB:CC:DD:EE:F3", + "MTUSize": 8192 + }, + "Metrics": { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P4/Metrics" + }, + "Name": "Network Device Function", + "NetDevFuncCapabilities": [ + "Ethernet" + ], + "NetDevFuncType": "Ethernet", + "VirtualFunctionsEnabled": false, + "Links": { + "PhysicalNetworkPortAssignment": { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P4" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/index.json new file mode 100644 index 00000000..69bb8cbc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#NetworkDeviceFunctionCollection.NetworkDeviceFunctionCollection", + "Name": "Network Device Function Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P3" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions/CSP_P4" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot2/NetworkDeviceFunctions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P1/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P1/Metrics/index.json new file mode 100644 index 00000000..48caff5b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P1/Metrics/index.json @@ -0,0 +1,81 @@ +{ + "@odata.type": "#PortMetrics.v1_9_1.PortMetrics", + "Id": "Metrics", + "Name": "Port Metrics", + "RXBytes": 567027413, + "TXBytes": 6620140961, + "RXErrors": 0, + "TXErrors": 0, + "Networking": { + "RXFrames": 3356710, + "RXUnicastFrames": 3354717, + "RXMulticastFrames": 204, + "RXBroadcastFrames": 1789, + "TXFrames": 14358417, + "TXUnicastFrames": 14357401, + "TXMulticastFrames": 670, + "TXBroadcastFrames": 346, + "RXDiscards": 498455, + "RXFrameAlignmentErrors": 0, + "RXFCSErrors": 0, + "RXFalseCarrierErrors": 0, + "RXOversizeFrames": 0, + "RXUndersizeFrames": 0, + "TXDiscards": 0, + "TXExcessiveCollisions": 0, + "TXLateCollisions": 0, + "TXMultipleCollisions": 0, + "TXSingleCollisions": 0, + "RXPFCFrames": 0, + "TXPFCFrames": 0, + "RXPauseXOFFFrames": 0, + "RXPauseXONFrames": 0, + "TXPauseXOFFFrames": 0, + "TXPauseXONFrames": 0, + "RDMARXBytes": 0, + "RDMARXRequests": 0, + "RDMAProtectionErrors": 0, + "RDMAProtocolErrors": 0, + "RDMATXBytes": 0, + "RDMATXRequests": 0, + "RDMATXReadRequests": 0, + "RDMATXSendRequests": 0, + "RDMATXWriteRequests": 0 + }, + "Transceivers": [ + { + "RXInputPowerMilliWatts": 0.06, + "TXBiasCurrentMilliAmps": 49.01, + "TXOutputPowerMilliWatts": 1.263, + "SupplyVoltage": 4.21, + "ByLane": [ + { + "LaneId": 1, + "RXInputPowerMilliWatts": 0.03, + "TXBiasCurrentMilliAmps": 24.51, + "TXOutputPowerMilliWatts": 0.632 + }, + { + "LaneId": 2, + "RXInputPowerMilliWatts": 0.03, + "TXBiasCurrentMilliAmps": 24.51, + "TXOutputPowerMilliWatts": 0.632 + }, + { + "LaneId": 3, + "RXInputPowerMilliWatts": 0.03, + "TXBiasCurrentMilliAmps": 24.51, + "TXOutputPowerMilliWatts": 0.632 + }, + { + "LaneId": 4, + "RXInputPowerMilliWatts": 0.03, + "TXBiasCurrentMilliAmps": 24.51, + "TXOutputPowerMilliWatts": 0.632 + } + ] + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot2/Ports/SCFCP1/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P1/index.json new file mode 100644 index 00000000..37d9e1cc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P1/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "CurrentSpeedGbps": 25, + "Description": "First subport for physical port 1", + "Id": "CSP_P1", + "Enabled": true, + "Ethernet": { + "FlowControlConfiguration": "TX_RX", + "FlowControlStatus": "TX_RX", + "SupportedEthernetCapabilities": [ + "WakeOnLAN" + ] + }, + "MaxSpeedGbps": 25, + "Name": "25Gbps Ethernet Subport", + "PortId": "1", + "PortType": "UpstreamPort", + "LinkNetworkTechnology": "Ethernet", + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "MaxFrameSize": 4096, + "PortMedium": "Electrical", + "Metrics": { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P1/Metrics" + }, + "LinkConfiguration": [ + { + "LinkNetworkTechnology": "Ethernet", + "AutoSpeedNegotiationCapable": false, + "AutoSpeedNegotiationEnabled": false, + "ConfiguredNetworkLinks": [] + } + ], + "Width": 4, + "IsSplit": true, + "FirstLane": 1, + "AssociatedPhysicalPort": 1, + "Actions": { + "#Port.Reset": { + "target": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P1/Actions/Port.Reset", + "ResetType@Redfish.AllowableValues": [ + "ForceRestart" + ] + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P2/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P2/Metrics/index.json new file mode 100644 index 00000000..75fa6c5a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P2/Metrics/index.json @@ -0,0 +1,81 @@ +{ + "@odata.type": "#PortMetrics.v1_9_1.PortMetrics", + "Id": "Metrics", + "Name": "Port Metrics", + "RXBytes": 567027413, + "TXBytes": 6620140961, + "RXErrors": 0, + "TXErrors": 0, + "Networking": { + "RXFrames": 3356710, + "RXUnicastFrames": 3354717, + "RXMulticastFrames": 204, + "RXBroadcastFrames": 1789, + "TXFrames": 14358417, + "TXUnicastFrames": 14357401, + "TXMulticastFrames": 670, + "TXBroadcastFrames": 346, + "RXDiscards": 498455, + "RXFrameAlignmentErrors": 0, + "RXFCSErrors": 0, + "RXFalseCarrierErrors": 0, + "RXOversizeFrames": 0, + "RXUndersizeFrames": 0, + "TXDiscards": 0, + "TXExcessiveCollisions": 0, + "TXLateCollisions": 0, + "TXMultipleCollisions": 0, + "TXSingleCollisions": 0, + "RXPFCFrames": 0, + "TXPFCFrames": 0, + "RXPauseXOFFFrames": 0, + "RXPauseXONFrames": 0, + "TXPauseXOFFFrames": 0, + "TXPauseXONFrames": 0, + "RDMARXBytes": 0, + "RDMARXRequests": 0, + "RDMAProtectionErrors": 0, + "RDMAProtocolErrors": 0, + "RDMATXBytes": 0, + "RDMATXRequests": 0, + "RDMATXReadRequests": 0, + "RDMATXSendRequests": 0, + "RDMATXWriteRequests": 0 + }, + "Transceivers": [ + { + "RXInputPowerMilliWatts": 0.06, + "TXBiasCurrentMilliAmps": 49.01, + "TXOutputPowerMilliWatts": 1.263, + "SupplyVoltage": 4.21, + "ByLane": [ + { + "LaneId": 5, + "RXInputPowerMilliWatts": 0.03, + "TXBiasCurrentMilliAmps": 24.51, + "TXOutputPowerMilliWatts": 0.632 + }, + { + "LaneId": 6, + "RXInputPowerMilliWatts": 0.03, + "TXBiasCurrentMilliAmps": 24.51, + "TXOutputPowerMilliWatts": 0.632 + }, + { + "LaneId": 7, + "RXInputPowerMilliWatts": 0.03, + "TXBiasCurrentMilliAmps": 24.51, + "TXOutputPowerMilliWatts": 0.632 + }, + { + "LaneId": 8, + "RXInputPowerMilliWatts": 0.03, + "TXBiasCurrentMilliAmps": 24.51, + "TXOutputPowerMilliWatts": 0.632 + } + ] + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot2/Ports/SCFCP1/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P2/index.json new file mode 100644 index 00000000..2190a258 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P2/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "CurrentSpeedGbps": 25, + "Description": "Second subport for physical port 1", + "Id": "CSP_P2", + "Enabled": true, + "Ethernet": { + "FlowControlConfiguration": "TX_RX", + "FlowControlStatus": "TX_RX", + "SupportedEthernetCapabilities": [ + "WakeOnLAN" + ] + }, + "MaxSpeedGbps": 25, + "Name": "25Gbps Ethernet Subport", + "PortId": "1", + "PortType": "UpstreamPort", + "LinkNetworkTechnology": "Ethernet", + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "MaxFrameSize": 4096, + "PortMedium": "Electrical", + "Metrics": { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P2/Metrics" + }, + "LinkConfiguration": [ + { + "LinkNetworkTechnology": "Ethernet", + "AutoSpeedNegotiationCapable": false, + "AutoSpeedNegotiationEnabled": false, + "ConfiguredNetworkLinks": [] + } + ], + "Width": 4, + "IsSplit": true, + "FirstLane": 5, + "AssociatedPhysicalPort": 1, + "Actions": { + "#Port.Reset": { + "target": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P2/Actions/Port.Reset", + "ResetType@Redfish.AllowableValues": [ + "ForceRestart" + ] + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P3/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P3/Metrics/index.json new file mode 100644 index 00000000..48caff5b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P3/Metrics/index.json @@ -0,0 +1,81 @@ +{ + "@odata.type": "#PortMetrics.v1_9_1.PortMetrics", + "Id": "Metrics", + "Name": "Port Metrics", + "RXBytes": 567027413, + "TXBytes": 6620140961, + "RXErrors": 0, + "TXErrors": 0, + "Networking": { + "RXFrames": 3356710, + "RXUnicastFrames": 3354717, + "RXMulticastFrames": 204, + "RXBroadcastFrames": 1789, + "TXFrames": 14358417, + "TXUnicastFrames": 14357401, + "TXMulticastFrames": 670, + "TXBroadcastFrames": 346, + "RXDiscards": 498455, + "RXFrameAlignmentErrors": 0, + "RXFCSErrors": 0, + "RXFalseCarrierErrors": 0, + "RXOversizeFrames": 0, + "RXUndersizeFrames": 0, + "TXDiscards": 0, + "TXExcessiveCollisions": 0, + "TXLateCollisions": 0, + "TXMultipleCollisions": 0, + "TXSingleCollisions": 0, + "RXPFCFrames": 0, + "TXPFCFrames": 0, + "RXPauseXOFFFrames": 0, + "RXPauseXONFrames": 0, + "TXPauseXOFFFrames": 0, + "TXPauseXONFrames": 0, + "RDMARXBytes": 0, + "RDMARXRequests": 0, + "RDMAProtectionErrors": 0, + "RDMAProtocolErrors": 0, + "RDMATXBytes": 0, + "RDMATXRequests": 0, + "RDMATXReadRequests": 0, + "RDMATXSendRequests": 0, + "RDMATXWriteRequests": 0 + }, + "Transceivers": [ + { + "RXInputPowerMilliWatts": 0.06, + "TXBiasCurrentMilliAmps": 49.01, + "TXOutputPowerMilliWatts": 1.263, + "SupplyVoltage": 4.21, + "ByLane": [ + { + "LaneId": 1, + "RXInputPowerMilliWatts": 0.03, + "TXBiasCurrentMilliAmps": 24.51, + "TXOutputPowerMilliWatts": 0.632 + }, + { + "LaneId": 2, + "RXInputPowerMilliWatts": 0.03, + "TXBiasCurrentMilliAmps": 24.51, + "TXOutputPowerMilliWatts": 0.632 + }, + { + "LaneId": 3, + "RXInputPowerMilliWatts": 0.03, + "TXBiasCurrentMilliAmps": 24.51, + "TXOutputPowerMilliWatts": 0.632 + }, + { + "LaneId": 4, + "RXInputPowerMilliWatts": 0.03, + "TXBiasCurrentMilliAmps": 24.51, + "TXOutputPowerMilliWatts": 0.632 + } + ] + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot2/Ports/SCFCP1/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P3/index.json new file mode 100644 index 00000000..b3655471 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P3/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "CurrentSpeedGbps": 25, + "Description": "First subport for physical port 2", + "Id": "CSP_P3", + "Enabled": true, + "Ethernet": { + "FlowControlConfiguration": "TX_RX", + "FlowControlStatus": "TX_RX", + "SupportedEthernetCapabilities": [ + "WakeOnLAN" + ] + }, + "MaxSpeedGbps": 25, + "Name": "25Gbps Ethernet Subport", + "PortId": "1", + "PortType": "UpstreamPort", + "LinkNetworkTechnology": "Ethernet", + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "MaxFrameSize": 4096, + "PortMedium": "Electrical", + "Metrics": { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P3/Metrics" + }, + "LinkConfiguration": [ + { + "LinkNetworkTechnology": "Ethernet", + "AutoSpeedNegotiationCapable": false, + "AutoSpeedNegotiationEnabled": false, + "ConfiguredNetworkLinks": [] + } + ], + "Width": 4, + "IsSplit": true, + "FirstLane": 1, + "AssociatedPhysicalPort": 2, + "Actions": { + "#Port.Reset": { + "target": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P3/Actions/Port.Reset", + "ResetType@Redfish.AllowableValues": [ + "ForceRestart" + ] + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P4/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P4/Metrics/index.json new file mode 100644 index 00000000..75fa6c5a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P4/Metrics/index.json @@ -0,0 +1,81 @@ +{ + "@odata.type": "#PortMetrics.v1_9_1.PortMetrics", + "Id": "Metrics", + "Name": "Port Metrics", + "RXBytes": 567027413, + "TXBytes": 6620140961, + "RXErrors": 0, + "TXErrors": 0, + "Networking": { + "RXFrames": 3356710, + "RXUnicastFrames": 3354717, + "RXMulticastFrames": 204, + "RXBroadcastFrames": 1789, + "TXFrames": 14358417, + "TXUnicastFrames": 14357401, + "TXMulticastFrames": 670, + "TXBroadcastFrames": 346, + "RXDiscards": 498455, + "RXFrameAlignmentErrors": 0, + "RXFCSErrors": 0, + "RXFalseCarrierErrors": 0, + "RXOversizeFrames": 0, + "RXUndersizeFrames": 0, + "TXDiscards": 0, + "TXExcessiveCollisions": 0, + "TXLateCollisions": 0, + "TXMultipleCollisions": 0, + "TXSingleCollisions": 0, + "RXPFCFrames": 0, + "TXPFCFrames": 0, + "RXPauseXOFFFrames": 0, + "RXPauseXONFrames": 0, + "TXPauseXOFFFrames": 0, + "TXPauseXONFrames": 0, + "RDMARXBytes": 0, + "RDMARXRequests": 0, + "RDMAProtectionErrors": 0, + "RDMAProtocolErrors": 0, + "RDMATXBytes": 0, + "RDMATXRequests": 0, + "RDMATXReadRequests": 0, + "RDMATXSendRequests": 0, + "RDMATXWriteRequests": 0 + }, + "Transceivers": [ + { + "RXInputPowerMilliWatts": 0.06, + "TXBiasCurrentMilliAmps": 49.01, + "TXOutputPowerMilliWatts": 1.263, + "SupplyVoltage": 4.21, + "ByLane": [ + { + "LaneId": 5, + "RXInputPowerMilliWatts": 0.03, + "TXBiasCurrentMilliAmps": 24.51, + "TXOutputPowerMilliWatts": 0.632 + }, + { + "LaneId": 6, + "RXInputPowerMilliWatts": 0.03, + "TXBiasCurrentMilliAmps": 24.51, + "TXOutputPowerMilliWatts": 0.632 + }, + { + "LaneId": 7, + "RXInputPowerMilliWatts": 0.03, + "TXBiasCurrentMilliAmps": 24.51, + "TXOutputPowerMilliWatts": 0.632 + }, + { + "LaneId": 8, + "RXInputPowerMilliWatts": 0.03, + "TXBiasCurrentMilliAmps": 24.51, + "TXOutputPowerMilliWatts": 0.632 + } + ] + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot2/Ports/SCFCP1/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P4/index.json new file mode 100644 index 00000000..525a153f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P4/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "CurrentSpeedGbps": 25, + "Description": "Second subport for physical port 2", + "Id": "CSP_P4", + "Enabled": true, + "Ethernet": { + "FlowControlConfiguration": "TX_RX", + "FlowControlStatus": "TX_RX", + "SupportedEthernetCapabilities": [ + "WakeOnLAN" + ] + }, + "MaxSpeedGbps": 25, + "Name": "25Gbps Ethernet Subport", + "PortId": "1", + "PortType": "UpstreamPort", + "LinkNetworkTechnology": "Ethernet", + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "MaxFrameSize": 4096, + "PortMedium": "Electrical", + "Metrics": { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P4/Metrics" + }, + "LinkConfiguration": [ + { + "LinkNetworkTechnology": "Ethernet", + "AutoSpeedNegotiationCapable": false, + "AutoSpeedNegotiationEnabled": false, + "ConfiguredNetworkLinks": [] + } + ], + "Width": 4, + "IsSplit": true, + "FirstLane": 5, + "AssociatedPhysicalPort": 2, + "Actions": { + "#Port.Reset": { + "target": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P4/Actions/Port.Reset", + "ResetType@Redfish.AllowableValues": [ + "ForceRestart" + ] + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Ports/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Ports/index.json new file mode 100644 index 00000000..c657dd5c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/Ports/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "Port Collection", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P3" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot3/Ports/CSP_P4" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot3/Ports", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/index.json new file mode 100644 index 00000000..4222cc43 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot3/index.json @@ -0,0 +1,160 @@ +{ + "@odata.type": "#NetworkAdapter.v1_14_0.NetworkAdapter", + "Controllers": [ + { + "ControllerCapabilities": { + "DataCenterBridging": { + "Capable": false + }, + "NetworkDeviceFunctionCount": 1, + "NetworkPortCount": 1 + }, + "FirmwarePackageVersion": "12.13.14", + "PCIeInterface": { + "LanesInUse": 8, + "MaxLanes": 8, + "MaxPCIeType": "Gen4", + "PCIeType": "Gen3" + } + } + ], + "Description": "Contoso 100Gb Port Splitting Ethernet Adapter", + "Id": "Slot3", + "Manufacturer": "Contoso", + "Model": "Contoso PS100 NIC", + "Name": "Contoso PS100 NIC", + "NetworkDeviceFunctions": { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot3/NetworkDeviceFunctions" + }, + "Ports": { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot3/Ports" + }, + "PortSplitting": { + "MaximumSubports": 8, + "MaximumSubportsPerPort": 4, + "SupportedConfigurations": [ + { + "Subconfigurations": [ + { + "StartingPhysicalPort": 1, + "EndingPhysicalPort": 2, + "FirstSubportId": 1, + "SubportsPerPort": 1, + "Lanes": [ + 8 + ], + "LinkSpeedGbps": [ + 50 + ] + } + ] + }, + { + "Subconfigurations": [ + { + "StartingPhysicalPort": 1, + "EndingPhysicalPort": 2, + "FirstSubportId": 1, + "SubportsPerPort": 2, + "Lanes": [ + 4, + 4 + ], + "LinkSpeedGbps": [ + 25, + 25 + ] + } + ] + }, + { + "Subconfigurations": [ + { + "StartingPhysicalPort": 1, + "EndingPhysicalPort": 1, + "FirstSubportId": 1, + "SubportsPerPort": 4, + "Lanes": [ + 2, + 2, + 2, + 2 + ], + "LinkSpeedGbps": [ + 25, + 25, + 25, + 25 + ] + }, + { + "StartingPhysicalPort": 2, + "EndingPhysicalPort": 2, + "SubportsPerPort": 1, + "Lanes": [ + 8 + ], + "LinkSpeedGbps": [ + 0 + ] + } + ] + }, + { + "Subconfigurations": [ + { + "StartingPhysicalPort": 1, + "EndingPhysicalPort": 1, + "FirstSubportId": 1, + "SubportsPerPort": 3, + "Lanes": [ + 2, + 2, + 4 + ], + "LinkSpeedGbps": [ + 10, + 10, + 25 + ] + }, + { + "StartingPhysicalPort": 2, + "EndingPhysicalPort": 2, + "FirstSubportId": 5, + "SubportsPerPort": 2, + "Lanes": [ + 4, + 4 + ], + "LinkSpeedGbps": [ + 25, + 25 + ] + } + ] + } + ], + "CurrentConfiguration": [ + { + "StartingPhysicalPort": 1, + "EndingPhysicalPort": 2, + "FirstSubportId": 1, + "SubportsPerPort": 2, + "Lanes": [ + 4, + 4 + ], + "LinkSpeedGbps": [ + 25, + 25 + ] + } + ] + }, + "PartNumber": "C873498757", + "SKU": "CNT967776", + "SerialNumber": "ABCDE2345", + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/NetworkDeviceFunctions/NDF1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/NetworkDeviceFunctions/NDF1/index.json new file mode 100644 index 00000000..32b105ae --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/NetworkDeviceFunctions/NDF1/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#NetworkDeviceFunction.v1_11_1.NetworkDeviceFunction", + "AssignablePhysicalNetworkPorts": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot4/Ports/AG_P1" + } + ], + "BootMode": "PXE", + "DeviceEnabled": true, + "Ethernet": { + "MACAddress": "aa:bb:cc:dd:ee:f5", + "MTUSize": 1522, + "PermanentMACAddress": "a1:b1:c1:d1:e1:f1", + "MTUSizeMaximum": 8192, + "AdditionalProtocols": [ + "RoCEv2" + ] + }, + "Id": "NDF1", + "Links": { + "PhysicalNetworkPortAssignment": { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot4/Ports/AG_P1" + } + }, + "MaxVirtualFunctions": 16, + "Name": "NetworkDeviceFunction", + "NetDevFuncCapabilities": [ + "Ethernet" + ], + "NetDevFuncType": "Ethernet", + "VirtualFunctionsEnabled": false, + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot4/NetworkDeviceFunctions/NDF1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/NetworkDeviceFunctions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/NetworkDeviceFunctions/index.json new file mode 100644 index 00000000..90122b6b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/NetworkDeviceFunctions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#NetworkDeviceFunctionCollection.NetworkDeviceFunctionCollection", + "Name": "Network Device Function Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot4/NetworkDeviceFunctions/NDF1" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot4/NetworkDeviceFunctions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/AG_P1/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/AG_P1/Metrics/index.json new file mode 100644 index 00000000..74ccc64a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/AG_P1/Metrics/index.json @@ -0,0 +1,47 @@ +{ + "@odata.type": "#PortMetrics.v1_9_1.PortMetrics", + "Id": "Metrics", + "Name": "Port Metrics", + "Networking": { + "RDMAProtectionErrors": 0, + "RDMAProtocolErrors": 0, + "RDMARXBytes": 0, + "RDMARXRequests": 0, + "RDMATXBytes": 0, + "RDMATXReadRequests": 0, + "RDMATXRequests": 0, + "RDMATXSendRequests": 0, + "RDMATXWriteRequests": 0, + "RXBroadcastFrames": 47000, + "RXDiscards": 0, + "RXFCSErrors": 0, + "RXFalseCarrierErrors": 0, + "RXFrameAlignmentErrors": 0, + "RXFrames": 46833333, + "RXMulticastFrames": 47000, + "RXOversizeFrames": 0, + "RXPFCFrames": 0, + "RXPauseXOFFFrames": 0, + "RXPauseXONFrames": 0, + "RXUndersizeFrames": 0, + "RXUnicastFrames": 46739333, + "TXBroadcastFrames": 33000, + "TXDiscards": 0, + "TXExcessiveCollisions": 0, + "TXFrames": 33216666, + "TXLateCollisions": 0, + "TXMulticastFrames": 33000, + "TXMultipleCollisions": 0, + "TXPFCFrames": 0, + "TXPauseXOFFFrames": 0, + "TXPauseXONFrames": 0, + "TXSingleCollisions": 0, + "TXUnicastFrames": 33150666 + }, + "RXErrors": 0, + "RXBytes": 58938360320, + "TXErrors": 0, + "TXBytes": 41800433920, + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot4/Ports/AG_P1/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/AG_P1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/AG_P1/index.json new file mode 100644 index 00000000..31f86a8d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/AG_P1/index.json @@ -0,0 +1,61 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "CurrentSpeedGbps": 100, + "Description": "Aggregated port 1", + "Id": "AG_P1", + "Enabled": true, + "Ethernet": { + "FlowControlConfiguration": "TX_RX", + "FlowControlStatus": "TX_RX", + "SupportedEthernetCapabilities": [ + "WakeOnLAN" + ] + }, + "MaxSpeedGbps": 100, + "Name": "100Gbps Ethernet Support", + "PortType": "UpstreamPort", + "LinkNetworkTechnology": "Ethernet", + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "MaxFrameSize": 4096, + "PortMedium": "Electrical", + "Metrics": { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot4/Ports/AG_P1/Metrics" + }, + "LinkConfiguration": [ + { + "LinkNetworkTechnology": "Ethernet", + "AutoSpeedNegotiationCapable": false, + "AutoSpeedNegotiationEnabled": false + } + ], + "Width": 1, + "IsSplit": false, + "IsAggregation": true, + "Actions": { + "#Port.Reset": { + "target": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot4/Ports/AG_P1/Actions/Port.Reset", + "ResetType@Redfish.AllowableValues": [ + "ForceRestart" + ] + } + }, + "Links": { + "AssociatedPhysicalPorts": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P3" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P4" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot4/Ports/AG_P1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P1/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P1/Metrics/index.json new file mode 100644 index 00000000..78593257 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P1/Metrics/index.json @@ -0,0 +1,47 @@ +{ + "@odata.type": "#PortMetrics.v1_9_1.PortMetrics", + "Id": "Metrics", + "Name": "Port Metrics", + "Networking": { + "RDMAProtectionErrors": 0, + "RDMAProtocolErrors": 0, + "RDMARXBytes": 0, + "RDMARXRequests": 0, + "RDMATXBytes": 0, + "RDMATXReadRequests": 0, + "RDMATXRequests": 0, + "RDMATXSendRequests": 0, + "RDMATXWriteRequests": 0, + "RXBroadcastFrames": 12500, + "RXDiscards": 0, + "RXFCSErrors": 0, + "RXFalseCarrierErrors": 0, + "RXFrameAlignmentErrors": 0, + "RXFrames": 12500000, + "RXMulticastFrames": 12500, + "RXOversizeFrames": 0, + "RXPFCFrames": 0, + "RXPauseXOFFFrames": 0, + "RXPauseXONFrames": 0, + "RXUndersizeFrames": 0, + "RXUnicastFrames": 12475000, + "TXBroadcastFrames": 8500, + "TXDiscards": 0, + "TXExcessiveCollisions": 0, + "TXFrames": 8333333, + "TXLateCollisions": 0, + "TXMulticastFrames": 8500, + "TXMultipleCollisions": 0, + "TXPFCFrames": 0, + "TXPauseXOFFFrames": 0, + "TXPauseXONFrames": 0, + "TXSingleCollisions": 0, + "TXUnicastFrames": 8316333 + }, + "RXErrors": 0, + "RXBytes": 15728640000, + "TXErrors": 0, + "TXBytes": 10485760000, + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P1/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P1/index.json new file mode 100644 index 00000000..532d0804 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P1/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "CurrentSpeedGbps": 25, + "Description": "Physical port 1", + "Id": "PHY_P1", + "Enabled": true, + "Ethernet": { + "FlowControlConfiguration": "TX_RX", + "FlowControlStatus": "TX_RX", + "SupportedEthernetCapabilities": [ + "WakeOnLAN" + ] + }, + "MaxSpeedGbps": 25, + "Name": "25Gbps Ethernet Support", + "PortId": "1", + "PortType": "UpstreamPort", + "LinkNetworkTechnology": "Ethernet", + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "MaxFrameSize": 4096, + "PortMedium": "Electrical", + "Metrics": { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P1/Metrics" + }, + "LinkConfiguration": [ + { + "LinkNetworkTechnology": "Ethernet", + "AutoSpeedNegotiationCapable": false, + "AutoSpeedNegotiationEnabled": false + } + ], + "Width": 1, + "IsSplit": false, + "IsAggregation": false, + "Actions": { + "#Port.Reset": { + "target": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P1/Actions/Port.Reset", + "ResetType@Redfish.AllowableValues": [ + "ForceRestart" + ] + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P2/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P2/Metrics/index.json new file mode 100644 index 00000000..46570e94 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P2/Metrics/index.json @@ -0,0 +1,47 @@ +{ + "@odata.type": "#PortMetrics.v1_9_1.PortMetrics", + "Id": "Metrics", + "Name": "Port Metrics", + "Networking": { + "RDMAProtectionErrors": 0, + "RDMAProtocolErrors": 0, + "RDMARXBytes": 0, + "RDMARXRequests": 0, + "RDMATXBytes": 0, + "RDMATXReadRequests": 0, + "RDMATXRequests": 0, + "RDMATXSendRequests": 0, + "RDMATXWriteRequests": 0, + "RXBroadcastFrames": 9800, + "RXDiscards": 0, + "RXFCSErrors": 0, + "RXFalseCarrierErrors": 0, + "RXFrameAlignmentErrors": 0, + "RXFrames": 9166667, + "RXMulticastFrames": 9800, + "RXOversizeFrames": 0, + "RXPFCFrames": 0, + "RXPauseXOFFFrames": 0, + "RXPauseXONFrames": 0, + "RXUndersizeFrames": 0, + "RXUnicastFrames": 9147067, + "TXBroadcastFrames": 7200, + "TXDiscards": 0, + "TXExcessiveCollisions": 0, + "TXFrames": 7500000, + "TXLateCollisions": 0, + "TXMulticastFrames": 7200, + "TXMultipleCollisions": 0, + "TXPFCFrames": 0, + "TXPauseXOFFFrames": 0, + "TXPauseXONFrames": 0, + "TXSingleCollisions": 0, + "TXUnicastFrames": 7485600 + }, + "RXErrors": 0, + "RXBytes": 11534336000, + "TXErrors": 0, + "TXBytes": 9437184000, + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P2/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P2/index.json new file mode 100644 index 00000000..59b4a982 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P2/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "CurrentSpeedGbps": 25, + "Description": "Physical port 2", + "Id": "PHY_P2", + "Enabled": true, + "Ethernet": { + "FlowControlConfiguration": "TX_RX", + "FlowControlStatus": "TX_RX", + "SupportedEthernetCapabilities": [ + "WakeOnLAN" + ] + }, + "MaxSpeedGbps": 25, + "Name": "25Gbps Ethernet Support", + "PortId": "2", + "PortType": "UpstreamPort", + "LinkNetworkTechnology": "Ethernet", + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "MaxFrameSize": 4096, + "PortMedium": "Electrical", + "Metrics": { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P2/Metrics" + }, + "LinkConfiguration": [ + { + "LinkNetworkTechnology": "Ethernet", + "AutoSpeedNegotiationCapable": false, + "AutoSpeedNegotiationEnabled": false + } + ], + "Width": 1, + "IsSplit": false, + "IsAggregation": false, + "Actions": { + "#Port.Reset": { + "target": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P2/Actions/Port.Reset", + "ResetType@Redfish.AllowableValues": [ + "ForceRestart" + ] + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P3/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P3/Metrics/index.json new file mode 100644 index 00000000..d66eb06d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P3/Metrics/index.json @@ -0,0 +1,47 @@ +{ + "@odata.type": "#PortMetrics.v1_9_1.PortMetrics", + "Id": "Metrics", + "Name": "Port Metrics", + "Networking": { + "RDMAProtectionErrors": 0, + "RDMAProtocolErrors": 0, + "RDMARXBytes": 0, + "RDMARXRequests": 0, + "RDMATXBytes": 0, + "RDMATXReadRequests": 0, + "RDMATXRequests": 0, + "RDMATXSendRequests": 0, + "RDMATXWriteRequests": 0, + "RXBroadcastFrames": 14200, + "RXDiscards": 0, + "RXFCSErrors": 0, + "RXFalseCarrierErrors": 0, + "RXFrameAlignmentErrors": 0, + "RXFrames": 14500000, + "RXMulticastFrames": 14200, + "RXOversizeFrames": 0, + "RXPFCFrames": 0, + "RXPauseXOFFFrames": 0, + "RXPauseXONFrames": 0, + "RXUndersizeFrames": 0, + "RXUnicastFrames": 14471600, + "TXBroadcastFrames": 9300, + "TXDiscards": 0, + "TXExcessiveCollisions": 0, + "TXFrames": 9383333, + "TXLateCollisions": 0, + "TXMulticastFrames": 9300, + "TXMultipleCollisions": 0, + "TXPFCFrames": 0, + "TXPauseXOFFFrames": 0, + "TXPauseXONFrames": 0, + "TXSingleCollisions": 0, + "TXUnicastFrames": 9364733 + }, + "RXErrors": 0, + "RXBytes": 18253611520, + "TXErrors": 0, + "TXBytes": 11811160320, + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P3/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P3/index.json new file mode 100644 index 00000000..c1994c56 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P3/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "CurrentSpeedGbps": 25, + "Description": "Physical port 3", + "Id": "PHY_P3", + "Enabled": true, + "Ethernet": { + "FlowControlConfiguration": "TX_RX", + "FlowControlStatus": "TX_RX", + "SupportedEthernetCapabilities": [ + "WakeOnLAN" + ] + }, + "MaxSpeedGbps": 25, + "Name": "25Gbps Ethernet Support", + "PortId": "3", + "PortType": "UpstreamPort", + "LinkNetworkTechnology": "Ethernet", + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "MaxFrameSize": 4096, + "PortMedium": "Electrical", + "Metrics": { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P3/Metrics" + }, + "LinkConfiguration": [ + { + "LinkNetworkTechnology": "Ethernet", + "AutoSpeedNegotiationCapable": false, + "AutoSpeedNegotiationEnabled": false + } + ], + "Width": 1, + "IsSplit": false, + "IsAggregation": false, + "Actions": { + "#Port.Reset": { + "target": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P3/Actions/Port.Reset", + "ResetType@Redfish.AllowableValues": [ + "ForceRestart" + ] + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P4/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P4/Metrics/index.json new file mode 100644 index 00000000..c7838fe0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P4/Metrics/index.json @@ -0,0 +1,47 @@ +{ + "@odata.type": "#PortMetrics.v1_9_1.PortMetrics", + "Id": "Metrics", + "Name": "Port Metrics", + "Networking": { + "RDMAProtectionErrors": 0, + "RDMAProtocolErrors": 0, + "RDMARXBytes": 0, + "RDMARXRequests": 0, + "RDMATXBytes": 0, + "RDMATXReadRequests": 0, + "RDMATXRequests": 0, + "RDMATXSendRequests": 0, + "RDMATXWriteRequests": 0, + "RXBroadcastFrames": 10500, + "RXDiscards": 0, + "RXFCSErrors": 0, + "RXFalseCarrierErrors": 0, + "RXFrameAlignmentErrors": 0, + "RXFrames": 10666666, + "RXMulticastFrames": 10500, + "RXOversizeFrames": 0, + "RXPFCFrames": 0, + "RXPauseXOFFFrames": 0, + "RXPauseXONFrames": 0, + "RXUndersizeFrames": 0, + "RXUnicastFrames": 10645666, + "TXBroadcastFrames": 8000, + "TXDiscards": 0, + "TXExcessiveCollisions": 0, + "TXFrames": 8000000, + "TXLateCollisions": 0, + "TXMulticastFrames": 8000, + "TXMultipleCollisions": 0, + "TXPFCFrames": 0, + "TXPauseXOFFFrames": 0, + "TXPauseXONFrames": 0, + "TXSingleCollisions": 0, + "TXUnicastFrames": 7984000 + }, + "RXErrors": 0, + "RXBytes": 13421772800, + "TXErrors": 0, + "TXBytes": 10066329600, + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P4/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P4/index.json new file mode 100644 index 00000000..ea810fc1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P4/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "CurrentSpeedGbps": 25, + "Description": "Physical port 4", + "Id": "PHY_P4", + "Enabled": true, + "Ethernet": { + "FlowControlConfiguration": "TX_RX", + "FlowControlStatus": "TX_RX", + "SupportedEthernetCapabilities": [ + "WakeOnLAN" + ] + }, + "MaxSpeedGbps": 25, + "Name": "25Gbps Ethernet Support", + "PortId": "4", + "PortType": "UpstreamPort", + "LinkNetworkTechnology": "Ethernet", + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "MaxFrameSize": 4096, + "PortMedium": "Electrical", + "Metrics": { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P4/Metrics" + }, + "LinkConfiguration": [ + { + "LinkNetworkTechnology": "Ethernet", + "AutoSpeedNegotiationCapable": false, + "AutoSpeedNegotiationEnabled": false + } + ], + "Width": 1, + "IsSplit": false, + "IsAggregation": false, + "Actions": { + "#Port.Reset": { + "target": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P4/Actions/Port.Reset", + "ResetType@Redfish.AllowableValues": [ + "ForceRestart" + ] + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/index.json new file mode 100644 index 00000000..acab1999 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/Ports/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "Port Collection", + "Members@odata.count": 5, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot4/Ports/AG_P1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P3" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot4/Ports/PHY_P4" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot4/Ports", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/index.json new file mode 100644 index 00000000..8abfa8e4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/Slot4/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#NetworkAdapter.v1_14_0.NetworkAdapter", + "Id": "Slot4", + "Manufacturer": "Contoso Systems Inc.", + "Model": "Contoso PS200 NIC", + "Name": "NetworkAdapter", + "NetworkDeviceFunctions": { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot4/NetworkDeviceFunctions" + }, + "Ports": { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot4/Ports" + }, + "PortAggregation": { + "TotalPhysicalPorts": 4, + "AllowablePhysicalPortsPerAggregation": [ + 2, + 4 + ], + "ConfiguredPhysicalPortsPerAggregation": 4, + "ConfiguredAggregatedPorts": 1, + "AggregationEnabled": true + }, + "PartNumber": "SC2000-CNT5-1234", + "SKU": "14865", + "SerialNumber": "CSC125J87D1234", + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/index.json new file mode 100644 index 00000000..8896b507 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/NetworkAdapters/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#NetworkAdapterCollection.NetworkAdapterCollection", + "Name": "Network Adapter Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot3" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot4" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Power/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Power/index.json new file mode 100644 index 00000000..a9af33ce --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Power/index.json @@ -0,0 +1,139 @@ +{ + "@odata.type": "#Power.v1_7_3.Power", + "Id": "Power", + "Name": "Power", + "PowerControl": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Power#/PowerControl/0", + "MemberId": "0", + "Name": "System Input Power", + "PowerConsumedWatts": 344, + "PowerRequestedWatts": 800, + "PowerAvailableWatts": 0, + "PowerCapacityWatts": 800, + "PowerAllocatedWatts": 800, + "PowerMetrics": { + "IntervalInMin": 30, + "MinConsumedWatts": 271, + "MaxConsumedWatts": 489, + "AverageConsumedWatts": 319 + }, + "PowerLimit": { + "LimitInWatts": 500, + "LimitException": "LogEventOnly", + "CorrectionInMs": 50 + }, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ], + "Status": { + "State": "Enabled", + "Health": "OK" + } + } + ], + "Voltages": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Power#/Voltages/0", + "MemberId": "0", + "Name": "VRM1 Voltage", + "SensorNumber": 11, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingVolts": 12, + "UpperThresholdNonCritical": 12.5, + "UpperThresholdCritical": 13, + "UpperThresholdFatal": 15, + "LowerThresholdNonCritical": 11.5, + "LowerThresholdCritical": 11, + "LowerThresholdFatal": 10, + "MinReadingRange": 0, + "MaxReadingRange": 20, + "PhysicalContext": "VoltageRegulator", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Power#/Voltages/1", + "MemberId": "1", + "Name": "VRM2 Voltage", + "SensorNumber": 12, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingVolts": 5, + "UpperThresholdNonCritical": 5.5, + "UpperThresholdCritical": 7, + "LowerThresholdNonCritical": 4.75, + "LowerThresholdCritical": 4.5, + "MinReadingRange": 0, + "MaxReadingRange": 20, + "PhysicalContext": "VoltageRegulator", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ] + } + ], + "PowerSupplies": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Power#/PowerSupplies/0", + "MemberId": "0", + "Name": "Power Supply Bay", + "Status": { + "State": "Enabled", + "Health": "Warning" + }, + "PowerSupplyType": "AC", + "LineInputVoltageType": "ACWideRange", + "LineInputVoltage": 120, + "PowerCapacityWatts": 800, + "LastPowerOutputWatts": 325, + "Model": "499253-B21", + "Manufacturer": "ManufacturerName", + "FirmwareVersion": "1.00", + "SerialNumber": "1Z0000001", + "PartNumber": "0000001A3A", + "SparePartNumber": "0000001A3A", + "InputRanges": [ + { + "InputType": "AC", + "MinimumVoltage": 100, + "MaximumVoltage": 120, + "OutputWattage": 800 + }, + { + "InputType": "AC", + "MinimumVoltage": 200, + "MaximumVoltage": 240, + "OutputWattage": 1300 + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ] + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/Power", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Assembly/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Assembly/index.json new file mode 100644 index 00000000..ac3441cf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Assembly/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Assembly.v1_6_1.Assembly", + "Id": "Assembly", + "Name": "Power Supply-related Assembly data", + "Assemblies": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Assembly#/Assemblies/0", + "MemberId": "0", + "Name": "Contoso Power Supply", + "Model": "345TTT", + "PartNumber": "923943", + "SparePartNumber": "55-434", + "SKU": "55ZZATR", + "SerialNumber": "345394834", + "Vendor": "Contoso", + "ProductionDate": "2017-04-01T14:55:33+03:00", + "Producer": "Contoso Supply Co.", + "Version": "1.44B", + "EngineeringChangeLevel": "9", + "BinaryDataURI": "/dumpster/434" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Assembly", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Metrics/index.json new file mode 100644 index 00000000..9b70c742 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Metrics/index.json @@ -0,0 +1,85 @@ +{ + "@odata.type": "#PowerSupplyMetrics.v1_3_0.PowerSupplyMetrics", + "Id": "Metrics", + "Name": "Metrics for Power Supply 1", + "Status": { + "State": "Enabled", + "Health": "Warning" + }, + "InputVoltage": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1InputVoltage", + "Reading": 230.2 + }, + "InputCurrentAmps": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1InputCurrent", + "Reading": 5.19 + }, + "InputPowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1InputPower", + "Reading": 937.4 + }, + "RailVoltage": [ + { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1Out3V", + "Reading": 3.31 + }, + { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1Out5V", + "Reading": 5.03 + }, + { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1Out12V", + "Reading": 12.06 + } + ], + "RailCurrentAmps": [ + { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1Out3VCurrent", + "Reading": 9.84 + }, + { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1Out5VCurrent", + "Reading": 1.25 + }, + { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1Out12VCurrent", + "Reading": 2.58 + } + ], + "OutputPowerWatts": { + "Reading": 937.4 + }, + "RailPowerWatts": [ + { + "Reading": 79.84 + }, + { + "Reading": 26.25 + }, + { + "Reading": 91.58 + } + ], + "EnergykWh": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1Energy", + "Reading": 325675 + }, + "FrequencyHz": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1Frequency", + "Reading": 60 + }, + "TemperatureCelsius": { + "Reading": 43.9 + }, + "FanSpeedPercent": { + "Reading": 68, + "SpeedRPM": 3290 + }, + "Actions": { + "#PowerSupplyMetrics.ResetMetrics": { + "target": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Metrics/Actions/PowerSupplyMetrics.ResetMetrics" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/index.json new file mode 100644 index 00000000..52d5e54c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/index.json @@ -0,0 +1,87 @@ +{ + "@odata.type": "#PowerSupply.v1_8_0.PowerSupply", + "Id": "Bay1", + "Name": "Power Supply Bay 1", + "Status": { + "State": "Enabled", + "Health": "Warning" + }, + "Model": "RKS-440DC", + "Manufacturer": "Contoso Power", + "FirmwareVersion": "1.00", + "SerialNumber": "3488247", + "PartNumber": "23456-133", + "SparePartNumber": "93284-133", + "LocationIndicatorActive": false, + "HotPluggable": false, + "PowerCapacityWatts": 400, + "PhaseWiringType": "OnePhase3Wire", + "PlugType": "IEC_60320_C14", + "InputRanges": [ + { + "NominalVoltageType": "AC200To240V", + "CapacityWatts": 400 + }, + { + "NominalVoltageType": "AC120V", + "CapacityWatts": 350 + }, + { + "NominalVoltageType": "DC380V", + "CapacityWatts": 400 + } + ], + "EfficiencyRatings": [ + { + "LoadPercent": 25, + "EfficiencyPercent": 75 + }, + { + "LoadPercent": 50, + "EfficiencyPercent": 85 + }, + { + "LoadPercent": 90, + "EfficiencyPercent": 80 + } + ], + "OutputRails": [ + { + "NominalVoltage": 3.3, + "PhysicalContext": "SystemBoard" + }, + { + "NominalVoltage": 5, + "PhysicalContext": "SystemBoard" + }, + { + "NominalVoltage": 12, + "PhysicalContext": "StorageDevice" + } + ], + "Location": { + "PartLocation": { + "ServiceLabel": "PSU 1", + "LocationType": "Bay", + "LocationOrdinalValue": 0 + } + }, + "Links": { + "Outlet": { + "@odata.id": "https://redfishpdu.contoso.com/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/A4" + } + }, + "Assembly": { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Assembly" + }, + "Metrics": { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Metrics" + }, + "Actions": { + "#PowerSupply.Reset": { + "target": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Actions/PowerSupply.Reset" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/PowerSubsystem/PowerSupplies/Bay2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/PowerSubsystem/PowerSupplies/Bay2/index.json new file mode 100644 index 00000000..b8b4f076 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/PowerSubsystem/PowerSupplies/Bay2/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#PowerSupply.v1_8_0.PowerSupply", + "Id": "Bay2", + "Name": "Power Supply Bay 2", + "Status": { + "State": "Absent" + }, + "PowerSupplyType": "PSU", + "HotPluggable": false, + "Location": { + "PartLocation": { + "ServiceLabel": "PSU 2", + "LocationType": "Bay", + "LocationOrdinalValue": 1 + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/PowerSubsystem/PowerSupplies/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/PowerSubsystem/PowerSupplies/index.json new file mode 100644 index 00000000..9c87502c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/PowerSubsystem/PowerSupplies/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#PowerSupplyCollection.PowerSupplyCollection", + "Name": "Power Supply Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay2" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/PowerSubsystem/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/PowerSubsystem/index.json new file mode 100644 index 00000000..d1466f09 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/PowerSubsystem/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#PowerSubsystem.v1_2_0.PowerSubsystem", + "Id": "PowerSubsystem", + "Name": "Power Subsystem for Chassis", + "CapacityWatts": 2000, + "Allocation": { + "RequestedWatts": 1500, + "AllocatedWatts": 1200 + }, + "PowerSupplyRedundancy": [ + { + "RedundancyType": "Failover", + "MaxSupportedInGroup": 2, + "MinNeededInGroup": 1, + "RedundancyGroup": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay2" + } + ], + "Status": { + "State": "UnavailableOffline", + "Health": "OK" + } + } + ], + "PowerSupplies": { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies" + }, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/AmbientTemp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/AmbientTemp/index.json new file mode 100644 index 00000000..473a4d32 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/AmbientTemp/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "AmbientTemp", + "Name": "Ambient Temperature", + "PhysicalContext": "Room", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 22.5, + "ReadingUnits": "Cel", + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/AmbientTemp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/CPU1Power/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/CPU1Power/index.json new file mode 100644 index 00000000..66aac52a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/CPU1Power/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CPU1Power", + "Name": "Power reading for CPU #1", + "ReadingType": "Power", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 90, + "ReadingUnits": "W", + "Implementation": "Reported", + "ReadingTime": "2019-08-13T04:14:33+06:00", + "ReadingRangeMin": 0, + "ReadingRangeMax": 150, + "Accuracy": 0.2, + "Precision": 1, + "SensingInterval": "PT0.01S", + "PhysicalContext": "CPU", + "Thresholds": { + "UpperCriticalUser": { + "Reading": 115, + "Activation": "Increasing", + "DwellTime": "PT0.03S" + }, + "UpperCautionUser": { + "Reading": 82, + "DwellTime": "PT1S" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/CPU1Power", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/CPU1Temp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/CPU1Temp/index.json new file mode 100644 index 00000000..7a524f68 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/CPU1Temp/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CPU1Temp", + "Name": "CPU #1 Temperature", + "PhysicalContext": "CPU", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 37, + "ReadingUnits": "Cel", + "Thresholds": { + "UpperCaution": { + "Reading": 42, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperCautionUser": { + "Reading": 40 + }, + "UpperCriticalUser": { + "Reading": 45, + "DwellTime": "PT1M" + }, + "UpperCritical": { + "Reading": 45, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperFatal": { + "Reading": 50, + "DwellTime": "PT30S", + "Activation": "Increasing" + } + }, + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/CPU1Temp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/CPUFan1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/CPUFan1/index.json new file mode 100644 index 00000000..59717e59 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/CPUFan1/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CPUFan1", + "Name": "CPU #1 Fan Speed", + "PhysicalContext": "CPU", + "Reading": 80, + "ReadingRangeMax": 100, + "ReadingRangeMin": 0, + "ReadingType": "Percent", + "ReadingUnits": "%", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Thresholds": { + "LowerCaution": { + "Reading": 5 + }, + "LowerCritical": { + "Reading": 0 + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/CPUFan1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/CPUFan2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/CPUFan2/index.json new file mode 100644 index 00000000..8f1d8c9c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/CPUFan2/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CPUFan2", + "Name": "CPU #2 Fan Speed", + "PhysicalContext": "CPU", + "Reading": 60, + "ReadingRangeMax": 100, + "ReadingRangeMin": 0, + "ReadingType": "Percent", + "ReadingUnits": "%", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Thresholds": { + "LowerCaution": { + "Reading": 5 + }, + "LowerCritical": { + "Reading": 0 + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/CPUFan2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/DIMM1Temp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/DIMM1Temp/index.json new file mode 100644 index 00000000..11b64118 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/DIMM1Temp/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "DIMM1Temp", + "Name": "DIMM #1 Temperature", + "PhysicalContext": "Memory", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 44, + "ReadingUnits": "Cel", + "Thresholds": { + "UpperCaution": { + "Reading": 55, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperCautionUser": { + "Reading": 50 + }, + "UpperCriticalUser": { + "Reading": 60, + "DwellTime": "PT1M" + }, + "UpperCritical": { + "Reading": 65, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperFatal": { + "Reading": 75, + "DwellTime": "PT30S", + "Activation": "Increasing" + } + }, + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM1" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/DIMM1Temp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/DIMM2Temp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/DIMM2Temp/index.json new file mode 100644 index 00000000..fe2785ca --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/DIMM2Temp/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "DIMM2Temp", + "Name": "DIMM #2 Temperature", + "PhysicalContext": "Memory", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 44, + "ReadingUnits": "Cel", + "Thresholds": { + "UpperCaution": { + "Reading": 55, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperCautionUser": { + "Reading": 50 + }, + "UpperCriticalUser": { + "Reading": 60, + "DwellTime": "PT1M" + }, + "UpperCritical": { + "Reading": 65, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperFatal": { + "Reading": 75, + "DwellTime": "PT30S", + "Activation": "Increasing" + } + }, + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM2" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/DIMM2Temp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/DIMM3Temp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/DIMM3Temp/index.json new file mode 100644 index 00000000..a1204f57 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/DIMM3Temp/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "DIMM3Temp", + "Name": "DIMM #3 Temperature", + "PhysicalContext": "Memory", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 44, + "ReadingUnits": "Cel", + "Thresholds": { + "UpperCaution": { + "Reading": 55, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperCautionUser": { + "Reading": 50 + }, + "UpperCriticalUser": { + "Reading": 60, + "DwellTime": "PT1M" + }, + "UpperCritical": { + "Reading": 65, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperFatal": { + "Reading": 75, + "DwellTime": "PT30S", + "Activation": "Increasing" + } + }, + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM3" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/DIMM3Temp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/ExhaustTemp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/ExhaustTemp/index.json new file mode 100644 index 00000000..48af5269 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/ExhaustTemp/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "ExhaustTemp", + "Name": "Fan Bay #1 Exhaust Temperature", + "PhysicalContext": "Exhaust", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 40.5, + "ReadingUnits": "Cel", + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/ExhaustTemp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/FanBay1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/FanBay1/index.json new file mode 100644 index 00000000..21c1aaf8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/FanBay1/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "FanBay1", + "Name": "Chassis Fan #1", + "PhysicalContext": "Chassis", + "Reading": 45, + "ReadingRangeMax": 100, + "ReadingRangeMin": 0, + "ReadingType": "Percent", + "ReadingUnits": "%", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Thresholds": { + "LowerCaution": { + "Reading": 5 + }, + "LowerCritical": { + "Reading": 0 + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/FanBay1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/FanBay2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/FanBay2/index.json new file mode 100644 index 00000000..244a1ecb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/FanBay2/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "FanBay2", + "Name": "Chassis Fan #2", + "PhysicalContext": "Chassis", + "Reading": 45, + "ReadingRangeMax": 100, + "ReadingRangeMin": 0, + "ReadingType": "Percent", + "ReadingUnits": "%", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Thresholds": { + "LowerCaution": { + "Reading": 5 + }, + "LowerCritical": { + "Reading": 0 + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/FanBay2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/IntakeTemp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/IntakeTemp/index.json new file mode 100644 index 00000000..123cb985 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/IntakeTemp/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "IntakeTemp", + "Name": "Front Panel Intake Temperature", + "PhysicalContext": "Intake", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 24.8, + "ReadingUnits": "Cel", + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/IntakeTemp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1Energy/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1Energy/index.json new file mode 100644 index 00000000..10796971 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1Energy/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Energy", + "Name": "Power Supply #1 Energy", + "ReadingType": "EnergykWh", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 7855, + "ReadingUnits": "kW.h", + "PhysicalContext": "PowerSupply", + "Actions": { + "#Sensor.ResetMetrics": { + "target": "/redfish/v1/Chassis/1U/Sensors/PS1Energy/Actions/Sensor.ResetMetrics" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Energy", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1Frequency/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1Frequency/index.json new file mode 100644 index 00000000..773b3dd8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1Frequency/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Frequency", + "Name": "Power Supply #1 Frequency", + "ReadingType": "Frequency", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 60.1, + "ReadingUnits": "Hz", + "ReadingRangeMin": 0, + "ReadingRangeMax": 160, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "Thresholds": { + "UpperCritical": { + "Reading": 60.37, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 60.2, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 59.5, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 58.75, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Frequency", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1InputCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1InputCurrent/index.json new file mode 100644 index 00000000..ab8a3880 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1InputCurrent/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1InputCurrent", + "Name": "Power Supply #1 Input Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "Thresholds": { + "UpperCritical": { + "Reading": 10, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 9, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1InputCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1InputPower/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1InputPower/index.json new file mode 100644 index 00000000..aa6a0061 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1InputPower/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1InputPower", + "Name": "Power Supply #1 Input Power", + "ReadingType": "Power", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Total", + "Reading": 374, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 500, + "ApparentVA": 350, + "ReactiveVAR": 29, + "PowerFactor": 0.83, + "Accuracy": 1, + "Precision": 1, + "SensingInterval": "PT0.1S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "Thresholds": { + "UpperCritical": { + "Reading": 525, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 510, + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1InputPower", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1InputVoltage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1InputVoltage/index.json new file mode 100644 index 00000000..49358c14 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1InputVoltage/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1InputVoltage", + "Name": "Power Supply #1 Input Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Total", + "Reading": 119.27, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 260, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "Thresholds": { + "UpperCritical": { + "Reading": 125, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 122, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 118, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 115, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1InputVoltage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1Out12V/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1Out12V/index.json new file mode 100644 index 00000000..4b6f68a9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1Out12V/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Out12V", + "Name": "Power Supply #1 12V Output Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Total", + "Reading": 12.08, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 15, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Output", + "Thresholds": { + "UpperCritical": { + "Reading": 12.5, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 12.35, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 11.85, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 11.5, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out12V", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1Out12VCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1Out12VCurrent/index.json new file mode 100644 index 00000000..8bd2ff72 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1Out12VCurrent/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Out12VCurrent", + "Name": "Power Supply #1 12V Output Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2.79, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 7, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 6, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out12VCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1Out3V/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1Out3V/index.json new file mode 100644 index 00000000..f99f4a56 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1Out3V/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Out3V", + "Name": "Power Supply #1 3V Output Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Total", + "Reading": 3.32, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 5, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Output", + "Thresholds": { + "UpperCritical": { + "Reading": 3.5, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 3.35, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 3.25, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 3.1, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out3V", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1Out3VCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1Out3VCurrent/index.json new file mode 100644 index 00000000..499c19e4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1Out3VCurrent/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Out3VCurrent", + "Name": "Power Supply #1 3V Output Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Output", + "Thresholds": { + "UpperCritical": { + "Reading": 25, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 20, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out3VCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1Out5V/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1Out5V/index.json new file mode 100644 index 00000000..3f70c055 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1Out5V/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Out5V", + "Name": "Power Supply #1 5V Output Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Total", + "Reading": 5.04, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 10, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Output", + "Thresholds": { + "UpperCritical": { + "Reading": 5.5, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 5.35, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 4.9, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 4.5, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out5V", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1Out5VCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1Out5VCurrent/index.json new file mode 100644 index 00000000..d2c5ccda --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS1Out5VCurrent/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Out5VCurrent", + "Name": "Power Supply #1 5V Output Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 3.41, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 10, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "PowerSupply", + "Thresholds": { + "UpperCritical": { + "Reading": 8, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 5, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out5VCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2Energy/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2Energy/index.json new file mode 100644 index 00000000..f6cea81b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2Energy/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Energy", + "Name": "Power Supply #2 Energy", + "ReadingType": "EnergykWh", + "ElectricalContext": "Total", + "Status": { + "State": "Absent" + }, + "PhysicalContext": "PowerSupply", + "Actions": { + "#Sensor.ResetMetrics": { + "target": "/redfish/v1/Chassis/1U/Sensors/PS2Energy/Actions/Sensor.ResetMetrics" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Energy", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2Frequency/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2Frequency/index.json new file mode 100644 index 00000000..b0986644 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2Frequency/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Frequency", + "Name": "Power Supply #2 Frequency", + "ReadingType": "Frequency", + "Status": { + "State": "Absent" + }, + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Frequency", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2InputCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2InputCurrent/index.json new file mode 100644 index 00000000..ce670bfa --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2InputCurrent/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2InputCurrent", + "Name": "Power Supply #2 Input Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Absent" + }, + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2InputCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2InputPower/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2InputPower/index.json new file mode 100644 index 00000000..150218b0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2InputPower/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2InputPower", + "Name": "Power Supply #2 Input Power", + "ReadingType": "Power", + "Status": { + "State": "Absent" + }, + "ElectricalContext": "Total", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2InputPower", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2InputVoltage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2InputVoltage/index.json new file mode 100644 index 00000000..cf7b7422 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2InputVoltage/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2InputVoltage", + "Name": "Power Supply #2 Input Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Absent" + }, + "ElectricalContext": "Total", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2InputVoltage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2Out12V/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2Out12V/index.json new file mode 100644 index 00000000..25345ab7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2Out12V/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Out12V", + "Name": "Power Supply #2 12V Output Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Absent" + }, + "ElectricalContext": "Total", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Output", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out12V", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2Out12VCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2Out12VCurrent/index.json new file mode 100644 index 00000000..3a5397a5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2Out12VCurrent/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Out12VCurrent", + "Name": "Power Supply #2 12V Output Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Absent" + }, + "PhysicalContext": "PowerSupply", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out12VCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2Out3V/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2Out3V/index.json new file mode 100644 index 00000000..ec1763c8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2Out3V/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Out3V", + "Name": "Power Supply #2 3V Output Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Absent" + }, + "ElectricalContext": "Total", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Output", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out3V", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2Out3VCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2Out3VCurrent/index.json new file mode 100644 index 00000000..9c1e555b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2Out3VCurrent/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Out3VCurrent", + "Name": "Power Supply #2 3V Output Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Absent" + }, + "PhysicalContext": "PowerSupply", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out3VCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2Out5V/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2Out5V/index.json new file mode 100644 index 00000000..39ebca0a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2Out5V/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Out5V", + "Name": "Power Supply #2 5V Output Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Absent" + }, + "ElectricalContext": "Total", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Output", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out5V", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2Out5VCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2Out5VCurrent/index.json new file mode 100644 index 00000000..16b75e56 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/PS2Out5VCurrent/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Out5VCurrent", + "Name": "Power Supply #2 5V Output Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Absent" + }, + "PhysicalContext": "PowerSupply", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out5VCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/TotalEnergy/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/TotalEnergy/index.json new file mode 100644 index 00000000..49ebac6b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/TotalEnergy/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "TotalEnergy", + "Name": "Total Energy", + "ReadingType": "EnergykWh", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 325675, + "ReadingUnits": "kW.h", + "PhysicalContext": "Chassis", + "Actions": { + "#Sensor.ResetMetrics": { + "target": "/redfish/v1/Chassis/1U/Sensors/TotalEnergy/Actions/Sensor.ResetMetrics" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/TotalEnergy", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/TotalPower/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/TotalPower/index.json new file mode 100644 index 00000000..f7f9f9ac --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/TotalPower/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "TotalPower", + "Name": "Power reading for the Chassis", + "ReadingType": "Power", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 374, + "ReadingUnits": "W", + "Implementation": "Synthesized", + "ReadingTime": "2019-08-13T04:14:33+06:00", + "ReadingRangeMin": 0, + "ReadingRangeMax": 600, + "ApparentVA": 2749.2, + "ReactiveVAR": 281.4, + "PowerFactor": 0.99, + "Accuracy": 0.2, + "Precision": 1, + "SensingInterval": "PT0.25S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 600, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 580, + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/TotalPower", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/index.json new file mode 100644 index 00000000..eb4031b2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Sensors/index.json @@ -0,0 +1,114 @@ +{ + "@odata.type": "#SensorCollection.SensorCollection", + "Name": "Chassis sensors", + "Members@odata.count": 35, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/AmbientTemp" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/CPUFan1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/CPUFan2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/CPU1Temp" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/DIMM1Temp" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/DIMM2Temp" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/DIMM3Temp" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/ExhaustTemp" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/FanBay1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/FanBay2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/IntakeTemp" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Energy" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Frequency" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1InputCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1InputPower" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1InputVoltage" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out12V" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out12VCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out3V" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out3VCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out5V" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out5VCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Energy" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Frequency" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2InputCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2InputPower" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2InputVoltage" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out12V" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out12VCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out3V" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out3VCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out5V" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out5VCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/TotalEnergy" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/TotalPower" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/Sensors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Thermal/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Thermal/index.json new file mode 100644 index 00000000..db748c50 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/Thermal/index.json @@ -0,0 +1,159 @@ +{ + "@odata.type": "#Thermal.v1_7_3.Thermal", + "Id": "Thermal", + "Name": "Thermal", + "Temperatures": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Temperatures/0", + "MemberId": "0", + "Name": "CPU1 Temp", + "SensorNumber": 5, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 41, + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 45, + "UpperThresholdFatal": 48, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 60, + "PhysicalContext": "CPU", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Temperatures/1", + "MemberId": "1", + "Name": "CPU2 Temp", + "SensorNumber": 6, + "Status": { + "State": "Disabled" + }, + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 45, + "UpperThresholdFatal": 48, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 60, + "PhysicalContext": "CPU", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU2" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Temperatures/2", + "MemberId": "2", + "Name": "Chassis Intake Temp", + "SensorNumber": 9, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 25, + "UpperThresholdNonCritical": 30, + "UpperThresholdCritical": 40, + "UpperThresholdFatal": 50, + "LowerThresholdNonCritical": 10, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 0, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 60, + "PhysicalContext": "Intake", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + } + ] + } + ], + "Fans": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Fans/0", + "MemberId": "0", + "Name": "BaseBoard System Fan", + "PhysicalContext": "Backplane", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2100, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 0, + "MinReadingRange": 0, + "MaxReadingRange": 5000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Fans/1", + "MemberId": "1", + "Name": "BaseBoard System Fan Backup", + "PhysicalContext": "Backplane", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2050, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 0, + "MinReadingRange": 0, + "MaxReadingRange": 5000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ] + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Redundancy/0", + "MemberId": "0", + "Name": "BaseBoard System Fans", + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Fans/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Fans/1" + } + ], + "Mode": "N+m", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MinNumNeeded": 1, + "MaxNumSupported": 2 + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/Thermal", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/ThermalSubsystem/Fans/Bay1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/ThermalSubsystem/Fans/Bay1/index.json new file mode 100644 index 00000000..8e351dd8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/ThermalSubsystem/Fans/Bay1/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#Fan.v1_6_0.Fan", + "Id": "Bay1", + "Name": "Fan Bay 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PhysicalContext": "Chassis", + "Model": "RKS-440DC", + "Manufacturer": "Contoso Fans", + "PartNumber": "23456-133", + "SparePartNumber": "93284-133", + "LocationIndicatorActive": true, + "HotPluggable": true, + "SpeedPercent": { + "Reading": 45, + "SpeedRPM": 2200, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/FanBay1" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Chassis Fan Bay 1", + "LocationType": "Bay", + "LocationOrdinalValue": 0 + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/Bay1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/ThermalSubsystem/Fans/Bay2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/ThermalSubsystem/Fans/Bay2/index.json new file mode 100644 index 00000000..bc504d14 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/ThermalSubsystem/Fans/Bay2/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#Fan.v1_6_0.Fan", + "Id": "Bay2", + "Name": "Fan Bay 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PhysicalContext": "Chassis", + "Model": "RKS-440DC", + "Manufacturer": "Contoso Fans", + "PartNumber": "23456-133", + "SparePartNumber": "93284-133", + "LocationIndicatorActive": false, + "HotPluggable": true, + "SpeedPercent": { + "Reading": 45, + "SpeedRPM": 2400, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/FanBay2" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Chassis Fan Bay 2", + "LocationType": "Bay", + "LocationOrdinalValue": 1 + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/Bay2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/ThermalSubsystem/Fans/CPU1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/ThermalSubsystem/Fans/CPU1/index.json new file mode 100644 index 00000000..f7a0229b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/ThermalSubsystem/Fans/CPU1/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#Fan.v1_6_0.Fan", + "Id": "CPU1", + "Name": "Fan for CPU 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PhysicalContext": "CPU", + "Model": "RKS-440DC", + "Manufacturer": "Contoso Fans", + "PartNumber": "23456-133", + "SparePartNumber": "93284-133", + "LocationIndicatorActive": false, + "HotPluggable": false, + "SpeedPercent": { + "Reading": 45, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/CPUFan1" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "CPU #1 Fan", + "LocationType": "Bay", + "LocationOrdinalValue": 0 + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/CPU1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/ThermalSubsystem/Fans/CPU2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/ThermalSubsystem/Fans/CPU2/index.json new file mode 100644 index 00000000..783577fb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/ThermalSubsystem/Fans/CPU2/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#Fan.v1_6_0.Fan", + "Id": "CPU2", + "Name": "Fan for CPU 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PhysicalContext": "CPU", + "Model": "RKS-440DC", + "Manufacturer": "Contoso Fans", + "PartNumber": "23456-133", + "SparePartNumber": "93284-133", + "LocationIndicatorActive": false, + "HotPluggable": false, + "SpeedPercent": { + "Reading": 45, + "SpeedRPM": 1490, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/CPUFan2" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "CPU #2 Fan", + "LocationType": "Bay", + "LocationOrdinalValue": 1 + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/CPU2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/ThermalSubsystem/Fans/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/ThermalSubsystem/Fans/index.json new file mode 100644 index 00000000..a8de534c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/ThermalSubsystem/Fans/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#FanCollection.FanCollection", + "Name": "Fan Club", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/Bay1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/Bay2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/CPU1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/CPU2" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/ThermalSubsystem/ThermalMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/ThermalSubsystem/ThermalMetrics/index.json new file mode 100644 index 00000000..abac31b4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/ThermalSubsystem/ThermalMetrics/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#ThermalMetrics.v1_3_3.ThermalMetrics", + "Id": "ThermalMetrics", + "Name": "Chassis Thermal Metrics", + "TemperatureSummaryCelsius": { + "Internal": { + "Reading": 39, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/CPU1Temp" + }, + "Intake": { + "Reading": 24.8, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/IntakeTemp" + }, + "Ambient": { + "Reading": 22.5, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/AmbientTemp" + }, + "Exhaust": { + "Reading": 40.5, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/ExhaustTemp" + } + }, + "TemperatureReadingsCelsius": [ + { + "Reading": 24.8, + "DeviceName": "Intake", + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/IntakeTemp" + }, + { + "Reading": 40.5, + "DeviceName": "Exhaust", + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/ExhaustTemp" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/ThermalMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/ThermalSubsystem/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/ThermalSubsystem/index.json new file mode 100644 index 00000000..28eb62d3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/ThermalSubsystem/index.json @@ -0,0 +1,52 @@ +{ + "@odata.type": "#ThermalSubsystem.v1_5_0.ThermalSubsystem", + "Id": "ThermalSubsystem", + "Name": "Thermal Subsystem for Chassis", + "FanRedundancy": [ + { + "RedundancyType": "NPlusM", + "MaxSupportedInGroup": 2, + "MinNeededInGroup": 1, + "RedundancyGroup": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/Bay1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/Bay2" + } + ], + "Status": { + "State": "Enabled", + "Health": "OK" + } + }, + { + "RedundancyType": "NPlusM", + "MaxSupportedInGroup": 2, + "MinNeededInGroup": 1, + "RedundancyGroup": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/CPU1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/CPU2" + } + ], + "Status": { + "State": "Disabled" + } + } + ], + "Fans": { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans" + }, + "ThermalMetrics": { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/ThermalMetrics" + }, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/index.json new file mode 100644 index 00000000..e27f3b2f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/1U/index.json @@ -0,0 +1,81 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "1U", + "Name": "Computer System Chassis", + "ChassisType": "RackMount", + "AssetTag": "Chicago-45Z-2381", + "Manufacturer": "Contoso", + "Model": "3500RX", + "SKU": "8675309", + "SerialNumber": "437XR1138R2", + "PartNumber": "224071-J23", + "PowerState": "On", + "IndicatorLED": "Lit", + "HeightMm": 44.45, + "WidthMm": 431.8, + "DepthMm": 711, + "WeightKg": 15.31, + "Location": { + "PostalAddress": { + "Country": "US", + "Territory": "OR", + "City": "Portland", + "Street": "1001 SW 5th Avenue", + "HouseNumber": 1100, + "Name": "DMTF", + "PostalCode": "97204" + }, + "Placement": { + "Row": "North", + "Rack": "WEB43", + "RackOffsetUnits": "EIA_310", + "RackOffset": 12 + } + }, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ThermalSubsystem": { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem" + }, + "PowerSubsystem": { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem" + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Chassis/1U/EnvironmentMetrics" + }, + "NetworkAdapters": { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters" + }, + "Sensors": { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors" + }, + "Thermal@Redfish.Deprecated": "Please migrate to use /redfish/v1/Chassis/1U/ThermalSubsystem", + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + }, + "Power@Redfish.Deprecated": "Please migrate to use /redfish/v1/Chassis/1U/PowerSubsystem", + "Power": { + "@odata.id": "/redfish/v1/Chassis/1U/Power" + }, + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ], + "ManagersInChassis": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/1U", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/index.json new file mode 100644 index 00000000..9066a5e8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Chassis/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ChassisCollection.ChassisCollection", + "Name": "Chassis Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ], + "@odata.id": "/redfish/v1/Chassis", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/DedicatedNetworkPorts/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/DedicatedNetworkPorts/1/index.json new file mode 100644 index 00000000..ded5c511 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/DedicatedNetworkPorts/1/index.json @@ -0,0 +1,39 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "1", + "Name": "Dedicated BMC Port", + "CurrentSpeedGbps": 0.1, + "Ethernet": { + "FlowControlConfiguration": "TX_RX", + "FlowControlStatus": "TX_RX", + "SupportedEthernetCapabilities": [ + "WakeOnLAN" + ], + "LLDPEnabled": true + }, + "LinkConfiguration": [ + { + "AutoSpeedNegotiationCapable": true, + "AutoSpeedNegotiationEnabled": true, + "CapableLinkSpeedGbps": [ + 0.1 + ] + } + ], + "LinkNetworkTechnology": "Ethernet", + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "MaxFrameSize": 1500, + "MaxSpeedGbps": 0.1, + "PortMedium": "Electrical", + "PortType": "UpstreamPort", + "Links": { + "EthernetInterfaces": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/eth0" + } + ] + }, + "@odata.id": "/redfish/v1/Managers/BMC/DedicatedNetworkPorts/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/DedicatedNetworkPorts/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/DedicatedNetworkPorts/index.json new file mode 100644 index 00000000..95475b50 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/DedicatedNetworkPorts/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "Port Collection", + "Description": "Collection of dedicated network ports for this manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/DedicatedNetworkPorts/1" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/DedicatedNetworkPorts", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/EthernetInterfaces/eth0/SD/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/EthernetInterfaces/eth0/SD/index.json new file mode 100644 index 00000000..bd5602c8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/EthernetInterfaces/eth0/SD/index.json @@ -0,0 +1,60 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "SD", + "Name": "Manager Ethernet Interface", + "Description": "Management network interface on a dedicated port", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:33:CF:EA", + "MACAddress": "23:11:8A:33:CF:EA", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.0.1" + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred" + } + ], + "NameServers": [ + "names.dmtf.org" + ], + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/eth0/SD", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/EthernetInterfaces/eth0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/EthernetInterfaces/eth0/index.json new file mode 100644 index 00000000..e74eba62 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/EthernetInterfaces/eth0/index.json @@ -0,0 +1,83 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "eth0", + "Name": "Manager Ethernet Interface", + "Description": "Management network interface on a dedicated port", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:33:CF:EA", + "MACAddress": "23:11:8A:33:CF:EA", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.0.1" + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred" + } + ], + "NameServers": [ + "names.dmtf.org" + ], + "Links": { + "Ports": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/DedicatedNetworkPorts/1" + } + ] + }, + "@Redfish.Settings": { + "@odata.type": "#Settings.v1_5_0.Settings", + "SettingsObject": { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/eth0/SD" + }, + "Time": "2012-03-07T14:44.30-05:00", + "ETag": "84ffcbb050ddc7fa9cddb59014546e59", + "Messages": [ + { + "MessageId": "Base.1.0.SettingsFailed", + "RelatedProperties": [ + "/IPv6Addresses/PrefixLength" + ] + } + ] + }, + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/eth0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/EthernetInterfaces/eth1/SD/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/EthernetInterfaces/eth1/SD/index.json new file mode 100644 index 00000000..26f904c4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/EthernetInterfaces/eth1/SD/index.json @@ -0,0 +1,60 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "SD", + "Name": "Manager Ethernet Interface", + "Description": "Management network interface on a shared port", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:33:CF:EB", + "MACAddress": "23:11:8A:33:CF:EB", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "IPv4Addresses": [ + { + "Address": "192.168.4.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.4.1" + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred" + } + ], + "NameServers": [ + "names.dmtf.org" + ], + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/eth1/SD", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/EthernetInterfaces/eth1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/EthernetInterfaces/eth1/index.json new file mode 100644 index 00000000..da6fa2a2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/EthernetInterfaces/eth1/index.json @@ -0,0 +1,83 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "eth1", + "Name": "Manager Ethernet Interface", + "Description": "Management network interface on a shared port", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:33:CF:EB", + "MACAddress": "23:11:8A:33:CF:EB", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "IPv4Addresses": [ + { + "Address": "192.168.4.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.4.1" + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred" + } + ], + "NameServers": [ + "names.dmtf.org" + ], + "Links": { + "Ports": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot1/Ports/SC2KP1" + } + ] + }, + "@Redfish.Settings": { + "@odata.type": "#Settings.v1_5_0.Settings", + "SettingsObject": { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/eth1/SD" + }, + "Time": "2012-03-07T14:44.30-05:00", + "ETag": "84ffcbb050ddc7fa9cddb59014546e59", + "Messages": [ + { + "MessageId": "Base.1.0.SettingsFailed", + "RelatedProperties": [ + "/IPv6Addresses/PrefixLength" + ] + } + ] + }, + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/eth1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/EthernetInterfaces/index.json new file mode 100644 index 00000000..d8e42278 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/EthernetInterfaces/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Network Interface Collection", + "Description": "Collection of EthernetInterfaces for this Manager", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/eth0" + }, + { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/eth1" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/LogServices/Log/Entries/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/LogServices/Log/Entries/1/index.json new file mode 100644 index 00000000..4845e486 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/LogServices/Log/Entries/1/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "Event", + "Severity": "Critical", + "Created": "2012-03-07T14:44:00Z", + "SensorNumber": 1, + "Message": "System May be Melting", + "MessageId": "Event.1.0.TempWayTooHot", + "MessageArgs": [ + "88" + ], + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + } + }, + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/LogServices/Log/Entries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/LogServices/Log/Entries/index.json new file mode 100644 index 00000000..83b2e539 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/LogServices/Log/Entries/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries/1", + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "Event", + "Severity": "Critical", + "Created": "2012-03-07T14:44:00Z", + "SensorNumber": 1, + "Message": "System May be Melting", + "MessageId": "Event.1.0.TempWayTooHot", + "MessageArgs": [ + "88" + ], + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + } + } + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/LogServices/Log/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/LogServices/Log/index.json new file mode 100644 index 00000000..6d2dbdfe --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/LogServices/Log/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#LogService.v1_9_0.LogService", + "Id": "Log", + "Name": "System Log Service", + "MaxNumberOfRecords": 1000, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Managers/BMC/LogServices/Log/Actions/LogService.ClearLog" + } + }, + "Entries": { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries" + }, + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/LogServices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/LogServices/index.json new file mode 100644 index 00000000..0de6f42a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/LogServices/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Description": "Collection of Log Services for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/LogServices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/NetworkProtocol/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/NetworkProtocol/index.json new file mode 100644 index 00000000..175f0b66 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/NetworkProtocol/index.json @@ -0,0 +1,75 @@ +{ + "@odata.type": "#ManagerNetworkProtocol.v1_14_0.ManagerNetworkProtocol", + "Id": "NetworkProtocol", + "Name": "Manager Network Protocol", + "Description": "Manager Network Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "HTTP": { + "ProtocolEnabled": true, + "Port": 80 + }, + "HTTPS": { + "ProtocolEnabled": true, + "Port": 443 + }, + "IPMI": { + "ProtocolEnabled": true, + "Port": 623 + }, + "SSH": { + "ProtocolEnabled": true, + "Port": 22 + }, + "SNMP": { + "ProtocolEnabled": true, + "EnableSNMPv1": true, + "EnableSNMPv2c": false, + "EnableSNMPv3": true, + "Port": 161, + "CommunityStrings": [ + { + "Name": "Read-only community", + "CommunityString": null, + "AccessMode": "Limited" + }, + { + "Name": "Full access community", + "CommunityString": null, + "AccessMode": "Full" + } + ], + "EngineId": { + "PrivateEnterpriseId": "00 00 01 9C", + "EnterpriseSpecificMethod": "00 11 22 33 44 55 66 77" + }, + "HideCommunityStrings": true, + "AuthenticationProtocol": "HMAC_SHA96", + "EncryptionProtocol": "CFB128_AES128" + }, + "VirtualMedia": { + "ProtocolEnabled": true, + "Port": 17988 + }, + "SSDP": { + "ProtocolEnabled": true, + "Port": 1900, + "NotifyMulticastIntervalSeconds": 600, + "NotifyTTL": 5, + "NotifyIPv6Scope": "Site" + }, + "Telnet": { + "ProtocolEnabled": true, + "Port": 23 + }, + "KVMIP": { + "ProtocolEnabled": true, + "Port": 5288 + }, + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/SerialInterfaces/TTY0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/SerialInterfaces/TTY0/index.json new file mode 100644 index 00000000..2cae0a79 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/SerialInterfaces/TTY0/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#SerialInterface.v1_3_0.SerialInterface", + "Id": "TTY0", + "Name": "Manager Serial Interface 1", + "Description": "Management for Serial Interface", + "InterfaceEnabled": true, + "SignalType": "Rs232", + "BitRate": "115200", + "Parity": "None", + "DataBits": "8", + "StopBits": "1", + "FlowControl": "None", + "ConnectorType": "RJ45", + "PinOut": "Cyclades", + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces/TTY0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/SerialInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/SerialInterfaces/index.json new file mode 100644 index 00000000..249de7d4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/SerialInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#SerialInterfaceCollection.SerialInterfaceCollection", + "Name": "Serial Interface Collection", + "Description": "Collection of Serial Interfaces for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces/TTY0" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/SharedNetworkPorts/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/SharedNetworkPorts/index.json new file mode 100644 index 00000000..b4311604 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/SharedNetworkPorts/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "Port Collection", + "Description": "Collection of shared network ports for this manager", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot1/Ports/SC2KP1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot1/Ports/SC2KP2" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/SharedNetworkPorts", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/VirtualMedia/CD1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/VirtualMedia/CD1/index.json new file mode 100644 index 00000000..f91e066b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/VirtualMedia/CD1/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#VirtualMedia.v1_7_0.VirtualMedia", + "Id": "CD1", + "Name": "Virtual CD", + "MediaTypes": [ + "CD", + "DVD" + ], + "Image": "redfish.dmtf.org/freeImages/freeOS.1.1.iso", + "ImageName": "mymedia-read-only", + "ConnectedVia": "Applet", + "Inserted": true, + "WriteProtected": false, + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/CD1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/VirtualMedia/Floppy1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/VirtualMedia/Floppy1/index.json new file mode 100644 index 00000000..15191be4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/VirtualMedia/Floppy1/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#VirtualMedia.v1_7_0.VirtualMedia", + "Id": "Floppy1", + "Name": "Virtual Removable Media", + "MediaTypes": [ + "Floppy", + "USBStick" + ], + "Image": "https://www.dmtf.org/freeImages/Sardine.img", + "ImageName": "Sardine2.1.43.35.6a", + "ConnectedVia": "URI", + "Inserted": true, + "WriteProtected": false, + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/Floppy1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/VirtualMedia/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/VirtualMedia/index.json new file mode 100644 index 00000000..116eb0b0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/VirtualMedia/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#VirtualMediaCollection.VirtualMediaCollection", + "Name": "Virtual Media Services", + "Description": "Redfish-BMC Virtual Media Service Settings", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/Floppy1" + }, + { + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/CD1" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/index.json new file mode 100644 index 00000000..ce27ccfb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/BMC/index.json @@ -0,0 +1,89 @@ +{ + "@odata.type": "#Manager.v1_25_0.Manager", + "Id": "BMC", + "Name": "Manager", + "ManagerType": "BMC", + "Description": "Contoso BMC", + "ServiceEntryPointUUID": "92384634-2938-2342-8820-489239905423", + "UUID": "58893887-8974-2487-2389-841168418919", + "Model": "Joo Janta 200", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PowerState": "On", + "GraphicalConsole": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 2, + "ConnectTypesSupported": [ + "KVMIP" + ] + }, + "SerialConsole": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 1, + "ConnectTypesSupported": [ + "Telnet", + "SSH", + "IPMI" + ] + }, + "CommandShell": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 4, + "ConnectTypesSupported": [ + "Telnet", + "SSH" + ] + }, + "FirmwareVersion": "1.45.455b66-rev4", + "NetworkProtocol": { + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces" + }, + "SerialInterfaces": { + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices" + }, + "DedicatedNetworkPorts": { + "@odata.id": "/redfish/v1/Managers/BMC/DedicatedNetworkPorts" + }, + "SharedNetworkPorts": { + "@odata.id": "/redfish/v1/Managers/BMC/SharedNetworkPorts" + }, + "VirtualMedia": { + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia" + }, + "Links": { + "ManagerForServers": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + } + ], + "ManagerForChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ], + "ManagerInChassis": { + "@odata.id": "/redfish/v1/Chassis/1U" + } + }, + "Actions": { + "#Manager.Reset": { + "target": "/redfish/v1/Managers/BMC/Actions/Manager.Reset", + "ResetType@Redfish.AllowableValues": [ + "ForceRestart", + "GracefulRestart" + ] + } + }, + "@odata.id": "/redfish/v1/Managers/BMC", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/index.json new file mode 100644 index 00000000..2de83743 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Managers/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerCollection.ManagerCollection", + "Name": "Manager Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ], + "@odata.id": "/redfish/v1/Managers", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/SessionService/Sessions/1234567890ABCDEF/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/SessionService/Sessions/1234567890ABCDEF/index.json new file mode 100644 index 00000000..90844a1b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/SessionService/Sessions/1234567890ABCDEF/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#Session.v1_9_0.Session", + "Id": "1234567890ABCDEF", + "Name": "User Session", + "Description": "Manager User Session", + "UserName": "Administrator", + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/SessionService/Sessions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/SessionService/Sessions/index.json new file mode 100644 index 00000000..8d8cdf58 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/SessionService/Sessions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SessionCollection.SessionCollection", + "Name": "Session Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF" + } + ], + "@odata.id": "/redfish/v1/SessionService/Sessions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/SessionService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/SessionService/index.json new file mode 100644 index 00000000..62a05690 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/SessionService/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#SessionService.v1_2_0.SessionService", + "Id": "SessionService", + "Name": "Session Service", + "Description": "Session Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "SessionTimeout": 30, + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + }, + "@odata.id": "/redfish/v1/SessionService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Bios/Settings/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Bios/Settings/index.json new file mode 100644 index 00000000..2768ab90 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Bios/Settings/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#Bios.v1_3_0.Bios", + "Id": "Settings", + "Name": "BIOS Configuration Pending Settings", + "AttributeRegistry": "BiosAttributeRegistryP89.v1_0_0", + "Attributes": { + "AdminPhone": "(404) 555-1212", + "BootMode": "Uefi", + "EmbeddedSata": "Ahci", + "NicBoot1": "NetworkBoot", + "NicBoot2": "NetworkBoot", + "PowerProfile": "MaxPerf", + "ProcCoreDisable": 0, + "ProcHyperthreading": "Enabled", + "ProcTurboMode": "Disabled", + "UsbControl": "UsbEnabled" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Bios/Settings", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Bios/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Bios/index.json new file mode 100644 index 00000000..59435f81 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Bios/index.json @@ -0,0 +1,44 @@ +{ + "@odata.type": "#Bios.v1_3_0.Bios", + "Id": "Bios", + "Name": "BIOS Configuration Current Settings", + "AttributeRegistry": "BiosAttributeRegistryP89.v1_0_0", + "Attributes": { + "AdminPhone": "", + "BootMode": "Uefi", + "EmbeddedSata": "Raid", + "NicBoot1": "NetworkBoot", + "NicBoot2": "Disabled", + "PowerProfile": "MaxPerf", + "ProcCoreDisable": 0, + "ProcHyperthreading": "Enabled", + "ProcTurboMode": "Enabled", + "UsbControl": "UsbEnabled" + }, + "@Redfish.Settings": { + "@odata.type": "#Settings.v1_5_0.Settings", + "ETag": "9234ac83b9700123cc32", + "Messages": [ + { + "MessageId": "Base.1.0.SettingsFailed", + "RelatedProperties": [ + "/Attributes/ProcTurboMode" + ] + } + ], + "SettingsObject": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Bios/Settings" + }, + "Time": "2016-03-07T14:44.30-05:00" + }, + "Actions": { + "#Bios.ResetBios": { + "target": "/redfish/v1/Systems/437XR1138R2/Bios/Actions/Bios.ResetBios" + }, + "#Bios.ChangePassword": { + "target": "/redfish/v1/Systems/437XR1138R2/Bios/Actions/Bios.ChangePassword" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Bios", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/EthernetInterfaces/SC2KP1F0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/EthernetInterfaces/SC2KP1F0/index.json new file mode 100644 index 00000000..9ac3f22c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/EthernetInterfaces/SC2KP1F0/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "SC2KP1F0", + "FullDuplex": false, + "IPv4Addresses": [], + "IPv4StaticAddresses": [], + "IPv6AddressPolicyTable": [], + "IPv6Addresses": [], + "IPv6StaticAddresses": [], + "IPv6StaticDefaultGateways": [], + "InterfaceEnabled": true, + "LinkStatus": "LinkUp", + "MACAddress": "9c:dc:71:c3:bb:0b", + "Name": "", + "NameServers": [], + "SpeedMbps": 1000, + "StaticNameServers": [], + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Links": { + "NetworkDeviceFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/SC2KP1F0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/EthernetInterfaces/SC2KP2F0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/EthernetInterfaces/SC2KP2F0/index.json new file mode 100644 index 00000000..e6ee0c50 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/EthernetInterfaces/SC2KP2F0/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "SC2KP2F0", + "FullDuplex": false, + "IPv4Addresses": [], + "IPv4StaticAddresses": [], + "IPv6AddressPolicyTable": [], + "IPv6Addresses": [], + "IPv6StaticAddresses": [], + "IPv6StaticDefaultGateways": [], + "InterfaceEnabled": true, + "LinkStatus": "LinkUp", + "MACAddress": "9c:dc:71:c3:bb:0a", + "Name": "", + "NameServers": [], + "SpeedMbps": 1000, + "StaticNameServers": [], + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Links": { + "NetworkDeviceFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP2F0" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/SC2KP2F0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/EthernetInterfaces/index.json new file mode 100644 index 00000000..ab95dec5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/EthernetInterfaces/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "System Ethernet Interfaces", + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/SC2KP2F0" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/SC2KP1F0" + } + ], + "Members@odata.count": 2, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json new file mode 100644 index 00000000..1fda6c42 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "SEL", + "Severity": "Critical", + "Created": "2012-03-07T14:44:00Z", + "EntryCode": "Upper Critical - going high", + "SensorType": "Temperature", + "SensorNumber": 1, + "Message": "Temperature threshold exceeded", + "MessageId": "0x592A28", + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/LogServices/Log1/Entries/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/LogServices/Log1/Entries/2/index.json new file mode 100644 index 00000000..b7585da8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/LogServices/Log1/Entries/2/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "2", + "Name": "Log Entry 2", + "EntryType": "SEL", + "Severity": "Critical", + "Created": "2012-03-07T14:45:00Z", + "EntryCode": "Upper Critical - going high", + "SensorType": "Temperature", + "SensorNumber": 2, + "Message": "Temperature threshold exceeded", + "MessageId": "0x592E28", + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/LogServices/Log1/Entries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/LogServices/Log1/Entries/index.json new file mode 100644 index 00000000..50c62a57 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/LogServices/Log1/Entries/index.json @@ -0,0 +1,49 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries/1", + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "SEL", + "Severity": "Critical", + "Created": "2012-03-07T14:44:00Z", + "EntryCode": "Upper Critical - going high", + "SensorType": "Temperature", + "SensorNumber": 1, + "Message": "Temperature threshold exceeded", + "MessageId": "0x592A28", + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + } + } + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries/2", + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "2", + "Name": "Log Entry 2", + "EntryType": "SEL", + "Severity": "Critical", + "Created": "2012-03-07T14:45:00Z", + "EntryCode": "Upper Critical - going high", + "SensorType": "Temperature", + "SensorNumber": 2, + "Message": "Temperature threshold exceeded", + "MessageId": "0x592E28", + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + } + } + } + ], + "@odata.nextLink": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries?$skiptoken=2", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/LogServices/Log1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/LogServices/Log1/index.json new file mode 100644 index 00000000..4a80e140 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/LogServices/Log1/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#LogService.v1_9_0.LogService", + "Id": "Log1", + "Name": "System Log Service", + "MaxNumberOfRecords": 1000, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Actions/LogService.ClearLog" + } + }, + "Entries": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/LogServices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/LogServices/index.json new file mode 100644 index 00000000..fb9f6518 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/LogServices/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Memory/DIMM1/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Memory/DIMM1/EnvironmentMetrics/index.json new file mode 100644 index 00000000..2cfb6925 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Memory/DIMM1/EnvironmentMetrics/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Memory Environment Metrics", + "TemperatureCelsius": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/DIMM1Temp", + "Reading": 44 + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM1/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Memory/DIMM1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Memory/DIMM1/index.json new file mode 100644 index 00000000..14ddedcf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Memory/DIMM1/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM1", + "Name": "DIMM Slot 1", + "RankCount": 2, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 32768, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM1/EnvironmentMetrics" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Memory/DIMM2/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Memory/DIMM2/EnvironmentMetrics/index.json new file mode 100644 index 00000000..71b80223 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Memory/DIMM2/EnvironmentMetrics/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Memory Environment Metrics", + "TemperatureCelsius": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/DIMM1Temp", + "Reading": 44 + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM2/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Memory/DIMM2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Memory/DIMM2/index.json new file mode 100644 index 00000000..997ade45 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Memory/DIMM2/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM2", + "Name": "DIMM Slot 2", + "RankCount": 2, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 32768, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 2 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM2/EnvironmentMetrics" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Memory/DIMM3/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Memory/DIMM3/EnvironmentMetrics/index.json new file mode 100644 index 00000000..3d088ec0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Memory/DIMM3/EnvironmentMetrics/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Memory Environment Metrics", + "TemperatureCelsius": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/DIMM1Temp", + "Reading": 44 + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM3/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Memory/DIMM3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Memory/DIMM3/index.json new file mode 100644 index 00000000..5f3703ef --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Memory/DIMM3/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM3", + "Name": "DIMM Slot 3", + "RankCount": 2, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 32768, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 2, + "MemoryController": 2, + "Channel": 1, + "Slot": 3 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM3/EnvironmentMetrics" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Memory/DIMM4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Memory/DIMM4/index.json new file mode 100644 index 00000000..60a64276 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Memory/DIMM4/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM4", + "Name": "DIMM Slot 4", + "MemoryLocation": { + "Socket": 2, + "MemoryController": 2, + "Channel": 1, + "Slot": 4 + }, + "Status": { + "State": "Absent" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Memory/index.json new file mode 100644 index 00000000..0abde074 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Memory/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Module Collection", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM2" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM3" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM4" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/NetworkInterfaces/SCFCP1F0/NetworkDeviceFunctions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/NetworkInterfaces/SCFCP1F0/NetworkDeviceFunctions/index.json new file mode 100644 index 00000000..7e837d2f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/NetworkInterfaces/SCFCP1F0/NetworkDeviceFunctions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#NetworkDeviceFunctionCollection.NetworkDeviceFunctionCollection", + "Name": "Network Device Function Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot2/NetworkDeviceFunctions/SCFCP1F0" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/NetworkInterfaces/SCFCP1F0/NetworkDeviceFunctions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/NetworkInterfaces/SCFCP1F0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/NetworkInterfaces/SCFCP1F0/index.json new file mode 100644 index 00000000..81baf3f0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/NetworkInterfaces/SCFCP1F0/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#NetworkInterface.v1_2_3.NetworkInterface", + "Id": "SCFCP1F0", + "Links": { + "NetworkAdapter": { + "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot2" + } + }, + "Name": "E810 Network Interface", + "NetworkDeviceFunctions": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/NetworkInterfaces/SCFCP1F0/NetworkDeviceFunctions" + }, + "Status": { + "State": "Enabled", + "HealthRollup": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/NetworkInterfaces/SCFCP1F0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/NetworkInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/NetworkInterfaces/index.json new file mode 100644 index 00000000..43f35310 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/NetworkInterfaces/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#NetworkInterfaceCollection.NetworkInterfaceCollection", + "Name": "Network Interface Collection", + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/NetworkInterfaces/SCFCP1F0" + } + ], + "Members@odata.count": 1, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/NetworkInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Processors/CPU1/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Processors/CPU1/EnvironmentMetrics/index.json new file mode 100644 index 00000000..fbd9af54 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Processors/CPU1/EnvironmentMetrics/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Processor Environment Metrics", + "TemperatureCelsius": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/CPU1Temp", + "Reading": 44 + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/CPU1Power", + "Reading": 12.87 + }, + "FanSpeedsPercent": [ + { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/CPUFan1", + "DeviceName": "CPU #1 Fan Speed", + "Reading": 80 + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Processors/CPU1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Processors/CPU1/index.json new file mode 100644 index 00000000..4c96405f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Processors/CPU1/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU1", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Multi-Core Intel(R) Xeon(R) processor 7xxx Series", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 3700, + "TotalCores": 8, + "TotalThreads": 16, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1/EnvironmentMetrics" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Processors/CPU2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Processors/CPU2/index.json new file mode 100644 index 00000000..24eec3f5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Processors/CPU2/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU2", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "CPU", + "Status": { + "State": "Absent" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Processors/index.json new file mode 100644 index 00000000..693c88d6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/Processors/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processors Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU2" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/SimpleStorage/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/SimpleStorage/1/index.json new file mode 100644 index 00000000..b126769d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/SimpleStorage/1/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#SimpleStorage.v1_3_2.SimpleStorage", + "Id": "1", + "Name": "Simple Storage Controller", + "Description": "System SATA", + "UefiDevicePath": "Acpi(PNP0A03,0)/Pci(1F|1)/Ata(Primary,Master)/HD(Part3, Sig00110011)", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "Warning" + }, + "Devices": [ + { + "Name": "SATA Bay 1", + "Manufacturer": "Contoso", + "Model": "3000GT8", + "CapacityBytes": 8000000000000, + "Status": { + "State": "Enabled", + "Health": "OK" + } + }, + { + "Name": "SATA Bay 2", + "Manufacturer": "Contoso", + "Model": "3000GT7", + "CapacityBytes": 4000000000000, + "Status": { + "State": "Enabled", + "Health": "Warning" + } + }, + { + "Name": "SATA Bay 3", + "Status": { + "State": "Absent" + } + }, + { + "Name": "SATA Bay 4", + "Status": { + "State": "Absent" + } + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SimpleStorage/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/SimpleStorage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/SimpleStorage/index.json new file mode 100644 index 00000000..c876f426 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/SimpleStorage/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SimpleStorageCollection.SimpleStorageCollection", + "Name": "Simple Storage Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SimpleStorage/1" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SimpleStorage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/index.json new file mode 100644 index 00000000..4a00e14f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/437XR1138R2/index.json @@ -0,0 +1,144 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "437XR1138R2", + "Name": "WebFrontEnd483", + "SystemType": "Physical", + "AssetTag": "Chicago-45Z-2381", + "Manufacturer": "Contoso", + "Model": "3500", + "SubModel": "RX", + "SKU": "8675309", + "SerialNumber": "437XR1138R2", + "PartNumber": "224071-J23", + "Description": "Web Front End node", + "UUID": "38947555-7742-3448-3784-823347823834", + "HostName": "web483", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "HostingRoles": [ + "ApplicationServer" + ], + "IndicatorLED": "Off", + "PowerState": "On", + "Boot": { + "BootSourceOverrideEnabled": "Once", + "BootSourceOverrideTarget": "Pxe", + "BootSourceOverrideTarget@Redfish.AllowableValues": [ + "None", + "Pxe", + "Cd", + "Usb", + "Hdd", + "BiosSetup", + "Utilities", + "Diags", + "SDCard", + "UefiTarget" + ], + "BootSourceOverrideMode": "UEFI", + "UefiTargetBootSourceOverride": "/0x31/0x33/0x01/0x01" + }, + "TrustedModules": [ + { + "FirmwareVersion": "1.13b", + "InterfaceType": "TPM1_2", + "Status": { + "State": "Enabled", + "Health": "OK" + } + } + ], + "Oem": { + "Contoso": { + "@odata.type": "#Contoso.ComputerSystem", + "ProductionLocation": { + "FacilityName": "PacWest Production Facility", + "Country": "USA" + } + }, + "Chipwise": { + "@odata.type": "#Chipwise.ComputerSystem", + "Style": "Executive" + } + }, + "BiosVersion": "P79 v1.45 (12/06/2017)", + "ProcessorSummary": { + "Count": 2, + "Model": "Multi-Core Intel(R) Xeon(R) processor 7xxx Series", + "LogicalProcessorCount": 16, + "CoreCount": 8, + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + } + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 96, + "TotalSystemPersistentMemoryGiB": 0, + "MemoryMirroring": "None", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + } + }, + "Bios": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Bios" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces" + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory" + }, + "NetworkInterfaces": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/NetworkInterfaces" + }, + "SimpleStorage": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SimpleStorage" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ] + }, + "Actions": { + "#ComputerSystem.Reset": { + "target": "/redfish/v1/Systems/437XR1138R2/Actions/ComputerSystem.Reset", + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "GracefulRestart", + "ForceRestart", + "Nmi", + "ForceOn", + "PushPowerButton" + ] + }, + "Oem": { + "#Contoso.Reset": { + "target": "/redfish/v1/Systems/437XR1138R2/Oem/Contoso/Actions/Contoso.Reset" + } + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/index.json new file mode 100644 index 00000000..af7ef3f8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/Systems/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ComputerSystemCollection.ComputerSystemCollection", + "Name": "Computer System Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + } + ], + "@odata.id": "/redfish/v1/Systems", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/explorer_config.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/explorer_config.json new file mode 100644 index 00000000..cc64590e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/explorer_config.json @@ -0,0 +1,48 @@ +{ + "name": "Advanced Communication Devices", + "description": "This example shows a server with an implementation of the Redfish advanced communication device (ACD) model using the NetworkAdapter, NetworkDeviceFunction, and Port resources.", + "navlinks": [ + { + "text": "Main", + "target": "main" + }, + { + "text": "Systems", + "target": "Systems", + "navlinks": [ + { + "text": "437XR1138R2", + "target": "437XR1138R2" + } + ] + }, + { + "text": "Chassis", + "target": "Chassis", + "navlinks": [ + { + "text": "1U", + "target": "1U" + } + ] + }, + { + "text": "Managers", + "target": "Managers", + "navlinks": [ + { + "text": "BMC", + "target": "BMC" + } + ] + }, + { + "text": "Session Service", + "target": "SessionService" + }, + { + "target": "AccountService", + "text": "Account Service" + } + ] +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/index.json new file mode 100644 index 00000000..f6ecd2e2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/index.json @@ -0,0 +1,42 @@ +{ + "@odata.type": "#ServiceRoot.v1_22_0.ServiceRoot", + "Id": "RootService", + "Name": "Root Service", + "RedfishVersion": "1.15.0", + "UUID": "92384634-2938-2342-8820-489239905423", + "ProtocolFeaturesSupported": { + "ExpandQuery": { + "ExpandAll": true, + "Levels": true, + "MaxLevels": 6, + "Links": true, + "NoLinks": true + }, + "SelectQuery": false, + "FilterQuery": false, + "OnlyMemberQuery": true, + "ExcerptQuery": true + }, + "Systems": { + "@odata.id": "/redfish/v1/Systems" + }, + "Chassis": { + "@odata.id": "/redfish/v1/Chassis" + }, + "Managers": { + "@odata.id": "/redfish/v1/Managers" + }, + "SessionService": { + "@odata.id": "/redfish/v1/SessionService" + }, + "AccountService": { + "@odata.id": "/redfish/v1/AccountService" + }, + "Links": { + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + } + }, + "@odata.id": "/redfish/v1/", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-acd/odata/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-acd/odata/index.json new file mode 100644 index 00000000..51fd7910 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-acd/odata/index.json @@ -0,0 +1,41 @@ +{ + "@odata.context": "/redfish/v1/$metadata", + "value": [ + { + "name": "Service", + "kind": "Singleton", + "url": "/redfish/v1/" + }, + { + "name": "Systems", + "kind": "Singleton", + "url": "/redfish/v1/Systems" + }, + { + "name": "Chassis", + "kind": "Singleton", + "url": "/redfish/v1/Chassis" + }, + { + "name": "Managers", + "kind": "Singleton", + "url": "/redfish/v1/Managers" + }, + { + "name": "AccountService", + "kind": "Singleton", + "url": "/redfish/v1/AccountService" + }, + { + "name": "SessionService", + "kind": "Singleton", + "url": "/redfish/v1/SessionService" + }, + { + "name": "Sessions", + "kind": "Singleton", + "url": "/redfish/v1/SessionService/Sessions" + } + ], + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/$metadata/index.xml b/test_dependencies/mockups/DSP2043_2026.2/public-applications/$metadata/index.xml new file mode 100644 index 00000000..ae4b135a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/$metadata/index.xml @@ -0,0 +1,144 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/AccountService/Accounts/1/Certificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/AccountService/Accounts/1/Certificates/index.json new file mode 100644 index 00000000..41b0634c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/AccountService/Accounts/1/Certificates/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificate Collection", + "Members@odata.count": 0, + "Members": [], + "@Redfish.SupportedCertificates": [ + "PEM" + ], + "@odata.id": "/redfish/v1/AccountService/Accounts/1/Certificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/AccountService/Accounts/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/AccountService/Accounts/1/index.json new file mode 100644 index 00000000..1e408165 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/AccountService/Accounts/1/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#ManagerAccount.v1_14_2.ManagerAccount", + "Id": "1", + "Name": "User Account", + "Description": "User Account", + "Enabled": true, + "Password": null, + "AccountTypes": [ + "Redfish" + ], + "UserName": "Administrator", + "RoleId": "Administrator", + "Locked": false, + "Certificates": { + "@odata.id": "/redfish/v1/AccountService/Accounts/1/Certificates" + }, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + } + }, + "@odata.id": "/redfish/v1/AccountService/Accounts/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/AccountService/Accounts/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/AccountService/Accounts/2/index.json new file mode 100644 index 00000000..c5d00d44 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/AccountService/Accounts/2/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#ManagerAccount.v1_14_2.ManagerAccount", + "Id": "2", + "Name": "Employee #457", + "Description": "This user is both a Redfish administrator and a SNMPv3 user.", + "Enabled": true, + "Password": null, + "UserName": "contoso_employee457", + "RoleId": "Administrator", + "Locked": false, + "AccountTypes": [ + "Redfish", + "SNMP" + ], + "SNMP": { + "AuthenticationKey": null, + "AuthenticationProtocol": "None", + "EncryptionKey": null, + "EncryptionProtocol": "CFB128_AES128" + }, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + } + }, + "@odata.id": "/redfish/v1/AccountService/Accounts/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/AccountService/Accounts/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/AccountService/Accounts/index.json new file mode 100644 index 00000000..9582bc7f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/AccountService/Accounts/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#ManagerAccountCollection.ManagerAccountCollection", + "Name": "Accounts Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Accounts/1" + }, + { + "@odata.id": "/redfish/v1/AccountService/Accounts/2" + } + ], + "@odata.id": "/redfish/v1/AccountService/Accounts", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/AccountService/Roles/Administrator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/AccountService/Roles/Administrator/index.json new file mode 100644 index 00000000..19d26a98 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/AccountService/Roles/Administrator/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Administrator", + "Name": "User Role", + "Description": "Admin User Role", + "RoleId": "Administrator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureManager", + "ConfigureUsers", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [ + "OemClearLog", + "OemPowerControl" + ], + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/AccountService/Roles/Operator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/AccountService/Roles/Operator/index.json new file mode 100644 index 00000000..90804a6a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/AccountService/Roles/Operator/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Operator", + "Name": "User Role", + "Description": "Operator User Role", + "RoleId": "Operator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/Operator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/AccountService/Roles/ReadOnly/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/AccountService/Roles/ReadOnly/index.json new file mode 100644 index 00000000..1df0cf03 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/AccountService/Roles/ReadOnly/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "ReadOnly", + "Name": "User Role", + "Description": "ReadOnly User Role", + "RoleId": "ReadOnly", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/AccountService/Roles/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/AccountService/Roles/index.json new file mode 100644 index 00000000..ba9ee112 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/AccountService/Roles/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#RoleCollection.RoleCollection", + "Name": "Roles Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/Operator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly" + } + ], + "@odata.id": "/redfish/v1/AccountService/Roles", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/AccountService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/AccountService/index.json new file mode 100644 index 00000000..eb627494 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/AccountService/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#AccountService.v1_19_0.AccountService", + "Id": "AccountService", + "Name": "Account Service", + "Description": "Account Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "AuthFailureLoggingThreshold": 3, + "MinPasswordLength": 8, + "AccountLockoutThreshold": 5, + "AccountLockoutDuration": 30, + "AccountLockoutCounterResetAfter": 30, + "AccountLockoutCounterResetEnabled": true, + "Accounts": { + "@odata.id": "/redfish/v1/AccountService/Accounts" + }, + "Roles": { + "@odata.id": "/redfish/v1/AccountService/Roles" + }, + "@odata.id": "/redfish/v1/AccountService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Chassis/1U/Drives/32ADF365C6C1B7BD/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Chassis/1U/Drives/32ADF365C6C1B7BD/index.json new file mode 100644 index 00000000..cab2ab2e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Chassis/1U/Drives/32ADF365C6C1B7BD/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "32ADF365C6C1B7BD", + "Name": "Drive Sample", + "IndicatorLED": "Lit", + "Model": "C123", + "Revision": "100A", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 899527000000, + "FailurePredicted": false, + "Protocol": "SAS", + "MediaType": "HDD", + "Manufacturer": "Contoso", + "SerialNumber": "1234570", + "PartNumber": "C123-1111", + "Identifiers": [ + { + "DurableNameFormat": "NAA", + "DurableName": "32ADF365C6C1B7BD" + } + ], + "HotspareType": "Global", + "HotspareReplacementMode": "Revertible", + "EncryptionAbility": "SelfEncryptingDrive", + "EncryptionStatus": "Unlocked", + "RotationSpeedRPM": 15000, + "BlockSizeBytes": 512, + "CapableSpeedGbs": 12, + "NegotiatedSpeedGbs": 12, + "Links": {}, + "Actions": { + "#Drive.SecureErase": { + "target": "/redfish/v1/Chassis/1U/Drives/32ADF365C6C1B7BD/Actions/Drive.SecureErase" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Drives/32ADF365C6C1B7BD", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Chassis/1U/Drives/35D38F11ACEF7BD3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Chassis/1U/Drives/35D38F11ACEF7BD3/index.json new file mode 100644 index 00000000..6e959ce7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Chassis/1U/Drives/35D38F11ACEF7BD3/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "35D38F11ACEF7BD3", + "Name": "Drive Sample", + "IndicatorLED": "Lit", + "Model": "C123", + "Revision": "100A", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 899527000000, + "FailurePredicted": false, + "Protocol": "SAS", + "MediaType": "HDD", + "Manufacturer": "Contoso", + "SerialNumber": "1234567", + "PartNumber": "C123-1111", + "Identifiers": [ + { + "DurableNameFormat": "NAA", + "DurableName": "35D38F11ACEF7BD3" + } + ], + "HotspareType": "None", + "EncryptionAbility": "SelfEncryptingDrive", + "EncryptionStatus": "Unlocked", + "RotationSpeedRPM": 15000, + "BlockSizeBytes": 512, + "CapableSpeedGbs": 12, + "NegotiatedSpeedGbs": 12, + "Links": { + "Volumes": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/1" + } + ] + }, + "Actions": { + "#Drive.SecureErase": { + "target": "/redfish/v1/Chassis/1U/Drives/35D38F11ACEF7BD3/Actions/Drive.SecureErase" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Drives/35D38F11ACEF7BD3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Chassis/1U/Drives/3D58ECBC375FD9F2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Chassis/1U/Drives/3D58ECBC375FD9F2/index.json new file mode 100644 index 00000000..acd9937c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Chassis/1U/Drives/3D58ECBC375FD9F2/index.json @@ -0,0 +1,49 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "3D58ECBC375FD9F2", + "Name": "Drive Sample", + "IndicatorLED": "Lit", + "Model": "C123", + "Revision": "100A", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 899527000000, + "FailurePredicted": false, + "Protocol": "SAS", + "MediaType": "HDD", + "Manufacturer": "Contoso", + "SerialNumber": "1234568", + "PartNumber": "C123-1111", + "Identifiers": [ + { + "DurableNameFormat": "NAA", + "DurableName": "32ADF365C6C1B7BD" + } + ], + "HotspareType": "None", + "EncryptionAbility": "SelfEncryptingDrive", + "EncryptionStatus": "Unlocked", + "RotationSpeedRPM": 15000, + "BlockSizeBytes": 512, + "CapableSpeedGbs": 12, + "NegotiatedSpeedGbs": 12, + "Links": { + "Volumes": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/2" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/3" + } + ] + }, + "Actions": { + "#Drive.SecureErase": { + "target": "/redfish/v1/Chassis/1U/Drives/3D58ECBC375FD9F2/Actions/Drive.SecureErase" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Drives/3D58ECBC375FD9F2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Chassis/1U/Drives/3F5A8C54207B7233/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Chassis/1U/Drives/3F5A8C54207B7233/index.json new file mode 100644 index 00000000..15d3c0c0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Chassis/1U/Drives/3F5A8C54207B7233/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "3F5A8C54207B7233", + "Name": "Drive Sample", + "IndicatorLED": "Lit", + "Model": "C123", + "Revision": "100A", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 899527000000, + "FailurePredicted": false, + "Protocol": "SAS", + "MediaType": "HDD", + "Manufacturer": "Contoso", + "SerialNumber": "1234569", + "PartNumber": "C123-1111", + "Identifiers": [ + { + "DurableNameFormat": "NAA", + "DurableName": "3F5A8C54207B7233" + } + ], + "HotspareType": "None", + "EncryptionAbility": "SelfEncryptingDrive", + "EncryptionStatus": "Unlocked", + "RotationSpeedRPM": 15000, + "BlockSizeBytes": 512, + "CapableSpeedGbs": 12, + "NegotiatedSpeedGbs": 12, + "Links": { + "Volumes": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/1" + } + ] + }, + "Actions": { + "#Drive.SecureErase": { + "target": "/redfish/v1/Chassis/1U/Drives/3F5A8C54207B7233/Actions/Drive.SecureErase" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Drives/3F5A8C54207B7233", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Chassis/1U/Drives/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Chassis/1U/Drives/index.json new file mode 100644 index 00000000..f5e8e1e9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Chassis/1U/Drives/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#DriveCollection.DriveCollection", + "Name": "Drive Collection", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Drives/35D38F11ACEF7BD3" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Drives/3F5A8C54207B7233" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Drives/32ADF365C6C1B7BD" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Drives/3D58ECBC375FD9F2" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/Drives", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Chassis/1U/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Chassis/1U/index.json new file mode 100644 index 00000000..f9bf8405 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Chassis/1U/index.json @@ -0,0 +1,61 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "1U", + "Name": "Computer System Chassis", + "ChassisType": "RackMount", + "AssetTag": "Chicago-45Z-2381", + "Manufacturer": "Contoso", + "Model": "3500RX", + "SKU": "8675309", + "SerialNumber": "437XR1138R2", + "PartNumber": "224071-J23", + "PowerState": "On", + "IndicatorLED": "Lit", + "HeightMm": 44.45, + "WidthMm": 431.8, + "DepthMm": 711, + "WeightKg": 15.31, + "Location": { + "PostalAddress": { + "Country": "US", + "Territory": "OR", + "City": "Portland", + "Street": "1001 SW 5th Avenue", + "HouseNumber": 1100, + "Name": "DMTF", + "PostalCode": "97204" + }, + "Placement": { + "Row": "North", + "Rack": "WEB43", + "RackOffsetUnits": "EIA_310", + "RackOffset": 12 + } + }, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Drives": { + "@odata.id": "/redfish/v1/Chassis/1U/Drives" + }, + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ], + "ManagersInChassis": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/1U", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Chassis/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Chassis/index.json new file mode 100644 index 00000000..9066a5e8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Chassis/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ChassisCollection.ChassisCollection", + "Name": "Chassis Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ], + "@odata.id": "/redfish/v1/Chassis", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/EthernetInterfaces/Dedicated/SD/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/EthernetInterfaces/Dedicated/SD/index.json new file mode 100644 index 00000000..a951bc17 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/EthernetInterfaces/Dedicated/SD/index.json @@ -0,0 +1,60 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "SD", + "Name": "Manager Ethernet Interface", + "Description": "Management Network Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:33:CF:EA", + "MACAddress": "23:11:8A:33:CF:EA", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.0.1" + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred" + } + ], + "NameServers": [ + "names.dmtf.org" + ], + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/Dedicated/SD", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/EthernetInterfaces/Dedicated/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/EthernetInterfaces/Dedicated/index.json new file mode 100644 index 00000000..bd71dce8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/EthernetInterfaces/Dedicated/index.json @@ -0,0 +1,76 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "Dedicated", + "Name": "Manager Ethernet Interface", + "Description": "Management Network Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:33:CF:EA", + "MACAddress": "23:11:8A:33:CF:EA", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.0.1" + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred" + } + ], + "NameServers": [ + "names.dmtf.org" + ], + "@Redfish.Settings": { + "@odata.type": "#Settings.v1_5_0.Settings", + "SettingsObject": { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/Dedicated/SD" + }, + "Time": "2012-03-07T14:44.30-05:00", + "ETag": "84ffcbb050ddc7fa9cddb59014546e59", + "Messages": [ + { + "MessageId": "Base.1.0.SettingsFailed", + "RelatedProperties": [ + "/IPv6Addresses/PrefixLength" + ] + } + ] + }, + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/Dedicated", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/EthernetInterfaces/index.json new file mode 100644 index 00000000..c373a6af --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/EthernetInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Network Interface Collection", + "Description": "Collection of EthernetInterfaces for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/Dedicated" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/LogServices/Log/Entries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/LogServices/Log/Entries/index.json new file mode 100644 index 00000000..d46fd942 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/LogServices/Log/Entries/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 0, + "Members": [], + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/LogServices/Log/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/LogServices/Log/index.json new file mode 100644 index 00000000..6d2dbdfe --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/LogServices/Log/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#LogService.v1_9_0.LogService", + "Id": "Log", + "Name": "System Log Service", + "MaxNumberOfRecords": 1000, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Managers/BMC/LogServices/Log/Actions/LogService.ClearLog" + } + }, + "Entries": { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries" + }, + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/LogServices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/LogServices/index.json new file mode 100644 index 00000000..0de6f42a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/LogServices/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Description": "Collection of Log Services for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/LogServices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/NetworkProtocol/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/NetworkProtocol/index.json new file mode 100644 index 00000000..cdefe9f8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/NetworkProtocol/index.json @@ -0,0 +1,84 @@ +{ + "@odata.type": "#ManagerNetworkProtocol.v1_14_0.ManagerNetworkProtocol", + "Id": "NetworkProtocol", + "Name": "Manager Network Protocol", + "Description": "Manager Network Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "HTTP": { + "ProtocolEnabled": true, + "Port": 80 + }, + "HTTPS": { + "ProtocolEnabled": true, + "Port": 443 + }, + "Proxy": { + "Enabled": true, + "ProxyServerURI": "https://proxy.intranet.contoso.com:9900", + "Username": "proxy", + "Password": null, + "PasswordSet": true, + "ExcludeAddresses": [], + "ProxyAutoConfigURI": "proxy.intranet.contoso.com/proxy.pac" + }, + "IPMI": { + "ProtocolEnabled": true, + "Port": 623 + }, + "SSH": { + "ProtocolEnabled": true, + "Port": 22 + }, + "SNMP": { + "ProtocolEnabled": true, + "EnableSNMPv1": true, + "EnableSNMPv2c": false, + "EnableSNMPv3": true, + "Port": 161, + "CommunityStrings": [ + { + "Name": "Read-only community", + "CommunityString": null, + "AccessMode": "Limited" + }, + { + "Name": "Full access community", + "CommunityString": null, + "AccessMode": "Full" + } + ], + "EngineId": { + "PrivateEnterpriseId": "00 00 01 9C", + "EnterpriseSpecificMethod": "00 11 22 33 44 55 66 77" + }, + "HideCommunityStrings": true, + "AuthenticationProtocol": "HMAC_SHA96", + "EncryptionProtocol": "CFB128_AES128" + }, + "VirtualMedia": { + "ProtocolEnabled": true, + "Port": 17988 + }, + "SSDP": { + "ProtocolEnabled": true, + "Port": 1900, + "NotifyMulticastIntervalSeconds": 600, + "NotifyTTL": 5, + "NotifyIPv6Scope": "Site" + }, + "Telnet": { + "ProtocolEnabled": true, + "Port": 23 + }, + "KVMIP": { + "ProtocolEnabled": true, + "Port": 5288 + }, + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/VirtualMedia/CD1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/VirtualMedia/CD1/index.json new file mode 100644 index 00000000..f91e066b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/VirtualMedia/CD1/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#VirtualMedia.v1_7_0.VirtualMedia", + "Id": "CD1", + "Name": "Virtual CD", + "MediaTypes": [ + "CD", + "DVD" + ], + "Image": "redfish.dmtf.org/freeImages/freeOS.1.1.iso", + "ImageName": "mymedia-read-only", + "ConnectedVia": "Applet", + "Inserted": true, + "WriteProtected": false, + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/CD1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/VirtualMedia/Floppy1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/VirtualMedia/Floppy1/index.json new file mode 100644 index 00000000..15191be4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/VirtualMedia/Floppy1/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#VirtualMedia.v1_7_0.VirtualMedia", + "Id": "Floppy1", + "Name": "Virtual Removable Media", + "MediaTypes": [ + "Floppy", + "USBStick" + ], + "Image": "https://www.dmtf.org/freeImages/Sardine.img", + "ImageName": "Sardine2.1.43.35.6a", + "ConnectedVia": "URI", + "Inserted": true, + "WriteProtected": false, + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/Floppy1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/VirtualMedia/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/VirtualMedia/index.json new file mode 100644 index 00000000..116eb0b0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/VirtualMedia/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#VirtualMediaCollection.VirtualMediaCollection", + "Name": "Virtual Media Services", + "Description": "Redfish-BMC Virtual Media Service Settings", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/Floppy1" + }, + { + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/CD1" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/index.json new file mode 100644 index 00000000..1ccbeba2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/BMC/index.json @@ -0,0 +1,80 @@ +{ + "@odata.type": "#Manager.v1_25_0.Manager", + "Id": "BMC", + "Name": "Manager", + "ManagerType": "BMC", + "Description": "Contoso BMC", + "ServiceEntryPointUUID": "92384634-2938-2342-8820-489239905423", + "UUID": "58893887-8974-2487-2389-841168418919", + "Model": "Joo Janta 200", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PowerState": "On", + "GraphicalConsole": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 2, + "ConnectTypesSupported": [ + "KVMIP" + ] + }, + "SerialConsole": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 1, + "ConnectTypesSupported": [ + "Telnet", + "SSH", + "IPMI" + ] + }, + "CommandShell": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 4, + "ConnectTypesSupported": [ + "Telnet", + "SSH" + ] + }, + "FirmwareVersion": "1.45.455b66-rev4", + "NetworkProtocol": { + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices" + }, + "VirtualMedia": { + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia" + }, + "Links": { + "ManagerForServers": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + } + ], + "ManagerForChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ], + "ManagerInChassis": { + "@odata.id": "/redfish/v1/Chassis/1U" + } + }, + "Actions": { + "#Manager.Reset": { + "target": "/redfish/v1/Managers/BMC/Actions/Manager.Reset", + "ResetType@Redfish.AllowableValues": [ + "ForceRestart", + "GracefulRestart" + ] + } + }, + "@odata.id": "/redfish/v1/Managers/BMC", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/index.json new file mode 100644 index 00000000..2de83743 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Managers/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerCollection.ManagerCollection", + "Name": "Manager Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ], + "@odata.id": "/redfish/v1/Managers", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/SessionService/Sessions/1234567890ABCDEF/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/SessionService/Sessions/1234567890ABCDEF/index.json new file mode 100644 index 00000000..90844a1b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/SessionService/Sessions/1234567890ABCDEF/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#Session.v1_9_0.Session", + "Id": "1234567890ABCDEF", + "Name": "User Session", + "Description": "Manager User Session", + "UserName": "Administrator", + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/SessionService/Sessions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/SessionService/Sessions/index.json new file mode 100644 index 00000000..8d8cdf58 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/SessionService/Sessions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SessionCollection.SessionCollection", + "Name": "Session Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF" + } + ], + "@odata.id": "/redfish/v1/SessionService/Sessions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/SessionService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/SessionService/index.json new file mode 100644 index 00000000..62a05690 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/SessionService/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#SessionService.v1_2_0.SessionService", + "Id": "SessionService", + "Name": "Session Service", + "Description": "Session Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "SessionTimeout": 30, + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + }, + "@odata.id": "/redfish/v1/SessionService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/index.json new file mode 100644 index 00000000..d78a7c0a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/index.json @@ -0,0 +1,53 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "12446A3B0411", + "Name": "Ethernet Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "LinkStatus": "LinkUp", + "PermanentMACAddress": "12:44:6A:3B:04:11", + "MACAddress": "12:44:6A:3B:04:11", + "SpeedMbps": 1000, + "FullDuplex": true, + "IPv6DefaultGateway": "fe80::3ed9:2bff:fe34:600", + "NameServers": [ + "names.contoso.com" + ], + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.255.0", + "AddressOrigin": "Static", + "Gateway": "192.168.0.1" + } + ], + "IPv4StaticAddresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.255.0", + "Gateway": "192.168.0.1" + } + ], + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "Static", + "AddressState": "Preferred" + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64 + } + ], + "VLAN": { + "VLANEnable": false, + "VLANId": 101 + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890/index.json new file mode 100644 index 00000000..84bdb113 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890/index.json @@ -0,0 +1,53 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "12446A3B8890", + "Name": "Ethernet Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "LinkStatus": "LinkUp", + "PermanentMACAddress": "12:44:6A:3B:88:90", + "MACAddress": "AA:BB:CC:DD:EE:00", + "SpeedMbps": 1000, + "FullDuplex": true, + "IPv6DefaultGateway": "fe80::3ed9:2bff:fe34:600", + "NameServers": [ + "names.contoso.com" + ], + "IPv4Addresses": [ + { + "Address": "192.168.0.11", + "SubnetMask": "255.255.255.0", + "AddressOrigin": "Static", + "Gateway": "192.168.0.1" + } + ], + "IPv4StaticAddresses": [ + { + "Address": "192.168.0.11", + "SubnetMask": "255.255.255.0", + "Gateway": "192.168.0.1" + } + ], + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e33", + "PrefixLength": 64, + "AddressOrigin": "Static", + "AddressState": "Preferred" + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e33", + "PrefixLength": 64 + } + ], + "VLAN": { + "VLANEnable": false, + "VLANId": 101 + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/EthernetInterfaces/index.json new file mode 100644 index 00000000..b5c55816 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/EthernetInterfaces/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Interface Collection", + "Description": "System NICs on Contoso Servers", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Memory/DIMM1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Memory/DIMM1/index.json new file mode 100644 index 00000000..8f9264d0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Memory/DIMM1/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM1", + "Name": "DIMM Slot 1", + "RankCount": 2, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 32768, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Memory/DIMM2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Memory/DIMM2/index.json new file mode 100644 index 00000000..9255c961 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Memory/DIMM2/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM2", + "Name": "DIMM Slot 2", + "RankCount": 2, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 32768, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 2 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Memory/DIMM3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Memory/DIMM3/index.json new file mode 100644 index 00000000..ce273aac --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Memory/DIMM3/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM3", + "Name": "DIMM Slot 3", + "RankCount": 2, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 32768, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 2, + "MemoryController": 2, + "Channel": 1, + "Slot": 3 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Memory/DIMM4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Memory/DIMM4/index.json new file mode 100644 index 00000000..60a64276 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Memory/DIMM4/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM4", + "Name": "DIMM Slot 4", + "MemoryLocation": { + "Socket": 2, + "MemoryController": 2, + "Channel": 1, + "Slot": 4 + }, + "Status": { + "State": "Absent" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Memory/index.json new file mode 100644 index 00000000..0abde074 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Memory/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Module Collection", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM2" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM3" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM4" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/OperatingSystem/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/OperatingSystem/index.json new file mode 100644 index 00000000..0bd13a52 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/OperatingSystem/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#OperatingSystem.v1_0_2.OperatingSystem", + "Id": "OperatingSystem", + "Name": "Contoso OS", + "UptimeSeconds": 16720, + "Kernel": { + "Name": "Linux", + "Release": "6.1.0-x86_64", + "Version": "#1 SMP Thu Feb 4 13:56:42 EST 2021", + "Machine": "x86_64" + }, + "Type": "Linux", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "VirtualMachineEngines": [ + { + "Type": "QEMU", + "Version": "6.1.0", + "SupportedImageTypes": [ + "VMDK", + "OVA" + ] + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/OperatingSystem", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Processors/CPU1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Processors/CPU1/index.json new file mode 100644 index 00000000..05f3d7d0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Processors/CPU1/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU1", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Multi-Core Intel(R) Xeon(R) processor 7xxx Series", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 3700, + "OperatingSpeedMHz": 2333, + "TotalCores": 8, + "TotalThreads": 16, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Processors/CPU2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Processors/CPU2/index.json new file mode 100644 index 00000000..24eec3f5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Processors/CPU2/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU2", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "CPU", + "Status": { + "State": "Absent" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Processors/index.json new file mode 100644 index 00000000..693c88d6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Processors/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processors Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU2" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Storage/1/Volumes/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Storage/1/Volumes/1/index.json new file mode 100644 index 00000000..43e20259 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Storage/1/Volumes/1/index.json @@ -0,0 +1,39 @@ +{ + "@odata.type": "#Volume.v1_11_0.Volume", + "Id": "1", + "Name": "Virtual Disk 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Encrypted": false, + "RAIDType": "RAID1", + "CapacityBytes": 899527000000, + "Identifiers": [ + { + "DurableNameFormat": "UUID", + "DurableName": "38f1818b-111e-463a-aa19-fa54f792e468" + } + ], + "Links": { + "Drives": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Drives/3F5A8C54207B7233" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Drives/35D38F11ACEF7BD3" + } + ] + }, + "Actions": { + "#Volume.Initialize": { + "target": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/1/Actions/Volume.Initialize", + "InitializeType@Redfish.AllowableValues": [ + "Fast", + "Slow" + ] + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Storage/1/Volumes/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Storage/1/Volumes/2/index.json new file mode 100644 index 00000000..d868ecf0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Storage/1/Volumes/2/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Volume.v1_11_0.Volume", + "Id": "2", + "Name": "Virtual Disk 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Encrypted": false, + "RAIDType": "RAID0", + "CapacityBytes": 107374182400, + "Identifiers": [ + { + "DurableNameFormat": "UUID", + "DurableName": "0324c96c-8031-4f5e-886c-50cd90aca854" + } + ], + "Links": { + "Drives": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Drives/3D58ECBC375FD9F2" + } + ] + }, + "Actions": { + "#Volume.Initialize": { + "target": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/2/Actions/Volume.Initialize", + "InitializeType@Redfish.AllowableValues": [ + "Fast", + "Slow" + ] + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Storage/1/Volumes/3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Storage/1/Volumes/3/index.json new file mode 100644 index 00000000..956c80a6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Storage/1/Volumes/3/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Volume.v1_11_0.Volume", + "Id": "3", + "Name": "Virtual Disk 3", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Encrypted": false, + "RAIDType": "RAID0", + "CapacityBytes": 107374182400, + "Identifiers": [ + { + "DurableNameFormat": "UUID", + "DurableName": "eb179a30-6f87-4fdb-8f92-639eb7aaabcb" + } + ], + "Links": { + "Drives": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Drives/3D58ECBC375FD9F2" + } + ] + }, + "Actions": { + "#Volume.Initialize": { + "target": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/3/Actions/Volume.Initialize", + "InitializeType@Redfish.AllowableValues": [ + "Fast", + "Slow" + ] + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Storage/1/Volumes/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Storage/1/Volumes/index.json new file mode 100644 index 00000000..f1071759 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Storage/1/Volumes/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#VolumeCollection.VolumeCollection", + "Name": "Storage Volume Collection", + "Description": "Storage Volume Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/2" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/3" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Storage/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Storage/1/index.json new file mode 100644 index 00000000..3ea70ee4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Storage/1/index.json @@ -0,0 +1,74 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Id": "1", + "Name": "Local Storage Controller", + "Description": "Integrated RAID Controller", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "StorageControllers": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1#/StorageControllers/0", + "MemberId": "0", + "Name": "Contoso Integrated RAID", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Identifiers": [ + { + "DurableNameFormat": "NAA", + "DurableName": "345C59DBD970859C" + } + ], + "Manufacturer": "Contoso", + "Model": "12Gbs Integrated RAID", + "SerialNumber": "2M220100SL", + "PartNumber": "CT18754", + "SpeedGbps": 12, + "FirmwareVersion": "1.0.0.7", + "SupportedControllerProtocols": [ + "PCIe" + ], + "SupportedDeviceProtocols": [ + "SAS", + "SATA" + ], + "CacheSummary": { + "TotalCacheSizeMiB": 1024, + "PersistentCacheSizeMiB": 1024, + "Status": { + "State": "Enabled", + "Health": "OK" + } + } + } + ], + "Drives": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Drives/35D38F11ACEF7BD3" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Drives/3F5A8C54207B7233" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Drives/32ADF365C6C1B7BD" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Drives/3D58ECBC375FD9F2" + } + ], + "Volumes": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes" + }, + "Links": {}, + "Actions": { + "#Storage.SetEncryptionKey": { + "target": "/redfish/v1/Systems/437XR1138R2/Storage/1/Actions/Storage.SetEncryptionKey" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Storage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Storage/index.json new file mode 100644 index 00000000..096299f5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/Storage/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#StorageCollection.StorageCollection", + "Name": "Storage Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/index.json new file mode 100644 index 00000000..fbf612b9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/437XR1138R2/index.json @@ -0,0 +1,125 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "437XR1138R2", + "Name": "WebFrontEnd483", + "SystemType": "Physical", + "AssetTag": "Chicago-45Z-2381", + "Manufacturer": "Contoso", + "Model": "3500", + "SubModel": "RX", + "SKU": "8675309", + "SerialNumber": "437XR1138R2", + "PartNumber": "224071-J23", + "Description": "Web Front End node", + "UUID": "38947555-7742-3448-3784-823347823834", + "HostName": "web483", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "HostingRoles": [ + "ApplicationServer" + ], + "IndicatorLED": "Off", + "PowerState": "On", + "Boot": { + "BootSourceOverrideEnabled": "Once", + "BootSourceOverrideTarget": "Pxe", + "BootSourceOverrideTarget@Redfish.AllowableValues": [ + "None", + "Pxe", + "Cd", + "Usb", + "Hdd", + "BiosSetup", + "Utilities", + "Diags", + "SDCard", + "UefiTarget" + ], + "BootSourceOverrideMode": "UEFI", + "UefiTargetBootSourceOverride": "/0x31/0x33/0x01/0x01" + }, + "TrustedModules": [ + { + "FirmwareVersion": "1.13b", + "InterfaceType": "TPM1_2", + "Status": { + "State": "Enabled", + "Health": "OK" + } + } + ], + "BiosVersion": "P79 v1.45 (12/06/2017)", + "ProcessorSummary": { + "Count": 2, + "Model": "Multi-Core Intel(R) Xeon(R) processor 7xxx Series", + "LogicalProcessorCount": 16, + "CoreCount": 8, + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + } + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 96, + "TotalSystemPersistentMemoryGiB": 0, + "MemoryMirroring": "None", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + } + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces" + }, + "Storage": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage" + }, + "OperatingSystem": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/OperatingSystem" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ], + "VirtualMachines": [ + { + "@odata.id": "/redfish/v1/Systems/VM1" + } + ] + }, + "Actions": { + "#ComputerSystem.Reset": { + "target": "/redfish/v1/Systems/437XR1138R2/Actions/ComputerSystem.Reset", + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "GracefulRestart", + "ForceRestart", + "Nmi", + "ForceOn", + "PushPowerButton" + ] + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/EthernetInterfaces/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/EthernetInterfaces/1/index.json new file mode 100644 index 00000000..17cbc0d2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/EthernetInterfaces/1/index.json @@ -0,0 +1,50 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "1", + "Name": "Ethernet Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "LinkStatus": "LinkUp", + "PermanentMACAddress": "12:44:6A:3B:88:91", + "MACAddress": "AA:BB:CC:DD:EE:01", + "SpeedMbps": 1000, + "FullDuplex": true, + "IPv6DefaultGateway": "fe80::3ed9:2bff:fe34:600", + "NameServers": [ + "names.contoso.com" + ], + "IPv4Addresses": [ + { + "Address": "192.168.0.12", + "SubnetMask": "255.255.255.0", + "AddressOrigin": "Static", + "Gateway": "192.168.0.1" + } + ], + "IPv4StaticAddresses": [ + { + "Address": "192.168.0.12", + "SubnetMask": "255.255.255.0", + "Gateway": "192.168.0.1" + } + ], + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e34", + "PrefixLength": 64, + "AddressOrigin": "Static", + "AddressState": "Preferred" + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e34", + "PrefixLength": 64 + } + ], + "RoutingScope": "External", + "@odata.id": "/redfish/v1/Systems/VM1/EthernetInterfaces/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/EthernetInterfaces/ContainerHostInterface/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/EthernetInterfaces/ContainerHostInterface/index.json new file mode 100644 index 00000000..172c9401 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/EthernetInterfaces/ContainerHostInterface/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "ContainerHostInterface", + "Name": "Ethernet Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "LinkStatus": "LinkUp", + "PermanentMACAddress": "AA:BB:CC:DD:EE:02", + "MACAddress": "AA:BB:CC:DD:EE:02", + "SpeedMbps": 1000, + "FullDuplex": true, + "IPv4Addresses": [ + { + "Address": "172.17.0.1", + "SubnetMask": "255.255.0.0", + "AddressOrigin": "Static", + "Gateway": "172.17.0.1" + } + ], + "IPv4StaticAddresses": [ + { + "Address": "172.17.0.1", + "SubnetMask": "255.255.0.0", + "Gateway": "172.17.0.1" + } + ], + "@odata.id": "/redfish/v1/Systems/VM1/EthernetInterfaces/ContainerHostInterface", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/EthernetInterfaces/index.json new file mode 100644 index 00000000..eded96bf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/EthernetInterfaces/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Interface Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/VM1/EthernetInterfaces/1" + }, + { + "@odata.id": "/redfish/v1/Systems/VM1/EthernetInterfaces/ContainerHostInterface" + } + ], + "@odata.id": "/redfish/v1/Systems/VM1/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Applications/Logger/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Applications/Logger/index.json new file mode 100644 index 00000000..36c368eb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Applications/Logger/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Application.v1_0_1.Application", + "Id": "Logger", + "Name": "Logging Agent", + "Version": "1.5.1", + "Vendor": "Contoso", + "StartTime": "2021-10-29T10:42:38+06:00", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "DestinationURIs": [ + "https://listeners.contoso.org:8000/handler" + ], + "MetricsURIs": [ + "https://192.168.0.12:7000" + ], + "Actions": { + "#Application.Reset": { + "target": "/redfish/v1/Systems/VM1/OperatingSystem/Applications/Logger/Actions/Application.Reset", + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "GracefulRestart", + "ForceRestart", + "ForceOn" + ] + } + }, + "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/Applications/Logger", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Applications/WebServer/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Applications/WebServer/index.json new file mode 100644 index 00000000..3c6679e6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Applications/WebServer/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#Application.v1_0_1.Application", + "Id": "WebServer", + "Name": "Apache Httpd", + "Version": "2.4.41", + "Vendor": "Apache", + "StartTime": "2021-10-29T10:42:38+06:00", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#Application.Reset": { + "target": "/redfish/v1/Systems/VM1/OperatingSystem/Applications/WebServer/Actions/Application.Reset", + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "GracefulRestart", + "ForceRestart", + "ForceOn" + ] + } + }, + "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/Applications/WebServer", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Applications/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Applications/index.json new file mode 100644 index 00000000..aa1be6c7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Applications/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#ApplicationCollection.ApplicationCollection", + "Name": "Application Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/Applications/WebServer" + }, + { + "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/Applications/Logger" + } + ], + "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/Applications", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/ContainerImages/WebLogic/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/ContainerImages/WebLogic/index.json new file mode 100644 index 00000000..eccbabe0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/ContainerImages/WebLogic/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#ContainerImage.v1_0_1.ContainerImage", + "Id": "WebLogic", + "Name": "Contoso Internal Web Business Logic 1.0", + "CreateTime": "2021-02-06T22:49:02Z", + "Type": "OCI", + "Version": "1.0.0", + "Status": { + "State": "Enabled" + }, + "ProgrammaticId": "2fbd319a987e5265aae45b7e786dead51d1aae48b7bea42bcfc91a62934ca37f", + "SizeBytes": 373293056, + "Links": { + "Containers": [ + { + "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/Containers/WebBusinessLogic" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/ContainerImages/WebLogic", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/ContainerImages/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/ContainerImages/index.json new file mode 100644 index 00000000..db0c73b5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/ContainerImages/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#ContainerImageCollection.ContainerImageCollection", + "Name": "Container Image Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/ContainerImages/mariadb-10-5-9" + }, + { + "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/ContainerImages/mariadb-10-3-28" + }, + { + "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/ContainerImages/WebLogic" + } + ], + "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/ContainerImages", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/ContainerImages/mariadb-10-3-28/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/ContainerImages/mariadb-10-3-28/index.json new file mode 100644 index 00000000..ef3b0051 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/ContainerImages/mariadb-10-3-28/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#ContainerImage.v1_0_1.ContainerImage", + "Id": "mariadb-10-3-28", + "Name": "mariadb image 10.3.28-focal", + "CreateTime": "2020-09-06T22:49:02Z", + "Type": "OCI", + "Version": "10.3.28-focal", + "Status": { + "State": "Enabled" + }, + "SizeBytes": 373293056, + "ProgrammaticId": "dfdfc8082140c52a216926276a9901f47e2f4d3456db4d1de1b163544e0d9ff1", + "Links": { + "Containers": [] + }, + "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/ContainerImages/mariadb-10-3-28", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/ContainerImages/mariadb-10-5-9/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/ContainerImages/mariadb-10-5-9/index.json new file mode 100644 index 00000000..86df39d6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/ContainerImages/mariadb-10-5-9/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#ContainerImage.v1_0_1.ContainerImage", + "Id": "mariadb-10-5-9", + "Name": "mariadb image 10.5.9-focal", + "CreateTime": "2021-02-06T22:49:02Z", + "Type": "OCI", + "Version": "10.5.9-focal", + "Status": { + "State": "Enabled" + }, + "SizeBytes": 373293056, + "ProgrammaticId": "59f644b76831838c5c33ac0ada2e38de7aa9c0b8d86b2ad84b231fabd25a7ad", + "Links": { + "Containers": [ + { + "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/Containers/Database" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/ContainerImages/mariadb-10-5-9", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Containers/Database/EthernetInterfaces/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Containers/Database/EthernetInterfaces/1/index.json new file mode 100644 index 00000000..9adcec43 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Containers/Database/EthernetInterfaces/1/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "1", + "Name": "Ethernet Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "LinkStatus": "LinkUp", + "PermanentMACAddress": "AA:BB:CC:DD:EE:03", + "MACAddress": "AA:BB:CC:DD:EE:03", + "SpeedMbps": 1000, + "FullDuplex": true, + "HostName": "Database", + "IPv4Addresses": [ + { + "Address": "172.17.0.3", + "SubnetMask": "255.255.0.0", + "AddressOrigin": "Static", + "Gateway": "172.17.0.1" + } + ], + "IPv4StaticAddresses": [ + { + "Address": "172.17.0.3", + "SubnetMask": "255.255.0.0", + "Gateway": "172.17.0.1" + } + ], + "RoutingScope": "HostOnly", + "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/Containers/Database/EthernetInterfaces/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Containers/Database/EthernetInterfaces/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Containers/Database/EthernetInterfaces/2/index.json new file mode 100644 index 00000000..70377478 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Containers/Database/EthernetInterfaces/2/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "2", + "Name": "Ethernet Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "LinkStatus": "LinkUp", + "PermanentMACAddress": "AA:BB:CC:DD:EE:04", + "MACAddress": "AA:BB:CC:DD:EE:04", + "SpeedMbps": 1000, + "FullDuplex": true, + "HostName": "Database-1", + "IPv4Addresses": [ + { + "Address": "10.0.0.3", + "SubnetMask": "255.255.255.0", + "AddressOrigin": "Static", + "Gateway": "10.0.0.1" + } + ], + "IPv4StaticAddresses": [ + { + "Address": "10.0.0.3", + "SubnetMask": "255.255.255.0", + "Gateway": "10.0.0.1" + } + ], + "RoutingScope": "Limited", + "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/Containers/Database/EthernetInterfaces/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Containers/Database/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Containers/Database/EthernetInterfaces/index.json new file mode 100644 index 00000000..92ea4412 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Containers/Database/EthernetInterfaces/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Interface Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/Containers/Database/EthernetInterfaces/1" + }, + { + "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/Containers/Database/EthernetInterfaces/2" + } + ], + "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/Containers/Database/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Containers/Database/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Containers/Database/index.json new file mode 100644 index 00000000..30e592d7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Containers/Database/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Container.v1_0_1.Container", + "Id": "Database", + "Name": "Database", + "StartTime": "2021-02-06T22:49:02Z", + "Limits": { + "MemoryBytes": 4294967296, + "CPUCount": 1.5 + }, + "Status": { + "State": "Enabled" + }, + "MountPoints": [ + { + "Source": "/opt/MyContainerStorage/DBConfig", + "Destination": "/config" + }, + { + "Source": "/opt/MyContainerStorage/DBData", + "Destination": "/db" + } + ], + "ProgrammaticId": "5584c257aba833892e1841cb77d898edc1f942f3bf901e7e0c390a504b9897a0", + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/Containers/Database/EthernetInterfaces" + }, + "Links": { + "ContainerImage": { + "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/ContainerImages/mariadb-10-5-9" + } + }, + "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/Containers/Database", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Containers/WebBusinessLogic/EthernetInterfaces/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Containers/WebBusinessLogic/EthernetInterfaces/1/index.json new file mode 100644 index 00000000..43e4fa1b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Containers/WebBusinessLogic/EthernetInterfaces/1/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "1", + "Name": "Ethernet Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "LinkStatus": "LinkUp", + "PermanentMACAddress": "AA:BB:CC:DD:EE:05", + "MACAddress": "AA:BB:CC:DD:EE:05", + "SpeedMbps": 1000, + "FullDuplex": true, + "HostName": "WebBusinessLogic", + "IPv4Addresses": [ + { + "Address": "172.17.0.2", + "SubnetMask": "255.255.255.0", + "AddressOrigin": "Static", + "Gateway": "172.17.0.1" + } + ], + "IPv4StaticAddresses": [ + { + "Address": "172.17.0.2", + "SubnetMask": "255.255.255.0", + "Gateway": "172.17.0.1" + } + ], + "RoutingScope": "HostOnly", + "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/Containers/WebBusinessLogic/EthernetInterfaces/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Containers/WebBusinessLogic/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Containers/WebBusinessLogic/EthernetInterfaces/index.json new file mode 100644 index 00000000..d0657be6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Containers/WebBusinessLogic/EthernetInterfaces/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Interface Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/Containers/WebBusinessLogic/EthernetInterfaces/1" + } + ], + "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/Containers/WebBusinessLogic/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Containers/WebBusinessLogic/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Containers/WebBusinessLogic/index.json new file mode 100644 index 00000000..3e9bcd67 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Containers/WebBusinessLogic/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#Container.v1_0_1.Container", + "Id": "WebBusinessLogic", + "Name": "Internal Web Business Logic", + "StartTime": "2021-02-06T22:49:02Z", + "Limits": { + "MemoryBytes": 4294967296, + "CPUCount": 1.5 + }, + "Status": { + "State": "Enabled" + }, + "MountPoints": [ + { + "Source": "/opt/MyContainerStorage/WebConfig", + "Destination": "/config" + } + ], + "ProgrammaticId": "5584c257aba833892e1841cb77d898edc1f942f3bf901e7e0c390a504b9897a0", + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/Containers/WebBusinessLogic/EthernetInterfaces" + }, + "Links": { + "ContainerImage": { + "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/ContainerImages/WebLogic" + } + }, + "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/Containers/WebBusinessLogic", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Containers/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Containers/index.json new file mode 100644 index 00000000..f2d7c4b7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/Containers/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#ContainerCollection.ContainerCollection", + "Name": "Container Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/Containers/WebBusinessLogic" + }, + { + "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/Containers/Database" + } + ], + "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/Containers", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/index.json new file mode 100644 index 00000000..1fb48d6a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/OperatingSystem/index.json @@ -0,0 +1,47 @@ +{ + "@odata.type": "#OperatingSystem.v1_0_2.OperatingSystem", + "Id": "OperatingSystem", + "Name": "OperatingSystem running on web-srv344", + "UptimeSeconds": 6720, + "Kernel": { + "Name": "Linux", + "Release": "5.10.13-x86_64", + "Version": "#1 SMP Thu Feb 4 13:56:42 EST 2021", + "Machine": "x86_64" + }, + "Type": "Linux", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Applications": { + "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/Applications" + }, + "ContainerEngines": [ + { + "Type": "Docker", + "Version": "20.10.5", + "SupportedImageTypes": [ + "DockerV1", + "DockerV2", + "OCI" + ], + "ManagementURIs": [ + "https://192.168.0.12:5555" + ] + } + ], + "ContainerImages": { + "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/ContainerImages" + }, + "Containers": { + "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/Containers" + }, + "Links": { + "SoftwareImage": { + "@odata.id": "/redfish/v1/UpdateService/SoftwareInventory/ContosoLinux" + } + }, + "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/Storage/1/Volumes/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/Storage/1/Volumes/1/index.json new file mode 100644 index 00000000..20e9c2f6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/Storage/1/Volumes/1/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Volume.v1_11_0.Volume", + "Id": "1", + "Name": "Virtual Disk 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Encrypted": false, + "RAIDType": "None", + "CapacityBytes": 53687091200, + "Capacity": { + "Data": { + "ConsumedBytes": 21474836480 + } + }, + "Identifiers": [ + { + "DurableNameFormat": "UUID", + "DurableName": "2208b846-5ca2-4aa3-80b2-f860917c3b04" + } + ], + "@odata.id": "/redfish/v1/Systems/VM1/Storage/1/Volumes/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/Storage/1/Volumes/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/Storage/1/Volumes/index.json new file mode 100644 index 00000000..818430e5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/Storage/1/Volumes/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#VolumeCollection.VolumeCollection", + "Name": "Storage Volume Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/VM1/Storage/1/Volumes/1" + } + ], + "@odata.id": "/redfish/v1/Systems/VM1/Storage/1/Volumes", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/Storage/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/Storage/1/index.json new file mode 100644 index 00000000..1733f6f4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/Storage/1/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Id": "1", + "Name": "Local Storage Controller", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "StorageControllers": [ + { + "@odata.id": "/redfish/v1/Systems/VM1/Storage/1#/StorageControllers/0", + "MemberId": "0", + "Name": "Virtual SATA Controller", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Identifiers": [ + { + "DurableNameFormat": "NAA", + "DurableName": "345C59DBD970859D" + } + ], + "Manufacturer": "Contoso", + "Model": "Virtual SATA", + "FirmwareVersion": "1.2.0.1", + "SupportedControllerProtocols": [ + "PCIe" + ], + "SupportedDeviceProtocols": [ + "SATA" + ] + } + ], + "Volumes": { + "@odata.id": "/redfish/v1/Systems/VM1/Storage/1/Volumes" + }, + "@odata.id": "/redfish/v1/Systems/VM1/Storage/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/Storage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/Storage/index.json new file mode 100644 index 00000000..73274b91 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/Storage/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#StorageCollection.StorageCollection", + "Name": "Storage Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/VM1/Storage/1" + } + ], + "@odata.id": "/redfish/v1/Systems/VM1/Storage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/index.json new file mode 100644 index 00000000..6cbbc5f0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/VM1/index.json @@ -0,0 +1,96 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "VM1", + "Name": "Sample Virtual Machine", + "SystemType": "Virtual", + "UUID": "38947555-7742-3448-3784-823347823834", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "HostingRoles": [ + "ApplicationServer" + ], + "PowerState": "On", + "Boot": { + "BootSourceOverrideEnabled": "Disabled", + "BootSourceOverrideTarget": "None", + "BootSourceOverrideTarget@Redfish.AllowableValues": [ + "None", + "Cd", + "Usb", + "Hdd" + ], + "BootSourceOverrideMode": "UEFI" + }, + "ProcessorSummary": { + "Count": 2, + "Model": "Multi-Core Intel(R) Xeon(R) processor 7xxx Series", + "LogicalProcessorCount": 2, + "CoreCount": 2, + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + } + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 16, + "TotalSystemPersistentMemoryGiB": 0, + "MemoryMirroring": "None", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + } + }, + "BootProgress": { + "LastState": "OSRunning", + "LastStateTime": "2021-10-29T10:35:47+06:00" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Systems/VM1/EthernetInterfaces" + }, + "OperatingSystem": { + "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem" + }, + "Storage": { + "@odata.id": "/redfish/v1/Systems/VM1/Storage" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ], + "HostingComputerSystem": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + } + }, + "Actions": { + "#ComputerSystem.Reset": { + "target": "/redfish/v1/Systems/VM1/Actions/ComputerSystem.Reset", + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "GracefulRestart", + "ForceRestart", + "Nmi", + "ForceOn", + "PushPowerButton", + "Pause", + "Suspend", + "Resume" + ] + } + }, + "@odata.id": "/redfish/v1/Systems/VM1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/index.json new file mode 100644 index 00000000..f93a9ace --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/Systems/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#ComputerSystemCollection.ComputerSystemCollection", + "Name": "Computer System Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + }, + { + "@odata.id": "/redfish/v1/Systems/VM1" + } + ], + "@odata.id": "/redfish/v1/Systems", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/UpdateService/FirmwareInventory/BIOS/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/UpdateService/FirmwareInventory/BIOS/index.json new file mode 100644 index 00000000..b9a113ab --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/UpdateService/FirmwareInventory/BIOS/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#SoftwareInventory.v1_15_0.SoftwareInventory", + "Id": "BIOS", + "Name": "Contoso BIOS Firmware", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Updateable": true, + "Manufacturer": "Contoso", + "ReleaseDate": "2017-12-06T12:00:00Z", + "Version": "P79 v1.45", + "SoftwareId": "FEE82A67-6CE2-4625-9F44-237AD2402C28", + "LowestSupportedVersion": "P79 v1.10", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + } + ], + "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/BIOS", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/UpdateService/FirmwareInventory/BMC/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/UpdateService/FirmwareInventory/BMC/index.json new file mode 100644 index 00000000..5ddd741e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/UpdateService/FirmwareInventory/BMC/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#SoftwareInventory.v1_15_0.SoftwareInventory", + "Id": "BMC", + "Name": "Contoso BMC Firmware", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Updateable": true, + "Manufacturer": "Contoso", + "ReleaseDate": "2017-08-22T12:00:00Z", + "Version": "1.45.455b66-rev4", + "SoftwareId": "1624A9DF-5E13-47FC-874A-DF3AFF143089", + "LowestSupportedVersion": "1.30.367a12-rev1", + "UefiDevicePaths": [ + "BMC(0x1,0x0ABCDEF)" + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ], + "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/BMC", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/UpdateService/FirmwareInventory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/UpdateService/FirmwareInventory/index.json new file mode 100644 index 00000000..d8621b82 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/UpdateService/FirmwareInventory/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#SoftwareInventoryCollection.SoftwareInventoryCollection", + "Name": "Firmware Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/BMC" + }, + { + "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/BIOS" + } + ], + "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/UpdateService/SimpleUpdateActionInfo/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/UpdateService/SimpleUpdateActionInfo/index.json new file mode 100644 index 00000000..68871f2f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/UpdateService/SimpleUpdateActionInfo/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#ActionInfo.v1_6_0.ActionInfo", + "Id": "SimpleUpdateActionInfo", + "Name": "Simple Update Action Info", + "Parameters": [ + { + "Name": "ImageURI", + "Required": true, + "DataType": "String" + }, + { + "Name": "TransferProtocol", + "Required": false, + "DataType": "String", + "AllowableValues": [ + "FTP", + "SFTP", + "HTTP", + "HTTPS", + "SCP", + "TFTP" + ] + }, + { + "Name": "Username", + "Required": false, + "DataType": "String" + }, + { + "Name": "Password", + "Required": false, + "DataType": "String" + } + ], + "@odata.id": "/redfish/v1/UpdateService/SimpleUpdateActionInfo", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/UpdateService/SoftwareInventory/ContosoLinux/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/UpdateService/SoftwareInventory/ContosoLinux/index.json new file mode 100644 index 00000000..d6cae496 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/UpdateService/SoftwareInventory/ContosoLinux/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#SoftwareInventory.v1_15_0.SoftwareInventory", + "Id": "ContosoLinux", + "Name": "Contoso Free Linux Distro", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Updateable": false, + "Version": "1.0.0", + "SoftwareId": "81660fd3-90a1-420e-90a0-74c8d5441d56", + "@odata.id": "/redfish/v1/UpdateService/SoftwareInventory/ContosoLinux", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/UpdateService/SoftwareInventory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/UpdateService/SoftwareInventory/index.json new file mode 100644 index 00000000..d55a0a18 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/UpdateService/SoftwareInventory/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SoftwareInventoryCollection.SoftwareInventoryCollection", + "Name": "Software Inventory Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/UpdateService/SoftwareInventory/ContosoLinux" + } + ], + "@odata.id": "/redfish/v1/UpdateService/SoftwareInventory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/UpdateService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/UpdateService/index.json new file mode 100644 index 00000000..e21986e3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/UpdateService/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#UpdateService.v1_17_1.UpdateService", + "Id": "UpdateService", + "Name": "Update service", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "ServiceEnabled": true, + "HttpPushUri": "/FWUpdate", + "HttpPushUriOptions": { + "HttpPushUriApplyTime": { + "ApplyTime": "Immediate", + "ApplyTime@Redfish.AllowableValues": [ + "Immediate", + "OnReset", + "AtMaintenanceWindowStart", + "InMaintenanceWindowOnReset" + ], + "MaintenanceWindowStartTime": "2018-12-01T03:00:00+06:00", + "MaintenanceWindowDurationInSeconds": 600 + } + }, + "HttpPushUriOptionsBusy": false, + "FirmwareInventory": { + "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory" + }, + "SoftwareInventory": { + "@odata.id": "/redfish/v1/UpdateService/SoftwareInventory" + }, + "Actions": { + "#UpdateService.SimpleUpdate": { + "target": "/redfish/v1/UpdateService/Actions/UpdateService.SimpleUpdate", + "@Redfish.ActionInfo": "/redfish/v1/UpdateService/SimpleUpdateActionInfo" + } + }, + "@odata.id": "/redfish/v1/UpdateService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/explorer_config.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/explorer_config.json new file mode 100644 index 00000000..b00f6a7c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/explorer_config.json @@ -0,0 +1,48 @@ +{ + "name": "Applications on a System", + "description": "This example shows the representation of an operating system (OS), applications, and virtual machines running on a system.", + "navlinks": [ + { + "text": "Main", + "target": "main" + }, + { + "text": "Systems", + "target": "Systems", + "navlinks": [ + { + "text": "437XR1138R2", + "target": "437XR1138R2" + } + ] + }, + { + "text": "Chassis", + "target": "Chassis", + "navlinks": [ + { + "text": "1U", + "target": "1U" + } + ] + }, + { + "text": "Managers", + "target": "Managers", + "navlinks": [ + { + "text": "BMC", + "target": "BMC" + } + ] + }, + { + "target": "AccountService", + "text": "Account Service" + }, + { + "target": "UpdateService", + "text": "Update Service" + } + ] +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/index.json new file mode 100644 index 00000000..a90495e7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#ServiceRoot.v1_22_0.ServiceRoot", + "Id": "RootService", + "Name": "Root Service", + "RedfishVersion": "1.6.0", + "UUID": "92384634-2938-2342-8820-489239905423", + "Systems": { + "@odata.id": "/redfish/v1/Systems" + }, + "Chassis": { + "@odata.id": "/redfish/v1/Chassis" + }, + "Managers": { + "@odata.id": "/redfish/v1/Managers" + }, + "SessionService": { + "@odata.id": "/redfish/v1/SessionService" + }, + "AccountService": { + "@odata.id": "/redfish/v1/AccountService" + }, + "UpdateService": { + "@odata.id": "/redfish/v1/UpdateService" + }, + "Links": { + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + } + }, + "@odata.id": "/redfish/v1/", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-applications/odata/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-applications/odata/index.json new file mode 100644 index 00000000..d501e76b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-applications/odata/index.json @@ -0,0 +1,46 @@ +{ + "@odata.context": "/redfish/v1/$metadata", + "value": [ + { + "name": "Service", + "kind": "Singleton", + "url": "/redfish/v1/" + }, + { + "name": "Systems", + "kind": "Singleton", + "url": "/redfish/v1/Systems" + }, + { + "name": "Chassis", + "kind": "Singleton", + "url": "/redfish/v1/Chassis" + }, + { + "name": "Managers", + "kind": "Singleton", + "url": "/redfish/v1/Managers" + }, + { + "name": "AccountService", + "kind": "Singleton", + "url": "/redfish/v1/AccountService" + }, + { + "name": "SessionService", + "kind": "Singleton", + "url": "/redfish/v1/SessionService" + }, + { + "name": "UpdateService", + "kind": "Singleton", + "url": "/redfish/v1/UpdateService" + }, + { + "name": "Sessions", + "kind": "Singleton", + "url": "/redfish/v1/SessionService/Sessions" + } + ], + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/$metadata/index.xml b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/$metadata/index.xml new file mode 100644 index 00000000..39ef8633 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/$metadata/index.xml @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/AccountService/Accounts/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/AccountService/Accounts/1/index.json new file mode 100644 index 00000000..781c45c6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/AccountService/Accounts/1/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#ManagerAccount.v1_14_2.ManagerAccount", + "Id": "1", + "Name": "User Account", + "Description": "User Account", + "Enabled": true, + "Password": null, + "PasswordChangeRequired": false, + "AccountTypes": [ + "Redfish" + ], + "UserName": "Administrator", + "RoleId": "Administrator", + "Locked": false, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + } + }, + "@odata.id": "/redfish/v1/AccountService/Accounts/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/AccountService/Accounts/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/AccountService/Accounts/index.json new file mode 100644 index 00000000..f509d474 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/AccountService/Accounts/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerAccountCollection.ManagerAccountCollection", + "Name": "Accounts Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Accounts/1" + } + ], + "@odata.id": "/redfish/v1/AccountService/Accounts", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/AccountService/Roles/Administrator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/AccountService/Roles/Administrator/index.json new file mode 100644 index 00000000..5c48e1da --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/AccountService/Roles/Administrator/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Administrator", + "Name": "User Role", + "Description": "Admin User Role", + "RoleId": "Administrator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureManager", + "ConfigureUsers", + "ConfigureSelf", + "ConfigureComponents" + ], + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/AccountService/Roles/Operator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/AccountService/Roles/Operator/index.json new file mode 100644 index 00000000..d7b57c29 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/AccountService/Roles/Operator/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Operator", + "Name": "User Role", + "Description": "Operator User Role", + "RoleId": "Operator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf", + "ConfigureComponents" + ], + "@odata.id": "/redfish/v1/AccountService/Roles/Operator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/AccountService/Roles/ReadOnly/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/AccountService/Roles/ReadOnly/index.json new file mode 100644 index 00000000..e290b0a1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/AccountService/Roles/ReadOnly/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "ReadOnly", + "Name": "User Role", + "Description": "ReadOnly User Role", + "RoleId": "ReadOnly", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login" + ], + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/AccountService/Roles/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/AccountService/Roles/index.json new file mode 100644 index 00000000..ba9ee112 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/AccountService/Roles/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#RoleCollection.RoleCollection", + "Name": "Roles Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/Operator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly" + } + ], + "@odata.id": "/redfish/v1/AccountService/Roles", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/AccountService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/AccountService/index.json new file mode 100644 index 00000000..eb627494 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/AccountService/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#AccountService.v1_19_0.AccountService", + "Id": "AccountService", + "Name": "Account Service", + "Description": "Account Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "AuthFailureLoggingThreshold": 3, + "MinPasswordLength": 8, + "AccountLockoutThreshold": 5, + "AccountLockoutDuration": 30, + "AccountLockoutCounterResetAfter": 30, + "AccountLockoutCounterResetEnabled": true, + "Accounts": { + "@odata.id": "/redfish/v1/AccountService/Accounts" + }, + "Roles": { + "@odata.id": "/redfish/v1/AccountService/Roles" + }, + "@odata.id": "/redfish/v1/AccountService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade1/Thermal/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade1/Thermal/index.json new file mode 100644 index 00000000..b6a132f2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade1/Thermal/index.json @@ -0,0 +1,87 @@ +{ + "@odata.type": "#Thermal.v1_7_3.Thermal", + "Name": "PartitionedServer Blade1 Thermal", + "Id": "PartitionedServerBlade1Thermal", + "Description": "Fans will be absent within blades, but sensor Info is relevent in Multiblade enclosure", + "Temperatures": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade1/Thermal#/Temperatures/0", + "MemberId": "0", + "Name": "Blade Temp", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 62, + "UpperThresholdNonCritical": 75, + "UpperThresholdCritical": 90, + "UpperThresholdFatal": 95, + "LowerThresholdNonCritical": 42, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 42, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 120, + "PhysicalContext": "ComputeBay", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/ComposedPartition1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade1" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade1/Thermal#/Temperatures/1", + "MemberId": "1", + "Name": "CPU1 Temp", + "SensorNumber": 42, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 21, + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 42, + "UpperThresholdFatal": 42, + "LowerThresholdNonCritical": 42, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 42, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 200, + "PhysicalContext": "CPU", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Processors/CPU1" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade1/Thermal#/Temperatures/2", + "MemberId": "2", + "Name": "Blade Intake Temp", + "SensorNumber": 44, + "Status": { + "State": "Enabled", + "Health": "Warning" + }, + "ReadingCelsius": 35, + "UpperThresholdNonCritical": 30, + "UpperThresholdCritical": 40, + "UpperThresholdFatal": 50, + "LowerThresholdNonCritical": 10, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 0, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 200, + "PhysicalContext": "Intake", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade1" + } + ] + } + ], + "@odata.id": "/redfish/v1/Chassis/Blade1/Thermal", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade1/index.json new file mode 100644 index 00000000..4dbc564a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade1/index.json @@ -0,0 +1,63 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "Blade1", + "Name": "Blade 1", + "ChassisType": "Blade", + "SerialNumber": "RYM052", + "PartNumber": "166480-S23", + "Manufacturer": "Contoso", + "Model": "Constoto-2S-B", + "IndicatorLED": "Off", + "PowerState": "On", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Location": { + "Info": "DCTexas-Row10-Rack1-20U-Bay1" + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/Blade1/Thermal" + }, + "Links": { + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/Enclosure" + }, + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/ComposedPartition1" + } + ], + "CooledBy": [ + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Thermal#/Fans/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Thermal#/Fans/1" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/EncMgr1" + }, + { + "@odata.id": "/redfish/v1/Managers/EncMgr2" + } + ], + "PoweredBy": [ + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Power#/PowerSupplies/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Power#/PowerSupplies/1" + } + ], + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/Blade1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade2/Thermal/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade2/Thermal/index.json new file mode 100644 index 00000000..88e0ced7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade2/Thermal/index.json @@ -0,0 +1,87 @@ +{ + "@odata.type": "#Thermal.v1_7_3.Thermal", + "Name": "PartitionedServer Blade2 Thermal", + "Id": "PartitionedServerBlade2Thermal", + "Description": "Fans will be absent within blades, but sensor Info is relevent in Multiblade enclosure", + "Temperatures": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade2/Thermal#/Temperatures/0", + "MemberId": "0", + "Name": "Blade Temp", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 62, + "UpperThresholdNonCritical": 75, + "UpperThresholdCritical": 90, + "UpperThresholdFatal": 95, + "LowerThresholdNonCritical": 42, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 42, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 120, + "PhysicalContext": "ComputeBay", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/ComposedPartition2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade2" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade2/Thermal#/Temperatures/1", + "MemberId": "1", + "Name": "CPU1 Temp", + "SensorNumber": 42, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 21, + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 42, + "UpperThresholdFatal": 42, + "LowerThresholdNonCritical": 42, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 42, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 200, + "PhysicalContext": "CPU", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Processors/CPU1" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade2/Thermal#/Temperatures/2", + "MemberId": "2", + "Name": "Blade Intake Temp", + "SensorNumber": 44, + "Status": { + "State": "Enabled", + "Health": "Critical" + }, + "ReadingCelsius": 42, + "UpperThresholdNonCritical": 30, + "UpperThresholdCritical": 40, + "UpperThresholdFatal": 50, + "LowerThresholdNonCritical": 10, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 0, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 200, + "PhysicalContext": "Intake", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade2" + } + ] + } + ], + "@odata.id": "/redfish/v1/Chassis/Blade2/Thermal", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade2/index.json new file mode 100644 index 00000000..352ec79e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade2/index.json @@ -0,0 +1,63 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "Blade2", + "Name": "Blade 2", + "ChassisType": "Blade", + "SerialNumber": "RYM053", + "PartNumber": "166480-S26", + "Manufacturer": "Contoso", + "Model": "Constoto-2S-B", + "IndicatorLED": "Off", + "PowerState": "On", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Location": { + "Info": "DCTexas-Row10-Rack1-20U-Bay2" + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/Blade2/Thermal" + }, + "Links": { + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/Enclosure" + }, + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/ComposedPartition2" + } + ], + "CooledBy": [ + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Thermal#/Fans/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Thermal#/Fans/1" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/EncMgr1" + }, + { + "@odata.id": "/redfish/v1/Managers/EncMgr2" + } + ], + "PoweredBy": [ + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Power#/PowerSupplies/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Power#/PowerSupplies/1" + } + ], + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock2" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/Blade2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade3/Thermal/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade3/Thermal/index.json new file mode 100644 index 00000000..f57f962e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade3/Thermal/index.json @@ -0,0 +1,86 @@ +{ + "@odata.type": "#Thermal.v1_7_3.Thermal", + "Name": "PartitionedServer Blade3 Thermal", + "Id": "PartitionedServerBlade3Thermal", + "Temperatures": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade3/Thermal#/Temperatures/0", + "MemberId": "0", + "Name": "Blade Temp", + "Status": { + "State": "Enabled", + "Health": "Warning" + }, + "ReadingCelsius": 85, + "UpperThresholdNonCritical": 75, + "UpperThresholdCritical": 90, + "UpperThresholdFatal": 95, + "LowerThresholdNonCritical": 42, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 42, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 120, + "PhysicalContext": "ComputeBay", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/ComposedPartition2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade3" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade3/Thermal#/Temperatures/1", + "MemberId": "1", + "Name": "CPU1 Temp", + "SensorNumber": 42, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 21, + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 42, + "UpperThresholdFatal": 42, + "LowerThresholdNonCritical": 42, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 42, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 200, + "PhysicalContext": "CPU", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Processors/CPU1" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade3/Thermal#/Temperatures/2", + "MemberId": "2", + "Name": "Blade Intake Temp", + "SensorNumber": 44, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 25, + "UpperThresholdNonCritical": 30, + "UpperThresholdCritical": 40, + "UpperThresholdFatal": 50, + "LowerThresholdNonCritical": 10, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 0, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 200, + "PhysicalContext": "Intake", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade3" + } + ] + } + ], + "@odata.id": "/redfish/v1/Chassis/Blade3/Thermal", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade3/index.json new file mode 100644 index 00000000..12481012 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade3/index.json @@ -0,0 +1,63 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "Blade3", + "Name": "Blade 3", + "ChassisType": "Blade", + "SerialNumber": "RYM056", + "PartNumber": "166480-S30", + "Manufacturer": "Contoso", + "Model": "Constoto-2S-B", + "IndicatorLED": "Off", + "PowerState": "On", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Location": { + "Info": "DCTexas-Row10-Rack1-20U-Bay3" + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/Blade3/Thermal" + }, + "Links": { + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/Enclosure" + }, + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/ComposedPartition2" + } + ], + "CooledBy": [ + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Thermal#/Fans/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Thermal#/Fans/1" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/EncMgr1" + }, + { + "@odata.id": "/redfish/v1/Managers/EncMgr2" + } + ], + "PoweredBy": [ + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Power#/PowerSupplies/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Power#/PowerSupplies/1" + } + ], + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock3" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/Blade3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade4/Thermal/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade4/Thermal/index.json new file mode 100644 index 00000000..3825b5be --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade4/Thermal/index.json @@ -0,0 +1,58 @@ +{ + "@odata.type": "#Thermal.v1_7_3.Thermal", + "Name": "PartitionedServer Blade4 Thermal", + "Id": "PartitionedServerBlade4Thermal", + "Temperatures": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade4/Thermal#/Temperatures/0", + "MemberId": "0", + "Name": "Blade Temp", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 62, + "UpperThresholdNonCritical": 75, + "UpperThresholdCritical": 90, + "UpperThresholdFatal": 95, + "LowerThresholdNonCritical": 42, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 42, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 120, + "PhysicalContext": "ComputeBay", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade4" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade4/Thermal#/Temperatures/1", + "MemberId": "1", + "Name": "Blade Intake Temp", + "SensorNumber": 44, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 25, + "UpperThresholdNonCritical": 30, + "UpperThresholdCritical": 40, + "UpperThresholdFatal": 50, + "LowerThresholdNonCritical": 10, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 0, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 200, + "PhysicalContext": "Intake", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade4" + } + ] + } + ], + "@odata.id": "/redfish/v1/Chassis/Blade4/Thermal", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade4/index.json new file mode 100644 index 00000000..3735eac3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade4/index.json @@ -0,0 +1,58 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "Blade4", + "Name": "Blade 4", + "ChassisType": "Blade", + "SerialNumber": "RYM056", + "PartNumber": "166480-S30", + "Manufacturer": "Contoso", + "Model": "Constoto-2S-B", + "IndicatorLED": "Off", + "PowerState": "On", + "Status": { + "Health": "OK", + "State": "UnavailableOffline" + }, + "Location": { + "Info": "DCTexas-Row10-Rack1-20U-Bay4" + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/Blade4/Thermal" + }, + "Links": { + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/Enclosure" + }, + "CooledBy": [ + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Thermal#/Fans/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Thermal#/Fans/1" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/EncMgr1" + }, + { + "@odata.id": "/redfish/v1/Managers/EncMgr2" + } + ], + "PoweredBy": [ + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Power#/PowerSupplies/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Power#/PowerSupplies/1" + } + ], + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock4" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/Blade4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade5/Thermal/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade5/Thermal/index.json new file mode 100644 index 00000000..4f02750c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade5/Thermal/index.json @@ -0,0 +1,58 @@ +{ + "@odata.type": "#Thermal.v1_7_3.Thermal", + "Name": "PartitionedServer Blade5 Thermal", + "Id": "PartitionedServerBlade5Thermal", + "Temperatures": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade5/Thermal#/Temperatures/0", + "MemberId": "0", + "Name": "Blade Temp", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 62, + "UpperThresholdNonCritical": 75, + "UpperThresholdCritical": 90, + "UpperThresholdFatal": 95, + "LowerThresholdNonCritical": 42, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 42, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 120, + "PhysicalContext": "ComputeBay", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/ComposedPartition2" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade5/Thermal#/Temperatures/1", + "MemberId": "1", + "Name": "CPU1 Temp", + "SensorNumber": 42, + "Status": { + "State": "Enabled", + "Health": "Critical" + }, + "ReadingCelsius": 42, + "UpperThresholdNonCritical": 35, + "UpperThresholdCritical": 40, + "UpperThresholdFatal": 45, + "LowerThresholdNonCritical": 42, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 42, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 200, + "PhysicalContext": "CPU", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Processors/CPU1" + } + ] + } + ], + "@odata.id": "/redfish/v1/Chassis/Blade5/Thermal", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade5/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade5/index.json new file mode 100644 index 00000000..82bf8344 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade5/index.json @@ -0,0 +1,63 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "Blade5", + "Name": "Blade 5", + "ChassisType": "Blade", + "SerialNumber": "RYM056", + "PartNumber": "166480-S30", + "Manufacturer": "Contoso", + "Model": "Constoto-2S-B", + "IndicatorLED": "Off", + "PowerState": "On", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Location": { + "Info": "DCTexas-Row10-Rack1-20U-Bay5" + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/Blade5/Thermal" + }, + "Links": { + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/Enclosure" + }, + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/ComposedPartition2" + } + ], + "CooledBy": [ + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Thermal#/Fans/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Thermal#/Fans/1" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/EncMgr1" + }, + { + "@odata.id": "/redfish/v1/Managers/EncMgr2" + } + ], + "PoweredBy": [ + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Power#/PowerSupplies/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Power#/PowerSupplies/1" + } + ], + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock5" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/Blade5", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade6/Thermal/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade6/Thermal/index.json new file mode 100644 index 00000000..a31b8035 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade6/Thermal/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Thermal.v1_7_3.Thermal", + "Name": "PartitionedServer Blade6 Thermal", + "Id": "PartitionedServerBlade6Thermal", + "Temperatures": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade6/Thermal#/Temperatures/0", + "MemberId": "0", + "Name": "Blade Intake Temp", + "SensorNumber": 44, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 25, + "UpperThresholdNonCritical": 30, + "UpperThresholdCritical": 40, + "UpperThresholdFatal": 50, + "LowerThresholdNonCritical": 10, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 0, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 200, + "PhysicalContext": "Intake", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade6" + } + ] + } + ], + "@odata.id": "/redfish/v1/Chassis/Blade6/Thermal", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade6/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade6/index.json new file mode 100644 index 00000000..86294721 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade6/index.json @@ -0,0 +1,58 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "Blade6", + "Name": "Blade 6", + "ChassisType": "Blade", + "SerialNumber": "RYM056", + "PartNumber": "166480-S30", + "Manufacturer": "Contoso", + "Model": "Constoto-2S-B", + "IndicatorLED": "Off", + "PowerState": "On", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Location": { + "Info": "DCTexas-Row10-Rack1-20U-Bay6" + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/Blade6/Thermal" + }, + "Links": { + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/Enclosure" + }, + "CooledBy": [ + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Thermal#/Fans/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Thermal#/Fans/1" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/EncMgr1" + }, + { + "@odata.id": "/redfish/v1/Managers/EncMgr2" + } + ], + "PoweredBy": [ + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Power#/PowerSupplies/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Power#/PowerSupplies/1" + } + ], + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock6" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/Blade6", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade7/Thermal/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade7/Thermal/index.json new file mode 100644 index 00000000..7cf8f4c3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade7/Thermal/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Thermal.v1_7_3.Thermal", + "Name": "PartitionedServer Blade7 Thermal", + "Id": "PartitionedServerBlade7Thermal", + "Temperatures": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade7/Thermal#/Temperatures/0", + "MemberId": "0", + "Name": "Blade Intake Temp", + "SensorNumber": 44, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 25, + "UpperThresholdNonCritical": 30, + "UpperThresholdCritical": 40, + "UpperThresholdFatal": 50, + "LowerThresholdNonCritical": 10, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 0, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 200, + "PhysicalContext": "Intake", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade7" + } + ] + } + ], + "@odata.id": "/redfish/v1/Chassis/Blade7/Thermal", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade7/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade7/index.json new file mode 100644 index 00000000..1bae8ec1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade7/index.json @@ -0,0 +1,58 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "Blade7", + "Name": "Blade 7", + "ChassisType": "Blade", + "SerialNumber": "RYM056", + "PartNumber": "166480-S30", + "Manufacturer": "Contoso", + "Model": "Constoto-2S-B", + "IndicatorLED": "Off", + "PowerState": "On", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Location": { + "Info": "DCTexas-Row10-Rack1-20U-Bay7" + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/Blade7/Thermal" + }, + "Links": { + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/Enclosure" + }, + "CooledBy": [ + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Thermal#/Fans/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Thermal#/Fans/1" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/EncMgr1" + }, + { + "@odata.id": "/redfish/v1/Managers/EncMgr2" + } + ], + "PoweredBy": [ + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Power#/PowerSupplies/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Power#/PowerSupplies/1" + } + ], + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock7" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/Blade7", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade8/Thermal/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade8/Thermal/index.json new file mode 100644 index 00000000..828a7efc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade8/Thermal/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Thermal.v1_7_3.Thermal", + "Name": "PartitionedServer Blade8 Thermal", + "Id": "PartitionedServerBlade8Thermal", + "Temperatures": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade8/Thermal#/Temperatures/0", + "MemberId": "0", + "Name": "Blade Intake Temp", + "SensorNumber": 44, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 25, + "UpperThresholdNonCritical": 30, + "UpperThresholdCritical": 40, + "UpperThresholdFatal": 50, + "LowerThresholdNonCritical": 10, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 0, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 200, + "PhysicalContext": "Intake", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade8" + } + ] + } + ], + "@odata.id": "/redfish/v1/Chassis/Blade8/Thermal", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade8/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade8/index.json new file mode 100644 index 00000000..fa700a28 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Blade8/index.json @@ -0,0 +1,58 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "Blade8", + "Name": "Blade 8", + "ChassisType": "Expansion", + "SerialNumber": "RYM056", + "PartNumber": "166480-S30", + "Manufacturer": "Contoso", + "Model": "Constoto-2S-B", + "IndicatorLED": "Off", + "PowerState": "On", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Location": { + "Info": "DCTexas-Row10-Rack1-20U-Bay8" + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/Blade8/Thermal" + }, + "Links": { + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/Enclosure" + }, + "CooledBy": [ + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Thermal#/Fans/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Thermal#/Fans/1" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/EncMgr1" + }, + { + "@odata.id": "/redfish/v1/Managers/EncMgr2" + } + ], + "PoweredBy": [ + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Power#/PowerSupplies/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Power#/PowerSupplies/1" + } + ], + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeStorageBlock8" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/Blade8", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Enclosure/Power/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Enclosure/Power/index.json new file mode 100644 index 00000000..c64a386f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Enclosure/Power/index.json @@ -0,0 +1,81 @@ +{ + "@odata.type": "#Power.v1_7_3.Power", + "Name": "MultiBladeEnclosure Power", + "Id": "MultiBladeEnclosurePower", + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Power#/Redundancy/0", + "MemberId": "0", + "Name": "Power Supply Redundancy", + "Mode": "N+m", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Power#/PowerSupplies/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Power#/PowerSupplies/1" + } + ], + "MinNumNeeded": 6, + "MaxNumSupported": 12 + } + ], + "PowerSupplies": [ + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Power#/PowerSupplies/0", + "MemberId": "0", + "Name": "Power Supply 0", + "Model": "2400W 80 PLUS PLATINUM", + "Manufacturer": "Contoso", + "SerialNumber": "5BGXF0AHL2H037", + "PartNumber": "588603-B21", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PowerSupplyType": "AC", + "LineInputVoltageType": "AC240V", + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Power#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/Enclosure" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Power#/PowerSupplies/1", + "MemberId": "1", + "Name": "Power Supply 1", + "Model": "2400W 80 PLUS PLATINUM", + "Manufacturer": "Contoso", + "SerialNumber": "5BGXF0AHL2H044", + "PartNumber": "588603-B21", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PowerSupplyType": "AC", + "LineInputVoltageType": "AC240V", + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Power#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/Enclosure" + } + ] + } + ], + "@odata.id": "/redfish/v1/Chassis/Enclosure/Power", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Enclosure/Thermal/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Enclosure/Thermal/index.json new file mode 100644 index 00000000..f34b4172 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Enclosure/Thermal/index.json @@ -0,0 +1,80 @@ +{ + "@odata.type": "#Thermal.v1_7_3.Thermal", + "Name": "MultiBladeEnclosure Thermal", + "Id": "MultiBladeEnclosureThermal", + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Thermal#/Redundancy/0", + "MemberId": "0", + "Name": "Enclosure Fans Redundancy", + "RedundancyEnabled": true, + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Thermal#/Fans/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Thermal#/Fans/1" + } + ], + "Mode": "N+m", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MinNumNeeded": 6, + "MaxNumSupported": 15 + } + ], + "Fans": [ + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Thermal#/Fans/0", + "MemberId": "0", + "Name": "Enclosure Fan0", + "PartNumber": "412140-B21", + "Model": "Active Cool 200 Fan", + "PhysicalContext": "Back", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 60, + "ReadingUnits": "Percent", + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/Enclosure" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Thermal#/Fans/1", + "MemberId": "1", + "Name": "Enclosure Fan1", + "PartNumber": "412140-B21", + "Model": "Active Cool 200 Fan", + "PhysicalContext": "Back", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 40, + "ReadingUnits": "Percent", + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/Enclosure" + } + ] + } + ], + "@odata.id": "/redfish/v1/Chassis/Enclosure/Thermal", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Enclosure/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Enclosure/index.json new file mode 100644 index 00000000..cd95be86 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/Enclosure/index.json @@ -0,0 +1,104 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "Enclosure", + "Name": "Multi-Blade Enclosure", + "Description": "Enclosure with 8 Blades and 2 Managers", + "ChassisType": "Enclosure", + "Manufacturer": "Contoso", + "Model": "Contoso Standard 18U Rack", + "SerialNumber": "528QB1654R1", + "PartNumber": "166472-S44", + "IndicatorLED": "Off", + "AssetTag": "Writable", + "PowerState": "On", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Location": { + "Info": "DCTexas-Row10-Rack1-20U" + }, + "Power": { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Power" + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/Enclosure/Thermal" + }, + "Links": { + "Contains": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade3" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade4" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade5" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade6" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade7" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade8" + } + ], + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/ComposedPartition1" + }, + { + "@odata.id": "/redfish/v1/Systems/ComposedPartition2" + }, + { + "@odata.id": "/redfish/v1/Systems/ComposedPartition3" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/EncMgr1" + }, + { + "@odata.id": "/redfish/v1/Managers/EncMgr2" + } + ] + }, + "Oem": { + "Contoso": { + "@odata.type": "#Contoso.Chassis", + "NodeControllers@odata.count": 2, + "NodeControllers": [ + { + "Name": "NodeController 0", + "Vendor": "Contoso", + "PartNumber": "AH341-60401", + "SerialNumber": "MYJ2190789", + "Status": { + "Health": "OK", + "State": "Enabled" + } + }, + { + "Name": "NodeController 1", + "Vendor": "Contoso", + "PartNumber": "AH341-60401", + "SerialNumber": "MYJ219079Y", + "Status": { + "Health": "OK", + "State": "Enabled" + } + } + ] + } + }, + "@odata.id": "/redfish/v1/Chassis/Enclosure", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/index.json new file mode 100644 index 00000000..205b9c34 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Chassis/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#ChassisCollection.ChassisCollection", + "Name": "MultiBlade Enclosure Chassis Collection", + "Members@odata.count": 9, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/Enclosure" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade3" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade4" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade5" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade6" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade7" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade8" + } + ], + "@odata.id": "/redfish/v1/Chassis", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/EthernetInterfaces/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/EthernetInterfaces/1/index.json new file mode 100644 index 00000000..8b480d90 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/EthernetInterfaces/1/index.json @@ -0,0 +1,42 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "1", + "Name": "network.1", + "Description": "PartitionedServer NIC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MACAddress": "AA:BB:CC:DD:EE:FF", + "SpeedMbps": 1000, + "FullDuplex": true, + "HostName": "localhost1", + "FQDN": "localhost1.net", + "IPv6DefaultGateway": "fe80::3ed9:2bff:fe34:600", + "NameServers": [ + "names.redfishspecification.org" + ], + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "Static", + "Gateway": "192.168.0.1" + } + ], + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "Static", + "AddressState": "Preferred" + } + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/Blade1" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/EthernetInterfaces/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/EthernetInterfaces/index.json new file mode 100644 index 00000000..df0a1dc1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/EthernetInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Interface Collection", + "Description": "PartitionedServer Network Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/EthernetInterfaces/1" + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Memory/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Memory/1/index.json new file mode 100644 index 00000000..e4ede7a8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Memory/1/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "1", + "Name": "PartitionedServer Memory", + "MemoryDeviceType": "DDR4", + "MemoryType": "DRAM", + "PartNumber": "M393A4K40BB0-CPB", + "SerialNumber": "416CE41D", + "Manufacturer": "Contoso", + "RankCount": 2, + "CapacityMiB": 65536, + "OperatingSpeedMhz": 1600, + "ErrorCorrection": "MultiBitECC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/Blade1" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Memory/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Memory/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Memory/2/index.json new file mode 100644 index 00000000..7bc74965 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Memory/2/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "2", + "Name": "PartitionedServer Memory", + "MemoryDeviceType": "DDR4", + "MemoryType": "DRAM", + "PartNumber": "M393A4K40BB0-CPB", + "SerialNumber": "416CE7D5", + "Manufacturer": "Contoso", + "RankCount": 2, + "CapacityMiB": 65536, + "OperatingSpeedMhz": 1600, + "ErrorCorrection": "MultiBitECC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/Blade1" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Memory/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Memory/index.json new file mode 100644 index 00000000..56a8ea5f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Memory/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "PartitionedServer Memory Module Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Memory/1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Memory/2" + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Processors/CPU1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Processors/CPU1/index.json new file mode 100644 index 00000000..e5b0b9a2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Processors/CPU1/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU1", + "Name": "Processor", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) processor", + "MaxSpeedMHz": 3400, + "TotalCores": 18, + "TotalThreads": 36, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/Blade1" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Processors/CPU1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Processors/CPU2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Processors/CPU2/index.json new file mode 100644 index 00000000..e4627804 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Processors/CPU2/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU2", + "Name": "Processor", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) processor", + "MaxSpeedMHz": 3400, + "TotalCores": 18, + "TotalThreads": 36, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/Blade1" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Processors/CPU2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Processors/index.json new file mode 100644 index 00000000..2b33cce8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Processors/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "PartitionedServer Processor Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Processors/CPU1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Processors/CPU2" + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/index.json new file mode 100644 index 00000000..17e46b47 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Name": "RB System1", + "Id": "RBSystem", + "SystemType": "PhysicallyPartitioned", + "Model": "Constoto-2S-B Server Partition", + "Manufacturer": "Contoso", + "Description": "This represents PhysicallyPartitionedSystem ResourceBlock, from which System can be Composed", + "PowerState": "On", + "UUID": "00000000-0000-0000-0000-000000000000", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Processors": { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Memory" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/EthernetInterfaces" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade1" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/index.json new file mode 100644 index 00000000..9d5f779d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock1/index.json @@ -0,0 +1,47 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "BladeComputeBlock1", + "Name": "BladeCompute Block 1", + "ResourceBlockType": [ + "ComputerSystem" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "Reserved": true, + "CompositionState": "Composed" + }, + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem" + } + ], + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/ComposedPartition1" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/EncZone1" + } + ] + }, + "Oem": { + "Contoso": { + "@odata.type": "#Contoso.ComputeRB", + "ProcessorSummary": { + "Count": 2, + "Model": "Intel(R) Xeon(R) processor" + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 128 + } + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/EthernetInterfaces/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/EthernetInterfaces/1/index.json new file mode 100644 index 00000000..ff099b63 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/EthernetInterfaces/1/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "1", + "Name": "network.2", + "Description": "PartitionedServer NIC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MACAddress": "AA:BB:CC:DD:EE:FF", + "SpeedMbps": 1000, + "FullDuplex": true, + "HostName": "localhost2", + "FQDN": "localhost2.net", + "IPv6DefaultGateway": "fe80::3ed9:2bff:fe34:600", + "NameServers": [ + "names.redfishspecification.org" + ], + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "Static", + "Gateway": "192.168.0.1" + } + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/Blade2" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/EthernetInterfaces/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/EthernetInterfaces/index.json new file mode 100644 index 00000000..3755cad6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/EthernetInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Interface Collection", + "Description": "PartitionedServer Network Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/EthernetInterfaces/1" + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Memory/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Memory/1/index.json new file mode 100644 index 00000000..dcf0e836 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Memory/1/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "1", + "Name": "PartitionedServer Memory", + "MemoryDeviceType": "DDR4", + "MemoryType": "DRAM", + "PartNumber": "M393A4K40BB0-CPB", + "SerialNumber": "416CE41D", + "Manufacturer": "Contoso", + "RankCount": 2, + "CapacityMiB": 65536, + "OperatingSpeedMhz": 2133, + "ErrorCorrection": "MultiBitECC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/Blade2" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Memory/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Memory/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Memory/2/index.json new file mode 100644 index 00000000..ce40fb58 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Memory/2/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "2", + "Name": "PartitionedServer Memory", + "MemoryDeviceType": "DDR4", + "MemoryType": "DRAM", + "PartNumber": "M393A4K40BB0-CPB", + "SerialNumber": "416CE7D5", + "Manufacturer": "Contoso", + "RankCount": 2, + "CapacityMiB": 65536, + "OperatingSpeedMhz": 2133, + "ErrorCorrection": "MultiBitECC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/Blade2" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Memory/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Memory/index.json new file mode 100644 index 00000000..ad51b1c5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Memory/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "PartitionedServer Memory Module Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Memory/1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Memory/2" + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Processors/CPU1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Processors/CPU1/index.json new file mode 100644 index 00000000..3e677bad --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Processors/CPU1/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU1", + "Name": "Processor", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) processor", + "MaxSpeedMHz": 3400, + "TotalCores": 18, + "TotalThreads": 36, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/Blade2" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Processors/CPU1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Processors/CPU2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Processors/CPU2/index.json new file mode 100644 index 00000000..8f088f62 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Processors/CPU2/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU2", + "Name": "Processor", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) processor", + "MaxSpeedMHz": 3400, + "TotalCores": 18, + "TotalThreads": 36, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/Blade2" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Processors/CPU2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Processors/index.json new file mode 100644 index 00000000..05640847 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Processors/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "PartitionedServer Processor Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Processors/CPU1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Processors/CPU2" + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/index.json new file mode 100644 index 00000000..ab75e617 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Name": "RB System2", + "Id": "RBSystem", + "SystemType": "PhysicallyPartitioned", + "Model": "Constoto-2S-B Server Partition", + "Manufacturer": "Contoso", + "Description": "This represents PhysicallyPartitionedSystem ResourceBlock, from which System can be Composed", + "PowerState": "On", + "UUID": "00000000-0000-0000-0000-000000000000", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Processors": { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Memory" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/EthernetInterfaces" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade2" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/index.json new file mode 100644 index 00000000..a1c76f1c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock2/index.json @@ -0,0 +1,47 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "BladeComputeBlock2", + "Name": "BladeCompute Block 2", + "ResourceBlockType": [ + "ComputerSystem" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "Reserved": false, + "CompositionState": "Composed" + }, + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem" + } + ], + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/ComposedPartition2" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/EncZone1" + } + ] + }, + "Oem": { + "Contoso": { + "@odata.type": "#Contoso.ComputeRB", + "ProcessorSummary": { + "Count": 2, + "Model": "Intel(R) Xeon(R) processor" + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 128 + } + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/EthernetInterfaces/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/EthernetInterfaces/1/index.json new file mode 100644 index 00000000..1b08a806 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/EthernetInterfaces/1/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "1", + "Name": "network.3", + "Description": "PartitionedServer NIC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MACAddress": "AA:BB:CC:DD:EE:FF", + "SpeedMbps": 1000, + "FullDuplex": true, + "IPv6DefaultGateway": "fe80::3ed9:2bff:fe34:600", + "NameServers": [ + "names.redfishspecification.org" + ], + "IPv4Addresses": [ + { + "Address": null, + "SubnetMask": null, + "AddressOrigin": "DHCP", + "Gateway": null + } + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/Blade3" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/EthernetInterfaces/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/EthernetInterfaces/index.json new file mode 100644 index 00000000..276b7c0d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/EthernetInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Interface Collection", + "Description": "PartitionedServer Network Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/EthernetInterfaces/1" + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Memory/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Memory/1/index.json new file mode 100644 index 00000000..eee767bd --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Memory/1/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "1", + "Name": "PartitionedServer Memory", + "MemoryDeviceType": "DDR4", + "MemoryType": "DRAM", + "PartNumber": "M393A4K40BB0-CPB", + "SerialNumber": "416CE7D5", + "Manufacturer": "Contoso", + "RankCount": 1, + "CapacityMiB": 65536, + "OperatingSpeedMhz": 2133, + "ErrorCorrection": "MultiBitECC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/Blade3" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Memory/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Memory/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Memory/2/index.json new file mode 100644 index 00000000..b5ab1041 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Memory/2/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "2", + "Name": "PartitionedServer Memory", + "MemoryDeviceType": "DDR4", + "MemoryType": "DRAM", + "PartNumber": "M393A4K40BB0-CPB", + "SerialNumber": "416CE7D5", + "Manufacturer": "Contoso", + "RankCount": 2, + "CapacityMiB": 65536, + "OperatingSpeedMhz": 1600, + "ErrorCorrection": "MultiBitECC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/Blade3" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Memory/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Memory/index.json new file mode 100644 index 00000000..5580e4a0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Memory/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "PartitionedServer Memory Module Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Memory/1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Memory/2" + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Processors/CPU1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Processors/CPU1/index.json new file mode 100644 index 00000000..cdaddcba --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Processors/CPU1/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU1", + "Name": "Processor", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) processor", + "MaxSpeedMHz": 3400, + "TotalCores": 10, + "TotalThreads": 20, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/Blade3" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Processors/CPU1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Processors/CPU2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Processors/CPU2/index.json new file mode 100644 index 00000000..89672abd --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Processors/CPU2/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU2", + "Name": "Processor", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) processor", + "MaxSpeedMHz": 3400, + "TotalCores": 10, + "TotalThreads": 20, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/Blade3" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Processors/CPU2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Processors/index.json new file mode 100644 index 00000000..ce616218 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Processors/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "PartitionedServer Processor Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Processors/CPU1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Processors/CPU2" + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/index.json new file mode 100644 index 00000000..d1a9f2a3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Name": "RB System3", + "Id": "RBSystem", + "SystemType": "PhysicallyPartitioned", + "Model": "Constoto-2S-B Server Partition", + "Manufacturer": "Contoso", + "Description": "This represents PhysicallyPartitionedSystem ResourceBlock, from which System can be Composed", + "PowerState": "On", + "UUID": "00000000-0000-0000-0000-000000000000", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Processors": { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Memory" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/EthernetInterfaces" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade6" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/index.json new file mode 100644 index 00000000..ac269c9f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock3/index.json @@ -0,0 +1,47 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "BladeComputeBlock3", + "Name": "BladeCompute Block 3", + "ResourceBlockType": [ + "ComputerSystem" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "Reserved": false, + "CompositionState": "Composed" + }, + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem" + } + ], + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/ComposedPartition2" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/EncZone1" + } + ] + }, + "Oem": { + "Contoso": { + "@odata.type": "#Contoso.ComputeRB", + "ProcessorSummary": { + "Count": 2, + "Model": "Intel(R) Xeon(R) processor" + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 128 + } + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock4/Systems/RBSystem/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock4/Systems/RBSystem/index.json new file mode 100644 index 00000000..2b0125e2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock4/Systems/RBSystem/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Name": "RB System4", + "Id": "RBSystem", + "SystemType": "PhysicallyPartitioned", + "Model": "Constoto-2S-B Server Partition", + "Manufacturer": "Contoso", + "Description": "This represents PhysicallyPartitionedSystem ResourceBlock, from which System can be Composed", + "PowerState": "On", + "UUID": "17690008-3175-05f4-0010-debfc4ec1886", + "Status": { + "Health": "OK", + "State": "UnavailableOffline" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade4" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock4/Systems/RBSystem", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock4/index.json new file mode 100644 index 00000000..dac9745b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock4/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "BladeComputeBlock4", + "Name": "BladeCompute Block 4", + "ResourceBlockType": [ + "ComputerSystem" + ], + "Status": { + "State": "UnavailableOffline", + "Health": "OK" + }, + "CompositionStatus": { + "Reserved": false, + "CompositionState": "Unused" + }, + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock4/Systems/RBSystem" + } + ], + "Links": { + "ComputerSystems": [], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/EncZone1" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/EthernetInterfaces/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/EthernetInterfaces/1/index.json new file mode 100644 index 00000000..4e0f6efc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/EthernetInterfaces/1/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "1", + "Name": "network.5", + "Description": "PartitionedServer NIC", + "Status": { + "State": "Absent", + "Health": "OK" + }, + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/Blade5" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/EthernetInterfaces/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/EthernetInterfaces/index.json new file mode 100644 index 00000000..2fd3c7f6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/EthernetInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Interface Collection", + "Description": "PartitionedServer Network Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/EthernetInterfaces/1" + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Memory/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Memory/1/index.json new file mode 100644 index 00000000..fd1d083e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Memory/1/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "1", + "Name": "PartitionedServer Memory", + "MemoryDeviceType": "DDR4", + "MemoryType": "DRAM", + "PartNumber": "M393A4K40BB0-CPB", + "SerialNumber": "416CEFD5", + "Manufacturer": "Contoso", + "RankCount": 2, + "CapacityMiB": 65536, + "OperatingSpeedMhz": 2133, + "ErrorCorrection": "MultiBitECC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/Blade5" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Memory/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Memory/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Memory/2/index.json new file mode 100644 index 00000000..9276ab0f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Memory/2/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "2", + "Name": "PartitionedServer Memory", + "MemoryDeviceType": "DDR4", + "MemoryType": "DRAM", + "PartNumber": "M393A4K40BB0-CPB", + "SerialNumber": "416CE7D5", + "Manufacturer": "Contoso", + "RankCount": 2, + "CapacityMiB": 65536, + "OperatingSpeedMhz": 1600, + "ErrorCorrection": "MultiBitECC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/Blade5" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Memory/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Memory/index.json new file mode 100644 index 00000000..1fa6d384 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Memory/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "PartitionedServer Memory Module Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Memory/1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Memory/2" + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Processors/CPU1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Processors/CPU1/index.json new file mode 100644 index 00000000..a57d9f3f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Processors/CPU1/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU1", + "Name": "Processor", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) processor", + "MaxSpeedMHz": 3400, + "TotalCores": 18, + "TotalThreads": 36, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/Blade5" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Processors/CPU1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Processors/CPU2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Processors/CPU2/index.json new file mode 100644 index 00000000..3d15d0f8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Processors/CPU2/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU2", + "Name": "Processor", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) processor", + "MaxSpeedMHz": 3400, + "TotalCores": 18, + "TotalThreads": 36, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/Blade5" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Processors/CPU2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Processors/index.json new file mode 100644 index 00000000..730337ca --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Processors/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "PartitionedServer Processor Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Processors/CPU1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Processors/CPU2" + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/index.json new file mode 100644 index 00000000..4ea3bc61 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Name": "RB System5", + "Id": "RBSystem", + "SystemType": "PhysicallyPartitioned", + "Model": "Constoto-2S-B Server Partition", + "Manufacturer": "Contoso", + "Description": "This represents PhysicallyPartitionedSystem ResourceBlock, from which System can be Composed", + "PowerState": "On", + "UUID": "17690008-3175-05f4-0010-debfc4ec1881", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Processors": { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Memory" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/EthernetInterfaces" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade5" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/index.json new file mode 100644 index 00000000..07ce8f03 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock5/index.json @@ -0,0 +1,47 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "BladeComputeBlock5", + "Name": "BladeCompute Block 5", + "ResourceBlockType": [ + "ComputerSystem" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "Reserved": false, + "CompositionState": "Composed" + }, + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem" + } + ], + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/ComposedPartition2" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/EncZone1" + } + ] + }, + "Oem": { + "Contoso": { + "@odata.type": "#Contoso.ComputeRB", + "ProcessorSummary": { + "Count": 2, + "Model": "Intel(R) Xeon(R) processor" + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 128 + } + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock5", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/EthernetInterfaces/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/EthernetInterfaces/1/index.json new file mode 100644 index 00000000..82ed4fa4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/EthernetInterfaces/1/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "1", + "Name": "network.6", + "Description": "PartitionedServer NIC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MACAddress": "AA:BB:CC:DD:EE:FF", + "SpeedMbps": 1000, + "FullDuplex": true, + "HostName": "composedhost3", + "FQDN": "composedhost3.net", + "IPv6DefaultGateway": "fe80::3ed9:2bff:fe34:600", + "NameServers": [ + "names.redfishspecification.org" + ], + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "Static", + "Gateway": "192.168.0.1" + } + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/Blade6" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/EthernetInterfaces/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/EthernetInterfaces/index.json new file mode 100644 index 00000000..b369fff2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/EthernetInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Interface Collection", + "Description": "PartitionedServer Network Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/EthernetInterfaces/1" + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Memory/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Memory/1/index.json new file mode 100644 index 00000000..0e123355 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Memory/1/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "1", + "Name": "PartitionedServer Memory", + "MemoryDeviceType": "DDR4", + "MemoryType": "DRAM", + "PartNumber": "M393A4K40BB0-CPB", + "SerialNumber": "416CE41D", + "Manufacturer": "Contoso", + "RankCount": 2, + "CapacityMiB": 65536, + "OperatingSpeedMhz": 1600, + "ErrorCorrection": "MultiBitECC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/Blade6" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Memory/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Memory/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Memory/2/index.json new file mode 100644 index 00000000..88c7c7ef --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Memory/2/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "2", + "Name": "PartitionedServer Memory", + "MemoryDeviceType": "DDR4", + "MemoryType": "DRAM", + "PartNumber": "M393A4K40BB0-CPB", + "SerialNumber": "416CE7D5", + "Manufacturer": "Contoso", + "RankCount": 2, + "CapacityMiB": 65536, + "OperatingSpeedMhz": 1600, + "ErrorCorrection": "MultiBitECC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/Blade6" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Memory/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Memory/index.json new file mode 100644 index 00000000..771cd696 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Memory/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "PartitionedServer Memory Module Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Memory/1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Memory/2" + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Processors/CPU1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Processors/CPU1/index.json new file mode 100644 index 00000000..e60e58f7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Processors/CPU1/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU1", + "Name": "Processor", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) processor", + "MaxSpeedMHz": 3400, + "TotalCores": 18, + "TotalThreads": 36, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/Blade6" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Processors/CPU1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Processors/CPU2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Processors/CPU2/index.json new file mode 100644 index 00000000..257eec53 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Processors/CPU2/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU2", + "Name": "Processor", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) processor", + "MaxSpeedMHz": 3400, + "TotalCores": 18, + "TotalThreads": 36, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/Blade6" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Processors/CPU2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Processors/index.json new file mode 100644 index 00000000..b08c3be3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Processors/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "PartitionedServer Processor Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Processors/CPU1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Processors/CPU2" + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/index.json new file mode 100644 index 00000000..62261425 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Name": "RB System6", + "Id": "RBSystem", + "SystemType": "PhysicallyPartitioned", + "Model": "Constoto-2S-B Server Partition", + "Manufacturer": "Contoso", + "Description": "This represents PhysicallyPartitionedSystem ResourceBlock, from which System can be Composed", + "PowerState": "On", + "UUID": "00000000-0000-0000-0000-000000000000", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Processors": { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Memory" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/EthernetInterfaces" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade6" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/index.json new file mode 100644 index 00000000..effd25fa --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock6/index.json @@ -0,0 +1,47 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "BladeComputeBlock6", + "Name": "BladeCompute Block 6", + "ResourceBlockType": [ + "ComputerSystem" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "Reserved": false, + "CompositionState": "Composed" + }, + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem" + } + ], + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/ComposedPartition3" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/EncZone1" + } + ] + }, + "Oem": { + "Contoso": { + "@odata.type": "#Contoso.ComputeRB", + "ProcessorSummary": { + "Count": 2, + "Model": "Intel(R) Xeon(R) processor" + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 128 + } + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock6", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/EthernetInterfaces/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/EthernetInterfaces/1/index.json new file mode 100644 index 00000000..afc4d2e9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/EthernetInterfaces/1/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "1", + "Name": "network.7", + "Description": "PartitionedServer NIC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MACAddress": "AA:BB:CC:DD:EE:FF", + "SpeedMbps": 100, + "FullDuplex": true, + "AutoNeg": true, + "MTUSize": 1500, + "IPv4Addresses": [ + { + "Address": null, + "SubnetMask": null, + "AddressOrigin": "DHCP", + "Gateway": null + } + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/Blade7" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/EthernetInterfaces/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/EthernetInterfaces/index.json new file mode 100644 index 00000000..88944811 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/EthernetInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Interface Collection", + "Description": "PartitionedServer Network Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/EthernetInterfaces/1" + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/Memory/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/Memory/1/index.json new file mode 100644 index 00000000..1496eb35 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/Memory/1/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "1", + "Name": "PartitionedServer Memory", + "MemoryDeviceType": "DDR4", + "MemoryType": "DRAM", + "PartNumber": "M393A4K40BB0-CPB", + "SerialNumber": "416CE41D", + "Manufacturer": "Contoso", + "RankCount": 2, + "CapacityMiB": 65536, + "OperatingSpeedMhz": 1600, + "ErrorCorrection": "MultiBitECC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/Blade7" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/Memory/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/Memory/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/Memory/2/index.json new file mode 100644 index 00000000..d1dbd950 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/Memory/2/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "2", + "Name": "PartitionedServer Memory", + "MemoryDeviceType": "DDR4", + "MemoryType": "DRAM", + "PartNumber": "M393A4K40BB0-CPB", + "SerialNumber": "416CE7D5", + "Manufacturer": "Contoso", + "RankCount": 1, + "CapacityMiB": 65536, + "OperatingSpeedMhz": 2133, + "ErrorCorrection": "MultiBitECC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/Blade7" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/Memory/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/Memory/index.json new file mode 100644 index 00000000..ba600ff8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/Memory/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "PartitionedServer Memory Module Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/Memory/1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/Memory/2" + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/Processors/CPU1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/Processors/CPU1/index.json new file mode 100644 index 00000000..d7d237b1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/Processors/CPU1/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU1", + "Name": "Processor", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) processor", + "MaxSpeedMHz": 2600, + "TotalCores": 20, + "TotalThreads": 40, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/Blade7" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/Processors/CPU1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/Processors/CPU2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/Processors/CPU2/index.json new file mode 100644 index 00000000..659b792b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/Processors/CPU2/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU2", + "Name": "Processor", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) processor", + "MaxSpeedMHz": 2600, + "TotalCores": 20, + "TotalThreads": 40, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/Blade7" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/Processors/CPU2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/Processors/index.json new file mode 100644 index 00000000..135880d0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/Processors/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "PartitionedServer Processor Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/Processors/CPU1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/Processors/CPU2" + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/index.json new file mode 100644 index 00000000..fdc85d70 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Name": "RB System7", + "Id": "RBSystem", + "SystemType": "PhysicallyPartitioned", + "Model": "Constoto-2S-B Server Partition", + "Manufacturer": "Contoso", + "Description": "This represents PhysicallyPartitionedSystem ResourceBlock, from which System can be Composed", + "PowerState": "On", + "UUID": "17690008-3175-05f4-0010-debfc4ec1881", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Processors": { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/Memory" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem/EthernetInterfaces" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade7" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/index.json new file mode 100644 index 00000000..32c447e6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeComputeBlock7/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "BladeComputeBlock7", + "Name": "BladeCompute Block 1", + "ResourceBlockType": [ + "ComputerSystem" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "Reserved": false, + "CompositionState": "Unused" + }, + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock7/Systems/RBSystem" + } + ], + "Links": { + "ComputerSystems": [], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade7" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/EncZone1" + } + ] + }, + "Oem": { + "Contoso": { + "@odata.type": "#Contoso.ComputeRB", + "ProcessorSummary": { + "Count": 2, + "Model": "Intel(R) Xeon(R) processor" + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 128 + } + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock7", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeStorageBlock8/Drives/Drive1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeStorageBlock8/Drives/Drive1/index.json new file mode 100644 index 00000000..145ed68a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeStorageBlock8/Drives/Drive1/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "Drive1", + "Name": "Drive 1", + "IndicatorLED": "Lit", + "Model": "C123", + "Revision": "100A", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 899527000064, + "FailurePredicted": false, + "Protocol": "SAS", + "MediaType": "HDD", + "Manufacturer": "Contoso", + "SerialNumber": "1234568", + "PartNumber": "C123-1111", + "Identifiers": [ + { + "DurableNameFormat": "NAA", + "DurableName": "32ADF365C6C1B7BD" + } + ], + "EncryptionAbility": "SelfEncryptingDrive", + "RotationSpeedRPM": 15000, + "BlockSizeBytes": 512, + "CapableSpeedGbs": 12, + "NegotiatedSpeedGbs": 12, + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/Blade8" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeStorageBlock8/Drives/Drive1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeStorageBlock8/Drives/Drive2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeStorageBlock8/Drives/Drive2/index.json new file mode 100644 index 00000000..4a52ce10 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeStorageBlock8/Drives/Drive2/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "Drive2", + "Name": "Drive 2", + "IndicatorLED": "Lit", + "Model": "C123", + "Revision": "100A", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 899527000064, + "FailurePredicted": false, + "Protocol": "SAS", + "MediaType": "HDD", + "Manufacturer": "Contoso", + "SerialNumber": "1234569", + "PartNumber": "C123-1111", + "Identifiers": [ + { + "DurableNameFormat": "NAA", + "DurableName": "3F5A8C54207B7233" + } + ], + "EncryptionAbility": "SelfEncryptingDrive", + "RotationSpeedRPM": 15000, + "BlockSizeBytes": 512, + "CapableSpeedGbs": 12, + "NegotiatedSpeedGbs": 12, + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/Blade8" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeStorageBlock8/Drives/Drive2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeStorageBlock8/Storage/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeStorageBlock8/Storage/1/index.json new file mode 100644 index 00000000..3cbfdf1f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeStorageBlock8/Storage/1/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Id": "1", + "Name": "Storage Blade", + "Description": "Integrated Storage Blade with multiple drives; Direct Connect to Blades as JBOD", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Drives": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeStorageBlock8/Drives/Drive1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeStorageBlock8/Drives/Drive2" + } + ], + "Links": { + "Enclosures": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade8" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeStorageBlock8/Storage/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeStorageBlock8/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeStorageBlock8/index.json new file mode 100644 index 00000000..15d00244 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/BladeStorageBlock8/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "BladeStorageBlock8", + "Name": "BladeCompute Block 8", + "ResourceBlockType": [ + "Storage" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "Reserved": false, + "CompositionState": "Composed" + }, + "Drives": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeStorageBlock8/Drives/Drive1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeStorageBlock8/Drives/Drive2" + } + ], + "Storage": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeStorageBlock8/Storage/1" + } + ], + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/ComposedPartition3" + } + ], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade8" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/EncZone1" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeStorageBlock8", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/index.json new file mode 100644 index 00000000..cc8c5ae4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceBlocks/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#ResourceBlockCollection.ResourceBlockCollection", + "Name": "MultiBlade Partitioning Resource Block Collection", + "Members@odata.count": 8, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock3" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock4" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock5" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock6" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock7" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeStorageBlock8" + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceZones/EncZone1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceZones/EncZone1/index.json new file mode 100644 index 00000000..e9b1ac63 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceZones/EncZone1/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Zone.v1_6_3.Zone", + "Id": "EncZone1", + "Name": "MultiBlade Enclosure Resource Zone", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ZoneType": "ZoneOfResourceBlocks", + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock3" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock4" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock5" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock6" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock7" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeStorageBlock8" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/EncZone1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceZones/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceZones/index.json new file mode 100644 index 00000000..d3869059 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/ResourceZones/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ZoneCollection.ZoneCollection", + "Name": "MultiBlade Partitioning Resource Zone Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/EncZone1" + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceZones", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/index.json new file mode 100644 index 00000000..98ea8e57 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/CompositionService/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#CompositionService.v1_2_3.CompositionService", + "Id": "CompositionService", + "Name": "MultiBlade Partitioning Composition Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "ResourceBlocks": { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks" + }, + "ResourceZones": { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones" + }, + "@odata.id": "/redfish/v1/CompositionService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/EventService/SubmitTestEventActionInfo/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/EventService/SubmitTestEventActionInfo/index.json new file mode 100644 index 00000000..44abc4f3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/EventService/SubmitTestEventActionInfo/index.json @@ -0,0 +1,62 @@ +{ + "@odata.type": "#ActionInfo.v1_6_0.ActionInfo", + "Id": "SubmitTestEventActionInfo", + "Name": "SubmitTestEvent Action Info", + "Parameters": [ + { + "Name": "EventType", + "Required": false, + "DataType": "String", + "AllowableValues": [ + "StatusChange", + "ResourceUpdated", + "ResourceAdded", + "ResourceRemoved", + "Alert", + "Other" + ] + }, + { + "Name": "EventId", + "Required": false, + "DataType": "String" + }, + { + "Name": "EventTimestamp", + "Required": false, + "DataType": "String" + }, + { + "Name": "Severity", + "Required": false, + "DataType": "String" + }, + { + "Name": "Message", + "Required": false, + "DataType": "String" + }, + { + "Name": "MessageId", + "Required": true, + "DataType": "String" + }, + { + "Name": "MessageArgs", + "Required": false, + "DataType": "StringArray" + }, + { + "Name": "OriginOfCondition", + "Required": false, + "DataType": "String" + }, + { + "Name": "EventGroupId", + "Required": false, + "DataType": "Number" + } + ], + "@odata.id": "/redfish/v1/EventService/SubmitTestEventActionInfo", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/EventService/Subscriptions/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/EventService/Subscriptions/1/index.json new file mode 100644 index 00000000..a93dd23f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/EventService/Subscriptions/1/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#EventDestination.v1_17_1.EventDestination", + "Id": "1", + "Name": "Event Subscription 1", + "Destination": "http://Contoso.com/CallHomeService", + "EventTypes": [ + "Alert" + ], + "Context": "CustomerServiceAttention", + "Protocol": "Redfish", + "SubscriptionType": "RedfishEvent", + "@odata.id": "/redfish/v1/EventService/Subscriptions/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/EventService/Subscriptions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/EventService/Subscriptions/index.json new file mode 100644 index 00000000..50ce173e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/EventService/Subscriptions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#EventDestinationCollection.EventDestinationCollection", + "Name": "Event Subscriptions Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/EventService/Subscriptions/1" + } + ], + "@odata.id": "/redfish/v1/EventService/Subscriptions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/EventService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/EventService/index.json new file mode 100644 index 00000000..ebb7d2fb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/EventService/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#EventService.v1_12_0.EventService", + "Id": "EventService", + "Name": "Event Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "DeliveryRetryAttempts": 3, + "DeliveryRetryIntervalSeconds": 60, + "EventTypesForSubscription": [ + "StatusChange", + "ResourceUpdated", + "ResourceAdded", + "ResourceRemoved", + "Alert" + ], + "Subscriptions": { + "@odata.id": "/redfish/v1/EventService/Subscriptions" + }, + "Actions": { + "#EventService.SubmitTestEvent": { + "target": "/redfish/v1/EventService/Actions/EventService.SubmitTestEvent", + "@Redfish.ActionInfo": "/redfish/v1/EventService/SubmitTestEventActionInfo" + } + }, + "@odata.id": "/redfish/v1/EventService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr1/EthernetInterfaces/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr1/EthernetInterfaces/1/index.json new file mode 100644 index 00000000..da4364eb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr1/EthernetInterfaces/1/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "1", + "Name": "EncMgr1.network.1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:38:C0:10", + "IPv4Addresses": [ + { + "Address": "15.242.5.128", + "SubnetMask": "255.255.255.0", + "AddressOrigin": "Static", + "Gateway": "15.242.15.1" + } + ], + "@odata.id": "/redfish/v1/Managers/EncMgr1/EthernetInterfaces/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr1/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr1/EthernetInterfaces/index.json new file mode 100644 index 00000000..c0fb2b33 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr1/EthernetInterfaces/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Network Interface Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/EncMgr1/EthernetInterfaces/1" + } + ], + "@odata.id": "/redfish/v1/Managers/EncMgr1/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr1/NetworkProtocol/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr1/NetworkProtocol/index.json new file mode 100644 index 00000000..82e93987 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr1/NetworkProtocol/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#ManagerNetworkProtocol.v1_14_0.ManagerNetworkProtocol", + "Id": "NetworkProtocol.1", + "Name": "Manager Network Protocol", + "Description": "Lists all Network Service Status supported by this platform", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "HostName": "encmgr1", + "FQDN": "encmgr1.mydomain.com", + "HTTPS": { + "ProtocolEnabled": true, + "Port": 443 + }, + "IPMI": { + "ProtocolEnabled": true, + "Port": 623 + }, + "SSH": { + "ProtocolEnabled": true, + "Port": 22 + }, + "SNMP": { + "ProtocolEnabled": true, + "Port": 161 + }, + "VirtualMedia": { + "ProtocolEnabled": true, + "Port": 17988 + }, + "KVMIP": { + "ProtocolEnabled": true, + "Port": 5288 + }, + "@odata.id": "/redfish/v1/Managers/EncMgr1/NetworkProtocol", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr1/SerialInterfaces/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr1/SerialInterfaces/1/index.json new file mode 100644 index 00000000..2bff1c00 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr1/SerialInterfaces/1/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#SerialInterface.v1_3_0.SerialInterface", + "Id": "1", + "Name": "Managed Serial Interface 1", + "Description": "Management for Serial Interface", + "InterfaceEnabled": true, + "SignalType": "Rs232", + "BitRate": "115200", + "Parity": "None", + "DataBits": "8", + "StopBits": "1", + "FlowControl": "None", + "ConnectorType": "RJ45", + "PinOut": "Cyclades", + "@odata.id": "/redfish/v1/Managers/EncMgr1/SerialInterfaces/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr1/SerialInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr1/SerialInterfaces/index.json new file mode 100644 index 00000000..3372075e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr1/SerialInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#SerialInterfaceCollection.SerialInterfaceCollection", + "Name": "Serial Interface Collection", + "Description": "Collection of Serial Interfaces for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/EncMgr1/SerialInterfaces/1" + } + ], + "@odata.id": "/redfish/v1/Managers/EncMgr1/SerialInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr1/VirtualMedia/CDDVD/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr1/VirtualMedia/CDDVD/index.json new file mode 100644 index 00000000..322df757 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr1/VirtualMedia/CDDVD/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#VirtualMedia.v1_7_0.VirtualMedia", + "Id": "CDDVD", + "Name": "Virtual Media", + "MediaTypes": [ + "CD", + "DVD", + "USBStick" + ], + "Image": "http://contoso.com/images/myimage.iso>", + "ImageName": "myimage.iso", + "ConnectedVia": "Applet", + "Inserted": true, + "WriteProtected": false, + "@odata.id": "/redfish/v1/Managers/EncMgr1/VirtualMedia/CDDVD", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr1/VirtualMedia/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr1/VirtualMedia/index.json new file mode 100644 index 00000000..0e33ccf2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr1/VirtualMedia/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#VirtualMediaCollection.VirtualMediaCollection", + "Name": "Virtual Media Services", + "Description": "Redfish Manager Virtual Media Services Settings", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/EncMgr1/VirtualMedia/CDDVD" + } + ], + "@odata.id": "/redfish/v1/Managers/EncMgr1/VirtualMedia", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr1/index.json new file mode 100644 index 00000000..67eafe10 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr1/index.json @@ -0,0 +1,122 @@ +{ + "@odata.type": "#Manager.v1_25_0.Manager", + "Name": "Enclosure Manager - Active", + "Description": "Onboard Multi-Blade Enclosure Management Controller", + "Id": "EncMgr1", + "ManagerType": "EnclosureManager", + "Model": "Contoso Enclosure Manager", + "ServiceEntryPointUUID": "0965e849-c110-4b85-8989-9102b950a5a5", + "UUID": "58893887-8974-2487-2389-841168418919", + "FirmwareVersion": "8.1.54", + "DateTime": "2016-12-30T04:14:33+06:00", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Managers/EncMgr1#/Redundancy/0", + "MemberId": "0", + "Name": "Manager Redundancy", + "Mode": "Failover", + "MaxNumSupported": 2, + "MinNumNeeded": 1, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Managers/EncMgr1" + }, + { + "@odata.id": "/redfish/v1/Managers/EncMgr2" + } + ] + } + ], + "GraphicalConsole": { + "ServiceEnabled": true, + "ConnectTypesSupported": [ + "KVMIP" + ] + }, + "SerialConsole": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 1, + "ConnectTypesSupported": [ + "SSH", + "IPMI" + ] + }, + "CommandShell": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 4, + "ConnectTypesSupported": [ + "SSH", + "Oem" + ] + }, + "NetworkProtocol": { + "@odata.id": "/redfish/v1/Managers/EncMgr1/NetworkProtocol" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/EncMgr1/EthernetInterfaces" + }, + "VirtualMedia": { + "@odata.id": "/redfish/v1/Managers/EncMgr1/VirtualMedia" + }, + "Links": { + "ManagerForServers": [ + { + "@odata.id": "/redfish/v1/Systems/ComposedPartition1" + }, + { + "@odata.id": "/redfish/v1/Systems/ComposedPartition2" + }, + { + "@odata.id": "/redfish/v1/Systems/ComposedPartition3" + } + ], + "ManagerInChassis": { + "@odata.id": "/redfish/v1/Chassis/Enclosure" + }, + "ManagerForChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Enclosure" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade3" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade4" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade5" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade6" + } + ] + }, + "Actions": { + "#Manager.Reset": { + "target": "/redfish/v1/Managers/EncMgr1/Actions/Manager.Reset", + "ResetType@Redfish.AllowableValues": [ + "ForceRestart", + "GracefulRestart" + ] + }, + "#Manager.ForceFailover": { + "target": "/redfish/v1/Managers/EncMgr1/Actions/Manager.ForceFailover" + } + }, + "@odata.id": "/redfish/v1/Managers/EncMgr1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr2/EthernetInterfaces/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr2/EthernetInterfaces/1/index.json new file mode 100644 index 00000000..ee35edaf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr2/EthernetInterfaces/1/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "1", + "Name": "EncMgr2.network.1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:38:C0:10", + "IPv4Addresses": [ + { + "Address": "15.242.5.128", + "SubnetMask": "255.255.255.0", + "AddressOrigin": "Static", + "Gateway": "15.242.15.1" + } + ], + "@odata.id": "/redfish/v1/Managers/EncMgr2/EthernetInterfaces/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr2/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr2/EthernetInterfaces/index.json new file mode 100644 index 00000000..257daf06 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr2/EthernetInterfaces/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Network Interface Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/EncMgr2/EthernetInterfaces/1" + } + ], + "@odata.id": "/redfish/v1/Managers/EncMgr2/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr2/NetworkProtocol/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr2/NetworkProtocol/index.json new file mode 100644 index 00000000..97da5700 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr2/NetworkProtocol/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#ManagerNetworkProtocol.v1_14_0.ManagerNetworkProtocol", + "Id": "NetworkProtocol.2", + "Name": "Manager Network Protocol", + "Description": "Lists all Network Service Status supported by this platform", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "HostName": "encmgr2", + "FQDN": "encmgr2.mydomain.com", + "HTTPS": { + "ProtocolEnabled": true, + "Port": 443 + }, + "IPMI": { + "ProtocolEnabled": true, + "Port": 623 + }, + "SSH": { + "ProtocolEnabled": true, + "Port": 22 + }, + "SNMP": { + "ProtocolEnabled": true, + "Port": 161 + }, + "VirtualMedia": { + "ProtocolEnabled": true, + "Port": 17988 + }, + "KVMIP": { + "ProtocolEnabled": true, + "Port": 5288 + }, + "@odata.id": "/redfish/v1/Managers/EncMgr2/NetworkProtocol", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr2/SerialInterfaces/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr2/SerialInterfaces/1/index.json new file mode 100644 index 00000000..a8a65217 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr2/SerialInterfaces/1/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#SerialInterface.v1_3_0.SerialInterface", + "Id": "1", + "Name": "Managed Serial Interface 1", + "Description": "Management for Serial Interface", + "InterfaceEnabled": true, + "SignalType": "Rs232", + "BitRate": "115200", + "Parity": "None", + "DataBits": "8", + "StopBits": "1", + "FlowControl": "None", + "ConnectorType": "RJ45", + "PinOut": "Cyclades", + "@odata.id": "/redfish/v1/Managers/EncMgr2/SerialInterfaces/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr2/SerialInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr2/SerialInterfaces/index.json new file mode 100644 index 00000000..4b2272fa --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr2/SerialInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#SerialInterfaceCollection.SerialInterfaceCollection", + "Name": "Serial Interface Collection", + "Description": "Collection of Serial Interfaces for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/EncMgr2/SerialInterfaces/1" + } + ], + "@odata.id": "/redfish/v1/Managers/EncMgr2/SerialInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr2/VirtualMedia/CDDVD/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr2/VirtualMedia/CDDVD/index.json new file mode 100644 index 00000000..2c523eb7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr2/VirtualMedia/CDDVD/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#VirtualMedia.v1_7_0.VirtualMedia", + "Id": "CDDVD", + "Name": "Virtual Media", + "MediaTypes": [ + "CD", + "DVD" + ], + "Image": "http://contoso.com/images/myimage.iso>", + "ImageName": "myimage.iso", + "ConnectedVia": "Applet", + "Inserted": true, + "WriteProtected": false, + "@odata.id": "/redfish/v1/Managers/EncMgr2/VirtualMedia/CDDVD", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr2/VirtualMedia/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr2/VirtualMedia/index.json new file mode 100644 index 00000000..491866d3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr2/VirtualMedia/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#VirtualMediaCollection.VirtualMediaCollection", + "Name": "Virtual Media Services", + "Description": "Redfish Manager Virtual Media Services Settings", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/EncMgr2/VirtualMedia/CDDVD" + } + ], + "@odata.id": "/redfish/v1/Managers/EncMgr2/VirtualMedia", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr2/index.json new file mode 100644 index 00000000..7bbd1747 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/EncMgr2/index.json @@ -0,0 +1,122 @@ +{ + "@odata.type": "#Manager.v1_25_0.Manager", + "Name": "Enclosure Manager - StandBy", + "Description": "Onboard Multi-Blade Enclosure Management Controller", + "Id": "EncMgr2", + "ManagerType": "EnclosureManager", + "Model": "Contoso Enclosure Manager", + "ServiceEntryPointUUID": "0965e849-c110-4b85-8989-9102b950a5a5", + "UUID": "58893887-8974-2487-2389-841168418919", + "FirmwareVersion": "8.1.54", + "DateTime": "2016-12-30T04:14:33+06:00", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Managers/EncMgr2#/Redundancy/0", + "MemberId": "0", + "Name": "Manager Redundancy", + "Mode": "Failover", + "MaxNumSupported": 2, + "MinNumNeeded": 1, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Managers/EncMgr1" + }, + { + "@odata.id": "/redfish/v1/Managers/EncMgr2" + } + ] + } + ], + "GraphicalConsole": { + "ServiceEnabled": true, + "ConnectTypesSupported": [ + "KVMIP" + ] + }, + "SerialConsole": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 1, + "ConnectTypesSupported": [ + "SSH", + "IPMI" + ] + }, + "CommandShell": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 4, + "ConnectTypesSupported": [ + "SSH", + "Oem" + ] + }, + "NetworkProtocol": { + "@odata.id": "/redfish/v1/Managers/EncMgr1/NetworkProtocol" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/EncMgr1/EthernetInterfaces" + }, + "VirtualMedia": { + "@odata.id": "/redfish/v1/Managers/EncMgr1/VirtualMedia" + }, + "Links": { + "ManagerForServers": [ + { + "@odata.id": "/redfish/v1/Systems/ComposedPartition1" + }, + { + "@odata.id": "/redfish/v1/Systems/ComposedPartition2" + }, + { + "@odata.id": "/redfish/v1/Systems/ComposedPartition2" + } + ], + "ManagerInChassis": { + "@odata.id": "/redfish/v1/Chassis/Enclosure" + }, + "ManagerForChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Enclosure" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade3" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade4" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade5" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade6" + } + ] + }, + "Actions": { + "#Manager.Reset": { + "target": "/redfish/v1/Managers/EncMgr2/Actions/Manager.Reset", + "ResetType@Redfish.AllowableValues": [ + "ForceRestart", + "GracefulRestart" + ] + }, + "#Manager.ForceFailover": { + "target": "/redfish/v1/Managers/EncMgr2/Actions/Manager.ForceFailover" + } + }, + "@odata.id": "/redfish/v1/Managers/EncMgr2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/index.json new file mode 100644 index 00000000..4affa242 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Managers/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#ManagerCollection.ManagerCollection", + "Name": "Multi-Blade Partitionable Enclosure Manager Collection", + "Description": "Collection of Enclosure Managers - For Managing Partitionable Multi-Blade environment - Acrive/Standby Configuration", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/EncMgr1" + }, + { + "@odata.id": "/redfish/v1/Managers/EncMgr2" + } + ], + "@odata.id": "/redfish/v1/Managers", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/README.md b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/README.md new file mode 100644 index 00000000..a23b95d1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/README.md @@ -0,0 +1,15 @@ +# Multi-Blade Partition Enclosure Mockup: + +## These mocks use Redfish Composability. + +This service reports physically partitioned Systems within a MultiBlade Enclosure. Partitionable resources are reported and managed using redfish CompositionService. +Individual blades are reported as ResourceBlocks. + +Enclosure has 8 Blades and 2 Managers in redundant pair. +7 Blades are reported as "Compute" ResourceBlocks and 1 Storage Blade is reported as "Storage" ResourceBlock. +There are 3 “Physical Partitions”, managed by EnclosureManager and created through CompositionService defintions. +The mocks also report 2 Unused Blades and associated ResourceBlocks: + +1. ComposedPartition1 - Composed Partition with 1 BladeComputeBlock +2. ComposedPartition2 - Composed Partition with 3 BladeComputeBlocks +3. ComposedPartition3 - Composed Partition with 1 BladeComputeBlock and 1 BladeStorageBlock diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/SessionService/Sessions/12623963E803C264/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/SessionService/Sessions/12623963E803C264/index.json new file mode 100644 index 00000000..dbddd2fe --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/SessionService/Sessions/12623963E803C264/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#Session.v1_9_0.Session", + "Id": "12623963E803C264", + "Name": "User Session", + "Description": "Manager User Session", + "UserName": "Administrator", + "@odata.id": "/redfish/v1/SessionService/Sessions/12623963E803C264", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/SessionService/Sessions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/SessionService/Sessions/index.json new file mode 100644 index 00000000..57a8a36b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/SessionService/Sessions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SessionCollection.SessionCollection", + "Name": "Session Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/SessionService/Sessions/12623963E803C264" + } + ], + "@odata.id": "/redfish/v1/SessionService/Sessions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/SessionService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/SessionService/index.json new file mode 100644 index 00000000..62a05690 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/SessionService/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#SessionService.v1_2_0.SessionService", + "Id": "SessionService", + "Name": "Session Service", + "Description": "Session Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "SessionTimeout": 30, + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + }, + "@odata.id": "/redfish/v1/SessionService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/Capabilities/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/Capabilities/index.json new file mode 100644 index 00000000..a13c5125 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/Capabilities/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "MultiBladeEncCapabilities", + "Name": "MultiBlade Enclosure Zone Capabilities", + "Description": "This reports the capabilities that should be included by clients while requesting to create a *Composed* resource", + "Name@Redfish.RequiredOnCreate": true, + "Name@Redfish.SetOnlyOnCreate": true, + "Links@Redfish.RequiredOnCreate": true, + "Links": { + "ResourceBlocks@Redfish.RequiredOnCreate": true, + "ResourceBlocks@Redfish.UpdatableAfterCreate": true + }, + "@odata.id": "/redfish/v1/Systems/Capabilities", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition1/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition1/EthernetInterfaces/index.json new file mode 100644 index 00000000..9e348455 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition1/EthernetInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Interface Collection", + "Description": "PartitionedServer Network Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/EthernetInterfaces/1" + } + ], + "@odata.id": "/redfish/v1/Systems/ComposedPartition1/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition1/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition1/Memory/index.json new file mode 100644 index 00000000..f7bf7f0a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition1/Memory/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "PartitionedServer Memory Module Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Memory/1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Memory/2" + } + ], + "@odata.id": "/redfish/v1/Systems/ComposedPartition1/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition1/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition1/Processors/index.json new file mode 100644 index 00000000..556ca2ff --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition1/Processors/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "PartitionedServer Processor Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Processors/CPU1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock1/Systems/RBSystem/Processors/CPU2" + } + ], + "@odata.id": "/redfish/v1/Systems/ComposedPartition1/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition1/index.json new file mode 100644 index 00000000..84805624 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition1/index.json @@ -0,0 +1,85 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Name": "ComposedPartition1", + "Id": "ComposedPartition1", + "SystemType": "Composed", + "Model": "Constoto-2S-B Server Partition", + "Manufacturer": "Contoso", + "Description": "ComposedPartition1 - Composed Partition with 1 BladeComputeBlock", + "HostName": "localhost1", + "PowerState": "On", + "BiosVersion": "5.2.3", + "UUID": "17690008-3175-05f4-0010-debfc4ec1881", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "ProcessorSummary": { + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Count": 2, + "Model": "Intel(R) Xeon(R) processor" + }, + "MemorySummary": { + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "TotalSystemMemoryGiB": 128 + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/ComposedPartition1/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Systems/ComposedPartition1/Memory" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Systems/ComposedPartition1/EthernetInterfaces" + }, + "Boot": { + "BootSourceOverrideEnabled": "Disabled", + "BootSourceOverrideTarget": "None", + "BootSourceOverrideTarget@Redfish.AllowableValues": [ + "None", + "Pxe", + "Usb", + "Hdd" + ], + "BootSourceOverrideMode": "UEFI", + "UefiTargetBootSourceOverride": "" + }, + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock1" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/EncMgr1" + }, + { + "@odata.id": "/redfish/v1/Managers/EncMgr2" + } + ] + }, + "Actions": { + "#ComputerSystem.Reset": { + "target": "/redfish/v1/Systems/ComposedPartition1/Actions/ComputerSystem.Reset", + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "GracefulRestart", + "ForceRestart", + "Nmi", + "ForceOn", + "PushPowerButton" + ] + } + }, + "@odata.id": "/redfish/v1/Systems/ComposedPartition1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition2/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition2/EthernetInterfaces/index.json new file mode 100644 index 00000000..20bc29b5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition2/EthernetInterfaces/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Interface Collection", + "Description": "PartitionedServer Network Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/EthernetInterfaces/1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/EthernetInterfaces/1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/EthernetInterfaces/1" + } + ], + "@odata.id": "/redfish/v1/Systems/ComposedPartition2/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition2/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition2/Memory/index.json new file mode 100644 index 00000000..7fa2bd14 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition2/Memory/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "PartitionedServer Memory Module Collection", + "Members@odata.count": 6, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Memory/1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Memory/2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Memory/1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Memory/2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Memory/1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Memory/2" + } + ], + "@odata.id": "/redfish/v1/Systems/ComposedPartition2/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition2/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition2/Processors/index.json new file mode 100644 index 00000000..694ce10b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition2/Processors/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "PartitionedServer Processor Collection", + "Members@odata.count": 6, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Processors/CPU1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock2/Systems/RBSystem/Processors/CPU2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Processors/CPU1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock3/Systems/RBSystem/Processors/CPU2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Processors/CPU1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock5/Systems/RBSystem/Processors/CPU2" + } + ], + "@odata.id": "/redfish/v1/Systems/ComposedPartition2/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition2/index.json new file mode 100644 index 00000000..80d23335 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition2/index.json @@ -0,0 +1,91 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Name": "ComposedPartition2", + "Id": "ComposedPartition2", + "SystemType": "Composed", + "Model": "Constoto-2S-B Server Partition", + "Manufacturer": "Contoso", + "Description": "ComposedPartition2 - Composed Partition with 3 BladeComputeBlocks", + "HostName": "localhost2", + "PowerState": "On", + "BiosVersion": "5.2.3", + "UUID": "92384634-2938-2342-8820-489239905423", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "ProcessorSummary": { + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Count": 6, + "Model": "Intel(R) Xeon(R) processor" + }, + "MemorySummary": { + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "TotalSystemMemoryGiB": 384 + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/ComposedPartition2/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Systems/ComposedPartition2/Memory" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Systems/ComposedPartition2/EthernetInterfaces" + }, + "Boot": { + "BootSourceOverrideEnabled": "Once", + "BootSourceOverrideTarget": "Pxe", + "BootSourceOverrideTarget@Redfish.AllowableValues": [ + "None", + "Pxe", + "Usb", + "Hdd" + ], + "BootSourceOverrideMode": "UEFI", + "UefiTargetBootSourceOverride": "/0x31/0x33/0x01/0x01" + }, + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock3" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock5" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/EncMgr1" + }, + { + "@odata.id": "/redfish/v1/Managers/EncMgr2" + } + ] + }, + "Actions": { + "#ComputerSystem.Reset": { + "target": "/redfish/v1/Systems/ComposedPartition2/Actions/ComputerSystem.Reset", + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "GracefulRestart", + "ForceRestart", + "Nmi", + "ForceOn", + "PushPowerButton" + ] + } + }, + "@odata.id": "/redfish/v1/Systems/ComposedPartition2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition3/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition3/EthernetInterfaces/index.json new file mode 100644 index 00000000..c5a84866 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition3/EthernetInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Interface Collection", + "Description": "PartitionedServer Network Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/EthernetInterfaces/1" + } + ], + "@odata.id": "/redfish/v1/Systems/ComposedPartition3/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition3/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition3/Memory/index.json new file mode 100644 index 00000000..ee9c8d27 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition3/Memory/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "PartitionedServer Memory Module Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Memory/1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Memory/2" + } + ], + "@odata.id": "/redfish/v1/Systems/ComposedPartition3/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition3/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition3/Processors/index.json new file mode 100644 index 00000000..9d7c3331 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition3/Processors/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "PartitionedServer Processor Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Processors/CPU1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock6/Systems/RBSystem/Processors/CPU2" + } + ], + "@odata.id": "/redfish/v1/Systems/ComposedPartition3/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition3/Storage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition3/Storage/index.json new file mode 100644 index 00000000..84907451 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition3/Storage/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#StorageCollection.StorageCollection", + "Name": "Blade Storage Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeStorageBlock8/Storage/1" + } + ], + "@odata.id": "/redfish/v1/Systems/ComposedPartition3/Storage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition3/index.json new file mode 100644 index 00000000..99ceff3c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/ComposedPartition3/index.json @@ -0,0 +1,91 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Name": "ComposedPartition3", + "Id": "ComposedPartition3", + "SystemType": "Composed", + "Model": "Constoto-2S-B Server Partition", + "Manufacturer": "Contoso", + "Description": "ComposedPartition3 - Composed Partition with 1 BladeComputeBlock and 1 BladeStorageBlock", + "HostName": "composedhost3", + "PowerState": "On", + "BiosVersion": "5.2.3", + "UUID": "92384634-2938-2342-8820-489239905445", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "ProcessorSummary": { + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Count": 2, + "Model": "Intel(R) Xeon(R) processor" + }, + "MemorySummary": { + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "TotalSystemMemoryGiB": 128 + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/ComposedPartition3/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Systems/ComposedPartition3/Memory" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Systems/ComposedPartition3/EthernetInterfaces" + }, + "Storage": { + "@odata.id": "/redfish/v1/Systems/ComposedPartition3/Storage" + }, + "Boot": { + "BootSourceOverrideEnabled": "Once", + "BootSourceOverrideTarget": "Pxe", + "BootSourceOverrideTarget@Redfish.AllowableValues": [ + "None", + "Pxe", + "Usb", + "Hdd" + ], + "BootSourceOverrideMode": "UEFI", + "UefiTargetBootSourceOverride": "/0x31/0x33/0x01/0x01" + }, + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeComputeBlock6" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeStorageBlock8" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/EncMgr1" + }, + { + "@odata.id": "/redfish/v1/Managers/EncMgr2" + } + ] + }, + "Actions": { + "#ComputerSystem.Reset": { + "target": "/redfish/v1/Systems/ComposedPartition3/Actions/ComputerSystem.Reset", + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "GracefulRestart", + "ForceRestart", + "Nmi", + "ForceOn", + "PushPowerButton" + ] + } + }, + "@odata.id": "/redfish/v1/Systems/ComposedPartition3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/index.json new file mode 100644 index 00000000..51a38635 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/Systems/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#ComputerSystemCollection.ComputerSystemCollection", + "Name": "MultiBladePartitioned System Collection (Physical Partitions)", + "Description": "Total 8 Blades in MultiBlade Enclosure - ComposedPartitions with 1, 3 and 2 Blades in each", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/ComposedPartition1" + }, + { + "@odata.id": "/redfish/v1/Systems/ComposedPartition2" + }, + { + "@odata.id": "/redfish/v1/Systems/ComposedPartition3" + } + ], + "@Redfish.CollectionCapabilities": { + "@odata.type": "#CollectionCapabilities.v1_4_1.CollectionCapabilities", + "Capabilities": [ + { + "CapabilitiesObject": { + "@odata.id": "/redfish/v1/Systems/Capabilities" + }, + "UseCase": "ComputerSystemComposition", + "Links": { + "TargetCollection": { + "@odata.id": "/redfish/v1/Systems" + }, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/EncZone1" + } + ] + } + } + ] + }, + "@odata.id": "/redfish/v1/Systems", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/TaskService/Tasks/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/TaskService/Tasks/index.json new file mode 100644 index 00000000..c11b445b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/TaskService/Tasks/index.json @@ -0,0 +1,8 @@ +{ + "@odata.type": "#TaskCollection.TaskCollection", + "Name": "Task Collection", + "Members@odata.count": 0, + "Members": [], + "@odata.id": "/redfish/v1/TaskService/Tasks", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/TaskService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/TaskService/index.json new file mode 100644 index 00000000..2434a7ca --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/TaskService/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#TaskService.v1_3_0.TaskService", + "Id": "TaskService", + "Name": "Tasks Service", + "DateTime": "2016-12-30T04:14:33+06:00", + "CompletedTaskOverWritePolicy": "Manual", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "Tasks": { + "@odata.id": "/redfish/v1/TaskService/Tasks" + }, + "@odata.id": "/redfish/v1/TaskService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/explorer_config.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/explorer_config.json new file mode 100644 index 00000000..d320393d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/explorer_config.json @@ -0,0 +1,96 @@ +{ + "name": "Bladed Partitions", + "description": "This example shows how Redfish Composability can be used to create composed Computer System instances from smaller sets of Computer Systems. A top level enclosure called \"Enclosure\" contains a set of blades, which are used to create the composed Computer Systems.", + "navlinks": [ + { + "text": "Main", + "target": "main" + }, + { + "text": "Systems", + "target": "Systems", + "navlinks": [ + { + "text": "Composed Partition 1", + "target": "ComposedPartition1" + }, + { + "text": "Composed Partition 2", + "target": "ComposedPartition2" + }, + { + "text": "Composed Partition 3", + "target": "ComposedPartition3" + } + ] + }, + { + "text": "Chassis", + "target": "Chassis", + "navlinks": [ + { + "text": "Enclosure", + "target": "Enclosure" + }, + { + "text": "Blade 1", + "target": "Blade1" + }, + { + "text": "Blade 2", + "target": "Blade2" + }, + { + "text": "Blade 3", + "target": "Blade3" + }, + { + "text": "Blade 4", + "target": "Blade4" + }, + { + "text": "Blade 5", + "target": "Blade5" + }, + { + "text": "Blade 6", + "target": "Blade6" + }, + { + "text": "Blade 7", + "target": "Blade7" + }, + { + "text": "Blade 8", + "target": "Blade8" + } + ] + }, + { + "text": "Composition Service", + "target": "CompositionService" + }, + { + "text": "Managers", + "target": "Managers", + "navlinks": [ + { + "text": "Enclosure Manager 1", + "target": "EncMgr1" + }, + { + "text": "Enclosure Manager 2", + "target": "EncMgr2" + } + ] + }, + { + "text": "Session Service", + "target": "SessionService" + }, + { + "text": "Account Service", + "target": "AccountService" + } + ] +} diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/index.json new file mode 100644 index 00000000..0c496c91 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/index.json @@ -0,0 +1,52 @@ +{ + "@odata.type": "#ServiceRoot.v1_22_0.ServiceRoot", + "Id": "MultiBladePartitionedServer-Root", + "Name": "Multiblade Enclosure Root Service", + "Description": "This service reports physically partitioned Systems within a MultiBlade Enclosure", + "RedfishVersion": "1.15.0", + "UUID": "0965e849-c110-4b85-8989-9102b950a5a5", + "ProtocolFeaturesSupported": { + "ExpandQuery": { + "ExpandAll": true, + "Levels": true, + "MaxLevels": 6, + "Links": true, + "NoLinks": true + }, + "SelectQuery": false, + "FilterQuery": false, + "OnlyMemberQuery": true, + "ExcerptQuery": true + }, + "Chassis": { + "@odata.id": "/redfish/v1/Chassis" + }, + "Systems": { + "@odata.id": "/redfish/v1/Systems" + }, + "Managers": { + "@odata.id": "/redfish/v1/Managers" + }, + "CompositionService": { + "@odata.id": "/redfish/v1/CompositionService" + }, + "Tasks": { + "@odata.id": "/redfish/v1/TaskService" + }, + "SessionService": { + "@odata.id": "/redfish/v1/SessionService" + }, + "AccountService": { + "@odata.id": "/redfish/v1/AccountService" + }, + "EventService": { + "@odata.id": "/redfish/v1/EventService" + }, + "Links": { + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + } + }, + "@odata.id": "/redfish/v1/", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/odata/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/odata/index.json new file mode 100644 index 00000000..7fe26606 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed-partitions/odata/index.json @@ -0,0 +1,56 @@ +{ + "@odata.context": "/redfish/v1/$metadata", + "value": [ + { + "name": "Service", + "kind": "Singleton", + "url": "/redfish/v1/" + }, + { + "name": "Systems", + "kind": "Singleton", + "url": "/redfish/v1/Systems" + }, + { + "name": "Chassis", + "kind": "Singleton", + "url": "/redfish/v1/Chassis" + }, + { + "name": "Managers", + "kind": "Singleton", + "url": "/redfish/v1/Managers" + }, + { + "name": "Tasks", + "kind": "Singleton", + "url": "/redfish/v1/TaskService" + }, + { + "name": "AccountService", + "kind": "Singleton", + "url": "/redfish/v1/AccountService" + }, + { + "name": "SessionService", + "kind": "Singleton", + "url": "/redfish/v1/SessionService" + }, + { + "name": "EventService", + "kind": "Singleton", + "url": "/redfish/v1/EventService" + }, + { + "name": "CompositionService", + "kind": "Singleton", + "url": "/redfish/v1/CompositionService" + }, + { + "name": "Sessions", + "kind": "Singleton", + "url": "/redfish/v1/SessionService/Sessions" + } + ], + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/$metadata/index.xml b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/$metadata/index.xml new file mode 100644 index 00000000..ba5ad3de --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/$metadata/index.xml @@ -0,0 +1,144 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/AccountService/Accounts/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/AccountService/Accounts/1/index.json new file mode 100644 index 00000000..781c45c6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/AccountService/Accounts/1/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#ManagerAccount.v1_14_2.ManagerAccount", + "Id": "1", + "Name": "User Account", + "Description": "User Account", + "Enabled": true, + "Password": null, + "PasswordChangeRequired": false, + "AccountTypes": [ + "Redfish" + ], + "UserName": "Administrator", + "RoleId": "Administrator", + "Locked": false, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + } + }, + "@odata.id": "/redfish/v1/AccountService/Accounts/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/AccountService/Accounts/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/AccountService/Accounts/index.json new file mode 100644 index 00000000..f509d474 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/AccountService/Accounts/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerAccountCollection.ManagerAccountCollection", + "Name": "Accounts Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Accounts/1" + } + ], + "@odata.id": "/redfish/v1/AccountService/Accounts", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/AccountService/Roles/Administrator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/AccountService/Roles/Administrator/index.json new file mode 100644 index 00000000..5c48e1da --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/AccountService/Roles/Administrator/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Administrator", + "Name": "User Role", + "Description": "Admin User Role", + "RoleId": "Administrator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureManager", + "ConfigureUsers", + "ConfigureSelf", + "ConfigureComponents" + ], + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/AccountService/Roles/Operator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/AccountService/Roles/Operator/index.json new file mode 100644 index 00000000..d7b57c29 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/AccountService/Roles/Operator/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Operator", + "Name": "User Role", + "Description": "Operator User Role", + "RoleId": "Operator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf", + "ConfigureComponents" + ], + "@odata.id": "/redfish/v1/AccountService/Roles/Operator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/AccountService/Roles/ReadOnly/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/AccountService/Roles/ReadOnly/index.json new file mode 100644 index 00000000..8528fda0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/AccountService/Roles/ReadOnly/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "ReadOnly", + "Name": "User Role", + "Description": "ReadOnly User Role", + "RoleId": "ReadOnly", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf" + ], + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/AccountService/Roles/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/AccountService/Roles/index.json new file mode 100644 index 00000000..ba9ee112 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/AccountService/Roles/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#RoleCollection.RoleCollection", + "Name": "Roles Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/Operator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly" + } + ], + "@odata.id": "/redfish/v1/AccountService/Roles", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/AccountService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/AccountService/index.json new file mode 100644 index 00000000..eb627494 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/AccountService/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#AccountService.v1_19_0.AccountService", + "Id": "AccountService", + "Name": "Account Service", + "Description": "Account Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "AuthFailureLoggingThreshold": 3, + "MinPasswordLength": 8, + "AccountLockoutThreshold": 5, + "AccountLockoutDuration": 30, + "AccountLockoutCounterResetAfter": 30, + "AccountLockoutCounterResetEnabled": true, + "Accounts": { + "@odata.id": "/redfish/v1/AccountService/Accounts" + }, + "Roles": { + "@odata.id": "/redfish/v1/AccountService/Roles" + }, + "@odata.id": "/redfish/v1/AccountService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/Blade1/Thermal/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/Blade1/Thermal/index.json new file mode 100644 index 00000000..9dcd8c28 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/Blade1/Thermal/index.json @@ -0,0 +1,52 @@ +{ + "@odata.type": "#Thermal.v1_7_3.Thermal", + "Id": "Thermal", + "Name": "Blade Thermal", + "Temperatures": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade1/Thermal#/Temperatures/0", + "MemberId": "0", + "Name": "CPU Temp", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 62, + "UpperThresholdNonCritical": 75, + "UpperThresholdCritical": 90, + "UpperThresholdFatal": 95, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 120, + "PhysicalContext": "CPU", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9450R6/Processors/CPU" + } + ] + } + ], + "Fans": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade1/Thermal#/Fans/0", + "MemberId": "0", + "Name": "CPU Fan", + "PhysicalContext": "CPU", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 6000, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 2000, + "MinReadingRange": 0, + "MaxReadingRange": 10000, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9450R6/Processors/CPU" + } + ] + } + ], + "@odata.id": "/redfish/v1/Chassis/Blade1/Thermal", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/Blade1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/Blade1/index.json new file mode 100644 index 00000000..43ac3e9b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/Blade1/index.json @@ -0,0 +1,68 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "Blade1", + "Name": "Blade", + "ChassisType": "Blade", + "Manufacturer": "Contoso", + "Model": "SX1000", + "SKU": "6914260", + "SerialNumber": "529QB9450R6", + "PartNumber": "166480-S23", + "PowerState": "On", + "IndicatorLED": "Off", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Blade 1", + "LocationType": "Slot", + "LocationOrdinalValue": 0, + "Reference": "Front", + "Orientation": "LeftToRight" + } + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/Blade1/Thermal" + }, + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9450R6" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/Blade1BMC" + } + ], + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl" + }, + "CooledBy": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Fans/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Fans/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Fans/2" + }, + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Fans/3" + } + ], + "PoweredBy": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Power#/PowerSupplies/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Power#/PowerSupplies/1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/Blade1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/Blade2/Thermal/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/Blade2/Thermal/index.json new file mode 100644 index 00000000..c955c48d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/Blade2/Thermal/index.json @@ -0,0 +1,52 @@ +{ + "@odata.type": "#Thermal.v1_7_3.Thermal", + "Id": "Thermal", + "Name": "Blade Thermal", + "Temperatures": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade2/Thermal#/Temperatures/0", + "MemberId": "0", + "Name": "CPU Temp", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 57, + "UpperThresholdNonCritical": 75, + "UpperThresholdCritical": 90, + "UpperThresholdFatal": 95, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 120, + "PhysicalContext": "CPU", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9451R6/Processors/CPU" + } + ] + } + ], + "Fans": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade2/Thermal#/Fans/0", + "MemberId": "0", + "Name": "CPU Fan", + "PhysicalContext": "CPU", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 5800, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 2000, + "MinReadingRange": 0, + "MaxReadingRange": 10000, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9451R6/Processors/CPU" + } + ] + } + ], + "@odata.id": "/redfish/v1/Chassis/Blade2/Thermal", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/Blade2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/Blade2/index.json new file mode 100644 index 00000000..06dafbf3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/Blade2/index.json @@ -0,0 +1,68 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "Blade2", + "Name": "Blade", + "ChassisType": "Blade", + "Manufacturer": "Contoso", + "Model": "SX1000", + "SKU": "6914260", + "SerialNumber": "529QB9451R6", + "PartNumber": "166480-S23", + "PowerState": "On", + "IndicatorLED": "Off", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Blade 2", + "LocationType": "Slot", + "LocationOrdinalValue": 1, + "Reference": "Front", + "Orientation": "LeftToRight" + } + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/Blade2/Thermal" + }, + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9451R6" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/Blade2BMC" + } + ], + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl" + }, + "CooledBy": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Fans/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Fans/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Fans/2" + }, + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Fans/3" + } + ], + "PoweredBy": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Power#/PowerSupplies/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Power#/PowerSupplies/1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/Blade2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/Blade3/Thermal/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/Blade3/Thermal/index.json new file mode 100644 index 00000000..0cd7d165 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/Blade3/Thermal/index.json @@ -0,0 +1,52 @@ +{ + "@odata.type": "#Thermal.v1_7_3.Thermal", + "Id": "Thermal", + "Name": "Blade Thermal", + "Temperatures": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade3/Thermal#/Temperatures/0", + "MemberId": "0", + "Name": "CPU Temp", + "Status": { + "State": "Enabled", + "Health": "Warning" + }, + "ReadingCelsius": 77, + "UpperThresholdNonCritical": 75, + "UpperThresholdCritical": 90, + "UpperThresholdFatal": 95, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 120, + "PhysicalContext": "CPU", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9452R6/Processors/CPU" + } + ] + } + ], + "Fans": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade3/Thermal#/Fans/0", + "MemberId": "0", + "Name": "CPU Fan", + "PhysicalContext": "CPU", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 9600, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 2000, + "MinReadingRange": 0, + "MaxReadingRange": 10000, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9452R6/Processors/CPU" + } + ] + } + ], + "@odata.id": "/redfish/v1/Chassis/Blade3/Thermal", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/Blade3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/Blade3/index.json new file mode 100644 index 00000000..39465c3e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/Blade3/index.json @@ -0,0 +1,68 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "Blade3", + "Name": "Blade", + "ChassisType": "Blade", + "Manufacturer": "Contoso", + "Model": "SX1000", + "SKU": "6914260", + "SerialNumber": "529QB9452R6", + "PartNumber": "166480-S23", + "PowerState": "On", + "IndicatorLED": "Off", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Blade 3", + "LocationType": "Slot", + "LocationOrdinalValue": 2, + "Reference": "Front", + "Orientation": "LeftToRight" + } + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/Blade3/Thermal" + }, + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9452R6" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/Blade3BMC" + } + ], + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl" + }, + "CooledBy": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Fans/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Fans/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Fans/2" + }, + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Fans/3" + } + ], + "PoweredBy": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Power#/PowerSupplies/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Power#/PowerSupplies/1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/Blade3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/Blade4/Thermal/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/Blade4/Thermal/index.json new file mode 100644 index 00000000..7d7a66e6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/Blade4/Thermal/index.json @@ -0,0 +1,52 @@ +{ + "@odata.type": "#Thermal.v1_7_3.Thermal", + "Id": "Thermal", + "Name": "Blade Thermal", + "Temperatures": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade4/Thermal#/Temperatures/0", + "MemberId": "0", + "Name": "CPU Temp", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 50, + "UpperThresholdNonCritical": 75, + "UpperThresholdCritical": 90, + "UpperThresholdFatal": 95, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 120, + "PhysicalContext": "CPU", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9453R6/Processors/CPU" + } + ] + } + ], + "Fans": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade4/Thermal#/Fans/0", + "MemberId": "0", + "Name": "CPU Fan", + "PhysicalContext": "CPU", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 4800, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 2000, + "MinReadingRange": 0, + "MaxReadingRange": 10000, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9453R6/Processors/CPU" + } + ] + } + ], + "@odata.id": "/redfish/v1/Chassis/Blade4/Thermal", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/Blade4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/Blade4/index.json new file mode 100644 index 00000000..36435ea1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/Blade4/index.json @@ -0,0 +1,68 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "Blade4", + "Name": "Blade", + "ChassisType": "Blade", + "Manufacturer": "Contoso", + "Model": "SX1000", + "SKU": "6914260", + "SerialNumber": "529QB9453R6", + "PartNumber": "166480-S23", + "PowerState": "On", + "IndicatorLED": "Off", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Blade 4", + "LocationType": "Slot", + "LocationOrdinalValue": 3, + "Reference": "Front", + "Orientation": "LeftToRight" + } + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/Blade4/Thermal" + }, + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9453R6" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/Blade4BMC" + } + ], + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl" + }, + "CooledBy": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Fans/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Fans/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Fans/2" + }, + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Fans/3" + } + ], + "PoweredBy": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Power#/PowerSupplies/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Power#/PowerSupplies/1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/Blade4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/MultiBladeEncl/Power/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/MultiBladeEncl/Power/index.json new file mode 100644 index 00000000..1a6c4502 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/MultiBladeEncl/Power/index.json @@ -0,0 +1,159 @@ +{ + "@odata.type": "#Power.v1_7_3.Power", + "Id": "Power", + "Name": "Quad Blade Chassis Power", + "PowerSupplies": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Power#/PowerSupplies/0", + "MemberId": "0", + "Name": "Power Supply 0", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PowerSupplyType": "AC", + "LineInputVoltageType": "AC240V", + "LineInputVoltage": 220, + "PowerCapacityWatts": 1450, + "InputRanges": [ + { + "InputType": "AC", + "MinimumVoltage": 185, + "MaximumVoltage": 250, + "MinimumFrequencyHz": 47, + "MaximumFrequencyHz": 63, + "OutputWattage": 1450 + } + ], + "LastPowerOutputWatts": 650, + "Model": "325457-A06", + "Manufacturer": "ManufacturerName", + "FirmwareVersion": "2.20", + "SerialNumber": "1S0000523", + "PartNumber": "425-591-654", + "SparePartNumber": "425-591-654", + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Power#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade3" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade4" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9450R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9451R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9452R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9453R6" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Power#/PowerSupplies/1", + "MemberId": "1", + "Name": "Power Supply 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PowerSupplyType": "AC", + "LineInputVoltageType": "AC240V", + "LineInputVoltage": 222, + "PowerCapacityWatts": 1450, + "InputRanges": [ + { + "InputType": "AC", + "MinimumVoltage": 185, + "MaximumVoltage": 250, + "MinimumFrequencyHz": 47, + "MaximumFrequencyHz": 63, + "OutputWattage": 1450 + } + ], + "LastPowerOutputWatts": 635, + "Model": "325457-A06", + "Manufacturer": "ManufacturerName", + "FirmwareVersion": "2.20", + "SerialNumber": "1S0000524", + "PartNumber": "425-591-654", + "SparePartNumber": "425-591-654", + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Power#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade3" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade4" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9450R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9451R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9452R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9453R6" + } + ] + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Power#/Redundancy/0", + "MemberId": "0", + "Name": "Power Supply Redundancy", + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Power#/PowerSupplies/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Power#/PowerSupplies/1" + } + ], + "Mode": "N+m", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MinNumNeeded": 1, + "MaxNumSupported": 2 + } + ], + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Power", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/MultiBladeEncl/Thermal/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/MultiBladeEncl/Thermal/index.json new file mode 100644 index 00000000..67b02be0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/MultiBladeEncl/Thermal/index.json @@ -0,0 +1,280 @@ +{ + "@odata.type": "#Thermal.v1_7_3.Thermal", + "Id": "Thermal", + "Name": "Quad Blade Chassis Thermal", + "Temperatures": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Temperatures/0", + "MemberId": "0", + "Name": "Chassis Intake", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 24, + "UpperThresholdNonCritical": 35, + "UpperThresholdCritical": 42, + "UpperThresholdFatal": 50, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 60, + "PhysicalContext": "Intake", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade3" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade4" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9450R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9451R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9452R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9453R6" + } + ] + } + ], + "Fans": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Fans/0", + "MemberId": "0", + "Name": "System Fan 0", + "PhysicalContext": "Front", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 15100, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 3000, + "MinReadingRange": 0, + "MaxReadingRange": 16000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade3" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade4" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9450R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9451R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9452R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9453R6" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Fans/1", + "MemberId": "1", + "Name": "System Fan 1", + "PhysicalContext": "Front", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 14800, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 3000, + "MinReadingRange": 0, + "MaxReadingRange": 16000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade3" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade4" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9450R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9451R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9452R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9453R6" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Fans/2", + "MemberId": "2", + "Name": "System Fan 2", + "PhysicalContext": "Front", + "Status": { + "State": "Enabled", + "Health": "Critical" + }, + "Reading": 0, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 3000, + "MinReadingRange": 0, + "MaxReadingRange": 16000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade3" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade4" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9450R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9451R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9452R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9453R6" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Fans/3", + "MemberId": "3", + "Name": "System Fan 3", + "PhysicalContext": "Front", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 15000, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 3000, + "MinReadingRange": 0, + "MaxReadingRange": 16000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade3" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade4" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9450R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9451R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9452R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9453R6" + } + ] + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Redundancy/0", + "MemberId": "0", + "Name": "System Fans", + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Fans/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Fans/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Fans/2" + }, + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal#/Fans/3" + } + ], + "Mode": "N+m", + "Status": { + "State": "Enabled", + "Health": "Warning" + }, + "MinNumNeeded": 3, + "MaxNumSupported": 4 + } + ], + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/MultiBladeEncl/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/MultiBladeEncl/index.json new file mode 100644 index 00000000..9a41d8ab --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/MultiBladeEncl/index.json @@ -0,0 +1,64 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "MultiBladeEncl", + "Name": "Quad Blade Enclosure", + "ChassisType": "Enclosure", + "Manufacturer": "Contoso", + "Model": "QB6000", + "SKU": "6914255", + "SerialNumber": "528QB1654R1", + "PartNumber": "166472-S44", + "AssetTag": null, + "PowerState": "On", + "IndicatorLED": "Off", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Location": { + "PostalAddress": { + "Country": "US", + "Territory": "OR", + "City": "Portland", + "Street": "1001 SW 5th Avenue", + "HouseNumber": 1100, + "Name": "DMTF", + "PostalCode": "97204" + }, + "Placement": { + "Row": "North", + "Rack": "WEB43", + "RackOffsetUnits": "EIA_310", + "RackOffset": 12 + } + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal" + }, + "Power": { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Power" + }, + "Links": { + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/MultiBladeBMC" + } + ], + "Contains": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade3" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade4" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/index.json new file mode 100644 index 00000000..ba7ed5b2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Chassis/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#ChassisCollection.ChassisCollection", + "Name": "Chassis Collection", + "Members@odata.count": 5, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade3" + }, + { + "@odata.id": "/redfish/v1/Chassis/Blade4" + } + ], + "@odata.id": "/redfish/v1/Chassis", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/EventService/SubmitTestEventActionInfo/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/EventService/SubmitTestEventActionInfo/index.json new file mode 100644 index 00000000..44abc4f3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/EventService/SubmitTestEventActionInfo/index.json @@ -0,0 +1,62 @@ +{ + "@odata.type": "#ActionInfo.v1_6_0.ActionInfo", + "Id": "SubmitTestEventActionInfo", + "Name": "SubmitTestEvent Action Info", + "Parameters": [ + { + "Name": "EventType", + "Required": false, + "DataType": "String", + "AllowableValues": [ + "StatusChange", + "ResourceUpdated", + "ResourceAdded", + "ResourceRemoved", + "Alert", + "Other" + ] + }, + { + "Name": "EventId", + "Required": false, + "DataType": "String" + }, + { + "Name": "EventTimestamp", + "Required": false, + "DataType": "String" + }, + { + "Name": "Severity", + "Required": false, + "DataType": "String" + }, + { + "Name": "Message", + "Required": false, + "DataType": "String" + }, + { + "Name": "MessageId", + "Required": true, + "DataType": "String" + }, + { + "Name": "MessageArgs", + "Required": false, + "DataType": "StringArray" + }, + { + "Name": "OriginOfCondition", + "Required": false, + "DataType": "String" + }, + { + "Name": "EventGroupId", + "Required": false, + "DataType": "Number" + } + ], + "@odata.id": "/redfish/v1/EventService/SubmitTestEventActionInfo", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/EventService/Subscriptions/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/EventService/Subscriptions/1/index.json new file mode 100644 index 00000000..a93dd23f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/EventService/Subscriptions/1/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#EventDestination.v1_17_1.EventDestination", + "Id": "1", + "Name": "Event Subscription 1", + "Destination": "http://Contoso.com/CallHomeService", + "EventTypes": [ + "Alert" + ], + "Context": "CustomerServiceAttention", + "Protocol": "Redfish", + "SubscriptionType": "RedfishEvent", + "@odata.id": "/redfish/v1/EventService/Subscriptions/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/EventService/Subscriptions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/EventService/Subscriptions/index.json new file mode 100644 index 00000000..50ce173e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/EventService/Subscriptions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#EventDestinationCollection.EventDestinationCollection", + "Name": "Event Subscriptions Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/EventService/Subscriptions/1" + } + ], + "@odata.id": "/redfish/v1/EventService/Subscriptions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/EventService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/EventService/index.json new file mode 100644 index 00000000..ebb7d2fb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/EventService/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#EventService.v1_12_0.EventService", + "Id": "EventService", + "Name": "Event Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "DeliveryRetryAttempts": 3, + "DeliveryRetryIntervalSeconds": 60, + "EventTypesForSubscription": [ + "StatusChange", + "ResourceUpdated", + "ResourceAdded", + "ResourceRemoved", + "Alert" + ], + "Subscriptions": { + "@odata.id": "/redfish/v1/EventService/Subscriptions" + }, + "Actions": { + "#EventService.SubmitTestEvent": { + "target": "/redfish/v1/EventService/Actions/EventService.SubmitTestEvent", + "@Redfish.ActionInfo": "/redfish/v1/EventService/SubmitTestEventActionInfo" + } + }, + "@odata.id": "/redfish/v1/EventService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade1BMC/EthernetInterfaces/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade1BMC/EthernetInterfaces/1/index.json new file mode 100644 index 00000000..b323f645 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade1BMC/EthernetInterfaces/1/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "1", + "Name": "Manager Ethernet Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:38:C0:20", + "IPv4Addresses": [ + { + "Address": "192.168.56.120", + "SubnetMask": "255.255.255.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.56.1" + } + ], + "@odata.id": "/redfish/v1/Managers/Blade1BMC/EthernetInterfaces/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade1BMC/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade1BMC/EthernetInterfaces/index.json new file mode 100644 index 00000000..d01f3af2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade1BMC/EthernetInterfaces/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Network Interface Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/Blade1BMC/EthernetInterfaces/1" + } + ], + "@odata.id": "/redfish/v1/Managers/Blade1BMC/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade1BMC/LogServices/Log/Entries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade1BMC/LogServices/Log/Entries/index.json new file mode 100644 index 00000000..d36bb3bc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade1BMC/LogServices/Log/Entries/index.json @@ -0,0 +1,8 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Entry Collection", + "Members@odata.count": 0, + "Members": [], + "@odata.id": "/redfish/v1/Managers/Blade1BMC/LogServices/Log/Entries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade1BMC/LogServices/Log/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade1BMC/LogServices/Log/index.json new file mode 100644 index 00000000..2180b506 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade1BMC/LogServices/Log/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#LogService.v1_9_0.LogService", + "Id": "Log", + "Name": "System Log Service", + "MaxNumberOfRecords": 1024, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2016-01-14T02:13:48+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Managers/Blade1BMC/LogServices/Log/Actions/LogService.ClearLog" + } + }, + "Entries": { + "@odata.id": "/redfish/v1/Managers/Blade1BMC/LogServices/Log/Entries" + }, + "@odata.id": "/redfish/v1/Managers/Blade1BMC/LogServices/Log", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade1BMC/LogServices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade1BMC/LogServices/index.json new file mode 100644 index 00000000..78af5248 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade1BMC/LogServices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/Blade1BMC/LogServices/Log" + } + ], + "@odata.id": "/redfish/v1/Managers/Blade1BMC/LogServices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade1BMC/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade1BMC/index.json new file mode 100644 index 00000000..572a41b5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade1BMC/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Manager.v1_25_0.Manager", + "Id": "Blade1BMC", + "Name": "Blade Manager", + "ManagerType": "BMC", + "Description": "Contoso BMC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "GraphicalConsole": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 1, + "ConnectTypesSupported": [ + "KVMIP" + ] + }, + "FirmwareVersion": "1.00", + "RemoteRedfishServiceUri": "https://192.168.56.120/redfish/v1", + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/Blade1BMC/EthernetInterfaces" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Managers/Blade1BMC/LogServices" + }, + "Links": { + "ManagerForServers": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9450R6" + } + ], + "ManagerForChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade1" + } + ] + }, + "@odata.id": "/redfish/v1/Managers/Blade1BMC", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade2BMC/EthernetInterfaces/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade2BMC/EthernetInterfaces/1/index.json new file mode 100644 index 00000000..82e0e610 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade2BMC/EthernetInterfaces/1/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "1", + "Name": "Manager Ethernet Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:38:C0:21", + "IPv4Addresses": [ + { + "Address": "192.168.56.121", + "SubnetMask": "255.255.255.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.56.1" + } + ], + "@odata.id": "/redfish/v1/Managers/Blade2BMC/EthernetInterfaces/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade2BMC/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade2BMC/EthernetInterfaces/index.json new file mode 100644 index 00000000..64417104 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade2BMC/EthernetInterfaces/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Network Interface Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/Blade2BMC/EthernetInterfaces/1" + } + ], + "@odata.id": "/redfish/v1/Managers/Blade2BMC/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade2BMC/LogServices/Log/Entries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade2BMC/LogServices/Log/Entries/index.json new file mode 100644 index 00000000..4d22b163 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade2BMC/LogServices/Log/Entries/index.json @@ -0,0 +1,8 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Entry Collection", + "Members@odata.count": 0, + "Members": [], + "@odata.id": "/redfish/v1/Managers/Blade2BMC/LogServices/Log/Entries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade2BMC/LogServices/Log/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade2BMC/LogServices/Log/index.json new file mode 100644 index 00000000..8d6a8618 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade2BMC/LogServices/Log/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#LogService.v1_9_0.LogService", + "Id": "Log", + "Name": "System Log Service", + "MaxNumberOfRecords": 1024, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2016-01-14T02:13:48+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Managers/Blade2BMC/LogServices/Log/Actions/LogService.ClearLog" + } + }, + "Entries": { + "@odata.id": "/redfish/v1/Managers/Blade2BMC/LogServices/Log/Entries" + }, + "@odata.id": "/redfish/v1/Managers/Blade2BMC/LogServices/Log", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade2BMC/LogServices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade2BMC/LogServices/index.json new file mode 100644 index 00000000..ad8d2852 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade2BMC/LogServices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/Blade2BMC/LogServices/Log" + } + ], + "@odata.id": "/redfish/v1/Managers/Blade2BMC/LogServices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade2BMC/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade2BMC/index.json new file mode 100644 index 00000000..13f2a895 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade2BMC/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Manager.v1_25_0.Manager", + "Id": "Blade2BMC", + "Name": "Blade Manager", + "ManagerType": "BMC", + "Description": "Contoso BMC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "GraphicalConsole": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 1, + "ConnectTypesSupported": [ + "KVMIP" + ] + }, + "FirmwareVersion": "1.00", + "RemoteRedfishServiceUri": "https://192.168.56.121/redfish/v1", + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/Blade2BMC/EthernetInterfaces" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Managers/Blade2BMC/LogServices" + }, + "Links": { + "ManagerForServers": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9451R6" + } + ], + "ManagerForChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade2" + } + ] + }, + "@odata.id": "/redfish/v1/Managers/Blade2BMC", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade3BMC/EthernetInterfaces/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade3BMC/EthernetInterfaces/1/index.json new file mode 100644 index 00000000..25603790 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade3BMC/EthernetInterfaces/1/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "1", + "Name": "Manager Ethernet Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:38:C0:22", + "IPv4Addresses": [ + { + "Address": "192.168.56.122", + "SubnetMask": "255.255.255.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.56.1" + } + ], + "@odata.id": "/redfish/v1/Managers/Blade3BMC/EthernetInterfaces/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade3BMC/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade3BMC/EthernetInterfaces/index.json new file mode 100644 index 00000000..6034fbea --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade3BMC/EthernetInterfaces/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Network Interface Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/Blade3BMC/EthernetInterfaces/1" + } + ], + "@odata.id": "/redfish/v1/Managers/Blade3BMC/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade3BMC/LogServices/Log/Entries/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade3BMC/LogServices/Log/Entries/1/index.json new file mode 100644 index 00000000..e57a1a36 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade3BMC/LogServices/Log/Entries/1/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "Event", + "Severity": "Warning", + "Created": "2016-01-15T03:01:00Z", + "MessageId": "Event.1.0.TempWayTooHot", + "Message": "CPU temperature crossed Upper Non Critical Threshold", + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/Blade3/Thermal" + } + }, + "@odata.id": "/redfish/v1/Managers/Blade3BMC/LogServices/Log/Entries/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade3BMC/LogServices/Log/Entries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade3BMC/LogServices/Log/Entries/index.json new file mode 100644 index 00000000..15dbdc31 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade3BMC/LogServices/Log/Entries/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Entry Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/Blade3BMC/LogServices/Log/Entries/1", + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "Event", + "Severity": "Warning", + "Created": "2016-01-15T03:01:00Z", + "MessageId": "Event.1.0.TempWayTooHot", + "Message": "CPU temperature crossed Upper Non Critical Threshold", + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/Blade3/Thermal" + } + } + } + ], + "@odata.id": "/redfish/v1/Managers/Blade3BMC/LogServices/Log/Entries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade3BMC/LogServices/Log/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade3BMC/LogServices/Log/index.json new file mode 100644 index 00000000..da2920de --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade3BMC/LogServices/Log/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#LogService.v1_9_0.LogService", + "Id": "Log", + "Name": "System Log Service", + "MaxNumberOfRecords": 1024, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2016-01-14T02:13:48+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Managers/Blade3BMC/LogServices/Log/Actions/LogService.ClearLog" + } + }, + "Entries": { + "@odata.id": "/redfish/v1/Managers/Blade3BMC/LogServices/Log/Entries" + }, + "@odata.id": "/redfish/v1/Managers/Blade3BMC/LogServices/Log", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade3BMC/LogServices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade3BMC/LogServices/index.json new file mode 100644 index 00000000..2bd6249d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade3BMC/LogServices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/Blade3BMC/LogServices/Log" + } + ], + "@odata.id": "/redfish/v1/Managers/Blade3BMC/LogServices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade3BMC/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade3BMC/index.json new file mode 100644 index 00000000..0a2a7b9f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade3BMC/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Manager.v1_25_0.Manager", + "Id": "Blade3BMC", + "Name": "Blade Manager", + "ManagerType": "BMC", + "Description": "Contoso BMC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "GraphicalConsole": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 1, + "ConnectTypesSupported": [ + "KVMIP" + ] + }, + "FirmwareVersion": "1.00", + "RemoteRedfishServiceUri": "https://192.168.56.122/redfish/v1", + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/Blade3BMC/EthernetInterfaces" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Managers/Blade3BMC/LogServices" + }, + "Links": { + "ManagerForServers": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9452R6" + } + ], + "ManagerForChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade3" + } + ] + }, + "@odata.id": "/redfish/v1/Managers/Blade3BMC", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade4BMC/EthernetInterfaces/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade4BMC/EthernetInterfaces/1/index.json new file mode 100644 index 00000000..c6d787d3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade4BMC/EthernetInterfaces/1/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "1", + "Name": "Manager Ethernet Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:38:C0:23", + "IPv4Addresses": [ + { + "Address": "192.168.56.123", + "SubnetMask": "255.255.255.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.56.1" + } + ], + "@odata.id": "/redfish/v1/Managers/Blade4BMC/EthernetInterfaces/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade4BMC/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade4BMC/EthernetInterfaces/index.json new file mode 100644 index 00000000..bacb9cfe --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade4BMC/EthernetInterfaces/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Network Interface Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/Blade4BMC/EthernetInterfaces/1" + } + ], + "@odata.id": "/redfish/v1/Managers/Blade4BMC/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade4BMC/LogServices/Log/Entries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade4BMC/LogServices/Log/Entries/index.json new file mode 100644 index 00000000..57f720f6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade4BMC/LogServices/Log/Entries/index.json @@ -0,0 +1,8 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Entry Collection", + "Members@odata.count": 0, + "Members": [], + "@odata.id": "/redfish/v1/Managers/Blade4BMC/LogServices/Log/Entries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade4BMC/LogServices/Log/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade4BMC/LogServices/Log/index.json new file mode 100644 index 00000000..ff461913 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade4BMC/LogServices/Log/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#LogService.v1_9_0.LogService", + "Id": "Log", + "Name": "System Log Service", + "MaxNumberOfRecords": 1024, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2016-01-14T02:13:48+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Managers/Blade4BMC/LogServices/Log/Actions/LogService.ClearLog" + } + }, + "Entries": { + "@odata.id": "/redfish/v1/Managers/Blade4BMC/LogServices/Log/Entries" + }, + "@odata.id": "/redfish/v1/Managers/Blade4BMC/LogServices/Log", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade4BMC/LogServices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade4BMC/LogServices/index.json new file mode 100644 index 00000000..1b3c140a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade4BMC/LogServices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/Blade4BMC/LogServices/Log" + } + ], + "@odata.id": "/redfish/v1/Managers/Blade4BMC/LogServices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade4BMC/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade4BMC/index.json new file mode 100644 index 00000000..9f1ded36 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/Blade4BMC/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Manager.v1_25_0.Manager", + "Id": "Blade4BMC", + "Name": "Blade Manager", + "ManagerType": "BMC", + "Description": "Contoso BMC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "GraphicalConsole": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 1, + "ConnectTypesSupported": [ + "KVMIP" + ] + }, + "FirmwareVersion": "1.00", + "RemoteRedfishServiceUri": "https://192.168.56.123/redfish/v1", + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/Blade4BMC/EthernetInterfaces" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Managers/Blade4BMC/LogServices" + }, + "Links": { + "ManagerForServers": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9453R6" + } + ], + "ManagerForChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade4" + } + ] + }, + "@odata.id": "/redfish/v1/Managers/Blade4BMC", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/MultiBladeBMC/EthernetInterfaces/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/MultiBladeBMC/EthernetInterfaces/1/index.json new file mode 100644 index 00000000..40a759cd --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/MultiBladeBMC/EthernetInterfaces/1/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "1", + "Name": "Manager Ethernet Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:38:C0:10", + "IPv4Addresses": [ + { + "Address": "192.168.56.100", + "SubnetMask": "255.255.255.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.56.1" + } + ], + "@odata.id": "/redfish/v1/Managers/MultiBladeBMC/EthernetInterfaces/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/MultiBladeBMC/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/MultiBladeBMC/EthernetInterfaces/index.json new file mode 100644 index 00000000..9dde761d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/MultiBladeBMC/EthernetInterfaces/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Network Interface Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/MultiBladeBMC/EthernetInterfaces/1" + } + ], + "@odata.id": "/redfish/v1/Managers/MultiBladeBMC/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/MultiBladeBMC/LogServices/Log/Entries/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/MultiBladeBMC/LogServices/Log/Entries/1/index.json new file mode 100644 index 00000000..0c10c2b4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/MultiBladeBMC/LogServices/Log/Entries/1/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "Event", + "Severity": "Critical", + "Created": "2016-01-10T18:02:00Z", + "MessageId": "Event.1.0.FanWayTooSlow", + "Message": "Fan 2 crossed Lower Fatal Threshold; fans are no longer redundant", + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal" + } + }, + "@odata.id": "/redfish/v1/Managers/MultiBladeBMC/LogServices/Log/Entries/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/MultiBladeBMC/LogServices/Log/Entries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/MultiBladeBMC/LogServices/Log/Entries/index.json new file mode 100644 index 00000000..49f01281 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/MultiBladeBMC/LogServices/Log/Entries/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Entry Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/MultiBladeBMC/LogServices/Log/Entries/1", + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "Event", + "Severity": "Critical", + "Created": "2016-01-10T18:02:00Z", + "MessageId": "Event.1.0.FanWayTooSlow", + "Message": "Fan 2 crossed Lower Fatal Threshold; fans are no longer redundant", + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl/Thermal" + } + } + } + ], + "@odata.id": "/redfish/v1/Managers/MultiBladeBMC/LogServices/Log/Entries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/MultiBladeBMC/LogServices/Log/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/MultiBladeBMC/LogServices/Log/index.json new file mode 100644 index 00000000..455a5acb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/MultiBladeBMC/LogServices/Log/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#LogService.v1_9_0.LogService", + "Id": "Log", + "Name": "System Log Service", + "MaxNumberOfRecords": 1024, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2016-01-14T02:13:48+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Managers/MultiBladeBMC/LogServices/Log/Actions/LogService.ClearLog" + } + }, + "Entries": { + "@odata.id": "/redfish/v1/Managers/MultiBladeBMC/LogServices/Log/Entries" + }, + "@odata.id": "/redfish/v1/Managers/MultiBladeBMC/LogServices/Log", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/MultiBladeBMC/LogServices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/MultiBladeBMC/LogServices/index.json new file mode 100644 index 00000000..5c60089f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/MultiBladeBMC/LogServices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/MultiBladeBMC/LogServices/Log" + } + ], + "@odata.id": "/redfish/v1/Managers/MultiBladeBMC/LogServices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/MultiBladeBMC/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/MultiBladeBMC/index.json new file mode 100644 index 00000000..f2a81030 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/MultiBladeBMC/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#Manager.v1_25_0.Manager", + "Id": "MultiBladeBMC", + "Name": "Enclosure Manager", + "ManagerType": "EnclosureManager", + "Description": "Contoso BMC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "FirmwareVersion": "1.00", + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/MultiBladeBMC/EthernetInterfaces" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Managers/MultiBladeBMC/LogServices" + }, + "Links": { + "ManagerForChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/MultiBladeEncl" + } + ] + }, + "@odata.id": "/redfish/v1/Managers/MultiBladeBMC", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/index.json new file mode 100644 index 00000000..ca6ec141 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Managers/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#ManagerCollection.ManagerCollection", + "Name": "Manager Collection", + "Members@odata.count": 5, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/MultiBladeBMC" + }, + { + "@odata.id": "/redfish/v1/Managers/Blade1BMC" + }, + { + "@odata.id": "/redfish/v1/Managers/Blade2BMC" + }, + { + "@odata.id": "/redfish/v1/Managers/Blade3BMC" + }, + { + "@odata.id": "/redfish/v1/Managers/Blade4BMC" + } + ], + "@odata.id": "/redfish/v1/Managers", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/SessionService/Sessions/12623963E803C264/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/SessionService/Sessions/12623963E803C264/index.json new file mode 100644 index 00000000..dbddd2fe --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/SessionService/Sessions/12623963E803C264/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#Session.v1_9_0.Session", + "Id": "12623963E803C264", + "Name": "User Session", + "Description": "Manager User Session", + "UserName": "Administrator", + "@odata.id": "/redfish/v1/SessionService/Sessions/12623963E803C264", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/SessionService/Sessions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/SessionService/Sessions/index.json new file mode 100644 index 00000000..57a8a36b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/SessionService/Sessions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SessionCollection.SessionCollection", + "Name": "Session Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/SessionService/Sessions/12623963E803C264" + } + ], + "@odata.id": "/redfish/v1/SessionService/Sessions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/SessionService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/SessionService/index.json new file mode 100644 index 00000000..62a05690 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/SessionService/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#SessionService.v1_2_0.SessionService", + "Id": "SessionService", + "Name": "Session Service", + "Description": "Session Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "SessionTimeout": 30, + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + }, + "@odata.id": "/redfish/v1/SessionService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9450R6/Processors/CPU/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9450R6/Processors/CPU/index.json new file mode 100644 index 00000000..13057b9d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9450R6/Processors/CPU/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU", + "Name": "Processor", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Multi-Core Intel(R) Xeon(R) processor E5-1603", + "MaxSpeedMHz": 2800, + "TotalCores": 4, + "TotalThreads": 8, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/529QB9450R6/Processors/CPU", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9450R6/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9450R6/Processors/index.json new file mode 100644 index 00000000..8ad20e0f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9450R6/Processors/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processor Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9450R6/Processors/CPU" + } + ], + "@odata.id": "/redfish/v1/Systems/529QB9450R6/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9450R6/SimpleStorage/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9450R6/SimpleStorage/1/index.json new file mode 100644 index 00000000..f7e71308 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9450R6/SimpleStorage/1/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#SimpleStorage.v1_3_2.SimpleStorage", + "Id": "1", + "Name": "Simple Storage Controller", + "Description": "System SATA", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Devices": [ + { + "Name": "SATA Bay 1", + "Manufacturer": "Contoso", + "Model": "3000GT8", + "Status": { + "State": "Enabled", + "Health": "OK" + } + }, + { + "Name": "SATA Bay 2", + "Manufacturer": "Contoso", + "Model": "3000GT8", + "Status": { + "State": "Enabled", + "Health": "OK" + } + } + ], + "@odata.id": "/redfish/v1/Systems/529QB9450R6/SimpleStorage/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9450R6/SimpleStorage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9450R6/SimpleStorage/index.json new file mode 100644 index 00000000..963d8424 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9450R6/SimpleStorage/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SimpleStorageCollection.SimpleStorageCollection", + "Name": "Simple Storage Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9450R6/SimpleStorage/1" + } + ], + "@odata.id": "/redfish/v1/Systems/529QB9450R6/SimpleStorage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9450R6/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9450R6/index.json new file mode 100644 index 00000000..a143c537 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9450R6/index.json @@ -0,0 +1,84 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "529QB9450R6", + "Name": "Bladed System", + "SystemType": "Physical", + "Manufacturer": "Contoso", + "Model": "SX1000", + "SKU": "6914260", + "SerialNumber": "529QB9450R6", + "PartNumber": "166480-S23", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "IndicatorLED": "Off", + "PowerState": "On", + "Boot": { + "BootSourceOverrideEnabled": "Disabled", + "BootSourceOverrideTarget": "None", + "BootSourceOverrideTarget@Redfish.AllowableValues": [ + "None", + "Pxe", + "Floppy", + "Cd", + "Usb", + "Hdd", + "BiosSetup" + ] + }, + "BiosVersion": "P86 v1.58 (10/15/2015)", + "ProcessorSummary": { + "Count": 1, + "Model": "Multi-Core Intel(R) Xeon(R) processor E5-16xx Series", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + } + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 64, + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + } + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/529QB9450R6/Processors" + }, + "SimpleStorage": { + "@odata.id": "/redfish/v1/Systems/529QB9450R6/SimpleStorage" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade1" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/Blade1BMC" + } + ] + }, + "Actions": { + "#ComputerSystem.Reset": { + "target": "/redfish/v1/Systems/529QB9450R6/Actions/ComputerSystem.Reset", + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "GracefulRestart", + "ForceRestart", + "Nmi", + "ForceOn", + "PushPowerButton" + ] + } + }, + "@odata.id": "/redfish/v1/Systems/529QB9450R6", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9451R6/Processors/CPU/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9451R6/Processors/CPU/index.json new file mode 100644 index 00000000..13df1968 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9451R6/Processors/CPU/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU", + "Name": "Processor", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Multi-Core Intel(R) Xeon(R) processor E5-1603", + "MaxSpeedMHz": 2800, + "TotalCores": 4, + "TotalThreads": 8, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/529QB9451R6/Processors/CPU", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9451R6/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9451R6/Processors/index.json new file mode 100644 index 00000000..240e2711 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9451R6/Processors/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processor Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9451R6/Processors/CPU" + } + ], + "@odata.id": "/redfish/v1/Systems/529QB9451R6/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9451R6/SimpleStorage/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9451R6/SimpleStorage/1/index.json new file mode 100644 index 00000000..78f858ab --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9451R6/SimpleStorage/1/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#SimpleStorage.v1_3_2.SimpleStorage", + "Id": "1", + "Name": "Simple Storage Controller", + "Description": "System SATA", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Devices": [ + { + "Name": "SATA Bay 1", + "Manufacturer": "Contoso", + "Model": "3000GT8", + "Status": { + "State": "Enabled", + "Health": "OK" + } + }, + { + "Name": "SATA Bay 2", + "Manufacturer": "Contoso", + "Model": "3000GT8", + "Status": { + "State": "Enabled", + "Health": "OK" + } + } + ], + "@odata.id": "/redfish/v1/Systems/529QB9451R6/SimpleStorage/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9451R6/SimpleStorage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9451R6/SimpleStorage/index.json new file mode 100644 index 00000000..233444ef --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9451R6/SimpleStorage/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SimpleStorageCollection.SimpleStorageCollection", + "Name": "Simple Storage Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9451R6/SimpleStorage/1" + } + ], + "@odata.id": "/redfish/v1/Systems/529QB9451R6/SimpleStorage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9451R6/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9451R6/index.json new file mode 100644 index 00000000..549ec230 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9451R6/index.json @@ -0,0 +1,84 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "529QB9451R6", + "Name": "Bladed System", + "SystemType": "Physical", + "Manufacturer": "Contoso", + "Model": "SX1000", + "SKU": "6914260", + "SerialNumber": "529QB9451R6", + "PartNumber": "166480-S23", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "IndicatorLED": "Off", + "PowerState": "On", + "Boot": { + "BootSourceOverrideEnabled": "Disabled", + "BootSourceOverrideTarget": "None", + "BootSourceOverrideTarget@Redfish.AllowableValues": [ + "None", + "Pxe", + "Floppy", + "Cd", + "Usb", + "Hdd", + "BiosSetup" + ] + }, + "BiosVersion": "P86 v1.58 (10/15/2015)", + "ProcessorSummary": { + "Count": 1, + "Model": "Multi-Core Intel(R) Xeon(R) processor E5-16xx Series", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + } + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 64, + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + } + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/529QB9451R6/Processors" + }, + "SimpleStorage": { + "@odata.id": "/redfish/v1/Systems/529QB9451R6/SimpleStorage" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade2" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/Blade2BMC" + } + ] + }, + "Actions": { + "#ComputerSystem.Reset": { + "target": "/redfish/v1/Systems/529QB9451R6/Actions/ComputerSystem.Reset", + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "GracefulRestart", + "ForceRestart", + "Nmi", + "ForceOn", + "PushPowerButton" + ] + } + }, + "@odata.id": "/redfish/v1/Systems/529QB9451R6", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9452R6/Processors/CPU/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9452R6/Processors/CPU/index.json new file mode 100644 index 00000000..249587f5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9452R6/Processors/CPU/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU", + "Name": "Processor", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Multi-Core Intel(R) Xeon(R) processor E5-1603", + "MaxSpeedMHz": 2800, + "TotalCores": 4, + "TotalThreads": 8, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/529QB9452R6/Processors/CPU", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9452R6/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9452R6/Processors/index.json new file mode 100644 index 00000000..da6b3f17 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9452R6/Processors/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processor Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9452R6/Processors/CPU" + } + ], + "@odata.id": "/redfish/v1/Systems/529QB9452R6/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9452R6/SimpleStorage/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9452R6/SimpleStorage/1/index.json new file mode 100644 index 00000000..98281a1a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9452R6/SimpleStorage/1/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#SimpleStorage.v1_3_2.SimpleStorage", + "Id": "1", + "Name": "Simple Storage Controller", + "Description": "System SATA", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Devices": [ + { + "Name": "SATA Bay 1", + "Manufacturer": "Contoso", + "Model": "3000GT8", + "Status": { + "State": "Enabled", + "Health": "OK" + } + }, + { + "Name": "SATA Bay 2", + "Manufacturer": "Contoso", + "Model": "3000GT8", + "Status": { + "State": "Enabled", + "Health": "OK" + } + } + ], + "@odata.id": "/redfish/v1/Systems/529QB9452R6/SimpleStorage/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9452R6/SimpleStorage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9452R6/SimpleStorage/index.json new file mode 100644 index 00000000..671f25c8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9452R6/SimpleStorage/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SimpleStorageCollection.SimpleStorageCollection", + "Name": "Simple Storage Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9452R6/SimpleStorage/1" + } + ], + "@odata.id": "/redfish/v1/Systems/529QB9452R6/SimpleStorage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9452R6/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9452R6/index.json new file mode 100644 index 00000000..9b303e58 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9452R6/index.json @@ -0,0 +1,84 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "529QB9452R6", + "Name": "Bladed System", + "SystemType": "Physical", + "Manufacturer": "Contoso", + "Model": "SX1000", + "SKU": "6914260", + "SerialNumber": "529QB9452R6", + "PartNumber": "166480-S23", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "IndicatorLED": "Off", + "PowerState": "On", + "Boot": { + "BootSourceOverrideEnabled": "Disabled", + "BootSourceOverrideTarget": "None", + "BootSourceOverrideTarget@Redfish.AllowableValues": [ + "None", + "Pxe", + "Floppy", + "Cd", + "Usb", + "Hdd", + "BiosSetup" + ] + }, + "BiosVersion": "P86 v1.58 (10/15/2015)", + "ProcessorSummary": { + "Count": 1, + "Model": "Multi-Core Intel(R) Xeon(R) processor E5-16xx Series", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + } + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 64, + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + } + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/529QB9452R6/Processors" + }, + "SimpleStorage": { + "@odata.id": "/redfish/v1/Systems/529QB9452R6/SimpleStorage" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade3" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/Blade3BMC" + } + ] + }, + "Actions": { + "#ComputerSystem.Reset": { + "target": "/redfish/v1/Systems/529QB9452R6/Actions/ComputerSystem.Reset", + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "GracefulRestart", + "ForceRestart", + "Nmi", + "ForceOn", + "PushPowerButton" + ] + } + }, + "@odata.id": "/redfish/v1/Systems/529QB9452R6", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9453R6/Processors/CPU/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9453R6/Processors/CPU/index.json new file mode 100644 index 00000000..f464249b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9453R6/Processors/CPU/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU", + "Name": "Processor", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Multi-Core Intel(R) Xeon(R) processor E5-1603", + "MaxSpeedMHz": 2800, + "TotalCores": 4, + "TotalThreads": 8, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/529QB9453R6/Processors/CPU", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9453R6/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9453R6/Processors/index.json new file mode 100644 index 00000000..96f1c395 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9453R6/Processors/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processor Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9453R6/Processors/CPU" + } + ], + "@odata.id": "/redfish/v1/Systems/529QB9453R6/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9453R6/SimpleStorage/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9453R6/SimpleStorage/1/index.json new file mode 100644 index 00000000..b755800d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9453R6/SimpleStorage/1/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#SimpleStorage.v1_3_2.SimpleStorage", + "Id": "1", + "Name": "Simple Storage Controller", + "Description": "System SATA", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Devices": [ + { + "Name": "SATA Bay 1", + "Manufacturer": "Contoso", + "Model": "3000GT8", + "Status": { + "State": "Enabled", + "Health": "OK" + } + }, + { + "Name": "SATA Bay 2", + "Manufacturer": "Contoso", + "Model": "3000GT8", + "Status": { + "State": "Enabled", + "Health": "OK" + } + } + ], + "@odata.id": "/redfish/v1/Systems/529QB9453R6/SimpleStorage/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9453R6/SimpleStorage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9453R6/SimpleStorage/index.json new file mode 100644 index 00000000..e7388acd --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9453R6/SimpleStorage/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SimpleStorageCollection.SimpleStorageCollection", + "Name": "Simple Storage Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9453R6/SimpleStorage/1" + } + ], + "@odata.id": "/redfish/v1/Systems/529QB9453R6/SimpleStorage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9453R6/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9453R6/index.json new file mode 100644 index 00000000..f9056c17 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/529QB9453R6/index.json @@ -0,0 +1,84 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "529QB9453R6", + "Name": "Bladed System", + "SystemType": "Physical", + "Manufacturer": "Contoso", + "Model": "SX1000", + "SKU": "6914260", + "SerialNumber": "529QB9453R6", + "PartNumber": "166480-S23", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "IndicatorLED": "Off", + "PowerState": "On", + "Boot": { + "BootSourceOverrideEnabled": "Disabled", + "BootSourceOverrideTarget": "None", + "BootSourceOverrideTarget@Redfish.AllowableValues": [ + "None", + "Pxe", + "Floppy", + "Cd", + "Usb", + "Hdd", + "BiosSetup" + ] + }, + "BiosVersion": "P86 v1.58 (10/15/2015)", + "ProcessorSummary": { + "Count": 1, + "Model": "Multi-Core Intel(R) Xeon(R) processor E5-16xx Series", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + } + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 64, + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + } + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/529QB9453R6/Processors" + }, + "SimpleStorage": { + "@odata.id": "/redfish/v1/Systems/529QB9453R6/SimpleStorage" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Blade4" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/Blade4BMC" + } + ] + }, + "Actions": { + "#ComputerSystem.Reset": { + "target": "/redfish/v1/Systems/529QB9453R6/Actions/ComputerSystem.Reset", + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "GracefulRestart", + "ForceRestart", + "Nmi", + "ForceOn", + "PushPowerButton" + ] + } + }, + "@odata.id": "/redfish/v1/Systems/529QB9453R6", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/index.json new file mode 100644 index 00000000..7d96bb16 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/Systems/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#ComputerSystemCollection.ComputerSystemCollection", + "Name": "Computer System Collection", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/529QB9450R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9451R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9452R6" + }, + { + "@odata.id": "/redfish/v1/Systems/529QB9453R6" + } + ], + "@odata.id": "/redfish/v1/Systems", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/TaskService/Tasks/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/TaskService/Tasks/index.json new file mode 100644 index 00000000..c11b445b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/TaskService/Tasks/index.json @@ -0,0 +1,8 @@ +{ + "@odata.type": "#TaskCollection.TaskCollection", + "Name": "Task Collection", + "Members@odata.count": 0, + "Members": [], + "@odata.id": "/redfish/v1/TaskService/Tasks", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/TaskService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/TaskService/index.json new file mode 100644 index 00000000..87f16c11 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/TaskService/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#TaskService.v1_3_0.TaskService", + "Id": "TaskService", + "Name": "Tasks Service", + "DateTime": "2016-01-13T12:48:12+06:00", + "CompletedTaskOverWritePolicy": "Manual", + "LifeCycleEventOnTaskStateChange": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "Tasks": { + "@odata.id": "/redfish/v1/TaskService/Tasks" + }, + "@odata.id": "/redfish/v1/TaskService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/explorer_config.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/explorer_config.json new file mode 100644 index 00000000..f780bfea --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/explorer_config.json @@ -0,0 +1,100 @@ +{ + "name": "Bladed System", + "description": "This example represents an enclosure of \"blade servers\" that share infrastructure components, such as power supplies and fans. Depicting an enclosure containing four blade servers (a total of five \"Chassis\"), this mockup demonstrates the modeling of multiple chassis and systems managed from a single Redfish service.", + "navlinks": [ + { + "text": "Main", + "target": "main" + }, + { + "text": "Systems", + "target": "Systems", + "navlinks": [ + { + "text": "529QB9450R6", + "target": "529QB9450R6" + }, + { + "text": "529QB9451R6", + "target": "529QB9451R6" + }, + { + "text": "529QB9452R6", + "target": "529QB9452R6" + }, + { + "text": "529QB9453R6", + "target": "529QB9453R6" + } + ] + }, + { + "text": "Chassis", + "target": "Chassis", + "navlinks": [ + { + "text": "Multi-blade Enclosure", + "target": "MultiBladeEncl" + }, + { + "text": "Blade 1", + "target": "Blade1" + }, + { + "text": "Blade 2", + "target": "Blade2" + }, + { + "text": "Blade 3", + "target": "Blade3" + }, + { + "text": "Blade 4", + "target": "Blade4" + } + ] + }, + { + "text": "Managers", + "target": "Managers", + "navlinks": [ + { + "text": "Multi-blade Manager", + "target": "MultiBladeBMC" + }, + { + "text": "Blade 1 Manager", + "target": "Blade1BMC" + }, + { + "text": "Blade 2 Manager", + "target": "Blade2BMC" + }, + { + "text": "Blade 3 Manager", + "target": "Blade3BMC" + }, + { + "text": "Blade 4 Manager", + "target": "Blade4BMC" + } + ] + }, + { + "text": "Task Service", + "target": "TaskService" + }, + { + "text": "Session Service", + "target": "SessionService" + }, + { + "target": "AccountService", + "text": "Account Service" + }, + { + "target": "EventService", + "text": "Event Service" + } + ] +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/index.json new file mode 100644 index 00000000..78fd5d5c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#ServiceRoot.v1_22_0.ServiceRoot", + "Id": "RootService", + "Name": "Root Service", + "RedfishVersion": "1.15.0", + "UUID": "85775665-c110-4b85-8989-e6162170b3ec", + "ProtocolFeaturesSupported": { + "ExpandQuery": { + "ExpandAll": true, + "Levels": true, + "MaxLevels": 6, + "Links": true, + "NoLinks": true + }, + "SelectQuery": false, + "FilterQuery": false, + "OnlyMemberQuery": true, + "ExcerptQuery": true + }, + "Systems": { + "@odata.id": "/redfish/v1/Systems" + }, + "Chassis": { + "@odata.id": "/redfish/v1/Chassis" + }, + "Managers": { + "@odata.id": "/redfish/v1/Managers" + }, + "Tasks": { + "@odata.id": "/redfish/v1/TaskService" + }, + "SessionService": { + "@odata.id": "/redfish/v1/SessionService" + }, + "AccountService": { + "@odata.id": "/redfish/v1/AccountService" + }, + "EventService": { + "@odata.id": "/redfish/v1/EventService" + }, + "Links": { + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + } + }, + "@odata.id": "/redfish/v1/", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-bladed/odata/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/odata/index.json new file mode 100644 index 00000000..62b6710c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-bladed/odata/index.json @@ -0,0 +1,51 @@ +{ + "@odata.context": "/redfish/v1/$metadata", + "value": [ + { + "name": "Service", + "kind": "Singleton", + "url": "/redfish/v1/" + }, + { + "name": "Systems", + "kind": "Singleton", + "url": "/redfish/v1/Systems" + }, + { + "name": "Chassis", + "kind": "Singleton", + "url": "/redfish/v1/Chassis" + }, + { + "name": "Managers", + "kind": "Singleton", + "url": "/redfish/v1/Managers" + }, + { + "name": "Tasks", + "kind": "Singleton", + "url": "/redfish/v1/TaskService" + }, + { + "name": "AccountService", + "kind": "Singleton", + "url": "/redfish/v1/AccountService" + }, + { + "name": "SessionService", + "kind": "Singleton", + "url": "/redfish/v1/SessionService" + }, + { + "name": "EventService", + "kind": "Singleton", + "url": "/redfish/v1/EventService" + }, + { + "name": "Sessions", + "kind": "Singleton", + "url": "/redfish/v1/SessionService/Sessions" + } + ], + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cables/$metadata/index.xml b/test_dependencies/mockups/DSP2043_2026.2/public-cables/$metadata/index.xml new file mode 100644 index 00000000..eb785adf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cables/$metadata/index.xml @@ -0,0 +1,244 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cables/Cables/fan0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Cables/fan0/index.json new file mode 100644 index 00000000..aa710a5d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Cables/fan0/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Cable.v1_3_0.Cable", + "Id": "fan0", + "Name": "FAN0 Cable", + "UserDescription": "Fan Cable", + "UpstreamName": "FAN0", + "DownstreamName": "FAN0", + "CableType": "Fan", + "LengthMeters": 0.1, + "CableClass": "Fan", + "UpstreamConnectorTypes": [ + "Proprietary" + ], + "DownstreamConnectorTypes": [ + "Proprietary" + ], + "Links": { + "UpstreamChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/chassis" + } + ] + }, + "PartNumber": "F2038AZ", + "Manufacturer": "FanCo", + "SerialNumber": "2345789", + "Vendor": "Cablestore", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CableStatus": "Normal", + "@odata.id": "/redfish/v1/Cables/fan0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cables/Cables/hdmi_dp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Cables/hdmi_dp/index.json new file mode 100644 index 00000000..78b956a3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Cables/hdmi_dp/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Cable.v1_3_0.Cable", + "Id": "hdmi_dp", + "Name": "HDMI to DP Cable", + "UserDescription": "HDMI to DisplayPort Cable", + "UpstreamName": "HDMI0", + "DownstreamName": "Video Out", + "CableType": "HDMI", + "LengthMeters": 0.1, + "CableClass": "Video", + "UpstreamConnectorTypes": [ + "HDMI" + ], + "DownstreamConnectorTypes": [ + "DisplayPort" + ], + "Links": { + "UpstreamChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/bmc" + } + ] + }, + "PartNumber": "934AMS02X", + "Manufacturer": "Cable Co.", + "SerialNumber": "2345791", + "Vendor": "Cablestore", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CableStatus": "Normal", + "@odata.id": "/redfish/v1/Cables/hdmi_dp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cables/Cables/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Cables/index.json new file mode 100644 index 00000000..b7a49303 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Cables/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#CableCollection.CableCollection", + "Name": "Cable Collection", + "Members@odata.count": 5, + "Members": [ + { + "@odata.id": "/redfish/v1/Cables/fan0" + }, + { + "@odata.id": "/redfish/v1/Cables/hdmi_dp" + }, + { + "@odata.id": "/redfish/v1/Cables/pcie0" + }, + { + "@odata.id": "/redfish/v1/Cables/power0" + }, + { + "@odata.id": "/redfish/v1/Cables/sata0" + } + ], + "@odata.id": "/redfish/v1/Cables", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cables/Cables/pcie0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Cables/pcie0/index.json new file mode 100644 index 00000000..8c77ddc2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Cables/pcie0/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Cable.v1_3_0.Cable", + "Id": "pcie0", + "Name": "PCIe0 Cable", + "UserDescription": "PCIe SlimSAS Cable", + "UpstreamName": "Slot 0", + "DownstreamName": "Upstream Slot", + "CableType": "PCIe", + "LengthMeters": 0.05, + "CableClass": "PCIe", + "UpstreamConnectorTypes": [ + "PCIe" + ], + "DownstreamConnectorTypes": [ + "PCIe" + ], + "Links": { + "UpstreamResources": [ + { + "@odata.id": "/redfish/v1/Chassis/hsbp/PCIeSlots" + } + ], + "DownstreamResources": [ + { + "@odata.id": "/redfish/v1/Chassis/chassis/PCIeSlots" + } + ] + }, + "PartNumber": "F2038AZ", + "Manufacturer": "Express PCIe Manufacturers Express", + "SerialNumber": "2345789", + "Vendor": "Cablestore", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CableStatus": "Normal", + "@odata.id": "/redfish/v1/Cables/pcie0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cables/Cables/power0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Cables/power0/index.json new file mode 100644 index 00000000..1c701557 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Cables/power0/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Cable.v1_3_0.Cable", + "Id": "power0", + "Name": "Main Power Cable", + "UserDescription": "Power Cable", + "UpstreamName": "POWER", + "DownstreamName": "Outlet", + "CableType": "Power", + "LengthMeters": 0.5, + "CableClass": "Power", + "UpstreamConnectorTypes": [ + "DCPower" + ], + "DownstreamConnectorTypes": [ + "DCPower" + ], + "Links": { + "UpstreamChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/chassis" + } + ] + }, + "PartNumber": "60320", + "Manufacturer": "Cables Inc.", + "SerialNumber": "123456", + "Vendor": "Cablestore", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CableStatus": "Normal", + "@odata.id": "/redfish/v1/Cables/power0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cables/Cables/sata0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Cables/sata0/index.json new file mode 100644 index 00000000..b8f7b67f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Cables/sata0/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Cable.v1_3_0.Cable", + "Id": "sata0", + "Name": "SATA0 Cable", + "UserDescription": "SATA Cable", + "UpstreamName": "SATA0", + "DownstreamName": "hda0", + "CableType": "SATA", + "CableClass": "Storage", + "UpstreamConnectorTypes": [ + "SATA" + ], + "LengthMeters": 0.05, + "DownstreamConnectorTypes": [ + "SATA" + ], + "Links": { + "UpstreamPorts": [ + { + "@odata.id": "/redfish/v1/Systems/system/Storage/1/Controllers/1/Ports/1" + } + ], + "DownstreamResources": [ + { + "@odata.id": "/redfish/v1/Systems/system/Storage/1/Controllers/1/Ports/1" + } + ] + }, + "PartNumber": "EZS2JM", + "Manufacturer": "Satasaurus Co.", + "SerialNumber": "123456", + "Vendor": "Cablestore", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CableStatus": "Normal", + "@odata.id": "/redfish/v1/Cables/sata0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cables/Chassis/bmc/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Chassis/bmc/index.json new file mode 100644 index 00000000..d8e7dbd4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Chassis/bmc/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "ChassisType": "RackMount", + "Id": "bmc", + "Name": "Board Management Controller", + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/system" + } + ] + }, + "PartNumber": "1234567-89", + "SerialNumber": "SER1234SER12345", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "StandbyOffline" + }, + "@odata.id": "/redfish/v1/Chassis/bmc", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cables/Chassis/chassis/PCIeSlots/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Chassis/chassis/PCIeSlots/index.json new file mode 100644 index 00000000..5b7385f7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Chassis/chassis/PCIeSlots/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#PCIeSlots.v1_6_1.PCIeSlots", + "Id": "1", + "Name": "PCIe Slot Information", + "Slots": [ + { + "PCIeType": "Gen4", + "Location": { + "PartLocation": { + "ServiceLabel": "Slot 0" + } + } + }, + { + "PCIeType": "Gen4", + "Location": { + "PartLocation": { + "ServiceLabel": "Slot 1" + } + } + }, + { + "PCIeType": "Gen4", + "Location": { + "PartLocation": { + "ServiceLabel": "Slot 2" + } + } + } + ], + "@odata.id": "/redfish/v1/Chassis/chassis/PCIeSlots", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cables/Chassis/chassis/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Chassis/chassis/index.json new file mode 100644 index 00000000..e2929767 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Chassis/chassis/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "ChassisType": "RackMount", + "Id": "chassis", + "Name": "Motherboard", + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/system" + } + ] + }, + "PowerState": "Off", + "Status": { + "State": "StandbyOffline" + }, + "PCIeSlots": { + "@odata.id": "/redfish/v1/Chassis/chassis/PCIeSlots" + }, + "@odata.id": "/redfish/v1/Chassis/chassis", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cables/Chassis/hsbp/Drives/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Chassis/hsbp/Drives/1/index.json new file mode 100644 index 00000000..70303a62 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Chassis/hsbp/Drives/1/index.json @@ -0,0 +1,8 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "1", + "Name": "Drive Sample SATA", + "Protocol": "SATA", + "@odata.id": "/redfish/v1/Chassis/hsbp/Drives/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cables/Chassis/hsbp/Drives/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Chassis/hsbp/Drives/index.json new file mode 100644 index 00000000..3a5ad865 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Chassis/hsbp/Drives/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#DriveCollection.DriveCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/hsbp/Drives/1" + } + ], + "Members@odata.count": 1, + "Name": "Drive Collection", + "@odata.id": "/redfish/v1/Chassis/hsbp/Drives", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cables/Chassis/hsbp/PCIeSlots/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Chassis/hsbp/PCIeSlots/index.json new file mode 100644 index 00000000..edb7c1a2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Chassis/hsbp/PCIeSlots/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#PCIeSlots.v1_6_1.PCIeSlots", + "Id": "1", + "Name": "PCIe Slot Information", + "Slots": [ + { + "PCIeType": "Gen4", + "Location": { + "PartLocation": { + "ServiceLabel": "Upstream Slot" + } + } + } + ], + "@odata.id": "/redfish/v1/Chassis/hsbp/PCIeSlots", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cables/Chassis/hsbp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Chassis/hsbp/index.json new file mode 100644 index 00000000..8462404a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Chassis/hsbp/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "ChassisType": "RackMount", + "Id": "hsbp", + "Name": "High-speed Backplane", + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/system" + } + ] + }, + "Manufacturer": "Oogle", + "Model": "", + "PartNumber": "9876543-21", + "PowerState": "Off", + "SerialNumber": "SERIAL098765432", + "Drives": { + "@odata.id": "/redfish/v1/Chassis/hsbp/Drives" + }, + "PCIeSlots": { + "@odata.id": "/redfish/v1/Chassis/hsbp/PCIeSlots" + }, + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "StandbyOffline" + }, + "@odata.id": "/redfish/v1/Chassis/hsbp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cables/Chassis/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Chassis/index.json new file mode 100644 index 00000000..2da07f74 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Chassis/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#ChassisCollection.ChassisCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/chassis" + }, + { + "@odata.id": "/redfish/v1/Chassis/bmc" + }, + { + "@odata.id": "/redfish/v1/Chassis/hsbp" + } + ], + "Members@odata.count": 3, + "Name": "Chassis Collection", + "@odata.id": "/redfish/v1/Chassis", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cables/SessionService/Sessions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cables/SessionService/Sessions/index.json new file mode 100644 index 00000000..1af4b321 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cables/SessionService/Sessions/index.json @@ -0,0 +1,8 @@ +{ + "@odata.type": "#SessionCollection.SessionCollection", + "Name": "Session Collection", + "Members@odata.count": 0, + "Members": [], + "@odata.id": "/redfish/v1/SessionService/Sessions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cables/SessionService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cables/SessionService/index.json new file mode 100644 index 00000000..27d658ea --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cables/SessionService/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#SessionService.v1_2_0.SessionService", + "Id": "SessionService", + "Name": "Session Service", + "Description": "Session Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "SessionTimeout": 30, + "AbsoluteSessionTimeout": 3600, + "AbsoluteSessionTimeoutEnabled": true, + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + }, + "@odata.id": "/redfish/v1/SessionService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cables/Systems/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Systems/index.json new file mode 100644 index 00000000..4b8b3c69 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Systems/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ComputerSystemCollection.ComputerSystemCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/system" + } + ], + "Members@odata.count": 1, + "Name": "Computer System Collection", + "@odata.id": "/redfish/v1/Systems", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cables/Systems/system/Storage/1/Controllers/1/Ports/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Systems/system/Storage/1/Controllers/1/Ports/1/index.json new file mode 100644 index 00000000..77d88dbc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Systems/system/Storage/1/Controllers/1/Ports/1/index.json @@ -0,0 +1,8 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "1", + "Name": "SATA Port", + "PortProtocol": "SATA", + "@odata.id": "/redfish/v1/Systems/system/Storage/1/Controllers/1/Ports/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cables/Systems/system/Storage/1/Controllers/1/Ports/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Systems/system/Storage/1/Controllers/1/Ports/index.json new file mode 100644 index 00000000..df8043ba --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Systems/system/Storage/1/Controllers/1/Ports/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "Cable Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/system/Storage/1/Controllers/1/Ports/1" + } + ], + "@odata.id": "/redfish/v1/Systems/system/Storage/1/Controllers/1/Ports", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cables/Systems/system/Storage/1/Controllers/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Systems/system/Storage/1/Controllers/1/index.json new file mode 100644 index 00000000..c54204ea --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Systems/system/Storage/1/Controllers/1/index.json @@ -0,0 +1,8 @@ +{ + "@odata.type": "#StorageController.v1_12_0.StorageController", + "Ports": { + "@odata.id": "/redfish/v1/Systems/system/Storage/1/Controllers/1/Ports" + }, + "@odata.id": "/redfish/v1/Systems/system/Storage/1/Controllers/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cables/Systems/system/Storage/1/Controllers/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Systems/system/Storage/1/Controllers/index.json new file mode 100644 index 00000000..24bbb8a7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Systems/system/Storage/1/Controllers/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#StorageControllerCollection.StorageControllerCollection", + "Name": "Storage Controller Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/system/Storage/1/Controllers/1" + } + ], + "@odata.id": "/redfish/v1/Systems/system/Storage/1/Controllers", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cables/Systems/system/Storage/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Systems/system/Storage/1/index.json new file mode 100644 index 00000000..8c66b201 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Systems/system/Storage/1/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Drives": [], + "Id": "1", + "Name": "Storage", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "@odata.id": "/redfish/v1/Systems/system/Storage/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cables/Systems/system/Storage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Systems/system/Storage/index.json new file mode 100644 index 00000000..13d67b61 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Systems/system/Storage/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#StorageCollection.StorageCollection", + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/system/Storage/1" + } + ], + "Members@odata.count": 1, + "Name": "Storage Collection", + "@odata.id": "/redfish/v1/Systems/system/Storage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cables/Systems/system/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Systems/system/index.json new file mode 100644 index 00000000..251a1b18 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cables/Systems/system/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Description": "Computer System", + "Id": "system", + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/chassis" + } + ] + }, + "Name": "Computer System", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Disabled" + }, + "Storage": { + "@odata.id": "/redfish/v1/Systems/system/Storage" + }, + "SystemType": "Physical", + "@odata.id": "/redfish/v1/Systems/system", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cables/explorer_config.json b/test_dependencies/mockups/DSP2043_2026.2/public-cables/explorer_config.json new file mode 100644 index 00000000..dc179b59 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cables/explorer_config.json @@ -0,0 +1,64 @@ +{ + "name": "Cables", + "description": "This example shows an implementation that contains a set of cables and shows their connectivity to other components in the service.", + "navlinks": [ + { + "text": "Main", + "target": "main" + }, + { + "text": "Cables", + "target": "Cables", + "navlinks": [ + { + "text": "fan0", + "target": "fan0" + }, + { + "text": "hdmi_dp", + "target": "hdmi_dp" + }, + { + "text": "pcie0", + "target": "pcie0" + }, + { + "text": "power0", + "target": "power0" + }, + { + "text": "sata0", + "target": "sata0" + } + ] + }, + { + "text": "Systems", + "target": "Systems", + "navlinks": [ + { + "text": "system", + "target": "system" + } + ] + }, + { + "text": "Chassis", + "target": "Chassis", + "navlinks": [ + { + "text": "bmc", + "target": "bmc" + }, + { + "text": "chassis", + "target": "chassis" + }, + { + "text": "hsbp", + "target": "hsbp" + } + ] + } + ] +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cables/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cables/index.json new file mode 100644 index 00000000..eaaf95f0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cables/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#ServiceRoot.v1_22_0.ServiceRoot", + "Cables": { + "@odata.id": "/redfish/v1/Cables" + }, + "Chassis": { + "@odata.id": "/redfish/v1/Chassis" + }, + "Id": "RootService", + "Name": "Root Service", + "RedfishVersion": "1.15.0", + "Systems": { + "@odata.id": "/redfish/v1/Systems" + }, + "SessionService": { + "@odata.id": "/redfish/v1/SessionService" + }, + "Links": { + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + } + }, + "@odata.id": "/redfish/v1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cables/odata/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cables/odata/index.json new file mode 100644 index 00000000..dcc48299 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cables/odata/index.json @@ -0,0 +1,26 @@ +{ + "@odata.context": "/redfish/v1/$metadata", + "value": [ + { + "name": "Service", + "kind": "Singleton", + "url": "/redfish/v1/" + }, + { + "name": "Systems", + "kind": "Singleton", + "url": "/redfish/v1/Systems" + }, + { + "name": "Chassis", + "kind": "Singleton", + "url": "/redfish/v1/Chassis" + }, + { + "name": "Cables", + "kind": "Singleton", + "url": "/redfish/v1/Cables" + } + ], + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-catfish/$metadata/index.xml b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/$metadata/index.xml new file mode 100644 index 00000000..0e4682ac --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/$metadata/index.xml @@ -0,0 +1,112 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-catfish/AccountService/Accounts/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/AccountService/Accounts/index.json new file mode 100644 index 00000000..55055810 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/AccountService/Accounts/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#ManagerAccountCollection.ManagerAccountCollection", + "Name": "Accounts Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Accounts/root" + }, + { + "@odata.id": "/redfish/v1/AccountService/Accounts/jane" + }, + { + "@odata.id": "/redfish/v1/AccountService/Accounts/john" + } + ], + "@odata.id": "/redfish/v1/AccountService/Accounts", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-catfish/AccountService/Accounts/jane/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/AccountService/Accounts/jane/index.json new file mode 100644 index 00000000..51abddec --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/AccountService/Accounts/jane/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#ManagerAccount.v1_14_2.ManagerAccount", + "Id": "jane", + "Name": "UserAccount", + "Description": "User Account", + "Enabled": true, + "Password": null, + "PasswordChangeRequired": false, + "AccountTypes": [ + "Redfish" + ], + "UserName": "jane", + "RoleId": "Operator", + "Locked": false, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/Operator" + } + }, + "@odata.id": "/redfish/v1/AccountService/Accounts/jane", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-catfish/AccountService/Accounts/john/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/AccountService/Accounts/john/index.json new file mode 100644 index 00000000..f2e38d33 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/AccountService/Accounts/john/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#ManagerAccount.v1_14_2.ManagerAccount", + "Id": "john", + "Name": "UserAccount", + "Description": "User Account", + "Enabled": true, + "Password": null, + "PasswordChangeRequired": false, + "AccountTypes": [ + "Redfish" + ], + "UserName": "john", + "RoleId": "ReadOnly", + "Locked": false, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly" + } + }, + "@odata.id": "/redfish/v1/AccountService/Accounts/john", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-catfish/AccountService/Accounts/root/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/AccountService/Accounts/root/index.json new file mode 100644 index 00000000..50592c53 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/AccountService/Accounts/root/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#ManagerAccount.v1_14_2.ManagerAccount", + "Id": "root", + "Name": "UserAccount", + "Description": "User Account", + "Enabled": true, + "Password": null, + "PasswordChangeRequired": false, + "AccountTypes": [ + "Redfish" + ], + "UserName": "root", + "RoleId": "Administrator", + "Locked": false, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + } + }, + "@odata.id": "/redfish/v1/AccountService/Accounts/root", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-catfish/AccountService/Roles/Administrator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/AccountService/Roles/Administrator/index.json new file mode 100644 index 00000000..5c48e1da --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/AccountService/Roles/Administrator/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Administrator", + "Name": "User Role", + "Description": "Admin User Role", + "RoleId": "Administrator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureManager", + "ConfigureUsers", + "ConfigureSelf", + "ConfigureComponents" + ], + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-catfish/AccountService/Roles/Operator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/AccountService/Roles/Operator/index.json new file mode 100644 index 00000000..d7b57c29 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/AccountService/Roles/Operator/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Operator", + "Name": "User Role", + "Description": "Operator User Role", + "RoleId": "Operator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf", + "ConfigureComponents" + ], + "@odata.id": "/redfish/v1/AccountService/Roles/Operator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-catfish/AccountService/Roles/ReadOnly/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/AccountService/Roles/ReadOnly/index.json new file mode 100644 index 00000000..8528fda0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/AccountService/Roles/ReadOnly/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "ReadOnly", + "Name": "User Role", + "Description": "ReadOnly User Role", + "RoleId": "ReadOnly", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf" + ], + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-catfish/AccountService/Roles/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/AccountService/Roles/index.json new file mode 100644 index 00000000..ba9ee112 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/AccountService/Roles/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#RoleCollection.RoleCollection", + "Name": "Roles Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/Operator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly" + } + ], + "@odata.id": "/redfish/v1/AccountService/Roles", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-catfish/AccountService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/AccountService/index.json new file mode 100644 index 00000000..eb627494 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/AccountService/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#AccountService.v1_19_0.AccountService", + "Id": "AccountService", + "Name": "Account Service", + "Description": "Account Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "AuthFailureLoggingThreshold": 3, + "MinPasswordLength": 8, + "AccountLockoutThreshold": 5, + "AccountLockoutDuration": 30, + "AccountLockoutCounterResetAfter": 30, + "AccountLockoutCounterResetEnabled": true, + "Accounts": { + "@odata.id": "/redfish/v1/AccountService/Accounts" + }, + "Roles": { + "@odata.id": "/redfish/v1/AccountService/Roles" + }, + "@odata.id": "/redfish/v1/AccountService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Chassis/1/Power/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Chassis/1/Power/index.json new file mode 100644 index 00000000..09dd19f5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Chassis/1/Power/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Power.v1_7_3.Power", + "Id": "Power", + "Name": "Power", + "PowerControl": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Power#/PowerControl/0", + "MemberId": "0", + "Name": "System Power Control", + "PowerConsumedWatts": 224, + "PowerCapacityWatts": 600, + "PowerLimit": { + "LimitInWatts": 450, + "LimitException": "LogEventOnly", + "CorrectionInMs": 1000 + }, + "Status": { + "State": "Enabled", + "Health": "OK" + } + } + ], + "@odata.id": "/redfish/v1/Chassis/1/Power", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Chassis/1/Thermal/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Chassis/1/Thermal/index.json new file mode 100644 index 00000000..06c1172d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Chassis/1/Thermal/index.json @@ -0,0 +1,149 @@ +{ + "@odata.type": "#Thermal.v1_7_3.Thermal", + "Id": "Thermal", + "Name": "Thermal", + "Temperatures": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Temperatures/0", + "MemberId": "0", + "Name": "Inlet Temp", + "SensorNumber": 42, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 25, + "UpperThresholdNonCritical": 35, + "UpperThresholdCritical": 40, + "UpperThresholdFatal": 50, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 200, + "PhysicalContext": "Intake" + }, + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Temperatures/1", + "MemberId": "1", + "Name": "Board Temp", + "SensorNumber": 43, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 35, + "UpperThresholdNonCritical": 30, + "UpperThresholdCritical": 40, + "UpperThresholdFatal": 50, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 200, + "PhysicalContext": "SystemBoard" + }, + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Temperatures/2", + "MemberId": "2", + "Name": "CPU1 Temp", + "SensorNumber": 44, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 45, + "UpperThresholdNonCritical": 60, + "UpperThresholdCritical": 82, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 200, + "PhysicalContext": "CPU" + }, + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Temperatures/3", + "MemberId": "3", + "Name": "CPU2 Temp", + "SensorNumber": 45, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 46, + "UpperThresholdNonCritical": 60, + "UpperThresholdCritical": 82, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 200, + "PhysicalContext": "CPU" + } + ], + "Fans": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Fans/0", + "MemberId": "0", + "Name": "BaseBoard System Fan 1", + "PhysicalContext": "Backplane", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2100, + "ReadingUnits": "RPM", + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 4200, + "UpperThresholdFatal": 42, + "LowerThresholdNonCritical": 42, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 42, + "MinReadingRange": 0, + "MaxReadingRange": 5000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Redundancy/0" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Fans/1", + "MemberId": "1", + "Name": "BaseBoard System Fan 2", + "PhysicalContext": "Backplane", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2100, + "ReadingUnits": "RPM", + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 4200, + "UpperThresholdFatal": 42, + "LowerThresholdNonCritical": 42, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 42, + "MinReadingRange": 0, + "MaxReadingRange": 5000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Redundancy/0" + } + ] + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Redundancy/0", + "MemberId": "0", + "Name": "BaseBoard System Fans", + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Fans/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Fans/1" + } + ], + "Mode": "N+m", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MinNumNeeded": 1, + "MaxNumSupported": 2 + } + ], + "@odata.id": "/redfish/v1/Chassis/1/Thermal", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Chassis/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Chassis/1/index.json new file mode 100644 index 00000000..6a284b5b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Chassis/1/index.json @@ -0,0 +1,43 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "1", + "Name": "Catfish System Chassis", + "ChassisType": "RackMount", + "Manufacturer": "CatfishManufacturer", + "Model": "YellowCat1000", + "SerialNumber": "2M220100SL", + "SKU": "", + "PartNumber": "", + "AssetTag": "CATFISHASSETTAG", + "IndicatorLED": "Lit", + "PowerState": "On", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/1/Thermal" + }, + "Power": { + "@odata.id": "/redfish/v1/Chassis/1/Power" + }, + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/1" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/bmc" + } + ], + "ManagersInChassis": [ + { + "@odata.id": "/redfish/v1/Managers/bmc" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Chassis/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Chassis/index.json new file mode 100644 index 00000000..18a3db05 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Chassis/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ChassisCollection.ChassisCollection", + "Name": "Chassis Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1" + } + ], + "@odata.id": "/redfish/v1/Chassis", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Managers/bmc/EthernetInterfaces/eth0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Managers/bmc/EthernetInterfaces/eth0/index.json new file mode 100644 index 00000000..7e8bd4c4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Managers/bmc/EthernetInterfaces/eth0/index.json @@ -0,0 +1,56 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "eth0", + "Name": "Manager Ethernet Interface", + "Description": "Management Network Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "AA:BB:CC:DD:EE:FF", + "MACAddress": "AA:BB:CC:DD:EE:FF", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "MyHostName", + "FQDN": "MyHostName.MyDomainName.com", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.0.1" + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred" + } + ], + "@odata.id": "/redfish/v1/Managers/bmc/EthernetInterfaces/eth0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Managers/bmc/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Managers/bmc/EthernetInterfaces/index.json new file mode 100644 index 00000000..448f3a23 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Managers/bmc/EthernetInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Network Interface Collection", + "Description": "Collection of EthernetInterfaces for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/bmc/EthernetInterfaces/eth0" + } + ], + "@odata.id": "/redfish/v1/Managers/bmc/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Managers/bmc/NetworkProtocol/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Managers/bmc/NetworkProtocol/index.json new file mode 100644 index 00000000..e5cd9b61 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Managers/bmc/NetworkProtocol/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#ManagerNetworkProtocol.v1_14_0.ManagerNetworkProtocol", + "Id": "NetworkProtocol", + "Name": "Manager Network Protocol", + "Description": "Manager Network Service Status", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "HostName": "myBmcHostname", + "FQDN": "mymanager.mydomain.com", + "HTTP": { + "ProtocolEnabled": true, + "Port": 80 + }, + "HTTPS": { + "ProtocolEnabled": true, + "Port": 443 + }, + "IPMI": { + "ProtocolEnabled": true, + "Port": 623 + }, + "SSH": { + "ProtocolEnabled": true, + "Port": 22 + }, + "SNMP": { + "ProtocolEnabled": true, + "Port": 161 + }, + "SSDP": { + "ProtocolEnabled": true, + "Port": 1900, + "NotifyMulticastIntervalSeconds": 600, + "NotifyTTL": 5, + "NotifyIPv6Scope": "Site" + }, + "Telnet": { + "ProtocolEnabled": true, + "Port": 23 + }, + "@odata.id": "/redfish/v1/Managers/bmc/NetworkProtocol", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Managers/bmc/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Managers/bmc/index.json new file mode 100644 index 00000000..a073ab5f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Managers/bmc/index.json @@ -0,0 +1,49 @@ +{ + "@odata.type": "#Manager.v1_25_0.Manager", + "Id": "bmc", + "Name": "Manager", + "ManagerType": "BMC", + "Description": "BMC", + "ServiceEntryPointUUID": "92384634-2938-2342-8820-489239905423", + "UUID": "00000000-0000-0000-0000-000000000000", + "Model": "CatfishBMC", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "FirmwareVersion": "1.00", + "NetworkProtocol": { + "@odata.id": "/redfish/v1/Managers/bmc/NetworkProtocol" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/bmc/EthernetInterfaces" + }, + "Links": { + "ManagerForServers": [ + { + "@odata.id": "/redfish/v1/Systems/1" + } + ], + "ManagerForChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/1" + } + ], + "ManagerInChassis": { + "@odata.id": "/redfish/v1/Chassis/1" + } + }, + "Actions": { + "#Manager.Reset": { + "target": "/redfish/v1/Managers/bmc/Actions/Manager.Reset", + "ResetType@Redfish.AllowableValues": [ + "ForceRestart", + "GracefulRestart" + ] + } + }, + "@odata.id": "/redfish/v1/Managers/bmc", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Managers/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Managers/index.json new file mode 100644 index 00000000..21595bb5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Managers/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerCollection.ManagerCollection", + "Name": "Manager Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/bmc" + } + ], + "@odata.id": "/redfish/v1/Managers", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-catfish/README.md b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/README.md new file mode 100644 index 00000000..8352c25a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/README.md @@ -0,0 +1,39 @@ +--- +DocTitle: Catfish Mockup +--- +# Catfish Mockup: + * A simple, minimal Redfish Service + * For a monolithic Server + * Aligned with: OCP Remote Machine Management Spec feature set + + +# Top Level Description: + * A Monolithic server: + * One ComputerSystem + * One Chassis + * One Manager + --Provides basic management features aligned with OCP Remote Machine Management Spec 1.01: + * Power-on/off/reset + * Boot to PXE, HDD, BIOS setup (boot override) + * 4 temp sensors per DCMI (CPU1, CPU2, Board, Inlet) + * Simple Power Reading, and DCMI Power Limiting + * Fan Monitoring w/ redundancy + * Set asset tag and Indicator LED + * Basic inventory (serial number, model, SKU, Vendor, BIOS version) + * User Management + * BMC management: get/set IP, version, enable/disable protocol + +# What it does NOT have -- that the Redfish 1.0 model supports + * No PSUs in model (RMM spec did not include PSUs) + * No ProcessorInfo, MemoryInfo, StorageInfo, System-EthernetInterfaceInfo + * No Tasks + * JsonSchema and Registries collections left out (since that is optional) + * No EventService + * Remote Machine Management spec used basic PET alerts + + +# Discussion + * Opportunity to define some Redfish ‘Integration Recipe’ that specify + * What APIs and properties are supported / required + * How to capture + diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-catfish/README.txt b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/README.txt new file mode 100644 index 00000000..0d58da4c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/README.txt @@ -0,0 +1,38 @@ + +Catfish Mockup: + -- A simple, minimal Redfish Service + -- For a monolythic Server + -- Aligned with: OCP Remote Machine Management Spec feature set + + +Top Level Description: + --A Monolithic server: + --One ComputerSystem + --One Chassis + --One Manager + --Provides basic management features aligned with OCP Remote Machine Management Spec 1.01: + --Power-on/off/reset + --Boot to PXE, HDD, BIOS setup (boot override) + --4 temp sensors per DCMI (CPU1, CPU2, Board, Inlet) + --Simple Power Reading, and DCMI Power Limiting + --Fan Monitoring w/ redundancy + --Set asset tag and Indicator LED + --Basic inventory (serial number, model, SKU, Vendor, BIOS version) + --User Management + --BMC management: get/set IP, version, enable/disable protocol + +What it does NOT have -- that the Redfish 1.0 model supports + --No PSUs in model (RMM spec did not include PSUs) + --No ProcessorInfo, MemoryInfo, StorageInfo, System-EthernetInterfaceInfo + --No Tasks + --JsonSchema and Registries collections left out (since that is optional) + --No EventService + --Remote Machine Management spec used basic PET alerts + + +Discussion + --Opportunity to define some Redfish ‘API Profiles’ that specify + --What APIs and properties are supported / required + --Min and Max issue + --How to capture + diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-catfish/SessionService/Sessions/1234567890ABCDEF/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/SessionService/Sessions/1234567890ABCDEF/index.json new file mode 100644 index 00000000..be6569e7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/SessionService/Sessions/1234567890ABCDEF/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#Session.v1_9_0.Session", + "Id": "1234567890ABCDEF", + "Name": "User Session", + "Description": "Manager User Session", + "UserName": "root", + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-catfish/SessionService/Sessions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/SessionService/Sessions/index.json new file mode 100644 index 00000000..8d8cdf58 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/SessionService/Sessions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SessionCollection.SessionCollection", + "Name": "Session Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF" + } + ], + "@odata.id": "/redfish/v1/SessionService/Sessions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-catfish/SessionService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/SessionService/index.json new file mode 100644 index 00000000..62a05690 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/SessionService/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#SessionService.v1_2_0.SessionService", + "Id": "SessionService", + "Name": "Session Service", + "Description": "Session Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "SessionTimeout": 30, + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + }, + "@odata.id": "/redfish/v1/SessionService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Systems/1/LogServices/SEL/Entries/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Systems/1/LogServices/SEL/Entries/1/index.json new file mode 100644 index 00000000..dadc3bdc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Systems/1/LogServices/SEL/Entries/1/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "SEL", + "Severity": "Critical", + "Created": "2012-03-07T14:44:00Z", + "EntryCode": "Upper Critical - going high", + "SensorType": "Temperature", + "SensorNumber": 1, + "Message": "Temperature threshold exceeded", + "MessageId": "0x592A28", + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1/Thermal" + } + }, + "@odata.id": "/redfish/v1/Systems/1/LogServices/SEL/Entries/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Systems/1/LogServices/SEL/Entries/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Systems/1/LogServices/SEL/Entries/2/index.json new file mode 100644 index 00000000..60b6fb73 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Systems/1/LogServices/SEL/Entries/2/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "2", + "Name": "Log Entry 2", + "EntryType": "SEL", + "Severity": "Critical", + "Created": "2012-03-07T14:45:00Z", + "EntryCode": "Upper Critical - going high", + "SensorType": "Temperature", + "SensorNumber": 2, + "Message": "Temperature threshold exceeded", + "MessageId": "0x592E28", + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1/Thermal" + } + }, + "@odata.id": "/redfish/v1/Systems/1/LogServices/SEL/Entries/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Systems/1/LogServices/SEL/Entries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Systems/1/LogServices/SEL/Entries/index.json new file mode 100644 index 00000000..4a73fa74 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Systems/1/LogServices/SEL/Entries/index.json @@ -0,0 +1,49 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/1/LogServices/SEL/Entries/1", + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "SEL", + "Severity": "Critical", + "Created": "2012-03-07T14:44:00Z", + "EntryCode": "Upper Critical - going high", + "SensorType": "Temperature", + "SensorNumber": 1, + "Message": "Temperature threshold exceeded", + "MessageId": "0x592A28", + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1/Thermal" + } + } + }, + { + "@odata.id": "/redfish/v1/Systems/1/LogServices/SEL/Entries/2", + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "2", + "Name": "Log Entry 2", + "EntryType": "SEL", + "Severity": "Critical", + "Created": "2012-03-07T14:45:00Z", + "EntryCode": "Upper Critical - going high", + "SensorType": "Temperature", + "SensorNumber": 2, + "Message": "Temperature threshold exceeded", + "MessageId": "0x592E28", + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1/Thermal" + } + } + } + ], + "@odata.nextLink": "/redfish/v1/Systems/1/LogServices/SEL/Entries?$skiptoken=2", + "@odata.id": "/redfish/v1/Systems/1/LogServices/SEL/Entries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Systems/1/LogServices/SEL/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Systems/1/LogServices/SEL/index.json new file mode 100644 index 00000000..566587a3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Systems/1/LogServices/SEL/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#LogService.v1_9_0.LogService", + "Id": "SEL", + "Name": "System Log Service", + "MaxNumberOfRecords": 1000, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Systems/1/LogServices/SEL/Actions/LogService.ClearLog" + } + }, + "Entries": { + "@odata.id": "/redfish/v1/Systems/1/LogServices/SEL/Entries" + }, + "@odata.id": "/redfish/v1/Systems/1/LogServices/SEL", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Systems/1/LogServices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Systems/1/LogServices/index.json new file mode 100644 index 00000000..e5dbd951 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Systems/1/LogServices/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/1/LogServices/SEL" + } + ], + "@odata.id": "/redfish/v1/Systems/1/LogServices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Systems/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Systems/1/index.json new file mode 100644 index 00000000..ff9acae5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Systems/1/index.json @@ -0,0 +1,68 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "1", + "Name": "Catfish System", + "SystemType": "Physical", + "AssetTag": "CATFISHASSETTAG", + "Manufacturer": "CatfishManufacturer", + "Model": "YellowCat1000", + "SerialNumber": "2M220100SL", + "SKU": "", + "PartNumber": "", + "Description": "Catfish Implementation Recipe of simple scale-out monolithic server", + "UUID": "00000000-0000-0000-0000-000000000000", + "HostName": "catfishHostname", + "PowerState": "On", + "BiosVersion": "X00.1.2.3.4(build-23)", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "IndicatorLED": "Off", + "Boot": { + "BootSourceOverrideEnabled": "Once", + "BootSourceOverrideMode": "UEFI", + "UefiTargetBootSourceOverride": "uefiDevicePath", + "BootSourceOverrideTarget": "Pxe", + "BootSourceOverrideTarget@Redfish.AllowableValues": [ + "None", + "Pxe", + "Usb", + "Hdd", + "BiosSetup", + "UefiTarget", + "UefiHttp" + ] + }, + "LogServices": { + "@odata.id": "/redfish/v1/Systems/1/LogServices" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/1" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/bmc" + } + ] + }, + "Actions": { + "#ComputerSystem.Reset": { + "target": "/redfish/v1/Systems/1/Actions/ComputerSystem.Reset", + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "ForceRestart", + "Nmi", + "GracefulRestart", + "ForceOn" + ] + } + }, + "@odata.id": "/redfish/v1/Systems/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Systems/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Systems/index.json new file mode 100644 index 00000000..448c2e89 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/Systems/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ComputerSystemCollection.ComputerSystemCollection", + "Name": "Computer System Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/1" + } + ], + "@odata.id": "/redfish/v1/Systems", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-catfish/explorer_config.json b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/explorer_config.json new file mode 100644 index 00000000..b8c6330a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/explorer_config.json @@ -0,0 +1,48 @@ +{ + "name": "Proposed OCP Redfish Profile", + "description": "This draft example, for ongoing development, represents a proposed minimal Redfish data model \"profile\" that meets the needs of the Open Compute Project's Hardware Management requirements. This draft profile is intended to help define a list of required properties so that essential management-related tasks, as defined by OCP, can be performed on any Redfish implementation.", + "navlinks": [ + { + "text": "Main", + "target": "main" + }, + { + "text": "Systems", + "target": "Systems", + "navlinks": [ + { + "text": "1", + "target": "1" + } + ] + }, + { + "text": "Chassis", + "target": "Chassis", + "navlinks": [ + { + "text": "1", + "target": "1" + } + ] + }, + { + "text": "Managers", + "target": "Managers", + "navlinks": [ + { + "text": "BMC", + "target": "bmc" + } + ] + }, + { + "text": "Session Service", + "target": "SessionService" + }, + { + "target": "AccountService", + "text": "Account Service" + } + ] +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-catfish/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/index.json new file mode 100644 index 00000000..f6ecd2e2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/index.json @@ -0,0 +1,42 @@ +{ + "@odata.type": "#ServiceRoot.v1_22_0.ServiceRoot", + "Id": "RootService", + "Name": "Root Service", + "RedfishVersion": "1.15.0", + "UUID": "92384634-2938-2342-8820-489239905423", + "ProtocolFeaturesSupported": { + "ExpandQuery": { + "ExpandAll": true, + "Levels": true, + "MaxLevels": 6, + "Links": true, + "NoLinks": true + }, + "SelectQuery": false, + "FilterQuery": false, + "OnlyMemberQuery": true, + "ExcerptQuery": true + }, + "Systems": { + "@odata.id": "/redfish/v1/Systems" + }, + "Chassis": { + "@odata.id": "/redfish/v1/Chassis" + }, + "Managers": { + "@odata.id": "/redfish/v1/Managers" + }, + "SessionService": { + "@odata.id": "/redfish/v1/SessionService" + }, + "AccountService": { + "@odata.id": "/redfish/v1/AccountService" + }, + "Links": { + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + } + }, + "@odata.id": "/redfish/v1/", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-catfish/odata/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/odata/index.json new file mode 100644 index 00000000..51fd7910 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-catfish/odata/index.json @@ -0,0 +1,41 @@ +{ + "@odata.context": "/redfish/v1/$metadata", + "value": [ + { + "name": "Service", + "kind": "Singleton", + "url": "/redfish/v1/" + }, + { + "name": "Systems", + "kind": "Singleton", + "url": "/redfish/v1/Systems" + }, + { + "name": "Chassis", + "kind": "Singleton", + "url": "/redfish/v1/Chassis" + }, + { + "name": "Managers", + "kind": "Singleton", + "url": "/redfish/v1/Managers" + }, + { + "name": "AccountService", + "kind": "Singleton", + "url": "/redfish/v1/AccountService" + }, + { + "name": "SessionService", + "kind": "Singleton", + "url": "/redfish/v1/SessionService" + }, + { + "name": "Sessions", + "kind": "Singleton", + "url": "/redfish/v1/SessionService/Sessions" + } + ], + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/$metadata/index.xml b/test_dependencies/mockups/DSP2043_2026.2/public-composability/$metadata/index.xml new file mode 100644 index 00000000..fb5a6ae9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/$metadata/index.xml @@ -0,0 +1,174 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/AccountService/Accounts/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/AccountService/Accounts/1/index.json new file mode 100644 index 00000000..781c45c6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/AccountService/Accounts/1/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#ManagerAccount.v1_14_2.ManagerAccount", + "Id": "1", + "Name": "User Account", + "Description": "User Account", + "Enabled": true, + "Password": null, + "PasswordChangeRequired": false, + "AccountTypes": [ + "Redfish" + ], + "UserName": "Administrator", + "RoleId": "Administrator", + "Locked": false, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + } + }, + "@odata.id": "/redfish/v1/AccountService/Accounts/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/AccountService/Accounts/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/AccountService/Accounts/index.json new file mode 100644 index 00000000..f509d474 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/AccountService/Accounts/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerAccountCollection.ManagerAccountCollection", + "Name": "Accounts Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Accounts/1" + } + ], + "@odata.id": "/redfish/v1/AccountService/Accounts", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/AccountService/Roles/Administrator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/AccountService/Roles/Administrator/index.json new file mode 100644 index 00000000..19d26a98 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/AccountService/Roles/Administrator/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Administrator", + "Name": "User Role", + "Description": "Admin User Role", + "RoleId": "Administrator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureManager", + "ConfigureUsers", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [ + "OemClearLog", + "OemPowerControl" + ], + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/AccountService/Roles/Operator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/AccountService/Roles/Operator/index.json new file mode 100644 index 00000000..90804a6a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/AccountService/Roles/Operator/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Operator", + "Name": "User Role", + "Description": "Operator User Role", + "RoleId": "Operator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/Operator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/AccountService/Roles/ReadOnly/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/AccountService/Roles/ReadOnly/index.json new file mode 100644 index 00000000..1df0cf03 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/AccountService/Roles/ReadOnly/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "ReadOnly", + "Name": "User Role", + "Description": "ReadOnly User Role", + "RoleId": "ReadOnly", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/AccountService/Roles/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/AccountService/Roles/index.json new file mode 100644 index 00000000..ba9ee112 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/AccountService/Roles/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#RoleCollection.RoleCollection", + "Name": "Roles Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/Operator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly" + } + ], + "@odata.id": "/redfish/v1/AccountService/Roles", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/AccountService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/AccountService/index.json new file mode 100644 index 00000000..eb627494 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/AccountService/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#AccountService.v1_19_0.AccountService", + "Id": "AccountService", + "Name": "Account Service", + "Description": "Account Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "AuthFailureLoggingThreshold": 3, + "MinPasswordLength": 8, + "AccountLockoutThreshold": 5, + "AccountLockoutDuration": 30, + "AccountLockoutCounterResetAfter": 30, + "AccountLockoutCounterResetEnabled": true, + "Accounts": { + "@odata.id": "/redfish/v1/AccountService/Accounts" + }, + "Roles": { + "@odata.id": "/redfish/v1/AccountService/Roles" + }, + "@odata.id": "/redfish/v1/AccountService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableEnclosure/Power/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableEnclosure/Power/index.json new file mode 100644 index 00000000..c6047642 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableEnclosure/Power/index.json @@ -0,0 +1,147 @@ +{ + "@odata.type": "#Power.v1_7_3.Power", + "Id": "Power", + "Name": "Composable Enclosure Power", + "PowerSupplies": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Power#/PowerSupplies/0", + "MemberId": "0", + "Name": "Power Supply 0", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PowerSupplyType": "AC", + "LineInputVoltageType": "AC240V", + "LineInputVoltage": 220, + "PowerCapacityWatts": 1450, + "InputRanges": [ + { + "InputType": "AC", + "MinimumVoltage": 185, + "MaximumVoltage": 250, + "MinimumFrequencyHz": 47, + "MaximumFrequencyHz": 63, + "OutputWattage": 1450 + } + ], + "LastPowerOutputWatts": 650, + "Model": "325457-A06", + "Manufacturer": "Contoso Power", + "FirmwareVersion": "2.20", + "SerialNumber": "1S0000523", + "PartNumber": "425-591-654", + "SparePartNumber": "425-591-654", + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Power#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule1" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule2" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule3" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule4" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule5" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule6" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Power#/PowerSupplies/1", + "MemberId": "1", + "Name": "Power Supply 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PowerSupplyType": "AC", + "LineInputVoltageType": "AC240V", + "LineInputVoltage": 222, + "PowerCapacityWatts": 1450, + "InputRanges": [ + { + "InputType": "AC", + "MinimumVoltage": 185, + "MaximumVoltage": 250, + "MinimumFrequencyHz": 47, + "MaximumFrequencyHz": 63, + "OutputWattage": 1450 + } + ], + "LastPowerOutputWatts": 635, + "Model": "325457-A06", + "Manufacturer": "Contoso Power", + "FirmwareVersion": "2.20", + "SerialNumber": "1S0000524", + "PartNumber": "425-591-654", + "SparePartNumber": "425-591-654", + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Power#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule1" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule2" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule3" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule4" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule5" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule6" + } + ] + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Power#/Redundancy/0", + "MemberId": "0", + "Name": "Power Supply Redundancy", + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Power#/PowerSupplies/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Power#/PowerSupplies/1" + } + ], + "Mode": "N+m", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MinNumNeeded": 1, + "MaxNumSupported": 2 + } + ], + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Power", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableEnclosure/Thermal/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableEnclosure/Thermal/index.json new file mode 100644 index 00000000..442c85e2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableEnclosure/Thermal/index.json @@ -0,0 +1,250 @@ +{ + "@odata.type": "#Thermal.v1_7_3.Thermal", + "Id": "Thermal", + "Name": "Composable Enclosure Thermal", + "Temperatures": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Thermal#/Temperatures/0", + "MemberId": "0", + "Name": "Chassis Intake", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 24, + "UpperThresholdNonCritical": 35, + "UpperThresholdCritical": 42, + "UpperThresholdFatal": 50, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 60, + "PhysicalContext": "Intake", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule1" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule2" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule3" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule4" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule5" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule6" + } + ] + } + ], + "Fans": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Thermal#/Fans/0", + "MemberId": "0", + "Name": "System Fan 0", + "PhysicalContext": "Front", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 15100, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 3000, + "MinReadingRange": 0, + "MaxReadingRange": 16000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule1" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule2" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule3" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule4" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule5" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule6" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Thermal#/Fans/1", + "MemberId": "1", + "Name": "System Fan 1", + "PhysicalContext": "Front", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 14800, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 3000, + "MinReadingRange": 0, + "MaxReadingRange": 16000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule1" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule2" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule3" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule4" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule5" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule6" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Thermal#/Fans/2", + "MemberId": "2", + "Name": "System Fan 2", + "PhysicalContext": "Front", + "Status": { + "State": "Enabled", + "Health": "Critical" + }, + "Reading": 0, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 3000, + "MinReadingRange": 0, + "MaxReadingRange": 16000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule1" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule2" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule3" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule4" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule5" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule6" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Thermal#/Fans/3", + "MemberId": "3", + "Name": "System Fan 3", + "PhysicalContext": "Front", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 15000, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 3000, + "MinReadingRange": 0, + "MaxReadingRange": 16000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule1" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule2" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule3" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule4" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule5" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule6" + } + ] + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Thermal#/Redundancy/0", + "MemberId": "0", + "Name": "System Fans", + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Thermal#/Fans/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Thermal#/Fans/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Thermal#/Fans/2" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Thermal#/Fans/3" + } + ], + "Mode": "N+m", + "Status": { + "State": "Enabled", + "Health": "Warning" + }, + "MinNumNeeded": 3, + "MaxNumSupported": 4 + } + ], + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Thermal", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableEnclosure/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableEnclosure/index.json new file mode 100644 index 00000000..8a05c22f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableEnclosure/index.json @@ -0,0 +1,58 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "ComposableEnclosure", + "Name": "Composable Enclosure", + "ChassisType": "Enclosure", + "Manufacturer": "Contoso", + "Model": "COMP9000", + "SKU": "159000", + "SerialNumber": "CONTSN85482754", + "PartNumber": "CONTPN009-200", + "AssetTag": null, + "PowerState": "On", + "IndicatorLED": "Off", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Thermal" + }, + "Power": { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Power" + }, + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/ComposedSystem" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/1" + } + ], + "Contains": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule1" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule2" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule3" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule4" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule5" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule6" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableModule1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableModule1/index.json new file mode 100644 index 00000000..e450353d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableModule1/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "ComposableModule1", + "Name": "Composable Compute Module", + "ChassisType": "Module", + "Manufacturer": "Contoso", + "Model": "COMP9100", + "SKU": "159100", + "SerialNumber": "CONTSN85482755", + "PartNumber": "CONTPN009-210", + "AssetTag": null, + "PowerState": "On", + "IndicatorLED": "Off", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/ComposedSystem" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/1" + } + ], + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure" + }, + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/ComposableModule1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableModule2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableModule2/index.json new file mode 100644 index 00000000..b0dfb7ef --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableModule2/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "ComposableModule2", + "Name": "Composable Compute Module", + "ChassisType": "Module", + "Manufacturer": "Contoso", + "Model": "COMP9100", + "SKU": "159100", + "SerialNumber": "CONTSN85482756", + "PartNumber": "CONTPN009-210", + "AssetTag": null, + "PowerState": "On", + "IndicatorLED": "Off", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "ComputerSystems": [], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/1" + } + ], + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure" + }, + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/ComposableModule2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableModule3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableModule3/index.json new file mode 100644 index 00000000..47da34b7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableModule3/index.json @@ -0,0 +1,49 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "ComposableModule3", + "Name": "Composable Drive Module", + "ChassisType": "Module", + "Manufacturer": "Contoso", + "Model": "COMP9200", + "SKU": "159200", + "SerialNumber": "CONTSN85482757", + "PartNumber": "CONTPN009-220", + "AssetTag": null, + "PowerState": "On", + "IndicatorLED": "Off", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/ComposedSystem" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/1" + } + ], + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure" + }, + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock3" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock4" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock5" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock6" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/ComposableModule3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableModule4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableModule4/index.json new file mode 100644 index 00000000..688dc05c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableModule4/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "ComposableModule4", + "Name": "Composable Drive Module", + "ChassisType": "Module", + "Manufacturer": "Contoso", + "Model": "COMP9300", + "SKU": "159300", + "SerialNumber": "CONTSN85482758", + "PartNumber": "CONTPN009-230", + "AssetTag": null, + "PowerState": "On", + "IndicatorLED": "Off", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "ComputerSystems": [], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/1" + } + ], + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure" + }, + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock7" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/ComposableModule4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableModule5/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableModule5/index.json new file mode 100644 index 00000000..bae870d2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableModule5/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "ComposableModule5", + "Name": "Composable Network Module", + "ChassisType": "Module", + "Manufacturer": "Contoso", + "Model": "COMP9400", + "SKU": "159400", + "SerialNumber": "CONTSN85482759", + "PartNumber": "CONTPN009-240", + "AssetTag": null, + "PowerState": "On", + "IndicatorLED": "Off", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "ComputerSystems": [], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/1" + } + ], + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure" + }, + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkBlock8" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/ComposableModule5", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableModule6/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableModule6/index.json new file mode 100644 index 00000000..bbe22746 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableModule6/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "ComposableModule6", + "Name": "Composable Offload Module", + "ChassisType": "Module", + "Manufacturer": "Contoso", + "Model": "COMP9500", + "SKU": "159500", + "SerialNumber": "CONTSN85482760", + "PartNumber": "CONTPN009-250", + "AssetTag": null, + "PowerState": "On", + "IndicatorLED": "Off", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "ComputerSystems": [], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/1" + } + ], + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure" + }, + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/OffloadBlock9" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/ComposableModule6", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableModule7/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableModule7/index.json new file mode 100644 index 00000000..a687a9bb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/ComposableModule7/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "ComposableModule7", + "Name": "Composable Offload Module", + "ChassisType": "Module", + "Manufacturer": "Contoso", + "Model": "COMP9500", + "SKU": "159300", + "SerialNumber": "CONTSN85482761", + "PartNumber": "CONTPN009-230", + "AssetTag": null, + "PowerState": "On", + "IndicatorLED": "Off", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "ComputerSystems": [], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/1" + } + ], + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure" + }, + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock10" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/ComposableModule7", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/index.json new file mode 100644 index 00000000..4b7a95a5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Chassis/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#ChassisCollection.ChassisCollection", + "Name": "Chassis Collection", + "Members@odata.count": 7, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule1" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule2" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule3" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule4" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule5" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule6" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule7" + } + ], + "@odata.id": "/redfish/v1/Chassis", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/Capabilities/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/Capabilities/index.json new file mode 100644 index 00000000..1eca109a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/Capabilities/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "Capabilities", + "Name": "Capabilities for the Zone", + "Name@Redfish.RequiredOnCreate": true, + "Name@Redfish.SetOnlyOnCreate": true, + "Description@Redfish.OptionalOnCreate": true, + "Description@Redfish.SetOnlyOnCreate": true, + "ResourceBlockType@Redfish.OptionalOnCreate": true, + "ResourceBlockType@Redfish.UpdatableAfterCreate": false, + "ComputerSystems@Redfish.RequiredOnCreate": true, + "ComputerSystems@Redfish.UpdatableAfterCreate": false, + "Links@Redfish.RequiredOnCreate": true, + "Links": { + "Zones@Redfish.RequiredOnCreate": true, + "Zones@Redfish.UpdatableAfterCreate": true + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/Capabilities", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock1/EthernetInterfaces/Block1OnboardNIC/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock1/EthernetInterfaces/Block1OnboardNIC/index.json new file mode 100644 index 00000000..cfcd02fe --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock1/EthernetInterfaces/Block1OnboardNIC/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "Block1OnboardNIC", + "Name": "Integrated Ethernet Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "AA:BB:CC:DD:EE:FD", + "MACAddress": "AA:BB:CC:DD:EE:FD", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "IPv4Addresses": [ + { + "Address": "192.168.70.80", + "SubnetMask": "255.255.255.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.70.1" + } + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule1" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/EthernetInterfaces/Block1OnboardNIC", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM0/index.json new file mode 100644 index 00000000..62707a97 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM0/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "Block1DIMM0", + "Name": "DIMM Slot 0", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityMiB": 8192, + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "MemoryMedia": [ + "DRAM" + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule1" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM1/index.json new file mode 100644 index 00000000..0a1fe19d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM1/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "Block1DIMM1", + "Name": "DIMM Slot 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityMiB": 8192, + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 2, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "MemoryMedia": [ + "DRAM" + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule1" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM2/index.json new file mode 100644 index 00000000..fd39ce6e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM2/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "Block1DIMM2", + "Name": "DIMM Slot 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityMiB": 8192, + "MemoryLocation": { + "Socket": 2, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "MemoryMedia": [ + "DRAM" + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule1" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM3/index.json new file mode 100644 index 00000000..921703f9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM3/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "Block1DIMM3", + "Name": "DIMM Slot 3", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityMiB": 8192, + "MemoryLocation": { + "Socket": 2, + "MemoryController": 1, + "Channel": 2, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "MemoryMedia": [ + "DRAM" + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule1" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock1/Processors/Block1CPU0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock1/Processors/Block1CPU0/index.json new file mode 100644 index 00000000..f507dfe7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock1/Processors/Block1CPU0/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Block1CPU0", + "Name": "Processor", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Multi-Core Intel(R) Xeon(R) processor 7xxx Series", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2000, + "TotalCores": 8, + "TotalThreads": 16, + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule1" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Processors/Block1CPU0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock1/Processors/Block1CPU1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock1/Processors/Block1CPU1/index.json new file mode 100644 index 00000000..cbc782e4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock1/Processors/Block1CPU1/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Block1CPU1", + "Name": "Processor", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Multi-Core Intel(R) Xeon(R) processor 7xxx Series", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2000, + "TotalCores": 8, + "TotalThreads": 16, + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule1" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Processors/Block1CPU1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock1/index.json new file mode 100644 index 00000000..ad93792e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock1/index.json @@ -0,0 +1,66 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "ComputeBlock1", + "Name": "Compute Block 1", + "ResourceBlockType": [ + "Compute", + "Network" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "Reserved": false, + "CompositionState": "Composed", + "SharingCapable": false, + "MaxCompositions": 1, + "NumberOfCompositions": 1 + }, + "Processors": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Processors/Block1CPU0" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Processors/Block1CPU1" + } + ], + "Memory": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM0" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM3" + } + ], + "EthernetInterfaces": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/EthernetInterfaces/Block1OnboardNIC" + } + ], + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/ComposedSystem" + } + ], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule1" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/1" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM0/index.json new file mode 100644 index 00000000..4ec79d4b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM0/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "Block2DIMM0", + "Name": "DIMM Slot 0", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityMiB": 8192, + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "MemoryMedia": [ + "DRAM" + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule2" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM1/index.json new file mode 100644 index 00000000..60db1e8b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM1/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "Block2DIMM1", + "Name": "DIMM Slot 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityMiB": 8192, + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 2, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "MemoryMedia": [ + "DRAM" + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule2" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM2/index.json new file mode 100644 index 00000000..9bcb0f37 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM2/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "Block2DIMM2", + "Name": "DIMM Slot 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityMiB": 8192, + "MemoryLocation": { + "Socket": 2, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "MemoryMedia": [ + "DRAM" + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule2" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM3/index.json new file mode 100644 index 00000000..7264bc8f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM3/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "Block2DIMM3", + "Name": "DIMM Slot 3", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityMiB": 8192, + "MemoryLocation": { + "Socket": 2, + "MemoryController": 1, + "Channel": 2, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "MemoryMedia": [ + "DRAM" + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule2" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock2/Processors/Block2CPU0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock2/Processors/Block2CPU0/index.json new file mode 100644 index 00000000..85d1874a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock2/Processors/Block2CPU0/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Block2CPU0", + "Name": "Processor", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Multi-Core Intel(R) Xeon(R) processor 7xxx Series", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2000, + "TotalCores": 8, + "TotalThreads": 16, + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule2" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2/Processors/Block2CPU0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock2/Processors/Block2CPU1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock2/Processors/Block2CPU1/index.json new file mode 100644 index 00000000..00356af2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock2/Processors/Block2CPU1/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Block2CPU1", + "Name": "Processor", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Multi-Core Intel(R) Xeon(R) processor 7xxx Series", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2000, + "TotalCores": 8, + "TotalThreads": 16, + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule2" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2/Processors/Block2CPU1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock2/index.json new file mode 100644 index 00000000..748343e0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/ComputeBlock2/index.json @@ -0,0 +1,60 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "ComputeBlock2", + "Name": "Compute Block 2", + "ResourceBlockType": [ + "Compute" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "Reserved": false, + "CompositionState": "Composed", + "SharingCapable": false, + "MaxCompositions": 1, + "NumberOfCompositions": 1 + }, + "Processors": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2/Processors/Block2CPU0" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2/Processors/Block2CPU1" + } + ], + "Memory": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM0" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM3" + } + ], + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/ComposedSystem2" + } + ], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule2" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/2" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock10/Drives/Block10Slot4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock10/Drives/Block10Slot4/index.json new file mode 100644 index 00000000..9088ff47 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock10/Drives/Block10Slot4/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "Block10Slot4", + "Name": "NVMe Drive Slot 4", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 274877906944, + "Protocol": "NVMe", + "MediaType": "SSD", + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule7" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock10/Drives/Block10Slot4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock10/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock10/index.json new file mode 100644 index 00000000..cbe1c8f7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock10/index.json @@ -0,0 +1,43 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "DriveBlock10", + "Name": "Drive Block 10", + "ResourceBlockType": [ + "Storage" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "Reserved": false, + "CompositionState": "Composed", + "SharingCapable": false, + "MaxCompositions": 1, + "NumberOfCompositions": 1 + }, + "Drives": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock10/Drives/Block10Slot4" + } + ], + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/SystemAfterAddResourceAction" + } + ], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule7" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/3" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock10", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock3/Drives/Block3Slot0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock3/Drives/Block3Slot0/index.json new file mode 100644 index 00000000..305720d2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock3/Drives/Block3Slot0/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "Block3Slot0", + "Name": "NVMe Drive Slot 0", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 274877906944, + "Protocol": "NVMe", + "MediaType": "SSD", + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule3" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock3/Drives/Block3Slot0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock3/index.json new file mode 100644 index 00000000..a9fd7ff8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock3/index.json @@ -0,0 +1,50 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "DriveBlock3", + "Name": "Drive Block 3", + "ResourceBlockType": [ + "Storage" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "Reserved": false, + "CompositionState": "ComposedAndAvailable", + "SharingCapable": true, + "SharingEnabled": true, + "MaxCompositions": 8, + "NumberOfCompositions": 2 + }, + "Drives": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock3/Drives/Block3Slot0" + } + ], + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/ComposedSystem" + }, + { + "@odata.id": "/redfish/v1/Systems/ComposedSystem2" + } + ], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule3" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/2" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock4/Drives/Block4Slot1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock4/Drives/Block4Slot1/index.json new file mode 100644 index 00000000..91b63c7d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock4/Drives/Block4Slot1/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "Block4Slot1", + "Name": "NVMe Drive Slot 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 274877906944, + "Protocol": "NVMe", + "MediaType": "SSD", + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule3" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock4/Drives/Block4Slot1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock4/index.json new file mode 100644 index 00000000..97fc58d9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock4/index.json @@ -0,0 +1,47 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "DriveBlock4", + "Name": "Drive Block 4", + "ResourceBlockType": [ + "Storage" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "Reserved": false, + "CompositionState": "ComposedAndAvailable", + "SharingCapable": true, + "SharingEnabled": true, + "MaxCompositions": 8, + "NumberOfCompositions": 1 + }, + "Drives": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock4/Drives/Block4Slot1" + } + ], + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/ComposedSystem" + } + ], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule3" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/2" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock5/Drives/Block5Slot2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock5/Drives/Block5Slot2/index.json new file mode 100644 index 00000000..e107bf34 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock5/Drives/Block5Slot2/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "Block5Slot2", + "Name": "NVMe Drive Slot 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 274877906944, + "Protocol": "NVMe", + "MediaType": "SSD", + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule3" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock5/Drives/Block5Slot2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock5/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock5/index.json new file mode 100644 index 00000000..c183246b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock5/index.json @@ -0,0 +1,43 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "DriveBlock5", + "Name": "Drive Block 5", + "ResourceBlockType": [ + "Storage" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "Reserved": false, + "CompositionState": "Unused", + "SharingCapable": true, + "SharingEnabled": true, + "MaxCompositions": 8, + "NumberOfCompositions": 0 + }, + "Drives": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock5/Drives/Block5Slot2" + } + ], + "Links": { + "ComputerSystems": [], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule3" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/2" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock5", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock6/Drives/Block6Slot3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock6/Drives/Block6Slot3/index.json new file mode 100644 index 00000000..d47a1cef --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock6/Drives/Block6Slot3/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "Block6Slot3", + "Name": "NVMe Drive Slot 3", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 274877906944, + "Protocol": "NVMe", + "MediaType": "SSD", + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule3" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock6/Drives/Block6Slot3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock6/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock6/index.json new file mode 100644 index 00000000..751914d2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock6/index.json @@ -0,0 +1,43 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "DriveBlock6", + "Name": "Drive Block 6", + "ResourceBlockType": [ + "Storage" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "Reserved": false, + "CompositionState": "Unused", + "SharingCapable": true, + "SharingEnabled": true, + "MaxCompositions": 8, + "NumberOfCompositions": 0 + }, + "Drives": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock6/Drives/Block6Slot3" + } + ], + "Links": { + "ComputerSystems": [], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule3" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/2" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock6", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock7/SimpleStorage/Block7SASTray/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock7/SimpleStorage/Block7SASTray/index.json new file mode 100644 index 00000000..58564247 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock7/SimpleStorage/Block7SASTray/index.json @@ -0,0 +1,58 @@ +{ + "@odata.type": "#SimpleStorage.v1_3_2.SimpleStorage", + "Id": "Block7SASTray", + "Name": "SAS Simple Storage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Devices": [ + { + "Name": "SAS Drive Bay 0", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Manufacturer": "Contoso", + "Model": "SASGB1024", + "CapacityBytes": 1099511627776 + }, + { + "Name": "SAS Drive Bay 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Manufacturer": "Contoso", + "Model": "SASGB1024", + "CapacityBytes": 1099511627776 + }, + { + "Name": "SAS Drive Bay 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Manufacturer": "Contoso", + "Model": "SASGB1024", + "CapacityBytes": 1099511627776 + }, + { + "Name": "SAS Drive Bay 3", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Manufacturer": "Contoso", + "Model": "SASGB1024", + "CapacityBytes": 1099511627776 + } + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule4" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock7/SimpleStorage/Block7SASTray", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock7/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock7/index.json new file mode 100644 index 00000000..e27388ca --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/DriveBlock7/index.json @@ -0,0 +1,42 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "DriveBlock7", + "Name": "Drive Block 7", + "ResourceBlockType": [ + "Storage" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "Reserved": false, + "CompositionState": "Unused", + "SharingCapable": false, + "MaxCompositions": 1, + "NumberOfCompositions": 0 + }, + "SimpleStorage": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock7/SimpleStorage/Block7SASTray" + } + ], + "Links": { + "ComputerSystems": [], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule4" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/2" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock7", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/NetworkBlock8/EthernetInterfaces/Block8Port0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/NetworkBlock8/EthernetInterfaces/Block8Port0/index.json new file mode 100644 index 00000000..bbdbd228 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/NetworkBlock8/EthernetInterfaces/Block8Port0/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "Block8Port0", + "Name": "Ethernet Interface Port 0", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "AA:BB:CC:DD:EE:FF", + "MACAddress": "AA:BB:CC:DD:EE:FF", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "IPv4Addresses": [ + { + "Address": null, + "SubnetMask": null, + "AddressOrigin": "DHCP", + "Gateway": null + } + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule5" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkBlock8/EthernetInterfaces/Block8Port0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/NetworkBlock8/EthernetInterfaces/Block8Port1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/NetworkBlock8/EthernetInterfaces/Block8Port1/index.json new file mode 100644 index 00000000..81aea933 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/NetworkBlock8/EthernetInterfaces/Block8Port1/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "Block8Port1", + "Name": "Ethernet Interface Port 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "AA:BB:CC:DD:EE:FE", + "MACAddress": "AA:BB:CC:DD:EE:FE", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "IPv4Addresses": [ + { + "Address": null, + "SubnetMask": null, + "AddressOrigin": "DHCP", + "Gateway": null + } + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule5" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkBlock8/EthernetInterfaces/Block8Port1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/NetworkBlock8/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/NetworkBlock8/index.json new file mode 100644 index 00000000..6c51664e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/NetworkBlock8/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "NetworkBlock8", + "Name": "Network Block 8", + "ResourceBlockType": [ + "Network" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "Reserved": false, + "CompositionState": "Composed", + "SharingCapable": false, + "MaxCompositions": 1, + "NumberOfCompositions": 1 + }, + "EthernetInterfaces": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkBlock8/EthernetInterfaces/Block8Port0" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkBlock8/EthernetInterfaces/Block8Port1" + } + ], + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/ComposedSystem2" + } + ], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule5" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/2" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkBlock8", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/OffloadBlock9/Processors/Block9GPU/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/OffloadBlock9/Processors/Block9GPU/index.json new file mode 100644 index 00000000..66409554 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/OffloadBlock9/Processors/Block9GPU/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Block9GPU", + "Name": "Processor", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ProcessorType": "GPU", + "Manufacturer": "Contoso Graphics", + "Model": "Contoso Workstation VID2000", + "MaxSpeedMHz": 800, + "TotalCores": 1536, + "TotalThreads": 1536, + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule6" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/OffloadBlock9/Processors/Block9GPU", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/OffloadBlock9/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/OffloadBlock9/index.json new file mode 100644 index 00000000..83919768 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/OffloadBlock9/index.json @@ -0,0 +1,39 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "OffloadBlock9", + "Name": "Offload Block 0", + "ResourceBlockType": [ + "Processor" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "Reserved": false, + "CompositionState": "Unused", + "SharingCapable": false, + "MaxCompositions": 1, + "NumberOfCompositions": 0 + }, + "Processors": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/OffloadBlock9/Processors/Block9GPU" + } + ], + "Links": { + "ComputerSystems": [], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule6" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/2" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/OffloadBlock9", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/SystemBlock11/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/SystemBlock11/index.json new file mode 100644 index 00000000..e7af9576 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/SystemBlock11/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "SystemBlock11", + "Name": "ComputerSystem ResourceBlock 11", + "ResourceBlockType": [ + "ComputerSystem" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "Reserved": false, + "CompositionState": "Unused", + "MaxCompositions": 1, + "NumberOfCompositions": 0 + }, + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/SystemAfterResourceBlock" + } + ], + "Links": { + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/3" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SystemBlock11", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/SystemBlock12/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/SystemBlock12/index.json new file mode 100644 index 00000000..0c85b5ff --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/SystemBlock12/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "SystemBlock12", + "Name": "ComputerSystem ResourceBlock 12", + "ResourceBlockType": [ + "ComputerSystem" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "Reserved": false, + "CompositionState": "Composed", + "MaxCompositions": 1, + "NumberOfCompositions": 1 + }, + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/SystemAfterAddResourceAction" + } + ], + "Links": { + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/3" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SystemBlock12", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/index.json new file mode 100644 index 00000000..be4e3d5e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceBlocks/index.json @@ -0,0 +1,66 @@ +{ + "@odata.type": "#ResourceBlockCollection.ResourceBlockCollection", + "Name": "Resource Block Collection", + "Members@odata.count": 12, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock3" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock4" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock5" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock6" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock7" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkBlock8" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/OffloadBlock9" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock10" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SystemBlock11" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SystemBlock12" + } + ], + "@Redfish.CollectionCapabilities": { + "@odata.type": "#CollectionCapabilities.v1_4_1.CollectionCapabilities", + "Capabilities": [ + { + "CapabilitiesObject": { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/Capabilities" + }, + "UseCase": "RegisterResourceBlock", + "Links": { + "TargetCollection": { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks" + }, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/3" + } + ] + } + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceZones/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceZones/1/index.json new file mode 100644 index 00000000..b9c235ec --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceZones/1/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Zone.v1_6_3.Zone", + "Id": "1", + "Name": "Resource Zone 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ZoneType": "ZoneOfResourceBlocks", + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock3" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock4" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock5" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock6" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock7" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceZones/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceZones/2/index.json new file mode 100644 index 00000000..ed7f9e9a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceZones/2/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Zone.v1_6_3.Zone", + "Id": "2", + "Name": "Resource Zone 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ZoneType": "ZoneOfResourceBlocks", + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock3" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock4" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock5" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock6" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock7" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkBlock8" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/OffloadBlock9" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceZones/3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceZones/3/index.json new file mode 100644 index 00000000..ef43f55d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceZones/3/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Zone.v1_6_3.Zone", + "Id": "3", + "Name": "Resource Zone 3", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ZoneType": "ZoneOfResourceBlocks", + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock10" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SystemBlock11" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SystemBlock12" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceZones/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceZones/index.json new file mode 100644 index 00000000..b029d58e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/ResourceZones/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#ZoneCollection.ZoneCollection", + "Name": "Resource Zone Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/3" + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceZones", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/index.json new file mode 100644 index 00000000..3505c47a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/CompositionService/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#CompositionService.v1_2_3.CompositionService", + "Id": "CompositionService", + "Name": "Composition Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "AllowOverprovisioning": true, + "AllowZoneAffinity": true, + "ResourceBlocks": { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks" + }, + "ResourceZones": { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones" + }, + "@odata.id": "/redfish/v1/CompositionService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Managers/1/EthernetInterfaces/Dedicated/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Managers/1/EthernetInterfaces/Dedicated/index.json new file mode 100644 index 00000000..4e2d16ac --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Managers/1/EthernetInterfaces/Dedicated/index.json @@ -0,0 +1,59 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "Dedicated", + "Name": "Manager Ethernet Interface", + "Description": "Management Network Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:33:CF:EA", + "MACAddress": "23:11:8A:33:CF:EA", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "composition-manager", + "FQDN": "composition-manager.dmtf.org", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.0.1" + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred" + } + ], + "NameServers": [ + "names.dmtf.org" + ], + "@odata.id": "/redfish/v1/Managers/1/EthernetInterfaces/Dedicated", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Managers/1/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Managers/1/EthernetInterfaces/index.json new file mode 100644 index 00000000..075a3255 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Managers/1/EthernetInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Network Interface Collection", + "Description": "Collection of EthernetInterfaces for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/1/EthernetInterfaces/Dedicated" + } + ], + "@odata.id": "/redfish/v1/Managers/1/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Managers/1/LogServices/Log/Entries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Managers/1/LogServices/Log/Entries/index.json new file mode 100644 index 00000000..d731a2ba --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Managers/1/LogServices/Log/Entries/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 0, + "Members": [], + "@odata.id": "/redfish/v1/Managers/1/LogServices/Log/Entries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Managers/1/LogServices/Log/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Managers/1/LogServices/Log/index.json new file mode 100644 index 00000000..ce850c44 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Managers/1/LogServices/Log/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#LogService.v1_9_0.LogService", + "Id": "Log", + "Name": "System Log Service", + "MaxNumberOfRecords": 1000, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Managers/1/LogServices/Log/Actions/LogService.ClearLog" + } + }, + "Entries": { + "@odata.id": "/redfish/v1/Managers/1/LogServices/Log/Entries" + }, + "@odata.id": "/redfish/v1/Managers/1/LogServices/Log", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Managers/1/LogServices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Managers/1/LogServices/index.json new file mode 100644 index 00000000..a3276a56 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Managers/1/LogServices/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Description": "Collection of Log Services for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/1/LogServices/Log" + } + ], + "@odata.id": "/redfish/v1/Managers/1/LogServices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Managers/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Managers/1/index.json new file mode 100644 index 00000000..7284f3b5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Managers/1/index.json @@ -0,0 +1,62 @@ +{ + "@odata.type": "#Manager.v1_25_0.Manager", + "Id": "1", + "Name": "Manager", + "ManagerType": "EnclosureManager", + "Description": "Contoso Composable Manager", + "ServiceEntryPointUUID": "92384634-2938-2342-8820-489239905423", + "UUID": "58893887-8974-2487-2389-841168418919", + "Model": "Contoso Comp9000", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "FirmwareVersion": "1.00", + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/1/EthernetInterfaces" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Managers/1/LogServices" + }, + "Links": { + "ManagerForChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule1" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule2" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule3" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule4" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule5" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule6" + } + ], + "ManagerInChassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure" + } + }, + "Actions": { + "#Manager.Reset": { + "target": "/redfish/v1/Managers/1/Actions/Manager.Reset", + "ResetType@Redfish.AllowableValues": [ + "ForceRestart", + "GracefulRestart" + ] + } + }, + "@odata.id": "/redfish/v1/Managers/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Managers/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Managers/index.json new file mode 100644 index 00000000..d91c5f62 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Managers/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerCollection.ManagerCollection", + "Name": "Manager Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/1" + } + ], + "@odata.id": "/redfish/v1/Managers", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/SessionService/Sessions/1234567890ABCDEF/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/SessionService/Sessions/1234567890ABCDEF/index.json new file mode 100644 index 00000000..90844a1b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/SessionService/Sessions/1234567890ABCDEF/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#Session.v1_9_0.Session", + "Id": "1234567890ABCDEF", + "Name": "User Session", + "Description": "Manager User Session", + "UserName": "Administrator", + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/SessionService/Sessions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/SessionService/Sessions/index.json new file mode 100644 index 00000000..8d8cdf58 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/SessionService/Sessions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SessionCollection.SessionCollection", + "Name": "Session Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF" + } + ], + "@odata.id": "/redfish/v1/SessionService/Sessions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/SessionService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/SessionService/index.json new file mode 100644 index 00000000..62a05690 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/SessionService/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#SessionService.v1_2_0.SessionService", + "Id": "SessionService", + "Name": "Session Service", + "Description": "Session Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "SessionTimeout": 30, + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + }, + "@odata.id": "/redfish/v1/SessionService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/Capabilities/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/Capabilities/index.json new file mode 100644 index 00000000..edebd1c7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/Capabilities/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "Capabilities", + "Name": "Capabilities for the system collection", + "Name@Redfish.RequiredOnCreate": true, + "Name@Redfish.SetOnlyOnCreate": true, + "Description@Redfish.OptionalOnCreate": true, + "Description@Redfish.SetOnlyOnCreate": true, + "HostName@Redfish.OptionalOnCreate": true, + "HostName@Redfish.UpdatableAfterCreate": true, + "Boot@Redfish.OptionalOnCreate": true, + "Boot": { + "BootSourceOverrideEnabled@Redfish.OptionalOnCreate": true, + "BootSourceOverrideEnabled@Redfish.UpdatableAfterCreate": true, + "BootSourceOverrideTarget@Redfish.OptionalOnCreate": true, + "BootSourceOverrideTarget@Redfish.UpdatableAfterCreate": true, + "BootSourceOverrideTarget@Redfish.AllowableValues": [ + "None", + "Pxe", + "Usb", + "Hdd" + ] + }, + "Links@Redfish.RequiredOnCreate": true, + "Links": { + "ResourceBlocks@Redfish.RequiredOnCreate": true, + "ResourceBlocks@Redfish.UpdatableAfterCreate": true + }, + "@Redfish.ResourceBlockLimits": { + "MinCompute": 1, + "MaxCompute": 1, + "MaxStorage": 8 + }, + "@odata.id": "/redfish/v1/Systems/Capabilities", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem/EthernetInterfaces/index.json new file mode 100644 index 00000000..53dc93d8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem/EthernetInterfaces/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Interface Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/EthernetInterfaces/Block1OnboardNIC" + } + ], + "@odata.id": "/redfish/v1/Systems/ComposedSystem/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem/Memory/index.json new file mode 100644 index 00000000..75660179 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem/Memory/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Collection", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM0" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM3" + } + ], + "@odata.id": "/redfish/v1/Systems/ComposedSystem/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem/Processors/index.json new file mode 100644 index 00000000..7638623d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem/Processors/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processors Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Processors/Block1CPU0" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Processors/Block1CPU1" + } + ], + "@odata.id": "/redfish/v1/Systems/ComposedSystem/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem/Storage/NVMe/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem/Storage/NVMe/index.json new file mode 100644 index 00000000..a0c769c3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem/Storage/NVMe/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Id": "NVMe", + "Name": "NMVe Storage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Drives": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock3/Drives/Block3Slot0" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock4/Drives/Block4Slot1" + } + ], + "@odata.id": "/redfish/v1/Systems/ComposedSystem/Storage/NVMe", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem/Storage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem/Storage/index.json new file mode 100644 index 00000000..599996f9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem/Storage/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#StorageCollection.StorageCollection", + "Name": "Storage Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/ComposedSystem/Storage/NVMe" + } + ], + "@odata.id": "/redfish/v1/Systems/ComposedSystem/Storage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem/index.json new file mode 100644 index 00000000..9beb58c0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem/index.json @@ -0,0 +1,68 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "ComposedSystem", + "Name": "Sample Composed System", + "SystemType": "Composed", + "Description": "This shows an example of a composed system", + "UUID": "37596f04-b032-48ce-9bad-7d55a61fe574", + "HostName": "composed-system", + "PowerState": "On", + "Boot": { + "BootSourceOverrideEnabled": "Once", + "BootSourceOverrideTarget": "Pxe", + "BootSourceOverrideTarget@Redfish.AllowableValues": [ + "None", + "Pxe", + "Usb", + "Hdd" + ] + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/ComposedSystem/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Systems/ComposedSystem/Memory" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Systems/ComposedSystem/EthernetInterfaces" + }, + "Storage": { + "@odata.id": "/redfish/v1/Systems/ComposedSystem/Storage" + }, + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock3" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock4" + } + ] + }, + "Actions": { + "#ComputerSystem.Reset": { + "target": "/redfish/v1/Systems/ComposedSystem/Actions/ComputerSystem.Reset", + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "GracefulRestart", + "ForceRestart", + "Nmi", + "ForceOn", + "PushPowerButton" + ] + }, + "#ComputerSystem.AddResourceBlock": { + "target": "/redfish/v1/Systems/ComposedSystem/Actions/ComputerSystem.AddResourceBlock" + }, + "#ComputerSystem.RemoveResourceBlock": { + "target": "/redfish/v1/Systems/ComposedSystem/Actions/ComputerSystem.RemoveResourceBlock" + } + }, + "@odata.id": "/redfish/v1/Systems/ComposedSystem", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem2/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem2/EthernetInterfaces/index.json new file mode 100644 index 00000000..de661dfe --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem2/EthernetInterfaces/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Interface Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkBlock8/EthernetInterfaces/Block8Port0" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkBlock8/EthernetInterfaces/Block8Port1" + } + ], + "@odata.id": "/redfish/v1/Systems/ComposedSystem2/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem2/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem2/Memory/index.json new file mode 100644 index 00000000..ecedc468 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem2/Memory/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Collection", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM0" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM3" + } + ], + "@odata.id": "/redfish/v1/Systems/ComposedSystem2/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem2/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem2/Processors/index.json new file mode 100644 index 00000000..e97ca358 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem2/Processors/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processors Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2/Processors/Block2CPU0" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2/Processors/Block2CPU1" + } + ], + "@odata.id": "/redfish/v1/Systems/ComposedSystem2/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem2/Storage/NVMe/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem2/Storage/NVMe/index.json new file mode 100644 index 00000000..90c910fd --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem2/Storage/NVMe/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Id": "NVMe", + "Name": "NMVe Storage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Drives": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock3/Drives/Block3Slot0" + } + ], + "@odata.id": "/redfish/v1/Systems/ComposedSystem2/Storage/NVMe", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem2/Storage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem2/Storage/index.json new file mode 100644 index 00000000..009ad756 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem2/Storage/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#StorageCollection.StorageCollection", + "Name": "Storage Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/ComposedSystem2/Storage/NVMe" + } + ], + "@odata.id": "/redfish/v1/Systems/ComposedSystem2/Storage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem2/index.json new file mode 100644 index 00000000..4dc0bccf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/ComposedSystem2/index.json @@ -0,0 +1,68 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "ComposedSystem2", + "Name": "Sample Composed System", + "SystemType": "Composed", + "Description": "This shows an example of a composed system", + "UUID": "c799d9a4-f5e4-402c-a1b5-0cd9d5213891", + "HostName": "composed-system", + "PowerState": "On", + "Boot": { + "BootSourceOverrideEnabled": "Once", + "BootSourceOverrideTarget": "Pxe", + "BootSourceOverrideTarget@Redfish.AllowableValues": [ + "None", + "Pxe", + "Usb", + "Hdd" + ] + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/ComposedSystem2/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Systems/ComposedSystem2/Memory" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Systems/ComposedSystem2/EthernetInterfaces" + }, + "Storage": { + "@odata.id": "/redfish/v1/Systems/ComposedSystem2/Storage" + }, + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock3" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkBlock8" + } + ] + }, + "Actions": { + "#ComputerSystem.Reset": { + "target": "/redfish/v1/Systems/ComposedSystem2/Actions/ComputerSystem.Reset", + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "GracefulRestart", + "ForceRestart", + "Nmi", + "ForceOn", + "PushPowerButton" + ] + }, + "#ComputerSystem.AddResourceBlock": { + "target": "/redfish/v1/Systems/ComposedSystem2/Actions/ComputerSystem.AddResourceBlock" + }, + "#ComputerSystem.RemoveResourceBlock": { + "target": "/redfish/v1/Systems/ComposedSystem2/Actions/ComputerSystem.RemoveResourceBlock" + } + }, + "@odata.id": "/redfish/v1/Systems/ComposedSystem2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/EthernetInterfaces/SystemNIC/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/EthernetInterfaces/SystemNIC/index.json new file mode 100644 index 00000000..79d2651b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/EthernetInterfaces/SystemNIC/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "SystemNIC", + "Name": "Integrated Ethernet Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "AA:BB:CC:DD:EE:FD", + "MACAddress": "AA:BB:CC:DD:EE:FD", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "IPv4Addresses": [ + { + "Address": "192.168.70.80", + "SubnetMask": "255.255.255.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.70.1" + } + ], + "@odata.id": "/redfish/v1/Systems/SystemAfterAddResourceAction/EthernetInterfaces/SystemNIC", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/EthernetInterfaces/index.json new file mode 100644 index 00000000..cba21707 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/EthernetInterfaces/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Interface Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/SystemAfterAddResourceAction/EthernetInterfaces/SystemNIC" + } + ], + "@odata.id": "/redfish/v1/Systems/SystemAfterAddResourceAction/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/Memory/DIMM0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/Memory/DIMM0/index.json new file mode 100644 index 00000000..e25d1e68 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/Memory/DIMM0/index.json @@ -0,0 +1,23 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM0", + "Name": "DIMM Slot 0", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityMiB": 8192, + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "MemoryMedia": [ + "DRAM" + ], + "@odata.id": "/redfish/v1/Systems/SystemAfterAddResourceAction/Memory/DIMM0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/Memory/index.json new file mode 100644 index 00000000..b0951c63 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/Memory/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/SystemAfterAddResourceAction/Memory/DIMM0" + } + ], + "@odata.id": "/redfish/v1/Systems/SystemAfterAddResourceAction/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/Processors/CPU0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/Processors/CPU0/index.json new file mode 100644 index 00000000..ef4d61c0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/Processors/CPU0/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU0", + "Name": "Processor", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Multi-Core Intel(R) Xeon(R) processor 7xxx Series", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2000, + "TotalCores": 8, + "TotalThreads": 16, + "@odata.id": "/redfish/v1/Systems/SystemAfterAddResourceAction/Processors/CPU0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/Processors/index.json new file mode 100644 index 00000000..c02d60db --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/Processors/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processors Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/SystemAfterAddResourceAction/Processors/CPU0" + } + ], + "@odata.id": "/redfish/v1/Systems/SystemAfterAddResourceAction/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/Storage/NVMe/Drives/Drive0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/Storage/NVMe/Drives/Drive0/index.json new file mode 100644 index 00000000..bf31ea60 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/Storage/NVMe/Drives/Drive0/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "Drive0", + "Name": "NVMe Drive Slot 0", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 274877906944, + "Protocol": "NVMe", + "MediaType": "SSD", + "@odata.id": "/redfish/v1/Systems/SystemAfterAddResourceAction/Storage/NVMe/Drives/Drive0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/Storage/NVMe/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/Storage/NVMe/index.json new file mode 100644 index 00000000..7aadd113 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/Storage/NVMe/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Id": "NVMe", + "Name": "NMVe Storage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Drives": [ + { + "@odata.id": "/redfish/v1/Systems/SystemAfterAddResourceAction/Storage/NVMe/Drives/Drive0" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock10/Drives/Block10Slot4" + } + ], + "@odata.id": "/redfish/v1/Systems/SystemAfterAddResourceAction/Storage/NVMe", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/Storage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/Storage/index.json new file mode 100644 index 00000000..f5d277ee --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/Storage/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#StorageCollection.StorageCollection", + "Name": "Storage Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/SystemAfterAddResourceAction/Storage/NVMe" + } + ], + "@odata.id": "/redfish/v1/Systems/SystemAfterAddResourceAction/Storage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/index.json new file mode 100644 index 00000000..9d9b5798 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterAddResourceAction/index.json @@ -0,0 +1,70 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "SystemAfterAddResourceAction", + "Name": "Sample Post Resource Block Registration Computer System", + "SystemType": "Physical", + "Composition": { + "UseCases": [ + "ExpandableSystem" + ] + }, + "Description": "This shows an example of an expandable system after you add it to the resource block collection for expandable composition.", + "UUID": "37596f04-b032-48ce-9bad-7d55a61fe579", + "HostName": "SystemAfterAddResourceAction", + "PowerState": "On", + "Boot": { + "BootSourceOverrideEnabled": "Once", + "BootSourceOverrideTarget": "Pxe", + "BootSourceOverrideTarget@Redfish.AllowableValues": [ + "None", + "Pxe", + "Usb", + "Hdd" + ] + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/SystemAfterAddResourceAction/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Systems/SystemAfterAddResourceAction/Memory" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Systems/SystemAfterAddResourceAction/EthernetInterfaces" + }, + "Storage": { + "@odata.id": "/redfish/v1/Systems/SystemAfterAddResourceAction/Storage" + }, + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SystemBlock12" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock10" + } + ] + }, + "Actions": { + "#ComputerSystem.Reset": { + "target": "/redfish/v1/Systems/SystemAfterAddResourceAction/Actions/ComputerSystem.Reset", + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "GracefulRestart", + "ForceRestart", + "Nmi", + "ForceOn", + "PushPowerButton" + ] + }, + "#ComputerSystem.AddResourceBlock": { + "target": "/redfish/v1/Systems/SystemAfterAddResourceAction/Actions/ComputerSystem.AddResourceBlock" + }, + "#ComputerSystem.RemoveResourceBlock": { + "target": "/redfish/v1/Systems/SystemAfterAddResourceAction/Actions/ComputerSystem.RemoveResourceBlock" + } + }, + "@odata.id": "/redfish/v1/Systems/SystemAfterAddResourceAction", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/EthernetInterfaces/SystemNIC/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/EthernetInterfaces/SystemNIC/index.json new file mode 100644 index 00000000..c37bcd8c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/EthernetInterfaces/SystemNIC/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "SystemNIC", + "Name": "Integrated Ethernet Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "AA:BB:CC:DD:EE:FD", + "MACAddress": "AA:BB:CC:DD:EE:FD", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "IPv4Addresses": [ + { + "Address": "192.168.70.80", + "SubnetMask": "255.255.255.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.70.1" + } + ], + "@odata.id": "/redfish/v1/Systems/SystemAfterResourceBlock/EthernetInterfaces/SystemNIC", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/EthernetInterfaces/index.json new file mode 100644 index 00000000..5b45ddcb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/EthernetInterfaces/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Interface Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/SystemAfterResourceBlock/EthernetInterfaces/SystemNIC" + } + ], + "@odata.id": "/redfish/v1/Systems/ComposedSystem/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/Memory/DIMM0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/Memory/DIMM0/index.json new file mode 100644 index 00000000..eae31619 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/Memory/DIMM0/index.json @@ -0,0 +1,23 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM0", + "Name": "DIMM Slot 0", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityMiB": 8192, + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "MemoryMedia": [ + "DRAM" + ], + "@odata.id": "/redfish/v1/Systems/SystemAfterResourceBlock/Memory/DIMM0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/Memory/index.json new file mode 100644 index 00000000..d84d979b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/Memory/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/SystemAfterResourceBlock/Memory/DIMM0" + } + ], + "@odata.id": "/redfish/v1/Systems/SystemAfterResourceBlock/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/Processors/CPU0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/Processors/CPU0/index.json new file mode 100644 index 00000000..66c1f6f2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/Processors/CPU0/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU0", + "Name": "Processor", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Multi-Core Intel(R) Xeon(R) processor 7xxx Series", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2000, + "TotalCores": 8, + "TotalThreads": 16, + "@odata.id": "/redfish/v1/Systems/SystemAfterResourceBlock/Processors/CPU0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/Processors/index.json new file mode 100644 index 00000000..a1bf00c0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/Processors/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processors Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/SystemAfterResourceBlock/Processors/CPU0" + } + ], + "@odata.id": "/redfish/v1/Systems/SystemAfterResourceBlock/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/Storage/NVMe/Drives/Drive0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/Storage/NVMe/Drives/Drive0/index.json new file mode 100644 index 00000000..dc737460 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/Storage/NVMe/Drives/Drive0/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "Drive0", + "Name": "NVMe Drive Slot 0", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 274877906944, + "Protocol": "NVMe", + "MediaType": "SSD", + "@odata.id": "/redfish/v1/Systems/SystemAfterResourceBlock/Storage/NVMe/Drives/Drive0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/Storage/NVMe/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/Storage/NVMe/index.json new file mode 100644 index 00000000..e47d62af --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/Storage/NVMe/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Id": "NVMe", + "Name": "NMVe Storage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Drives": [ + { + "@odata.id": "/redfish/v1/Systems/SystemAfterResourceBlock/Storage/NVMe/Drives/Drive0" + } + ], + "@odata.id": "/redfish/v1/Systems/SystemAfterResourceBlock/Storage/NVMe", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/Storage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/Storage/index.json new file mode 100644 index 00000000..f2a0ba7e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/Storage/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#StorageCollection.StorageCollection", + "Name": "Storage Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/SystemAfterResourceBlock/Storage/NVMe" + } + ], + "@odata.id": "/redfish/v1/Systems/SystemAfterResourceBlock/Storage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/index.json new file mode 100644 index 00000000..3ab58205 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemAfterResourceBlock/index.json @@ -0,0 +1,67 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "SystemAfterResourceBlock", + "Name": "Sample Post Resource Block Registration Computer System", + "SystemType": "Physical", + "Composition": { + "UseCases": [ + "ExpandableSystem" + ] + }, + "Description": "This shows an example of an expandable system after you add it to the resource block collection for expandable composition.", + "UUID": "37596f04-b032-48ce-9bad-7d55a61fe579", + "HostName": "SystemAfterResourceBlock", + "PowerState": "On", + "Boot": { + "BootSourceOverrideEnabled": "Once", + "BootSourceOverrideTarget": "Pxe", + "BootSourceOverrideTarget@Redfish.AllowableValues": [ + "None", + "Pxe", + "Usb", + "Hdd" + ] + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/SystemAfterResourceBlock/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Systems/SystemAfterResourceBlock/Memory" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Systems/SystemAfterResourceBlock/EthernetInterfaces" + }, + "Storage": { + "@odata.id": "/redfish/v1/Systems/SystemAfterResourceBlock/Storage" + }, + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SystemBlock11" + } + ] + }, + "Actions": { + "#ComputerSystem.Reset": { + "target": "/redfish/v1/Systems/SystemAfterResourceBlock/Actions/ComputerSystem.Reset", + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "GracefulRestart", + "ForceRestart", + "Nmi", + "ForceOn", + "PushPowerButton" + ] + }, + "#ComputerSystem.AddResourceBlock": { + "target": "/redfish/v1/Systems/SystemAfterResourceBlock/Actions/ComputerSystem.AddResourceBlock" + }, + "#ComputerSystem.RemoveResourceBlock": { + "target": "/redfish/v1/Systems/SystemAfterResourceBlock/Actions/ComputerSystem.RemoveResourceBlock" + } + }, + "@odata.id": "/redfish/v1/Systems/SystemAfterResourceBlock", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/EthernetInterfaces/SystemNIC/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/EthernetInterfaces/SystemNIC/index.json new file mode 100644 index 00000000..c37bcd8c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/EthernetInterfaces/SystemNIC/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "SystemNIC", + "Name": "Integrated Ethernet Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "AA:BB:CC:DD:EE:FD", + "MACAddress": "AA:BB:CC:DD:EE:FD", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "IPv4Addresses": [ + { + "Address": "192.168.70.80", + "SubnetMask": "255.255.255.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.70.1" + } + ], + "@odata.id": "/redfish/v1/Systems/SystemAfterResourceBlock/EthernetInterfaces/SystemNIC", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/EthernetInterfaces/index.json new file mode 100644 index 00000000..5b45ddcb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/EthernetInterfaces/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Interface Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/SystemAfterResourceBlock/EthernetInterfaces/SystemNIC" + } + ], + "@odata.id": "/redfish/v1/Systems/ComposedSystem/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/Memory/DIMM0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/Memory/DIMM0/index.json new file mode 100644 index 00000000..3797c267 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/Memory/DIMM0/index.json @@ -0,0 +1,23 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM0", + "Name": "DIMM Slot 0", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityMiB": 8192, + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "MemoryMedia": [ + "DRAM" + ], + "@odata.id": "/redfish/v1/Systems/SystemPreResourceBlock/Memory/DIMM0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/Memory/index.json new file mode 100644 index 00000000..02267fad --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/Memory/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/SystemPreResourceBlock/Memory/DIMM0" + } + ], + "@odata.id": "/redfish/v1/Systems/SystemPreResourceBlock/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/Processors/CPU0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/Processors/CPU0/index.json new file mode 100644 index 00000000..92cadaad --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/Processors/CPU0/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU0", + "Name": "Processor", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Multi-Core Intel(R) Xeon(R) processor 7xxx Series", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2000, + "TotalCores": 8, + "TotalThreads": 16, + "@odata.id": "/redfish/v1/Systems/SystemPreResourceBlock/Processors/CPU0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/Processors/index.json new file mode 100644 index 00000000..5690d14d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/Processors/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processors Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/SystemPreResourceBlock/Processors/CPU0" + } + ], + "@odata.id": "/redfish/v1/Systems/SystemPreResourceBlock/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/Storage/NVMe/Drives/Drive0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/Storage/NVMe/Drives/Drive0/index.json new file mode 100644 index 00000000..16106ba7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/Storage/NVMe/Drives/Drive0/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "Drive0", + "Name": "NVMe Drive Slot 0", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 274877906944, + "Protocol": "NVMe", + "MediaType": "SSD", + "@odata.id": "/redfish/v1/Systems/SystemPreResourceBlock/Storage/NVMe/Drives/Drive0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/Storage/NVMe/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/Storage/NVMe/index.json new file mode 100644 index 00000000..286a6e2b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/Storage/NVMe/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Id": "NVMe", + "Name": "NMVe Storage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Drives": [ + { + "@odata.id": "/redfish/v1/Systems/SystemPreResourceBlock/Storage/NVMe/Drives/Drive0" + } + ], + "@odata.id": "/redfish/v1/Systems/SystemPreResourceBlock/Storage/NVMe", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/Storage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/Storage/index.json new file mode 100644 index 00000000..0a6dfb4d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/Storage/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#StorageCollection.StorageCollection", + "Name": "Storage Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/SystemPreResourceBlock/Storage/NVMe" + } + ], + "@odata.id": "/redfish/v1/Systems/SystemPreResourceBlock/Storage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/index.json new file mode 100644 index 00000000..7bba2146 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/SystemPreResourceBlock/index.json @@ -0,0 +1,54 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "SystemPreResourceBlock", + "Name": "Sample Pre Resource Block Registration Computer System", + "SystemType": "Physical", + "Composition": { + "UseCases": [ + "ResourceBlockCapable" + ] + }, + "Description": "This shows an example of an expandable system before you add it to the resource block collection for expandable composition.", + "UUID": "37596f04-b032-48ce-9bad-7d55a61fe579", + "HostName": "SystemPreResourceBlock", + "PowerState": "On", + "Boot": { + "BootSourceOverrideEnabled": "Once", + "BootSourceOverrideTarget": "Pxe", + "BootSourceOverrideTarget@Redfish.AllowableValues": [ + "None", + "Pxe", + "Usb", + "Hdd" + ] + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/SystemPreResourceBlock/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Systems/SystemPreResourceBlock/Memory" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Systems/SystemPreResourceBlock/EthernetInterfaces" + }, + "Storage": { + "@odata.id": "/redfish/v1/Systems/SystemPreResourceBlock/Storage" + }, + "Actions": { + "#ComputerSystem.Reset": { + "target": "/redfish/v1/Systems/SystemPreResourceBlock/Actions/ComputerSystem.Reset", + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "GracefulRestart", + "ForceRestart", + "Nmi", + "ForceOn", + "PushPowerButton" + ] + } + }, + "@odata.id": "/redfish/v1/Systems/SystemPreResourceBlock", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/index.json new file mode 100644 index 00000000..a64ce49f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/Systems/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#ComputerSystemCollection.ComputerSystemCollection", + "Name": "Computer System Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/ComposedSystem" + }, + { + "@odata.id": "/redfish/v1/Systems/ComposedSystem2" + }, + { + "@odata.id": "/redfish/v1/Systems/SystemPreResourceBlock" + }, + { + "@odata.id": "/redfish/v1/Systems/SystemAfterResourceBlock" + }, + { + "@odata.id": "/redfish/v1/Systems/SystemAfterAddResourceAction" + } + ], + "@Redfish.CollectionCapabilities": { + "@odata.type": "#CollectionCapabilities.v1_4_1.CollectionCapabilities", + "Capabilities": [ + { + "CapabilitiesObject": { + "@odata.id": "/redfish/v1/Systems/Capabilities" + }, + "UseCase": "ComputerSystemComposition", + "Links": { + "TargetCollection": { + "@odata.id": "/redfish/v1/Systems" + }, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/2" + } + ] + } + } + ] + }, + "@odata.id": "/redfish/v1/Systems", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/explorer_config.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/explorer_config.json new file mode 100644 index 00000000..b7b1eb7a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/explorer_config.json @@ -0,0 +1,80 @@ +{ + "name": "Composable System via Specific Compositions", + "description": "This example shows a service with various sets of disaggregated hardware as resources. It provides an example two composed systems utilizing some of the disaggregated hardware. It also shows how Resource Zones can provide information about binding restrictions. It also shows how to express composition requests using the specific composition format.", + "navlinks": [ + { + "text": "Main", + "target": "main" + }, + { + "text": "Systems", + "target": "Systems", + "navlinks": [ + { + "text": "Composed System", + "target": "ComposedSystem" + }, + { + "text": "Composed System 2", + "target": "ComposedSystem2" + } + ] + }, + { + "text": "Chassis", + "target": "Chassis", + "navlinks": [ + { + "text": "Composable Enclosure", + "target": "ComposableEnclosure" + }, + { + "text": "Composable Module 1", + "target": "ComposableModule1" + }, + { + "text": "Composable Module 2", + "target": "ComposableModule2" + }, + { + "text": "Composable Module 3", + "target": "ComposableModule3" + }, + { + "text": "Composable Module 4", + "target": "ComposableModule4" + }, + { + "text": "Composable Module 5", + "target": "ComposableModule5" + }, + { + "text": "Composable Module 6", + "target": "ComposableModule6" + } + ] + }, + { + "text": "Composition Service", + "target": "CompositionService" + }, + { + "text": "Managers", + "target": "Managers", + "navlinks": [ + { + "text": "1", + "target": "1" + } + ] + }, + { + "text": "Session Service", + "target": "SessionService" + }, + { + "text": "Account Service", + "target": "AccountService" + } + ] +} diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/index.json new file mode 100644 index 00000000..bc8e5d58 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#ServiceRoot.v1_22_0.ServiceRoot", + "Id": "RootService", + "Name": "Root Service", + "RedfishVersion": "1.15.0", + "ProtocolFeaturesSupported": { + "ExpandQuery": { + "ExpandAll": true, + "Levels": true, + "MaxLevels": 6, + "Links": true, + "NoLinks": true + }, + "SelectQuery": false, + "FilterQuery": false, + "OnlyMemberQuery": true, + "ExcerptQuery": true + }, + "UUID": "92384634-2938-2342-8820-489239905423", + "Systems": { + "@odata.id": "/redfish/v1/Systems" + }, + "Chassis": { + "@odata.id": "/redfish/v1/Chassis" + }, + "Managers": { + "@odata.id": "/redfish/v1/Managers" + }, + "SessionService": { + "@odata.id": "/redfish/v1/SessionService" + }, + "AccountService": { + "@odata.id": "/redfish/v1/AccountService" + }, + "CompositionService": { + "@odata.id": "/redfish/v1/CompositionService" + }, + "Links": { + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + } + }, + "@odata.id": "/redfish/v1/", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-composability/odata/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-composability/odata/index.json new file mode 100644 index 00000000..2de178cb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-composability/odata/index.json @@ -0,0 +1,46 @@ +{ + "@odata.context": "/redfish/v1/$metadata", + "value": [ + { + "name": "Service", + "kind": "Singleton", + "url": "/redfish/v1/" + }, + { + "name": "Systems", + "kind": "Singleton", + "url": "/redfish/v1/Systems" + }, + { + "name": "Chassis", + "kind": "Singleton", + "url": "/redfish/v1/Chassis" + }, + { + "name": "Managers", + "kind": "Singleton", + "url": "/redfish/v1/Managers" + }, + { + "name": "AccountService", + "kind": "Singleton", + "url": "/redfish/v1/AccountService" + }, + { + "name": "SessionService", + "kind": "Singleton", + "url": "/redfish/v1/SessionService" + }, + { + "name": "CompositionService", + "kind": "Singleton", + "url": "/redfish/v1/CompositionService" + }, + { + "name": "Sessions", + "kind": "Singleton", + "url": "/redfish/v1/SessionService/Sessions" + } + ], + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/$metadata/index.xml b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/$metadata/index.xml new file mode 100644 index 00000000..92498efd --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/$metadata/index.xml @@ -0,0 +1,174 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/AccountService/Accounts/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/AccountService/Accounts/1/index.json new file mode 100644 index 00000000..781c45c6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/AccountService/Accounts/1/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#ManagerAccount.v1_14_2.ManagerAccount", + "Id": "1", + "Name": "User Account", + "Description": "User Account", + "Enabled": true, + "Password": null, + "PasswordChangeRequired": false, + "AccountTypes": [ + "Redfish" + ], + "UserName": "Administrator", + "RoleId": "Administrator", + "Locked": false, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + } + }, + "@odata.id": "/redfish/v1/AccountService/Accounts/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/AccountService/Accounts/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/AccountService/Accounts/index.json new file mode 100644 index 00000000..f509d474 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/AccountService/Accounts/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerAccountCollection.ManagerAccountCollection", + "Name": "Accounts Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Accounts/1" + } + ], + "@odata.id": "/redfish/v1/AccountService/Accounts", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/AccountService/Roles/Administrator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/AccountService/Roles/Administrator/index.json new file mode 100644 index 00000000..19d26a98 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/AccountService/Roles/Administrator/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Administrator", + "Name": "User Role", + "Description": "Admin User Role", + "RoleId": "Administrator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureManager", + "ConfigureUsers", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [ + "OemClearLog", + "OemPowerControl" + ], + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/AccountService/Roles/Operator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/AccountService/Roles/Operator/index.json new file mode 100644 index 00000000..90804a6a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/AccountService/Roles/Operator/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Operator", + "Name": "User Role", + "Description": "Operator User Role", + "RoleId": "Operator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/Operator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/AccountService/Roles/ReadOnly/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/AccountService/Roles/ReadOnly/index.json new file mode 100644 index 00000000..1df0cf03 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/AccountService/Roles/ReadOnly/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "ReadOnly", + "Name": "User Role", + "Description": "ReadOnly User Role", + "RoleId": "ReadOnly", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/AccountService/Roles/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/AccountService/Roles/index.json new file mode 100644 index 00000000..ba9ee112 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/AccountService/Roles/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#RoleCollection.RoleCollection", + "Name": "Roles Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/Operator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly" + } + ], + "@odata.id": "/redfish/v1/AccountService/Roles", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/AccountService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/AccountService/index.json new file mode 100644 index 00000000..adf93276 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/AccountService/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#AccountService.v1_19_0.AccountService", + "Id": "AccountService", + "Name": "Account Service", + "Description": "Account Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "AuthFailureLoggingThreshold": 3, + "MinPasswordLength": 8, + "AccountLockoutThreshold": 5, + "AccountLockoutDuration": 30, + "AccountLockoutCounterResetAfter": 30, + "Accounts": { + "@odata.id": "/redfish/v1/AccountService/Accounts" + }, + "Roles": { + "@odata.id": "/redfish/v1/AccountService/Roles" + }, + "@odata.id": "/redfish/v1/AccountService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/BladeServer-1/Power/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/BladeServer-1/Power/index.json new file mode 100644 index 00000000..a7a3cbaf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/BladeServer-1/Power/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Power.v1_7_3.Power", + "Id": "Power", + "Description": "Chassis Power", + "Name": "Power", + "PowerControl": [ + { + "@odata.id": "/redfish/v1/Chassis/BladeServer-1/Power#/PowerControl/0", + "MemberId": "0", + "Name": "System Power Control", + "PowerConsumedWatts": 559, + "PowerRequestedWatts": 0, + "PowerAvailableWatts": 0, + "PowerCapacityWatts": 0, + "PowerAllocatedWatts": 0, + "PowerMetrics": { + "IntervalInMin": 0, + "MinConsumedWatts": 0, + "MaxConsumedWatts": 0, + "AverageConsumedWatts": 0 + }, + "PowerLimit": { + "LimitInWatts": null, + "LimitException": "NoAction", + "CorrectionInMs": 0 + }, + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + }, + "RelatedItem": [] + } + ], + "Voltages": [], + "PowerSupplies": [], + "Redundancy": [], + "@odata.id": "/redfish/v1/Chassis/BladeServer-1/Power", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/BladeServer-1/Thermal/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/BladeServer-1/Thermal/index.json new file mode 100644 index 00000000..f54c5427 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/BladeServer-1/Thermal/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Thermal.v1_7_3.Thermal", + "Id": "Thermal", + "Description": "Chassis Thermal Information", + "Name": "Thermal", + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + }, + "Temperatures": [], + "Fans": [], + "Redundancy": [], + "@odata.id": "/redfish/v1/Chassis/BladeServer-1/Thermal", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/BladeServer-1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/BladeServer-1/index.json new file mode 100644 index 00000000..19a5cdfd --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/BladeServer-1/index.json @@ -0,0 +1,51 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "BladeServer-1", + "Description": "Represents the properties for physical components for any system.", + "Name": "Compute Sled-1", + "ChassisType": "Blade", + "Manufacturer": "Contoso", + "Model": "Vendor BladeServer", + "SKU": "PFSTN11", + "SerialNumber": "CNFCP007BE00IT", + "PartNumber": "0177V9X30", + "AssetTag": "AssetTag-1", + "IndicatorLED": "Unknown", + "Actions": { + "Oem": { + "#VendorChassis.VirtualReseat": { + "target": "/redfish/v1/Chassis/BladeServer-1/Actions/Oem/VendorChassis.VirtualReseat" + } + }, + "#Chassis.Reset": { + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "PowerCycle" + ], + "target": "/redfish/v1/Chassis/BladeServer-1/Actions/Chassis.Reset" + } + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/BladeServer-1/Thermal" + }, + "Power": { + "@odata.id": "/redfish/v1/Chassis/BladeServer-1/Power" + }, + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SASSled-1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/BladeServer-1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/BladeServer-2/Power/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/BladeServer-2/Power/index.json new file mode 100644 index 00000000..a51d1fc0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/BladeServer-2/Power/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Power.v1_7_3.Power", + "Id": "Power", + "Description": "Chassis Power", + "Name": "Power", + "PowerControl": [ + { + "@odata.id": "/redfish/v1/Chassis/BladeServer-2/Power#/PowerControl/0", + "MemberId": "0", + "Name": "System Power Control", + "PowerConsumedWatts": 559, + "PowerRequestedWatts": 0, + "PowerAvailableWatts": 0, + "PowerCapacityWatts": 0, + "PowerAllocatedWatts": 0, + "PowerMetrics": { + "IntervalInMin": 0, + "MinConsumedWatts": 0, + "MaxConsumedWatts": 0, + "AverageConsumedWatts": 0 + }, + "PowerLimit": { + "LimitInWatts": null, + "LimitException": "NoAction", + "CorrectionInMs": 0 + }, + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + }, + "RelatedItem": [] + } + ], + "Voltages": [], + "PowerSupplies": [], + "Redundancy": [], + "@odata.id": "/redfish/v1/Chassis/BladeServer-2/Power", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/BladeServer-2/Thermal/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/BladeServer-2/Thermal/index.json new file mode 100644 index 00000000..917ca48d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/BladeServer-2/Thermal/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Thermal.v1_7_3.Thermal", + "Id": "Thermal", + "Description": "Chassis Thermal Information", + "Name": "Thermal", + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + }, + "Temperatures": [], + "Fans": [], + "Redundancy": [], + "@odata.id": "/redfish/v1/Chassis/BladeServer-2/Thermal", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/BladeServer-2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/BladeServer-2/index.json new file mode 100644 index 00000000..3fca70da --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/BladeServer-2/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "BladeServer-2", + "Description": "Represents the properties for physical components for any system.", + "Name": "Compute Sled-1", + "ChassisType": "Blade", + "Manufacturer": "Contoso", + "Model": "Vendor BladeServer", + "SKU": "PFSTN12", + "SerialNumber": "CNFCP007BE00IT", + "PartNumber": "0177V9X30", + "AssetTag": "AssetTag-1", + "IndicatorLED": "Unknown", + "Actions": { + "Oem": { + "#VendorChassis.VirtualReseat": { + "target": "/redfish/v1/Chassis/BladeServer-2/Actions/Oem/VendorChassis.VirtualReseat" + } + }, + "#Chassis.Reset": { + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "PowerCycle" + ], + "target": "/redfish/v1/Chassis/BladeServer-2/Actions/Chassis.Reset" + } + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/BladeServer-2/Thermal" + }, + "Power": { + "@odata.id": "/redfish/v1/Chassis/BladeServer-2/Power" + }, + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-2" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/BladeServer-2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/BladeServer-3/Power/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/BladeServer-3/Power/index.json new file mode 100644 index 00000000..90fa24fc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/BladeServer-3/Power/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Power.v1_7_3.Power", + "Id": "Power", + "Description": "Chassis Power", + "Name": "Power", + "PowerControl": [ + { + "@odata.id": "/redfish/v1/Chassis/BladeServer-3/Power#/PowerControl/0", + "MemberId": "0", + "Name": "System Power Control", + "PowerConsumedWatts": 559, + "PowerRequestedWatts": 0, + "PowerAvailableWatts": 0, + "PowerCapacityWatts": 0, + "PowerAllocatedWatts": 0, + "PowerMetrics": { + "IntervalInMin": 0, + "MinConsumedWatts": 0, + "MaxConsumedWatts": 0, + "AverageConsumedWatts": 0 + }, + "PowerLimit": { + "LimitInWatts": null, + "LimitException": "NoAction", + "CorrectionInMs": 0 + }, + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + }, + "RelatedItem": [] + } + ], + "Voltages": [], + "PowerSupplies": [], + "Redundancy": [], + "@odata.id": "/redfish/v1/Chassis/BladeServer-3/Power", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/BladeServer-3/Thermal/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/BladeServer-3/Thermal/index.json new file mode 100644 index 00000000..5349eb94 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/BladeServer-3/Thermal/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Thermal.v1_7_3.Thermal", + "Id": "Thermal", + "Description": "Chassis Thermal Information", + "Name": "Thermal", + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + }, + "Temperatures": [], + "Fans": [], + "Redundancy": [], + "@odata.id": "/redfish/v1/Chassis/BladeServer-3/Thermal", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/BladeServer-3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/BladeServer-3/index.json new file mode 100644 index 00000000..44a03422 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/BladeServer-3/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "BladeServer-3", + "Description": "Represents the properties for physical components for any system.", + "Name": "Compute Sled-1", + "ChassisType": "Blade", + "Manufacturer": "Contoso", + "Model": "Vendor BladeServer", + "SKU": "PFSTN13", + "SerialNumber": "CNFCP007BE00IT", + "PartNumber": "0177V9X30", + "AssetTag": "AssetTag-1", + "IndicatorLED": "Unknown", + "Actions": { + "Oem": { + "#VendorChassis.VirtualReseat": { + "target": "/redfish/v1/Chassis/BladeServer-3/Actions/Oem/VendorChassis.VirtualReseat" + } + }, + "#Chassis.Reset": { + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "PowerCycle" + ], + "target": "/redfish/v1/Chassis/BladeServer-3/Actions/Chassis.Reset" + } + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/BladeServer-3/Thermal" + }, + "Power": { + "@odata.id": "/redfish/v1/Chassis/BladeServer-3/Power" + }, + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-3" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/BladeServer-3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/FabricEngine/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/FabricEngine/index.json new file mode 100644 index 00000000..e5731829 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/FabricEngine/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "FabricEngine", + "Name": "IOM-A1", + "ChassisType": "Component", + "Manufacturer": "Contoso", + "Model": "Fabric Engine", + "SerialNumber": "A2345", + "PartNumber": "12345", + "AssetTag": "ATAG2345", + "IndicatorLED": "Off", + "Links": { + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/1" + } + ] + }, + "Actions": { + "#Chassis.Reset": { + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "PowerCycle" + ], + "target": "/redfish/v1/Chassis/FabricEngine/Actions/Chassis.Reset" + } + }, + "@odata.id": "/redfish/v1/Chassis/FabricEngine", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/IOM-1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/IOM-1/index.json new file mode 100644 index 00000000..3b5e4f0a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/IOM-1/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "IOM-1", + "Name": "IOM-C1", + "ChassisType": "Other", + "Manufacturer": "Contoso", + "Model": "Vendor IOM", + "SerialNumber": "A2345", + "PartNumber": "12345", + "AssetTag": "ATAG2345", + "IndicatorLED": "Off", + "Links": { + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/1" + } + ] + }, + "Actions": { + "#Chassis.Reset": { + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "PowerCycle" + ], + "target": "/redfish/v1/Chassis/IOM-1/Actions/Chassis.Reset" + } + }, + "@odata.id": "/redfish/v1/Chassis/IOM-1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/IOM-2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/IOM-2/index.json new file mode 100644 index 00000000..23a22006 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/IOM-2/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "IOM-2", + "Name": "IOM-C2", + "ChassisType": "Other", + "Manufacturer": "Contoso", + "Model": "Vendor IOM", + "SerialNumber": "A2345", + "PartNumber": "12345", + "AssetTag": "ATAG2345", + "IndicatorLED": "Off", + "Links": { + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/1" + } + ] + }, + "Actions": { + "#Chassis.Reset": { + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "PowerCycle" + ], + "target": "/redfish/v1/Chassis/IOM-2/Actions/Chassis.Reset" + } + }, + "@odata.id": "/redfish/v1/Chassis/IOM-2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-1/Power/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-1/Power/index.json new file mode 100644 index 00000000..b26807d8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-1/Power/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Power.v1_7_3.Power", + "Id": "Power", + "Description": "Chassis Power", + "Name": "Power", + "PowerControl": [ + { + "@odata.id": "/redfish/v1/Chassis/RackServer-1/Power#/PowerControl/0", + "MemberId": "0", + "Name": "System Power Control", + "PowerConsumedWatts": 559, + "PowerRequestedWatts": 0, + "PowerAvailableWatts": 0, + "PowerCapacityWatts": 0, + "PowerAllocatedWatts": 0, + "PowerMetrics": { + "IntervalInMin": 0, + "MinConsumedWatts": 0, + "MaxConsumedWatts": 0, + "AverageConsumedWatts": 0 + }, + "PowerLimit": { + "LimitInWatts": null, + "LimitException": "NoAction", + "CorrectionInMs": 0 + }, + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + }, + "RelatedItem": [] + } + ], + "Voltages": [], + "PowerSupplies": [], + "Redundancy": [], + "@odata.id": "/redfish/v1/Chassis/RackServer-1/Power", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-1/Thermal/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-1/Thermal/index.json new file mode 100644 index 00000000..1a8f8367 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-1/Thermal/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Thermal.v1_7_3.Thermal", + "Id": "Thermal", + "Description": "Chassis Thermal Information", + "Name": "Thermal", + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + }, + "Temperatures": [], + "Fans": [], + "Redundancy": [], + "@odata.id": "/redfish/v1/Chassis/RackServer-1/Thermal", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-1/index.json new file mode 100644 index 00000000..cf0bb9d2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-1/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "RackServer-1", + "Description": "Represents the properties for physical components for any system.", + "Name": "RackServer-1 Chassis", + "ChassisType": "RackMount", + "Manufacturer": "Contoso", + "Model": "Vendor RackServer", + "SKU": "PFSTN31", + "SerialNumber": "CNFCP006BE00IT", + "PartNumber": "0177V3X30", + "AssetTag": "AssetTag-6", + "IndicatorLED": "Unknown", + "Actions": { + "#Chassis.Reset": { + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "PowerCycle" + ], + "target": "/redfish/v1/Chassis/RackServer-1/Actions/Chassis.Reset" + } + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/RackServer-1/Thermal" + }, + "Power": { + "@odata.id": "/redfish/v1/Chassis/RackServer-1/Power" + }, + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/RackServer-1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-2/Power/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-2/Power/index.json new file mode 100644 index 00000000..fb36e994 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-2/Power/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Power.v1_7_3.Power", + "Id": "Power", + "Description": "Chassis Power", + "Name": "Power", + "PowerControl": [ + { + "@odata.id": "/redfish/v1/Chassis/RackServer-2/Power#/PowerControl/0", + "MemberId": "0", + "Name": "System Power Control", + "PowerConsumedWatts": 559, + "PowerRequestedWatts": 0, + "PowerAvailableWatts": 0, + "PowerCapacityWatts": 0, + "PowerAllocatedWatts": 0, + "PowerMetrics": { + "IntervalInMin": 0, + "MinConsumedWatts": 0, + "MaxConsumedWatts": 0, + "AverageConsumedWatts": 0 + }, + "PowerLimit": { + "LimitInWatts": null, + "LimitException": "NoAction", + "CorrectionInMs": 0 + }, + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + }, + "RelatedItem": [] + } + ], + "Voltages": [], + "PowerSupplies": [], + "Redundancy": [], + "@odata.id": "/redfish/v1/Chassis/RackServer-2/Power", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-2/Thermal/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-2/Thermal/index.json new file mode 100644 index 00000000..9972574d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-2/Thermal/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Thermal.v1_7_3.Thermal", + "Id": "Thermal", + "Description": "Chassis Thermal Information", + "Name": "Thermal", + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + }, + "Temperatures": [], + "Fans": [], + "Redundancy": [], + "@odata.id": "/redfish/v1/Chassis/RackServer-2/Thermal", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-2/index.json new file mode 100644 index 00000000..9abab15e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-2/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "RackServer-2", + "Description": "Represents the properties for physical components for any system.", + "Name": "RackServer-2 Chassis", + "ChassisType": "RackMount", + "Manufacturer": "Contoso", + "Model": "Vendor RackServer", + "SKU": "PFSTN32", + "SerialNumber": "CNFCP006BE00IT", + "PartNumber": "0177V3X30", + "AssetTag": "AssetTag-6", + "IndicatorLED": "Unknown", + "Actions": { + "#Chassis.Reset": { + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "PowerCycle" + ], + "target": "/redfish/v1/Chassis/RackServer-2/Actions/Chassis.Reset" + } + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/RackServer-2/Thermal" + }, + "Power": { + "@odata.id": "/redfish/v1/Chassis/RackServer-2/Power" + }, + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-2" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/RackServer-2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-3/Power/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-3/Power/index.json new file mode 100644 index 00000000..4e94fa0f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-3/Power/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Power.v1_7_3.Power", + "Id": "Power", + "Description": "Chassis Power", + "Name": "Power", + "PowerControl": [ + { + "@odata.id": "/redfish/v1/Chassis/RackServer-3/Power#/PowerControl/0", + "MemberId": "0", + "Name": "System Power Control", + "PowerConsumedWatts": 559, + "PowerRequestedWatts": 0, + "PowerAvailableWatts": 0, + "PowerCapacityWatts": 0, + "PowerAllocatedWatts": 0, + "PowerMetrics": { + "IntervalInMin": 0, + "MinConsumedWatts": 0, + "MaxConsumedWatts": 0, + "AverageConsumedWatts": 0 + }, + "PowerLimit": { + "LimitInWatts": null, + "LimitException": "NoAction", + "CorrectionInMs": 0 + }, + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + }, + "RelatedItem": [] + } + ], + "Voltages": [], + "PowerSupplies": [], + "Redundancy": [], + "@odata.id": "/redfish/v1/Chassis/RackServer-3/Power", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-3/Thermal/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-3/Thermal/index.json new file mode 100644 index 00000000..2bdd71a4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-3/Thermal/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Thermal.v1_7_3.Thermal", + "Id": "Thermal", + "Description": "Chassis Thermal Information", + "Name": "Thermal", + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + }, + "Temperatures": [], + "Fans": [], + "Redundancy": [], + "@odata.id": "/redfish/v1/Chassis/RackServer-3/Thermal", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-3/index.json new file mode 100644 index 00000000..41a5beef --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-3/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "RackServer-3", + "Description": "Represents the properties for physical components for any system.", + "Name": "RackServer-3 Chassis", + "ChassisType": "RackMount", + "Manufacturer": "Contoso", + "Model": "Vendor RackServer", + "SKU": "PFSTN33", + "SerialNumber": "CNFCP006BE00IT", + "PartNumber": "0177V3X30", + "AssetTag": "AssetTag-6", + "IndicatorLED": "Unknown", + "Actions": { + "#Chassis.Reset": { + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "PowerCycle" + ], + "target": "/redfish/v1/Chassis/RackServer-3/Actions/Chassis.Reset" + } + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/RackServer-3/Thermal" + }, + "Power": { + "@odata.id": "/redfish/v1/Chassis/RackServer-3/Power" + }, + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/Appliance" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/RackServer-3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-4/Power/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-4/Power/index.json new file mode 100644 index 00000000..c7c06a80 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-4/Power/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Power.v1_7_3.Power", + "Id": "Power", + "Description": "Chassis Power", + "Name": "Power", + "PowerControl": [ + { + "@odata.id": "/redfish/v1/Chassis/RackServer-4/Power#/PowerControl/0", + "MemberId": "0", + "Name": "System Power Control", + "PowerConsumedWatts": 559, + "PowerRequestedWatts": 0, + "PowerAvailableWatts": 0, + "PowerCapacityWatts": 0, + "PowerAllocatedWatts": 0, + "PowerMetrics": { + "IntervalInMin": 0, + "MinConsumedWatts": 0, + "MaxConsumedWatts": 0, + "AverageConsumedWatts": 0 + }, + "PowerLimit": { + "LimitInWatts": null, + "LimitException": "NoAction", + "CorrectionInMs": 0 + }, + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + }, + "RelatedItem": [] + } + ], + "Voltages": [], + "PowerSupplies": [], + "Redundancy": [], + "@odata.id": "/redfish/v1/Chassis/RackServer-4/Power", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-4/Thermal/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-4/Thermal/index.json new file mode 100644 index 00000000..a2d2b81f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-4/Thermal/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Thermal.v1_7_3.Thermal", + "Id": "Thermal", + "Description": "Chassis Thermal Information", + "Name": "Thermal", + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + }, + "Temperatures": [], + "Fans": [], + "Redundancy": [], + "@odata.id": "/redfish/v1/Chassis/RackServer-4/Thermal", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-4/index.json new file mode 100644 index 00000000..c7a99c4d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-4/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "RackServer-4", + "Description": "Represents the properties for physical components for any system.", + "Name": "RackServer-4 Chassis", + "ChassisType": "RackMount", + "Manufacturer": "Contoso", + "Model": "Vendor RackServer", + "SKU": "PFSTN21", + "SerialNumber": "CNFCP006BE00IT", + "PartNumber": "0177V3X30", + "AssetTag": "AssetTag-6", + "IndicatorLED": "Unknown", + "Actions": { + "#Chassis.Reset": { + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "PowerCycle" + ], + "target": "/redfish/v1/Chassis/RackServer-4/Actions/Chassis.Reset" + } + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/RackServer-4/Thermal" + }, + "Power": { + "@odata.id": "/redfish/v1/Chassis/RackServer-4/Power" + }, + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-4" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/RackServer-4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-5/Power/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-5/Power/index.json new file mode 100644 index 00000000..cb09e004 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-5/Power/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Power.v1_7_3.Power", + "Id": "Power", + "Description": "Chassis Power", + "Name": "Power", + "PowerControl": [ + { + "@odata.id": "/redfish/v1/Chassis/RackServer-5/Power#/PowerControl/0", + "MemberId": "0", + "Name": "System Power Control", + "PowerConsumedWatts": 559, + "PowerRequestedWatts": 0, + "PowerAvailableWatts": 0, + "PowerCapacityWatts": 0, + "PowerAllocatedWatts": 0, + "PowerMetrics": { + "IntervalInMin": 0, + "MinConsumedWatts": 0, + "MaxConsumedWatts": 0, + "AverageConsumedWatts": 0 + }, + "PowerLimit": { + "LimitInWatts": null, + "LimitException": "NoAction", + "CorrectionInMs": 0 + }, + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + }, + "RelatedItem": [] + } + ], + "Voltages": [], + "PowerSupplies": [], + "Redundancy": [], + "@odata.id": "/redfish/v1/Chassis/RackServer-5/Power", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-5/Thermal/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-5/Thermal/index.json new file mode 100644 index 00000000..33eacf93 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-5/Thermal/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Thermal.v1_7_3.Thermal", + "Id": "Thermal", + "Description": "Chassis Thermal Information", + "Name": "Thermal", + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + }, + "Temperatures": [], + "Fans": [], + "Redundancy": [], + "@odata.id": "/redfish/v1/Chassis/RackServer-5/Thermal", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-5/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-5/index.json new file mode 100644 index 00000000..cf84b5fb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/RackServer-5/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "RackServer-5", + "Description": "Represents the properties for physical components for any system.", + "Name": "RackServer-5 Chassis", + "ChassisType": "RackMount", + "Manufacturer": "Contoso", + "Model": "Vendor RackServer", + "SKU": "PFSTN22", + "SerialNumber": "CNFCP006BE00IT", + "PartNumber": "0177V3X30", + "AssetTag": "AssetTag-6", + "IndicatorLED": "Unknown", + "Actions": { + "#Chassis.Reset": { + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "PowerCycle" + ], + "target": "/redfish/v1/Chassis/RackServer-5/Actions/Chassis.Reset" + } + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/RackServer-5/Thermal" + }, + "Power": { + "@odata.id": "/redfish/v1/Chassis/RackServer-5/Power" + }, + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-5" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/RackServer-5", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/StorageSled-1/Drives/611/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/StorageSled-1/Drives/611/index.json new file mode 100644 index 00000000..e947a97f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/StorageSled-1/Drives/611/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "BlockSizeBytes": 512, + "CapableSpeedGbs": 12, + "CapacityBytes": 299999999488, + "Description": "Physical Disk 4:0", + "EncryptionAbility": "None", + "EncryptionStatus": "Unencrypted", + "FailurePredicted": false, + "HotspareType": "None", + "Id": "611", + "Identifiers": [ + { + "DurableName": "50000397D83963F7", + "DurableNameFormat": "NAA" + } + ], + "Location": [], + "Manufacturer": "Contoso", + "MediaType": "HDD", + "Model": "AL14SEB030NY", + "Name": "Physical Disk 4:0", + "NegotiatedSpeedGbs": 12, + "PartNumber": "PH0FF02RTB20076O02BIA00", + "PredictedMediaLifeLeftPercent": 0, + "Protocol": "SAS", + "Revision": "EA01", + "RotationSpeedRPM": 10000, + "SerialNumber": "67N0A0FHFL5E", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "@odata.id": "/redfish/v1/Chassis/StorageSled-1/Drives/611", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/StorageSled-1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/StorageSled-1/index.json new file mode 100644 index 00000000..f64fdd84 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/StorageSled-1/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "StorageSled-1", + "Description": "Chasiss represenation of Storage Sled", + "Name": "Storage Sled 1", + "ChassisType": "Sled", + "Manufacturer": "Contoso", + "Model": "Vendor Storage Sled", + "SKU": "ABC123AB", + "SerialNumber": "CNFACADR", + "PartNumber": "0GFADADA", + "AssetTag": "ATAG2345", + "IndicatorLED": "Off", + "Actions": { + "#Chassis.Reset": { + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "PowerCycle" + ], + "target": "/redfish/v1/Chassis/StorageSled-1/Actions/Chassis.Reset" + } + }, + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SASSled-1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SASSled-2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SASSled-3" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/StorageSled-1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/index.json new file mode 100644 index 00000000..6b9718f5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Chassis/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#ChassisCollection.ChassisCollection", + "Name": "Chassis Collection", + "Members@odata.count": 12, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/BladeServer-1" + }, + { + "@odata.id": "/redfish/v1/Chassis/BladeServer-2" + }, + { + "@odata.id": "/redfish/v1/Chassis/BladeServer-3" + }, + { + "@odata.id": "/redfish/v1/Chassis/FabricEngine" + }, + { + "@odata.id": "/redfish/v1/Chassis/IOM-1" + }, + { + "@odata.id": "/redfish/v1/Chassis/IOM-2" + }, + { + "@odata.id": "/redfish/v1/Chassis/RackServer-1" + }, + { + "@odata.id": "/redfish/v1/Chassis/RackServer-2" + }, + { + "@odata.id": "/redfish/v1/Chassis/RackServer-3" + }, + { + "@odata.id": "/redfish/v1/Chassis/RackServer-4" + }, + { + "@odata.id": "/redfish/v1/Chassis/RackServer-5" + }, + { + "@odata.id": "/redfish/v1/Chassis/StorageSled-1" + } + ], + "@odata.id": "/redfish/v1/Chassis", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ActivePool/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ActivePool/index.json new file mode 100644 index 00000000..b241b6a1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ActivePool/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#ResourceBlockCollection.ResourceBlockCollection", + "Name": "Active Pool Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SASSled-1" + } + ], + "@odata.id": "/redfish/v1/CompositionService/ActivePool", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ComposeActionInfo/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ComposeActionInfo/index.json new file mode 100644 index 00000000..c936c833 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ComposeActionInfo/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#ActionInfo.v1_6_0.ActionInfo", + "Id": "ComposeActionInfo", + "Name": "Compose Action Info", + "Parameters": [ + { + "Name": "Manifest", + "Required": false, + "DataType": "Object" + }, + { + "Name": "RequestFormat", + "Required": false, + "DataType": "String", + "AllowableValues": [ + "Manifest" + ] + }, + { + "Name": "RequestType", + "Required": true, + "DataType": "String", + "AllowableValues": [ + "Preview", + "PreviewReserve", + "Apply" + ] + }, + { + "Name": "ReservationId", + "Required": false, + "DataType": "String" + } + ], + "@odata.id": "/redfish/v1/CompositionService/ComposeActionInfo", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/CompositionReservations/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/CompositionReservations/1/index.json new file mode 100644 index 00000000..824b7e07 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/CompositionReservations/1/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#CompositionReservation.v1_0_2.CompositionReservation", + "Id": "1", + "Name": "Composition Reservation 1", + "ReservationTime": "2019-08-22T10:35:16+06:00", + "Client": "VCF1001", + "ReservedResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-2" + } + ], + "Manifest": { + "Description": "Description for this Manifest document.", + "Timestamp": "2019-08-22T10:35:16+06:00", + "Expand": "None", + "Stanzas": [ + { + "StanzaType": "ComposeSystem", + "StanzaId": "Compute1", + "Request": { + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-2" + } + ] + } + } + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/CompositionReservations/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/CompositionReservations/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/CompositionReservations/index.json new file mode 100644 index 00000000..476cf92c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/CompositionReservations/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#CompositionReservationCollection.CompositionReservationCollection", + "Name": "Composition Reservation Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/CompositionReservations/1" + } + ], + "@odata.id": "/redfish/v1/CompositionService/CompositionReservations", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/FreePool/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/FreePool/index.json new file mode 100644 index 00000000..c648b200 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/FreePool/index.json @@ -0,0 +1,42 @@ +{ + "@odata.type": "#ResourceBlockCollection.ResourceBlockCollection", + "Name": "Free Pool Collection", + "Members@odata.count": 11, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-3" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-4" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-5" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-3" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SASSled-2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SASSled-3" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/Appliance" + } + ], + "@odata.id": "/redfish/v1/CompositionService/FreePool", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/Appliance/Memory/Appliance-DIMM1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/Appliance/Memory/Appliance-DIMM1/index.json new file mode 100644 index 00000000..31d7b340 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/Appliance/Memory/Appliance-DIMM1/index.json @@ -0,0 +1,23 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "Appliance-DIMM1", + "Name": "DIMM Slot 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityMiB": 8192, + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "MemoryMedia": [ + "DRAM" + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/Appliance/Memory/Appliance-DIMM1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/Appliance/Processors/Appliance-CPU1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/Appliance/Processors/Appliance-CPU1/index.json new file mode 100644 index 00000000..1d00f935 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/Appliance/Processors/Appliance-CPU1/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Appliance-CPU1", + "Name": "CPU.Socket.1", + "Socket": "CPU.Socket.1", + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + }, + "Manufacturer": "Intel", + "Model": "Intel(R) Xeon(R) Silver 4112 CPU @ 2.60GHz", + "MaxSpeedMHz": 2600, + "TotalCores": 4, + "TotalThreads": 4, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/Appliance/Processors/Appliance-CPU1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/Appliance/Storage/Appliance-Local/Drives/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/Appliance/Storage/Appliance-Local/Drives/1/index.json new file mode 100644 index 00000000..2cfbffc3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/Appliance/Storage/Appliance-Local/Drives/1/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "BlockSizeBytes": 512, + "CapableSpeedGbs": 12, + "CapacityBytes": 299999999488, + "Description": "Physical Disk 3:0", + "EncryptionAbility": "None", + "EncryptionStatus": "Unencrypted", + "FailurePredicted": false, + "HotspareType": "None", + "Id": "1", + "Identifiers": [ + { + "DurableName": "50000397D83963F7", + "DurableNameFormat": "NAA" + } + ], + "Manufacturer": "Contoso", + "MediaType": "HDD", + "Model": "AL14SEB030NY", + "Name": "Physical Disk 3:0", + "NegotiatedSpeedGbs": 12, + "PartNumber": "PH0FF02RTB20076O02BIA00", + "PredictedMediaLifeLeftPercent": 95, + "Protocol": "SATA", + "Revision": "EA01", + "RotationSpeedRPM": 10000, + "SerialNumber": "67N0A0FHFL5E", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/Appliance/Storage/Appliance-Local/Drives/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/Appliance/Storage/Appliance-Local/Drives/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/Appliance/Storage/Appliance-Local/Drives/2/index.json new file mode 100644 index 00000000..b39d3ef1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/Appliance/Storage/Appliance-Local/Drives/2/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "BlockSizeBytes": 512, + "CapableSpeedGbs": 6, + "CapacityBytes": 1000204886016, + "Description": "Physical Disk 0:1:0", + "EncryptionAbility": "None", + "EncryptionStatus": "Unencrypted", + "FailurePredicted": false, + "HotspareType": "None", + "Id": "2", + "Identifiers": [ + { + "DurableName": "5000C500AAC2DD7D", + "DurableNameFormat": "NAA" + } + ], + "Manufacturer": "Contoso", + "MediaType": "HDD", + "Model": "ST1000NX0443", + "Name": "Physical Disk 0:1:0", + "NegotiatedSpeedGbs": 3, + "PartNumber": "CN08DN1YSGW0077F00LEA00", + "PredictedMediaLifeLeftPercent": 100, + "Protocol": "SATA", + "Revision": "NB31", + "RotationSpeedRPM": 8220, + "SerialNumber": "W470SY1V", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/Appliance/Storage/Appliance-Local/Drives/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/Appliance/Storage/Appliance-Local/Drives/3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/Appliance/Storage/Appliance-Local/Drives/3/index.json new file mode 100644 index 00000000..9d22986e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/Appliance/Storage/Appliance-Local/Drives/3/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "BlockSizeBytes": 512, + "CapableSpeedGbs": 12, + "CapacityBytes": 299999999488, + "Description": "Physical Disk 4:0", + "EncryptionAbility": "None", + "EncryptionStatus": "Unencrypted", + "FailurePredicted": false, + "HotspareType": "None", + "Id": "3", + "Identifiers": [ + { + "DurableName": "50000397D83963F7", + "DurableNameFormat": "NAA" + } + ], + "Manufacturer": "Contoso", + "MediaType": "HDD", + "Model": "AL14SEB030NY", + "Name": "Physical Disk 4:0", + "NegotiatedSpeedGbs": 12, + "PartNumber": "PH0FF02RTB20076O02BIA00", + "PredictedMediaLifeLeftPercent": 99, + "Protocol": "SATA", + "Revision": "EA01", + "RotationSpeedRPM": 10000, + "SerialNumber": "67N0A0FHFL5E", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/Appliance/Storage/Appliance-Local/Drives/3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/Appliance/Storage/Appliance-Local/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/Appliance/Storage/Appliance-Local/index.json new file mode 100644 index 00000000..88880cdb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/Appliance/Storage/Appliance-Local/index.json @@ -0,0 +1,44 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Description": "Storage Drives, contorllers present in this Computer system", + "Drives": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/Appliance/Storage/Appliance-Local/Drives/1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/Appliance/Storage/Appliance-Local/Drives/2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/Appliance/Storage/Appliance-Local/Drives/3" + } + ], + "Id": "Appliance-Local", + "Name": "Storage", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "StorageControllers": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/Appliance/Storage/Appliance-Local#/StorageControllers/0", + "MemberId": "0", + "FirmwareVersion": "15.17.09.06", + "Manufacturer": "Contoso", + "Name": "Lewisburg SATA Controller [AHCI mode]", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "SupportedControllerProtocols": [ + "PCIe" + ], + "SupportedDeviceProtocols": [ + "SATA" + ] + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/Appliance/Storage/Appliance-Local", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/Appliance/Storage/Appliance-SAS/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/Appliance/Storage/Appliance-SAS/index.json new file mode 100644 index 00000000..2b417257 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/Appliance/Storage/Appliance-SAS/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Description": "Storage Drives, contorllers present in this Computer system", + "Drives": [], + "Id": "Appliance-SAS", + "Name": "Storage", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "StorageControllers": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/Appliance/Storage/Appliance-SAS#/StorageControllers/0", + "MemberId": "0", + "FirmwareVersion": "15.17.09.06", + "Identifiers": [ + { + "DurableName": "5D0946602B183900" + } + ], + "Name": "SAS HBA", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "SupportedControllerProtocols": [ + "PCIe" + ], + "SupportedDeviceProtocols": [ + "SAS" + ] + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/Appliance/Storage/Appliance-SAS", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/Appliance/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/Appliance/index.json new file mode 100644 index 00000000..87cc8697 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/Appliance/index.json @@ -0,0 +1,57 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "Appliance", + "Name": "RackServer-3-PFSTN33", + "ResourceBlockType": [ + "Compute", + "Storage" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "CompositionState": "Unused", + "SharingCapable": false, + "Reserved": false + }, + "Pool": "Free", + "Client": "VCF1001", + "Processors": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/Appliance/Processors/Appliance-CPU1" + } + ], + "Memory": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/Appliance/Memory/Appliance-DIMM1" + } + ], + "Storage": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/Appliance/Storage/Appliance-Local" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/Appliance/Storage/Appliance-SAS" + } + ], + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/RackServer-3" + } + ], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/RackServer-3" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/Appliance" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/Appliance", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-1/Memory/BladeServer-1-DIMM1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-1/Memory/BladeServer-1-DIMM1/index.json new file mode 100644 index 00000000..37b5579f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-1/Memory/BladeServer-1-DIMM1/index.json @@ -0,0 +1,23 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "BladeServer-1-DIMM1", + "Name": "DIMM Slot 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityMiB": 8192, + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "MemoryMedia": [ + "DRAM" + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1/Memory/BladeServer-1-DIMM1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-1/Processors/BladeServer-1-CPU1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-1/Processors/BladeServer-1-CPU1/index.json new file mode 100644 index 00000000..04e99b57 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-1/Processors/BladeServer-1-CPU1/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "BladeServer-1-CPU1", + "Name": "CPU.Socket.1", + "Socket": "CPU.Socket.1", + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + }, + "Manufacturer": "Intel", + "Model": "Intel(R) Xeon(R) Silver 4112 CPU @ 2.60GHz", + "MaxSpeedMHz": 2600, + "TotalCores": 4, + "TotalThreads": 4, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1/Processors/BladeServer-1-CPU1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-1/Storage/BladeServer-1-Local/Drives/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-1/Storage/BladeServer-1-Local/Drives/1/index.json new file mode 100644 index 00000000..a6b0c361 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-1/Storage/BladeServer-1-Local/Drives/1/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "BlockSizeBytes": 512, + "CapableSpeedGbs": 12, + "CapacityBytes": 299999999488, + "Description": "Physical Disk 3:0", + "EncryptionAbility": "None", + "EncryptionStatus": "Unencrypted", + "FailurePredicted": false, + "HotspareType": "None", + "Id": "1", + "Identifiers": [ + { + "DurableName": "50000397D83963F7", + "DurableNameFormat": "NAA" + } + ], + "Manufacturer": "Contoso", + "MediaType": "HDD", + "Model": "AL14SEB030NY", + "Name": "Physical Disk 3:0", + "NegotiatedSpeedGbs": 12, + "PartNumber": "PH0FF02RTB20076O02BIA00", + "PredictedMediaLifeLeftPercent": 95, + "Protocol": "SATA", + "Revision": "EA01", + "RotationSpeedRPM": 10000, + "SerialNumber": "67N0A0FHFL5E", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1/Storage/BladeServer-1-Local/Drives/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-1/Storage/BladeServer-1-Local/Drives/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-1/Storage/BladeServer-1-Local/Drives/2/index.json new file mode 100644 index 00000000..472e0e01 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-1/Storage/BladeServer-1-Local/Drives/2/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "BlockSizeBytes": 512, + "CapableSpeedGbs": 6, + "CapacityBytes": 1000204886016, + "Description": "Physical Disk 0:1:0", + "EncryptionAbility": "None", + "EncryptionStatus": "Unencrypted", + "FailurePredicted": false, + "HotspareType": "None", + "Id": "2", + "Identifiers": [ + { + "DurableName": "5000C500AAC2DD7D", + "DurableNameFormat": "NAA" + } + ], + "Manufacturer": "Contoso", + "MediaType": "HDD", + "Model": "ST1000NX0443", + "Name": "Physical Disk 0:1:0", + "NegotiatedSpeedGbs": 3, + "PartNumber": "CN08DN1YSGW0077F00LEA00", + "PredictedMediaLifeLeftPercent": 100, + "Protocol": "SATA", + "Revision": "NB31", + "RotationSpeedRPM": 8220, + "SerialNumber": "W470SY1V", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1/Storage/BladeServer-1-Local/Drives/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-1/Storage/BladeServer-1-Local/Drives/3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-1/Storage/BladeServer-1-Local/Drives/3/index.json new file mode 100644 index 00000000..de90d97f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-1/Storage/BladeServer-1-Local/Drives/3/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "BlockSizeBytes": 512, + "CapableSpeedGbs": 12, + "CapacityBytes": 299999999488, + "Description": "Physical Disk 4:0", + "EncryptionAbility": "None", + "EncryptionStatus": "Unencrypted", + "FailurePredicted": false, + "HotspareType": "None", + "Id": "3", + "Identifiers": [ + { + "DurableName": "50000397D83963F7", + "DurableNameFormat": "NAA" + } + ], + "Manufacturer": "Contoso", + "MediaType": "HDD", + "Model": "AL14SEB030NY", + "Name": "Physical Disk 4:0", + "NegotiatedSpeedGbs": 12, + "PartNumber": "PH0FF02RTB20076O02BIA00", + "PredictedMediaLifeLeftPercent": 99, + "Protocol": "SATA", + "Revision": "EA01", + "RotationSpeedRPM": 10000, + "SerialNumber": "67N0A0FHFL5E", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1/Storage/BladeServer-1-Local/Drives/3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-1/Storage/BladeServer-1-Local/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-1/Storage/BladeServer-1-Local/index.json new file mode 100644 index 00000000..26f5b83a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-1/Storage/BladeServer-1-Local/index.json @@ -0,0 +1,44 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Description": "Storage Drives, contorllers present in this Computer system", + "Drives": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1/Storage/BladeServer-1-Local/Drives/1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1/Storage/BladeServer-1-Local/Drives/2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1/Storage/BladeServer-1-Local/Drives/3" + } + ], + "Id": "BladeServer-1-Local", + "Name": "Storage", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "StorageControllers": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1/Storage/BladeServer-1-Local#/StorageControllers/0", + "MemberId": "0", + "FirmwareVersion": "15.17.09.06", + "Manufacturer": "Contoso", + "Name": "Lewisburg SATA Controller [AHCI mode]", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "SupportedControllerProtocols": [ + "PCIe" + ], + "SupportedDeviceProtocols": [ + "SATA" + ] + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1/Storage/BladeServer-1-Local", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-1/Storage/BladeServer-1-SAS/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-1/Storage/BladeServer-1-SAS/index.json new file mode 100644 index 00000000..3ad8f680 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-1/Storage/BladeServer-1-SAS/index.json @@ -0,0 +1,42 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Description": "Storage Drives, contorllers present in this Computer system", + "Drives": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SASSled-1/Drives/SASSled-1-Drive1" + } + ], + "Id": "BladeServer-1-SAS", + "Name": "Storage", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "StorageControllers": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1/Storage/BladeServer-1-SAS#/StorageControllers/0", + "MemberId": "0", + "FirmwareVersion": "15.17.09.06", + "Identifiers": [ + { + "DurableName": "5D0946602B183900" + } + ], + "Name": "SAS HBA", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "SupportedControllerProtocols": [ + "PCIe" + ], + "SupportedDeviceProtocols": [ + "SAS" + ] + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1/Storage/BladeServer-1-SAS", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-1/index.json new file mode 100644 index 00000000..277d6d9b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-1/index.json @@ -0,0 +1,57 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "BladeServer-1", + "Name": "BladeServer-1-Sled1-PFSTN11", + "ResourceBlockType": [ + "Compute", + "Storage" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "CompositionState": "Composed", + "SharingCapable": false, + "Reserved": false + }, + "Pool": "Active", + "Client": "VCF1001", + "Processors": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1/Processors/BladeServer-1-CPU1" + } + ], + "Memory": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1/Memory/BladeServer-1-DIMM1" + } + ], + "Storage": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1/Storage/BladeServer-1-Local" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1/Storage/BladeServer-1-SAS" + } + ], + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/BladeServer-1" + } + ], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/BladeServer-1" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/BladeServer-1" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-2/Memory/BladeServer-2-DIMM1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-2/Memory/BladeServer-2-DIMM1/index.json new file mode 100644 index 00000000..e8ad8426 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-2/Memory/BladeServer-2-DIMM1/index.json @@ -0,0 +1,23 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "BladeServer-2-DIMM1", + "Name": "DIMM Slot 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityMiB": 8192, + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "MemoryMedia": [ + "DRAM" + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-2/Memory/BladeServer-2-DIMM1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-2/Processors/BladeServer-2-CPU1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-2/Processors/BladeServer-2-CPU1/index.json new file mode 100644 index 00000000..e98f0fbf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-2/Processors/BladeServer-2-CPU1/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "BladeServer-2-CPU1", + "Name": "CPU.Socket.1", + "Socket": "CPU.Socket.1", + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + }, + "Manufacturer": "Intel", + "Model": "Intel(R) Xeon(R) Silver 4112 CPU @ 2.60GHz", + "MaxSpeedMHz": 2600, + "TotalCores": 4, + "TotalThreads": 4, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-2/Processors/BladeServer-2-CPU1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-2/Storage/BladeServer-2-Local/Drives/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-2/Storage/BladeServer-2-Local/Drives/1/index.json new file mode 100644 index 00000000..da8f4e37 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-2/Storage/BladeServer-2-Local/Drives/1/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "BlockSizeBytes": 512, + "CapableSpeedGbs": 12, + "CapacityBytes": 299999999488, + "Description": "Physical Disk 3:0", + "EncryptionAbility": "None", + "EncryptionStatus": "Unencrypted", + "FailurePredicted": false, + "HotspareType": "None", + "Id": "1", + "Identifiers": [ + { + "DurableName": "50000397D83963F7", + "DurableNameFormat": "NAA" + } + ], + "Manufacturer": "Contoso", + "MediaType": "HDD", + "Model": "AL14SEB030NY", + "Name": "Physical Disk 3:0", + "NegotiatedSpeedGbs": 12, + "PartNumber": "PH0FF02RTB20076O02BIA00", + "PredictedMediaLifeLeftPercent": 95, + "Protocol": "SATA", + "Revision": "EA01", + "RotationSpeedRPM": 10000, + "SerialNumber": "67N0A0FHFL5E", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-2/Storage/BladeServer-2-Local/Drives/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-2/Storage/BladeServer-2-Local/Drives/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-2/Storage/BladeServer-2-Local/Drives/2/index.json new file mode 100644 index 00000000..5a2b6fce --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-2/Storage/BladeServer-2-Local/Drives/2/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "BlockSizeBytes": 512, + "CapableSpeedGbs": 6, + "CapacityBytes": 1000204886016, + "Description": "Physical Disk 0:1:0", + "EncryptionAbility": "None", + "EncryptionStatus": "Unencrypted", + "FailurePredicted": false, + "HotspareType": "None", + "Id": "2", + "Identifiers": [ + { + "DurableName": "5000C500AAC2DD7D", + "DurableNameFormat": "NAA" + } + ], + "Manufacturer": "Contoso", + "MediaType": "HDD", + "Model": "ST1000NX0443", + "Name": "Physical Disk 0:1:0", + "NegotiatedSpeedGbs": 3, + "PartNumber": "CN08DN1YSGW0077F00LEA00", + "PredictedMediaLifeLeftPercent": 100, + "Protocol": "SATA", + "Revision": "NB31", + "RotationSpeedRPM": 8220, + "SerialNumber": "W470SY1V", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-2/Storage/BladeServer-2-Local/Drives/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-2/Storage/BladeServer-2-Local/Drives/3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-2/Storage/BladeServer-2-Local/Drives/3/index.json new file mode 100644 index 00000000..f920db1c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-2/Storage/BladeServer-2-Local/Drives/3/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "BlockSizeBytes": 512, + "CapableSpeedGbs": 12, + "CapacityBytes": 299999999488, + "Description": "Physical Disk 4:0", + "EncryptionAbility": "None", + "EncryptionStatus": "Unencrypted", + "FailurePredicted": false, + "HotspareType": "None", + "Id": "3", + "Identifiers": [ + { + "DurableName": "50000397D83963F7", + "DurableNameFormat": "NAA" + } + ], + "Manufacturer": "Contoso", + "MediaType": "HDD", + "Model": "AL14SEB030NY", + "Name": "Physical Disk 4:0", + "NegotiatedSpeedGbs": 12, + "PartNumber": "PH0FF02RTB20076O02BIA00", + "PredictedMediaLifeLeftPercent": 99, + "Protocol": "SATA", + "Revision": "EA01", + "RotationSpeedRPM": 10000, + "SerialNumber": "67N0A0FHFL5E", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-2/Storage/BladeServer-2-Local/Drives/3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-2/Storage/BladeServer-2-Local/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-2/Storage/BladeServer-2-Local/index.json new file mode 100644 index 00000000..030437d3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-2/Storage/BladeServer-2-Local/index.json @@ -0,0 +1,44 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Description": "Storage Drives, contorllers present in this Computer system", + "Drives": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-2/Storage/BladeServer-2-Local/Drives/1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-2/Storage/BladeServer-2-Local/Drives/2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-2/Storage/BladeServer-2-Local/Drives/3" + } + ], + "Id": "BladeServer-2-Local", + "Name": "Storage", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "StorageControllers": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-2/Storage/BladeServer-2-Local#/StorageControllers/0", + "MemberId": "0", + "FirmwareVersion": "15.17.09.06", + "Manufacturer": "Contoso", + "Name": "Lewisburg SATA Controller [AHCI mode]", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "SupportedControllerProtocols": [ + "PCIe" + ], + "SupportedDeviceProtocols": [ + "SATA" + ] + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-2/Storage/BladeServer-2-Local", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-2/Storage/BladeServer-2-SAS/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-2/Storage/BladeServer-2-SAS/index.json new file mode 100644 index 00000000..a3c79c34 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-2/Storage/BladeServer-2-SAS/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Description": "Storage Drives, contorllers present in this Computer system", + "Drives": [], + "Id": "BladeServer-2-SAS", + "Name": "Storage", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "StorageControllers": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-2/Storage/BladeServer-2-SAS#/StorageControllers/0", + "MemberId": "0", + "FirmwareVersion": "15.17.09.06", + "Identifiers": [ + { + "DurableName": "5D0946602B183900" + } + ], + "Name": "SAS HBA", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "SupportedControllerProtocols": [ + "PCIe" + ], + "SupportedDeviceProtocols": [ + "SAS" + ] + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-2/Storage/BladeServer-2-SAS", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-2/index.json new file mode 100644 index 00000000..8803795a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-2/index.json @@ -0,0 +1,57 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "BladeServer-2", + "Name": "BladeServer-2-Sled1-PFSTN12", + "ResourceBlockType": [ + "Compute", + "Storage" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "CompositionState": "Composed", + "SharingCapable": false, + "Reserved": true + }, + "Pool": "Free", + "Client": "VCF1001", + "Processors": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-2/Processors/BladeServer-2-CPU1" + } + ], + "Memory": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-2/Memory/BladeServer-2-DIMM1" + } + ], + "Storage": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-2/Storage/BladeServer-2-Local" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-2/Storage/BladeServer-2-SAS" + } + ], + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/BladeServer-2" + } + ], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/BladeServer-2" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/BladeServer-2" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-3/Memory/BladeServer-3-DIMM1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-3/Memory/BladeServer-3-DIMM1/index.json new file mode 100644 index 00000000..ccf162a3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-3/Memory/BladeServer-3-DIMM1/index.json @@ -0,0 +1,23 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "BladeServer-3-DIMM1", + "Name": "DIMM Slot 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityMiB": 8192, + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "MemoryMedia": [ + "DRAM" + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-3/Memory/BladeServer-3-DIMM1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-3/Processors/BladeServer-3-CPU1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-3/Processors/BladeServer-3-CPU1/index.json new file mode 100644 index 00000000..6ee4597d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-3/Processors/BladeServer-3-CPU1/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "BladeServer-3-CPU1", + "Name": "CPU.Socket.1", + "Socket": "CPU.Socket.1", + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + }, + "Manufacturer": "Intel", + "Model": "Intel(R) Xeon(R) Silver 4112 CPU @ 2.60GHz", + "MaxSpeedMHz": 2600, + "TotalCores": 4, + "TotalThreads": 4, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-3/Processors/BladeServer-3-CPU1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-3/Storage/BladeServer-3-Local/Drives/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-3/Storage/BladeServer-3-Local/Drives/1/index.json new file mode 100644 index 00000000..480e9c3a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-3/Storage/BladeServer-3-Local/Drives/1/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "BlockSizeBytes": 512, + "CapableSpeedGbs": 12, + "CapacityBytes": 299999999488, + "Description": "Physical Disk 3:0", + "EncryptionAbility": "None", + "EncryptionStatus": "Unencrypted", + "FailurePredicted": false, + "HotspareType": "None", + "Id": "1", + "Identifiers": [ + { + "DurableName": "50000397D83963F7", + "DurableNameFormat": "NAA" + } + ], + "Manufacturer": "Contoso", + "MediaType": "HDD", + "Model": "AL14SEB030NY", + "Name": "Physical Disk 3:0", + "NegotiatedSpeedGbs": 12, + "PartNumber": "PH0FF02RTB20076O02BIA00", + "PredictedMediaLifeLeftPercent": 95, + "Protocol": "SATA", + "Revision": "EA01", + "RotationSpeedRPM": 10000, + "SerialNumber": "67N0A0FHFL5E", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-3/Storage/BladeServer-3-Local/Drives/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-3/Storage/BladeServer-3-Local/Drives/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-3/Storage/BladeServer-3-Local/Drives/2/index.json new file mode 100644 index 00000000..b3c32c5d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-3/Storage/BladeServer-3-Local/Drives/2/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "BlockSizeBytes": 512, + "CapableSpeedGbs": 6, + "CapacityBytes": 1000204886016, + "Description": "Physical Disk 0:1:0", + "EncryptionAbility": "None", + "EncryptionStatus": "Unencrypted", + "FailurePredicted": false, + "HotspareType": "None", + "Id": "2", + "Identifiers": [ + { + "DurableName": "5000C500AAC2DD7D", + "DurableNameFormat": "NAA" + } + ], + "Manufacturer": "Contoso", + "MediaType": "HDD", + "Model": "ST1000NX0443", + "Name": "Physical Disk 0:1:0", + "NegotiatedSpeedGbs": 3, + "PartNumber": "CN08DN1YSGW0077F00LEA00", + "PredictedMediaLifeLeftPercent": 100, + "Protocol": "SATA", + "Revision": "NB31", + "RotationSpeedRPM": 8220, + "SerialNumber": "W470SY1V", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-3/Storage/BladeServer-3-Local/Drives/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-3/Storage/BladeServer-3-Local/Drives/3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-3/Storage/BladeServer-3-Local/Drives/3/index.json new file mode 100644 index 00000000..f07b7c51 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-3/Storage/BladeServer-3-Local/Drives/3/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "BlockSizeBytes": 512, + "CapableSpeedGbs": 12, + "CapacityBytes": 299999999488, + "Description": "Physical Disk 4:0", + "EncryptionAbility": "None", + "EncryptionStatus": "Unencrypted", + "FailurePredicted": false, + "HotspareType": "None", + "Id": "3", + "Identifiers": [ + { + "DurableName": "50000397D83963F7", + "DurableNameFormat": "NAA" + } + ], + "Manufacturer": "Contoso", + "MediaType": "HDD", + "Model": "AL14SEB030NY", + "Name": "Physical Disk 4:0", + "NegotiatedSpeedGbs": 12, + "PartNumber": "PH0FF02RTB20076O02BIA00", + "PredictedMediaLifeLeftPercent": 99, + "Protocol": "SATA", + "Revision": "EA01", + "RotationSpeedRPM": 10000, + "SerialNumber": "67N0A0FHFL5E", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-3/Storage/BladeServer-3-Local/Drives/3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-3/Storage/BladeServer-3-Local/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-3/Storage/BladeServer-3-Local/index.json new file mode 100644 index 00000000..a3e14cf3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-3/Storage/BladeServer-3-Local/index.json @@ -0,0 +1,44 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Description": "Storage Drives, contorllers present in this Computer system", + "Drives": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-3/Storage/BladeServer-3-Local/Drives/1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-3/Storage/BladeServer-3-Local/Drives/2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-3/Storage/BladeServer-3-Local/Drives/3" + } + ], + "Id": "BladeServer-3-Local", + "Name": "Storage", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "StorageControllers": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-3/Storage/BladeServer-3-Local#/StorageControllers/0", + "MemberId": "0", + "FirmwareVersion": "15.17.09.06", + "Manufacturer": "Contoso", + "Name": "Lewisburg SATA Controller [AHCI mode]", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "SupportedControllerProtocols": [ + "PCIe" + ], + "SupportedDeviceProtocols": [ + "SATA" + ] + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-3/Storage/BladeServer-3-Local", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-3/Storage/BladeServer-3-SAS/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-3/Storage/BladeServer-3-SAS/index.json new file mode 100644 index 00000000..22406c5e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-3/Storage/BladeServer-3-SAS/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Description": "Storage Drives, contorllers present in this Computer system", + "Drives": [], + "Id": "BladeServer-3-SAS", + "Name": "Storage", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "StorageControllers": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-3/Storage/BladeServer-3-SAS#/StorageControllers/0", + "MemberId": "0", + "FirmwareVersion": "15.17.09.06", + "Identifiers": [ + { + "DurableName": "5D0946602B183900" + } + ], + "Name": "SAS HBA", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "SupportedControllerProtocols": [ + "PCIe" + ], + "SupportedDeviceProtocols": [ + "SAS" + ] + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-3/Storage/BladeServer-3-SAS", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-3/index.json new file mode 100644 index 00000000..85c30aa0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/BladeServer-3/index.json @@ -0,0 +1,57 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "BladeServer-3", + "Name": "BladeServer-3-Sled1-PFSTN13", + "ResourceBlockType": [ + "Compute", + "Storage" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "CompositionState": "Composed", + "SharingCapable": false, + "Reserved": false + }, + "Pool": "Free", + "Client": "VCF1001", + "Processors": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-3/Processors/BladeServer-3-CPU1" + } + ], + "Memory": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-3/Memory/BladeServer-3-DIMM1" + } + ], + "Storage": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-3/Storage/BladeServer-3-Local" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-3/Storage/BladeServer-3-SAS" + } + ], + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/BladeServer-3" + } + ], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/BladeServer-3" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/BladeServer-3" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1/Storage/NVMe-TargetsAppliance-1/Drives/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1/Storage/NVMe-TargetsAppliance-1/Drives/1/index.json new file mode 100644 index 00000000..50c88dfa --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1/Storage/NVMe-TargetsAppliance-1/Drives/1/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "BlockSizeBytes": 512, + "CapableSpeedGbs": 12, + "CapacityBytes": 299999999488, + "Description": "Appliance NVMe 1", + "EncryptionAbility": "None", + "EncryptionStatus": "Unencrypted", + "FailurePredicted": false, + "HotspareType": "None", + "Id": "1", + "Identifiers": [ + { + "DurableName": "50000397D83963F7", + "DurableNameFormat": "NAA" + } + ], + "Manufacturer": "Contoso", + "MediaType": "SSD", + "Model": "AL14SEB030NY", + "Name": "NVMe Appliance 1", + "NegotiatedSpeedGbs": 12, + "PartNumber": "PH0FF02RTB20076O02BIA00", + "PredictedMediaLifeLeftPercent": 0, + "Protocol": "NVMe", + "Revision": "EA01", + "RotationSpeedRPM": 10000, + "SerialNumber": "67N0A0FHFL5E", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1/Storage/NVMe-TargetsAppliance-1/Drives/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1/Storage/NVMe-TargetsAppliance-1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1/Storage/NVMe-TargetsAppliance-1/index.json new file mode 100644 index 00000000..b578bc9f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1/Storage/NVMe-TargetsAppliance-1/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Id": "NVMe-TargetsAppliance-1", + "Name": "NVMe-TargetsAppliance-1", + "StorageControllers": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1/Storage/NVMe-TargetsAppliance-1#/StorageControllers/0", + "MemberId": "0", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "SupportedControllerProtocols": [ + "NVMe" + ], + "SupportedDeviceProtocols": [ + "NVMe" + ] + } + ], + "Drives": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1/Storage/NVMe-TargetsAppliance-1/Drives/1" + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1/Storage/NVMe-TargetsAppliance-1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1/index.json new file mode 100644 index 00000000..62ba99aa --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1/index.json @@ -0,0 +1,49 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "NVMe-TargetsAppliance-1", + "Name": "NVMe-TargetsAppliance-1", + "ResourceBlockType": [ + "Storage" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "CompositionState": "Composed", + "SharingCapable": false, + "Reserved": false + }, + "Pool": "Active", + "Client": "VCF1001", + "Storage": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1/Storage/NVMe-TargetsAppliance-1" + } + ], + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/BladeServer-1" + } + ], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/RackServer-3" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/BladeServer-1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/BladeServer-2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/BladeServer-3" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-2/Storage/NVMe-TargetsAppliance-2/Drives/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-2/Storage/NVMe-TargetsAppliance-2/Drives/1/index.json new file mode 100644 index 00000000..5748ac46 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-2/Storage/NVMe-TargetsAppliance-2/Drives/1/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "BlockSizeBytes": 512, + "CapableSpeedGbs": 12, + "CapacityBytes": 299999999488, + "Description": "Appliance NVMe 2", + "EncryptionAbility": "None", + "EncryptionStatus": "Unencrypted", + "FailurePredicted": false, + "HotspareType": "None", + "Id": "1", + "Identifiers": [ + { + "DurableName": "50000397D83963F7", + "DurableNameFormat": "NAA" + } + ], + "Manufacturer": "Contoso", + "MediaType": "SSD", + "Model": "AL14SEB030NY", + "Name": "NVMe Appliance 1", + "NegotiatedSpeedGbs": 12, + "PartNumber": "PH0FF02RTB20076O02BIA00", + "PredictedMediaLifeLeftPercent": 0, + "Protocol": "NVMe", + "Revision": "EA01", + "RotationSpeedRPM": 10000, + "SerialNumber": "67N0A0FHFL5E", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-2/Storage/NVMe-TargetsAppliance-2/Drives/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-2/Storage/NVMe-TargetsAppliance-2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-2/Storage/NVMe-TargetsAppliance-2/index.json new file mode 100644 index 00000000..59d7be4d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-2/Storage/NVMe-TargetsAppliance-2/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Id": "NVMe-TargetsAppliance-2", + "Name": "NVMe-TargetsAppliance-2", + "StorageControllers": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-2/Storage/NVMe-TargetsAppliance-2#/StorageControllers/0", + "MemberId": "0", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "SupportedControllerProtocols": [ + "NVMe" + ], + "SupportedDeviceProtocols": [ + "NVMe" + ] + } + ], + "Drives": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-2/Storage/NVMe-TargetsAppliance-2/Drives/1" + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-2/Storage/NVMe-TargetsAppliance-2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-2/index.json new file mode 100644 index 00000000..cbc1027b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-2/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "NVMe-TargetsAppliance-2", + "Name": "NVMe-TargetsAppliance-2", + "ResourceBlockType": [ + "Storage" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "CompositionState": "Unused", + "SharingCapable": false, + "Reserved": false + }, + "Pool": "Free", + "Client": "VCF1001", + "Storage": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-2/Storage/NVMe-TargetsAppliance-2" + } + ], + "Links": { + "ComputerSystems": [], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/RackServer-3" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/BladeServer-1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/BladeServer-2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/BladeServer-3" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-3/Storage/NVMe-TargetsAppliance-3/Drives/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-3/Storage/NVMe-TargetsAppliance-3/Drives/1/index.json new file mode 100644 index 00000000..a173c4f0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-3/Storage/NVMe-TargetsAppliance-3/Drives/1/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "BlockSizeBytes": 512, + "CapableSpeedGbs": 12, + "CapacityBytes": 299999999488, + "Description": "Appliance NVMe 3", + "EncryptionAbility": "None", + "EncryptionStatus": "Unencrypted", + "FailurePredicted": false, + "HotspareType": "None", + "Id": "1", + "Identifiers": [ + { + "DurableName": "50000397D83963F7", + "DurableNameFormat": "NAA" + } + ], + "Manufacturer": "Contoso", + "MediaType": "SSD", + "Model": "AL14SEB030NY", + "Name": "NVMe Appliance 1", + "NegotiatedSpeedGbs": 12, + "PartNumber": "PH0FF02RTB20076O02BIA00", + "PredictedMediaLifeLeftPercent": 0, + "Protocol": "NVMe", + "Revision": "EA01", + "RotationSpeedRPM": 10000, + "SerialNumber": "67N0A0FHFL5E", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-3/Storage/NVMe-TargetsAppliance-3/Drives/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-3/Storage/NVMe-TargetsAppliance-3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-3/Storage/NVMe-TargetsAppliance-3/index.json new file mode 100644 index 00000000..d50cdda5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-3/Storage/NVMe-TargetsAppliance-3/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Id": "NVMe-TargetsAppliance-3", + "Name": "NVMe-TargetsAppliance-3", + "StorageControllers": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-3/Storage/NVMe-TargetsAppliance-3#/StorageControllers/0", + "MemberId": "0", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "SupportedControllerProtocols": [ + "NVMe" + ], + "SupportedDeviceProtocols": [ + "NVMe" + ] + } + ], + "Drives": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-3/Storage/NVMe-TargetsAppliance-3/Drives/1" + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-3/Storage/NVMe-TargetsAppliance-3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-3/index.json new file mode 100644 index 00000000..8ca3808c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-3/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "NVMe-TargetsAppliance-3", + "Name": "NVMe-TargetsAppliance-3", + "ResourceBlockType": [ + "Storage" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "CompositionState": "Unused", + "SharingCapable": false, + "Reserved": false + }, + "Pool": "Free", + "Client": "VCF1001", + "Storage": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-3/Storage/NVMe-TargetsAppliance-3" + } + ], + "Links": { + "ComputerSystems": [], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/RackServer-3" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/BladeServer-1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/BladeServer-2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/BladeServer-3" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-1/Memory/RackServer-1-DIMM1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-1/Memory/RackServer-1-DIMM1/index.json new file mode 100644 index 00000000..b99e0606 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-1/Memory/RackServer-1-DIMM1/index.json @@ -0,0 +1,23 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "RackServer-1-DIMM1", + "Name": "DIMM Slot 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityMiB": 8192, + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "MemoryMedia": [ + "DRAM" + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-1/Memory/RackServer-1-DIMM1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-1/Processors/RackServer-1-CPU1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-1/Processors/RackServer-1-CPU1/index.json new file mode 100644 index 00000000..be6a90b2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-1/Processors/RackServer-1-CPU1/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "RackServer-1-CPU1", + "Name": "CPU.Socket.1", + "Socket": "CPU.Socket.1", + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + }, + "Manufacturer": "Intel", + "Model": "Intel(R) Xeon(R) Silver 4112 CPU @ 2.60GHz", + "MaxSpeedMHz": 2600, + "TotalCores": 4, + "TotalThreads": 4, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-1/Processors/RackServer-1-CPU1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-1/Storage/RackServer-1-Local/Drives/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-1/Storage/RackServer-1-Local/Drives/1/index.json new file mode 100644 index 00000000..3210242e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-1/Storage/RackServer-1-Local/Drives/1/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "BlockSizeBytes": 512, + "CapableSpeedGbs": 12, + "CapacityBytes": 299999999488, + "Description": "Physical Disk 3:0", + "EncryptionAbility": "None", + "EncryptionStatus": "Unencrypted", + "FailurePredicted": false, + "HotspareType": "None", + "Id": "1", + "Identifiers": [ + { + "DurableName": "50000397D83963F7", + "DurableNameFormat": "NAA" + } + ], + "Manufacturer": "Contoso", + "MediaType": "HDD", + "Model": "AL14SEB030NY", + "Name": "Physical Disk 3:0", + "NegotiatedSpeedGbs": 12, + "PartNumber": "PH0FF02RTB20076O02BIA00", + "PredictedMediaLifeLeftPercent": 95, + "Protocol": "SATA", + "Revision": "EA01", + "RotationSpeedRPM": 10000, + "SerialNumber": "67N0A0FHFL5E", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-1/Storage/RackServer-1-Local/Drives/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-1/Storage/RackServer-1-Local/Drives/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-1/Storage/RackServer-1-Local/Drives/2/index.json new file mode 100644 index 00000000..71bf646b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-1/Storage/RackServer-1-Local/Drives/2/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "BlockSizeBytes": 512, + "CapableSpeedGbs": 6, + "CapacityBytes": 1000204886016, + "Description": "Physical Disk 0:1:0", + "EncryptionAbility": "None", + "EncryptionStatus": "Unencrypted", + "FailurePredicted": false, + "HotspareType": "None", + "Id": "2", + "Identifiers": [ + { + "DurableName": "5000C500AAC2DD7D", + "DurableNameFormat": "NAA" + } + ], + "Manufacturer": "Contoso", + "MediaType": "HDD", + "Model": "ST1000NX0443", + "Name": "Physical Disk 0:1:0", + "NegotiatedSpeedGbs": 3, + "PartNumber": "CN08DN1YSGW0077F00LEA00", + "PredictedMediaLifeLeftPercent": 100, + "Protocol": "SATA", + "Revision": "NB31", + "RotationSpeedRPM": 8220, + "SerialNumber": "W470SY1V", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-1/Storage/RackServer-1-Local/Drives/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-1/Storage/RackServer-1-Local/Drives/3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-1/Storage/RackServer-1-Local/Drives/3/index.json new file mode 100644 index 00000000..1e918aaa --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-1/Storage/RackServer-1-Local/Drives/3/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "BlockSizeBytes": 512, + "CapableSpeedGbs": 12, + "CapacityBytes": 299999999488, + "Description": "Physical Disk 4:0", + "EncryptionAbility": "None", + "EncryptionStatus": "Unencrypted", + "FailurePredicted": false, + "HotspareType": "None", + "Id": "3", + "Identifiers": [ + { + "DurableName": "50000397D83963F7", + "DurableNameFormat": "NAA" + } + ], + "Manufacturer": "Contoso", + "MediaType": "HDD", + "Model": "AL14SEB030NY", + "Name": "Physical Disk 4:0", + "NegotiatedSpeedGbs": 12, + "PartNumber": "PH0FF02RTB20076O02BIA00", + "PredictedMediaLifeLeftPercent": 99, + "Protocol": "SATA", + "Revision": "EA01", + "RotationSpeedRPM": 10000, + "SerialNumber": "67N0A0FHFL5E", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-1/Storage/RackServer-1-Local/Drives/3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-1/Storage/RackServer-1-Local/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-1/Storage/RackServer-1-Local/index.json new file mode 100644 index 00000000..353195c7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-1/Storage/RackServer-1-Local/index.json @@ -0,0 +1,44 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Description": "Storage Drives, contorllers present in this Computer system", + "Drives": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-1/Storage/RackServer-1-Local/Drives/1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-1/Storage/RackServer-1-Local/Drives/2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-1/Storage/RackServer-1-Local/Drives/3" + } + ], + "Id": "RackServer-1-Local", + "Name": "Storage", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "StorageControllers": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-1/Storage/RackServer-1-Local#/StorageControllers/0", + "MemberId": "0", + "FirmwareVersion": "15.17.09.06", + "Manufacturer": "Contoso", + "Name": "Lewisburg SATA Controller [AHCI mode]", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "SupportedControllerProtocols": [ + "PCIe" + ], + "SupportedDeviceProtocols": [ + "SATA" + ] + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-1/Storage/RackServer-1-Local", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-1/Storage/RackServer-1-SAS/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-1/Storage/RackServer-1-SAS/index.json new file mode 100644 index 00000000..d6259b4d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-1/Storage/RackServer-1-SAS/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Description": "Storage Drives, contorllers present in this Computer system", + "Drives": [], + "Id": "RackServer-1-SAS", + "Name": "Storage", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "StorageControllers": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-1/Storage/RackServer-1-SAS#/StorageControllers/0", + "MemberId": "0", + "FirmwareVersion": "15.17.09.06", + "Identifiers": [ + { + "DurableName": "5D0946602B183900" + } + ], + "Name": "SAS HBA", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "SupportedControllerProtocols": [ + "PCIe" + ], + "SupportedDeviceProtocols": [ + "SAS" + ] + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-1/Storage/RackServer-1-SAS", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-1/index.json new file mode 100644 index 00000000..7922c875 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-1/index.json @@ -0,0 +1,57 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "RackServer-1", + "Name": "RackServer1", + "ResourceBlockType": [ + "Compute", + "Storage" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "CompositionState": "Unused", + "SharingCapable": false, + "Reserved": false + }, + "Pool": "Free", + "Client": "VCF1001", + "Processors": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-1/Processors/RackServer-1-CPU1" + } + ], + "Memory": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-1/Memory/RackServer-1-DIMM1" + } + ], + "Storage": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-1/Storage/RackServer-1-Local" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-1/Storage/RackServer-1-SAS" + } + ], + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/RackServer-1" + } + ], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/RackServer-1" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/RackServer-1" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-2/Memory/RackServer-2-DIMM1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-2/Memory/RackServer-2-DIMM1/index.json new file mode 100644 index 00000000..0d99716c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-2/Memory/RackServer-2-DIMM1/index.json @@ -0,0 +1,23 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "RackServer-2-DIMM1", + "Name": "DIMM Slot 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityMiB": 8192, + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "MemoryMedia": [ + "DRAM" + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-2/Memory/RackServer-2-DIMM1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-2/Processors/RackServer-2-CPU1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-2/Processors/RackServer-2-CPU1/index.json new file mode 100644 index 00000000..c8d81887 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-2/Processors/RackServer-2-CPU1/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "RackServer-2-CPU1", + "Name": "CPU.Socket.1", + "Socket": "CPU.Socket.1", + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + }, + "Manufacturer": "Intel", + "Model": "Intel(R) Xeon(R) Silver 4112 CPU @ 2.60GHz", + "MaxSpeedMHz": 2600, + "TotalCores": 4, + "TotalThreads": 4, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-2/Processors/RackServer-2-CPU1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-2/Storage/RackServer-2-Local/Drives/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-2/Storage/RackServer-2-Local/Drives/1/index.json new file mode 100644 index 00000000..376d707f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-2/Storage/RackServer-2-Local/Drives/1/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "BlockSizeBytes": 512, + "CapableSpeedGbs": 12, + "CapacityBytes": 299999999488, + "Description": "Physical Disk 3:0", + "EncryptionAbility": "None", + "EncryptionStatus": "Unencrypted", + "FailurePredicted": false, + "HotspareType": "None", + "Id": "1", + "Identifiers": [ + { + "DurableName": "50000397D83963F7", + "DurableNameFormat": "NAA" + } + ], + "Manufacturer": "Contoso", + "MediaType": "HDD", + "Model": "AL14SEB030NY", + "Name": "Physical Disk 3:0", + "NegotiatedSpeedGbs": 12, + "PartNumber": "PH0FF02RTB20076O02BIA00", + "PredictedMediaLifeLeftPercent": 95, + "Protocol": "SATA", + "Revision": "EA01", + "RotationSpeedRPM": 10000, + "SerialNumber": "67N0A0FHFL5E", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-2/Storage/RackServer-2-Local/Drives/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-2/Storage/RackServer-2-Local/Drives/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-2/Storage/RackServer-2-Local/Drives/2/index.json new file mode 100644 index 00000000..ba8b8850 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-2/Storage/RackServer-2-Local/Drives/2/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "BlockSizeBytes": 512, + "CapableSpeedGbs": 6, + "CapacityBytes": 1000204886016, + "Description": "Physical Disk 0:1:0", + "EncryptionAbility": "None", + "EncryptionStatus": "Unencrypted", + "FailurePredicted": false, + "HotspareType": "None", + "Id": "2", + "Identifiers": [ + { + "DurableName": "5000C500AAC2DD7D", + "DurableNameFormat": "NAA" + } + ], + "Manufacturer": "Contoso", + "MediaType": "HDD", + "Model": "ST1000NX0443", + "Name": "Physical Disk 0:1:0", + "NegotiatedSpeedGbs": 3, + "PartNumber": "CN08DN1YSGW0077F00LEA00", + "PredictedMediaLifeLeftPercent": 100, + "Protocol": "SATA", + "Revision": "NB31", + "RotationSpeedRPM": 8220, + "SerialNumber": "W470SY1V", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-2/Storage/RackServer-2-Local/Drives/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-2/Storage/RackServer-2-Local/Drives/3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-2/Storage/RackServer-2-Local/Drives/3/index.json new file mode 100644 index 00000000..a18b6fac --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-2/Storage/RackServer-2-Local/Drives/3/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "BlockSizeBytes": 512, + "CapableSpeedGbs": 12, + "CapacityBytes": 299999999488, + "Description": "Physical Disk 4:0", + "EncryptionAbility": "None", + "EncryptionStatus": "Unencrypted", + "FailurePredicted": false, + "HotspareType": "None", + "Id": "3", + "Identifiers": [ + { + "DurableName": "50000397D83963F7", + "DurableNameFormat": "NAA" + } + ], + "Manufacturer": "Contoso", + "MediaType": "HDD", + "Model": "AL14SEB030NY", + "Name": "Physical Disk 4:0", + "NegotiatedSpeedGbs": 12, + "PartNumber": "PH0FF02RTB20076O02BIA00", + "PredictedMediaLifeLeftPercent": 99, + "Protocol": "SATA", + "Revision": "EA01", + "RotationSpeedRPM": 10000, + "SerialNumber": "67N0A0FHFL5E", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-2/Storage/RackServer-2-Local/Drives/3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-2/Storage/RackServer-2-Local/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-2/Storage/RackServer-2-Local/index.json new file mode 100644 index 00000000..4d5f5c4f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-2/Storage/RackServer-2-Local/index.json @@ -0,0 +1,44 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Description": "Storage Drives, contorllers present in this Computer system", + "Drives": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-2/Storage/RackServer-2-Local/Drives/1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-2/Storage/RackServer-2-Local/Drives/2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-2/Storage/RackServer-2-Local/Drives/3" + } + ], + "Id": "RackServer-2-Local", + "Name": "Storage", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "StorageControllers": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-2/Storage/RackServer-2-Local#/StorageControllers/0", + "MemberId": "0", + "FirmwareVersion": "15.17.09.06", + "Manufacturer": "Contoso", + "Name": "Lewisburg SATA Controller [AHCI mode]", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "SupportedControllerProtocols": [ + "PCIe" + ], + "SupportedDeviceProtocols": [ + "SATA" + ] + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-2/Storage/RackServer-2-Local", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-2/Storage/RackServer-2-SAS/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-2/Storage/RackServer-2-SAS/index.json new file mode 100644 index 00000000..7de4aa39 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-2/Storage/RackServer-2-SAS/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Description": "Storage Drives, contorllers present in this Computer system", + "Drives": [], + "Id": "RackServer-2-SAS", + "Name": "Storage", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "StorageControllers": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-2/Storage/RackServer-2-SAS#/StorageControllers/0", + "MemberId": "0", + "FirmwareVersion": "15.17.09.06", + "Identifiers": [ + { + "DurableName": "5D0946602B183900" + } + ], + "Name": "SAS HBA", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "SupportedControllerProtocols": [ + "PCIe" + ], + "SupportedDeviceProtocols": [ + "SAS" + ] + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-2/Storage/RackServer-2-SAS", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-2/index.json new file mode 100644 index 00000000..3934485d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-2/index.json @@ -0,0 +1,57 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "RackServer-2", + "Name": "RackServer2", + "ResourceBlockType": [ + "Compute", + "Storage" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "CompositionState": "Unused", + "SharingCapable": false, + "Reserved": false + }, + "Pool": "Free", + "Client": "VCF1001", + "Processors": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-2/Processors/RackServer-2-CPU1" + } + ], + "Memory": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-2/Memory/RackServer-2-DIMM1" + } + ], + "Storage": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-2/Storage/RackServer-2-Local" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-2/Storage/RackServer-2-SAS" + } + ], + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/RackServer-2" + } + ], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/RackServer-2" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/RackServer-2" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-4/Memory/RackServer-4-DIMM1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-4/Memory/RackServer-4-DIMM1/index.json new file mode 100644 index 00000000..52206d04 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-4/Memory/RackServer-4-DIMM1/index.json @@ -0,0 +1,23 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "RackServer-4-DIMM1", + "Name": "DIMM Slot 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityMiB": 8192, + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "MemoryMedia": [ + "DRAM" + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-4/Memory/RackServer-4-DIMM1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-4/Processors/RackServer-4-CPU1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-4/Processors/RackServer-4-CPU1/index.json new file mode 100644 index 00000000..9056ba74 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-4/Processors/RackServer-4-CPU1/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "RackServer-4-CPU1", + "Name": "CPU.Socket.1", + "Socket": "CPU.Socket.1", + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + }, + "Manufacturer": "Intel", + "Model": "Intel(R) Xeon(R) Silver 4112 CPU @ 2.60GHz", + "MaxSpeedMHz": 2600, + "TotalCores": 4, + "TotalThreads": 4, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-4/Processors/RackServer-4-CPU1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-4/Storage/RackServer-4-Local/Drives/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-4/Storage/RackServer-4-Local/Drives/1/index.json new file mode 100644 index 00000000..367b2e82 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-4/Storage/RackServer-4-Local/Drives/1/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "BlockSizeBytes": 512, + "CapableSpeedGbs": 12, + "CapacityBytes": 299999999488, + "Description": "Physical Disk 3:0", + "EncryptionAbility": "None", + "EncryptionStatus": "Unencrypted", + "FailurePredicted": false, + "HotspareType": "None", + "Id": "1", + "Identifiers": [ + { + "DurableName": "50000397D83963F7", + "DurableNameFormat": "NAA" + } + ], + "Manufacturer": "Contoso", + "MediaType": "HDD", + "Model": "AL14SEB030NY", + "Name": "Physical Disk 3:0", + "NegotiatedSpeedGbs": 12, + "PartNumber": "PH0FF02RTB20076O02BIA00", + "PredictedMediaLifeLeftPercent": 95, + "Protocol": "SATA", + "Revision": "EA01", + "RotationSpeedRPM": 10000, + "SerialNumber": "67N0A0FHFL5E", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-4/Storage/RackServer-4-Local/Drives/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-4/Storage/RackServer-4-Local/Drives/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-4/Storage/RackServer-4-Local/Drives/2/index.json new file mode 100644 index 00000000..d6bc4124 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-4/Storage/RackServer-4-Local/Drives/2/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "BlockSizeBytes": 512, + "CapableSpeedGbs": 6, + "CapacityBytes": 1000204886016, + "Description": "Physical Disk 0:1:0", + "EncryptionAbility": "None", + "EncryptionStatus": "Unencrypted", + "FailurePredicted": false, + "HotspareType": "None", + "Id": "2", + "Identifiers": [ + { + "DurableName": "5000C500AAC2DD7D", + "DurableNameFormat": "NAA" + } + ], + "Manufacturer": "Contoso", + "MediaType": "HDD", + "Model": "ST1000NX0443", + "Name": "Physical Disk 0:1:0", + "NegotiatedSpeedGbs": 3, + "PartNumber": "CN08DN1YSGW0077F00LEA00", + "PredictedMediaLifeLeftPercent": 100, + "Protocol": "SATA", + "Revision": "NB31", + "RotationSpeedRPM": 8220, + "SerialNumber": "W470SY1V", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-4/Storage/RackServer-4-Local/Drives/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-4/Storage/RackServer-4-Local/Drives/3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-4/Storage/RackServer-4-Local/Drives/3/index.json new file mode 100644 index 00000000..51f28878 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-4/Storage/RackServer-4-Local/Drives/3/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "BlockSizeBytes": 512, + "CapableSpeedGbs": 12, + "CapacityBytes": 299999999488, + "Description": "Physical Disk 4:0", + "EncryptionAbility": "None", + "EncryptionStatus": "Unencrypted", + "FailurePredicted": false, + "HotspareType": "None", + "Id": "3", + "Identifiers": [ + { + "DurableName": "50000397D83963F7", + "DurableNameFormat": "NAA" + } + ], + "Manufacturer": "Contoso", + "MediaType": "HDD", + "Model": "AL14SEB030NY", + "Name": "Physical Disk 4:0", + "NegotiatedSpeedGbs": 12, + "PartNumber": "PH0FF02RTB20076O02BIA00", + "PredictedMediaLifeLeftPercent": 99, + "Protocol": "SATA", + "Revision": "EA01", + "RotationSpeedRPM": 10000, + "SerialNumber": "67N0A0FHFL5E", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-4/Storage/RackServer-4-Local/Drives/3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-4/Storage/RackServer-4-Local/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-4/Storage/RackServer-4-Local/index.json new file mode 100644 index 00000000..a0de248b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-4/Storage/RackServer-4-Local/index.json @@ -0,0 +1,44 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Description": "Storage Drives, contorllers present in this Computer system", + "Drives": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-4/Storage/RackServer-4-Local/Drives/1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-4/Storage/RackServer-4-Local/Drives/2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-4/Storage/RackServer-4-Local/Drives/3" + } + ], + "Id": "RackServer-4-Local", + "Name": "Storage", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "StorageControllers": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-4/Storage/RackServer-4-Local#/StorageControllers/0", + "MemberId": "0", + "FirmwareVersion": "15.17.09.06", + "Manufacturer": "Contoso", + "Name": "Lewisburg SATA Controller [AHCI mode]", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "SupportedControllerProtocols": [ + "PCIe" + ], + "SupportedDeviceProtocols": [ + "SATA" + ] + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-4/Storage/RackServer-4-Local", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-4/Storage/RackServer-4-SAS/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-4/Storage/RackServer-4-SAS/index.json new file mode 100644 index 00000000..6da6e645 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-4/Storage/RackServer-4-SAS/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Description": "Storage Drives, contorllers present in this Computer system", + "Drives": [], + "Id": "RackServer-4-SAS", + "Name": "Storage", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "StorageControllers": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-4/Storage/RackServer-4-SAS#/StorageControllers/0", + "MemberId": "0", + "FirmwareVersion": "15.17.09.06", + "Identifiers": [ + { + "DurableName": "5D0946602B183900" + } + ], + "Name": "SAS HBA", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "SupportedControllerProtocols": [ + "PCIe" + ], + "SupportedDeviceProtocols": [ + "SAS" + ] + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-4/Storage/RackServer-4-SAS", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-4/index.json new file mode 100644 index 00000000..21226e6e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-4/index.json @@ -0,0 +1,57 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "RackServer-4", + "Name": "RackServer-4-PFSTN21", + "ResourceBlockType": [ + "Compute", + "Storage" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "CompositionState": "Unused", + "SharingCapable": false, + "Reserved": false + }, + "Pool": "Free", + "Client": "VCF1001", + "Processors": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-4/Processors/RackServer-4-CPU1" + } + ], + "Memory": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-4/Memory/RackServer-4-DIMM1" + } + ], + "Storage": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-4/Storage/RackServer-4-Local" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-4/Storage/RackServer-4-SAS" + } + ], + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/RackServer-4" + } + ], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/RackServer-4" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/RackServer-4" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-5/Memory/RackServer-5-DIMM1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-5/Memory/RackServer-5-DIMM1/index.json new file mode 100644 index 00000000..a7aee676 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-5/Memory/RackServer-5-DIMM1/index.json @@ -0,0 +1,23 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "RackServer-5-DIMM1", + "Name": "DIMM Slot 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityMiB": 8192, + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "MemoryMedia": [ + "DRAM" + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-5/Memory/RackServer-5-DIMM1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-5/Processors/RackServer-5-CPU1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-5/Processors/RackServer-5-CPU1/index.json new file mode 100644 index 00000000..a93129ec --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-5/Processors/RackServer-5-CPU1/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "RackServer-5-CPU1", + "Name": "CPU.Socket.1", + "Socket": "CPU.Socket.1", + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + }, + "Manufacturer": "Intel", + "Model": "Intel(R) Xeon(R) Silver 4112 CPU @ 2.60GHz", + "MaxSpeedMHz": 2600, + "TotalCores": 4, + "TotalThreads": 4, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-5/Processors/RackServer-5-CPU1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-5/Storage/RackServer-5-Local/Drives/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-5/Storage/RackServer-5-Local/Drives/1/index.json new file mode 100644 index 00000000..b4559861 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-5/Storage/RackServer-5-Local/Drives/1/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "BlockSizeBytes": 512, + "CapableSpeedGbs": 12, + "CapacityBytes": 299999999488, + "Description": "Physical Disk 3:0", + "EncryptionAbility": "None", + "EncryptionStatus": "Unencrypted", + "FailurePredicted": false, + "HotspareType": "None", + "Id": "1", + "Identifiers": [ + { + "DurableName": "50000397D83963F7", + "DurableNameFormat": "NAA" + } + ], + "Manufacturer": "Contoso", + "MediaType": "HDD", + "Model": "AL14SEB030NY", + "Name": "Physical Disk 3:0", + "NegotiatedSpeedGbs": 12, + "PartNumber": "PH0FF02RTB20076O02BIA00", + "PredictedMediaLifeLeftPercent": 95, + "Protocol": "SATA", + "Revision": "EA01", + "RotationSpeedRPM": 10000, + "SerialNumber": "67N0A0FHFL5E", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-5/Storage/RackServer-5-Local/Drives/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-5/Storage/RackServer-5-Local/Drives/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-5/Storage/RackServer-5-Local/Drives/2/index.json new file mode 100644 index 00000000..a5b69e52 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-5/Storage/RackServer-5-Local/Drives/2/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "BlockSizeBytes": 512, + "CapableSpeedGbs": 6, + "CapacityBytes": 1000204886016, + "Description": "Physical Disk 0:1:0", + "EncryptionAbility": "None", + "EncryptionStatus": "Unencrypted", + "FailurePredicted": false, + "HotspareType": "None", + "Id": "2", + "Identifiers": [ + { + "DurableName": "5000C500AAC2DD7D", + "DurableNameFormat": "NAA" + } + ], + "Manufacturer": "Contoso", + "MediaType": "HDD", + "Model": "ST1000NX0443", + "Name": "Physical Disk 0:1:0", + "NegotiatedSpeedGbs": 3, + "PartNumber": "CN08DN1YSGW0077F00LEA00", + "PredictedMediaLifeLeftPercent": 100, + "Protocol": "SATA", + "Revision": "NB31", + "RotationSpeedRPM": 8220, + "SerialNumber": "W470SY1V", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-5/Storage/RackServer-5-Local/Drives/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-5/Storage/RackServer-5-Local/Drives/3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-5/Storage/RackServer-5-Local/Drives/3/index.json new file mode 100644 index 00000000..90088156 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-5/Storage/RackServer-5-Local/Drives/3/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "BlockSizeBytes": 512, + "CapableSpeedGbs": 12, + "CapacityBytes": 299999999488, + "Description": "Physical Disk 4:0", + "EncryptionAbility": "None", + "EncryptionStatus": "Unencrypted", + "FailurePredicted": false, + "HotspareType": "None", + "Id": "3", + "Identifiers": [ + { + "DurableName": "50000397D83963F7", + "DurableNameFormat": "NAA" + } + ], + "Manufacturer": "Contoso", + "MediaType": "HDD", + "Model": "AL14SEB030NY", + "Name": "Physical Disk 4:0", + "NegotiatedSpeedGbs": 12, + "PartNumber": "PH0FF02RTB20076O02BIA00", + "PredictedMediaLifeLeftPercent": 99, + "Protocol": "SATA", + "Revision": "EA01", + "RotationSpeedRPM": 10000, + "SerialNumber": "67N0A0FHFL5E", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-5/Storage/RackServer-5-Local/Drives/3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-5/Storage/RackServer-5-Local/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-5/Storage/RackServer-5-Local/index.json new file mode 100644 index 00000000..6ae86558 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-5/Storage/RackServer-5-Local/index.json @@ -0,0 +1,44 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Description": "Storage Drives, contorllers present in this Computer system", + "Drives": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-5/Storage/RackServer-5-Local/Drives/1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-5/Storage/RackServer-5-Local/Drives/2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-5/Storage/RackServer-5-Local/Drives/3" + } + ], + "Id": "RackServer-5-Local", + "Name": "Storage", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "StorageControllers": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-5/Storage/RackServer-5-Local#/StorageControllers/0", + "MemberId": "0", + "FirmwareVersion": "15.17.09.06", + "Manufacturer": "Contoso", + "Name": "Lewisburg SATA Controller [AHCI mode]", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "SupportedControllerProtocols": [ + "PCIe" + ], + "SupportedDeviceProtocols": [ + "SATA" + ] + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-5/Storage/RackServer-5-Local", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-5/Storage/RackServer-5-SAS/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-5/Storage/RackServer-5-SAS/index.json new file mode 100644 index 00000000..937cddc2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-5/Storage/RackServer-5-SAS/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Description": "Storage Drives, contorllers present in this Computer system", + "Drives": [], + "Id": "RackServer-5-SAS", + "Name": "Storage", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "StorageControllers": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-5/Storage/RackServer-5-SAS#/StorageControllers/0", + "MemberId": "0", + "FirmwareVersion": "15.17.09.06", + "Identifiers": [ + { + "DurableName": "5D0946602B183900" + } + ], + "Name": "SAS HBA", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "SupportedControllerProtocols": [ + "PCIe" + ], + "SupportedDeviceProtocols": [ + "SAS" + ] + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-5/Storage/RackServer-5-SAS", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-5/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-5/index.json new file mode 100644 index 00000000..bf49ad7e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/RackServer-5/index.json @@ -0,0 +1,57 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "RackServer-5", + "Name": "RackServer-5-PFSTN22", + "ResourceBlockType": [ + "Compute", + "Storage" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "CompositionState": "Unused", + "SharingCapable": false, + "Reserved": false + }, + "Pool": "Free", + "Client": "VCF1001", + "Processors": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-5/Processors/RackServer-5-CPU1" + } + ], + "Memory": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-5/Memory/RackServer-5-DIMM1" + } + ], + "Storage": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-5/Storage/RackServer-5-Local" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-5/Storage/RackServer-5-SAS" + } + ], + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/RackServer-5" + } + ], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/RackServer-5" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/RackServer-5" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-5", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/SASSled-1/Drives/SASSled-1-Drive1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/SASSled-1/Drives/SASSled-1-Drive1/index.json new file mode 100644 index 00000000..27762091 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/SASSled-1/Drives/SASSled-1-Drive1/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "BlockSizeBytes": 512, + "CapableSpeedGbs": 12, + "CapacityBytes": 299999999488, + "Description": "SAS Drive 1 in Storage Sled 1 ", + "EncryptionAbility": "None", + "EncryptionStatus": "Unencrypted", + "FailurePredicted": false, + "HotspareType": "None", + "Id": "SASSled-1-Drive1", + "Identifiers": [ + { + "DurableName": "50000397D83963F7", + "DurableNameFormat": "NAA" + } + ], + "Manufacturer": "Contoso", + "MediaType": "HDD", + "Model": "AL14SEB030NY", + "Name": "Physical Disk 8:3", + "NegotiatedSpeedGbs": 12, + "PartNumber": "PH0FF02RTB20076O02BIA00", + "PredictedMediaLifeLeftPercent": 0, + "Protocol": "SAS", + "Revision": "EA01", + "RotationSpeedRPM": 10000, + "SerialNumber": "67N0A0FHFL5E", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SASSled-1/Drives/SASSled-1-Drive1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/SASSled-1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/SASSled-1/index.json new file mode 100644 index 00000000..33de258e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/SASSled-1/index.json @@ -0,0 +1,49 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "SASSled-1", + "Name": "SASSled-Drive1", + "ResourceBlockType": [ + "Storage" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "CompositionState": "Composed", + "SharingCapable": false, + "Reserved": false + }, + "Pool": "Active", + "Client": "VCF1001", + "Drives": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SASSled-1/Drives/SASSled-1-Drive1" + } + ], + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/BladeServer-1" + } + ], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/StorageSled-1" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/BladeServer-1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/BladeServer-2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/BladeServer-3" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SASSled-1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/SASSled-2/Drives/SASSled-2-Drive1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/SASSled-2/Drives/SASSled-2-Drive1/index.json new file mode 100644 index 00000000..7d167c21 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/SASSled-2/Drives/SASSled-2-Drive1/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "BlockSizeBytes": 512, + "CapableSpeedGbs": 12, + "CapacityBytes": 299999999488, + "Description": "SAS Drive 1 in Storage Sled 2 ", + "EncryptionAbility": "None", + "EncryptionStatus": "Unencrypted", + "FailurePredicted": false, + "HotspareType": "None", + "Id": "SASSled-2-Drive1", + "Identifiers": [ + { + "DurableName": "50000397D83963F7", + "DurableNameFormat": "NAA" + } + ], + "Manufacturer": "Contoso", + "MediaType": "HDD", + "Model": "AL14SEB030NY", + "Name": "Physical Disk 8:3", + "NegotiatedSpeedGbs": 12, + "PartNumber": "PH0FF02RTB20076O02BIA00", + "PredictedMediaLifeLeftPercent": 0, + "Protocol": "SAS", + "Revision": "EA01", + "RotationSpeedRPM": 10000, + "SerialNumber": "67N0A0FHFL5E", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SASSled-2/Drives/SASSled-2-Drive1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/SASSled-2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/SASSled-2/index.json new file mode 100644 index 00000000..eca5d317 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/SASSled-2/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "SASSled-2", + "Name": "SASSled-Drive2", + "ResourceBlockType": [ + "Storage" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "CompositionState": "Unused", + "SharingCapable": false, + "Reserved": false + }, + "Pool": "Free", + "Client": "VCF1001", + "Drives": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SASSled-2/Drives/SASSled-2-Drive1" + } + ], + "Links": { + "ComputerSystems": [], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/StorageSled-1" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/BladeServer-1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/BladeServer-2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/BladeServer-3" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SASSled-2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/SASSled-3/Drives/SASSled-3-Drive1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/SASSled-3/Drives/SASSled-3-Drive1/index.json new file mode 100644 index 00000000..a2f1f800 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/SASSled-3/Drives/SASSled-3-Drive1/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "BlockSizeBytes": 512, + "CapableSpeedGbs": 12, + "CapacityBytes": 299999999488, + "Description": "SAS Drive 1 in Storage Sled 3 ", + "EncryptionAbility": "None", + "EncryptionStatus": "Unencrypted", + "FailurePredicted": false, + "HotspareType": "None", + "Id": "SASSled-3-Drive1", + "Identifiers": [ + { + "DurableName": "50000397D83963F7", + "DurableNameFormat": "NAA" + } + ], + "Manufacturer": "Contoso", + "MediaType": "HDD", + "Model": "AL14SEB030NY", + "Name": "Physical Disk 8:3", + "NegotiatedSpeedGbs": 12, + "PartNumber": "PH0FF02RTB20076O02BIA00", + "PredictedMediaLifeLeftPercent": 0, + "Protocol": "SAS", + "Revision": "EA01", + "RotationSpeedRPM": 10000, + "SerialNumber": "67N0A0FHFL5E", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SASSled-3/Drives/SASSled-3-Drive1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/SASSled-3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/SASSled-3/index.json new file mode 100644 index 00000000..82833fa9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/SASSled-3/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "SASSled-3", + "Name": "SASSled-Drive3", + "ResourceBlockType": [ + "Storage" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "CompositionState": "Unused", + "SharingCapable": false, + "Reserved": false + }, + "Pool": "Free", + "Client": "VCF1001", + "Drives": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SASSled-3/Drives/SASSled-3-Drive1" + } + ], + "Links": { + "ComputerSystems": [], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/StorageSled-1" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/BladeServer-1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/BladeServer-2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/BladeServer-3" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SASSled-3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/index.json new file mode 100644 index 00000000..1aadb520 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceBlocks/index.json @@ -0,0 +1,51 @@ +{ + "@odata.type": "#ResourceBlockCollection.ResourceBlockCollection", + "Name": "Resource Block Collection", + "Members@odata.count": 14, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/Appliance" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-3" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-3" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-4" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-5" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SASSled-1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SASSled-3" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SASSled-3" + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceZones/Appliance/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceZones/Appliance/index.json new file mode 100644 index 00000000..e17ea4e5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceZones/Appliance/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#Zone.v1_6_3.Zone", + "Id": "Appliance", + "Name": "Appliance Resource Zone", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/Appliance" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/Appliance", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceZones/BladeServer-1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceZones/BladeServer-1/index.json new file mode 100644 index 00000000..8c733a84 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceZones/BladeServer-1/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Zone.v1_6_3.Zone", + "Id": "BladeServer-1", + "Name": "BladeServer-1 Resource Zone", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-3" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SASSled-1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SASSled-2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SASSled-3" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/BladeServer-1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceZones/BladeServer-2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceZones/BladeServer-2/index.json new file mode 100644 index 00000000..8d991059 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceZones/BladeServer-2/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Zone.v1_6_3.Zone", + "Id": "BladeServer-2", + "Name": "BladeServer-2 Resource Zone", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-3" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SASSled-1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SASSled-2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SASSled-3" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/BladeServer-2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceZones/BladeServer-3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceZones/BladeServer-3/index.json new file mode 100644 index 00000000..86de7cf5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceZones/BladeServer-3/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Zone.v1_6_3.Zone", + "Id": "BladeServer-3", + "Name": "BladeServer-3 Resource Zone", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-3" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-3" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SASSled-1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SASSled-2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SASSled-3" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/BladeServer-3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceZones/RackServer-1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceZones/RackServer-1/index.json new file mode 100644 index 00000000..30031e9b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceZones/RackServer-1/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#Zone.v1_6_3.Zone", + "Id": "RackServer-1", + "Name": "RackServer-1 Resource Zone", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-3" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/RackServer-1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceZones/RackServer-2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceZones/RackServer-2/index.json new file mode 100644 index 00000000..95f89e0a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceZones/RackServer-2/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#Zone.v1_6_3.Zone", + "Id": "RackServer-2", + "Name": "RackServer-2 Resource Zone", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-3" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/RackServer-2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceZones/RackServer-4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceZones/RackServer-4/index.json new file mode 100644 index 00000000..6143c2c8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceZones/RackServer-4/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#Zone.v1_6_3.Zone", + "Id": "RackServer-4", + "Name": "RackServer-4 Resource Zone", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-4" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-3" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/RackServer-4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceZones/RackServer-5/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceZones/RackServer-5/index.json new file mode 100644 index 00000000..5b8507bb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceZones/RackServer-5/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#Zone.v1_6_3.Zone", + "Id": "RackServer-5", + "Name": "RackServer-5 Resource Zone", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-5" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-3" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/RackServer-5", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceZones/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceZones/index.json new file mode 100644 index 00000000..b2c30bae --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/ResourceZones/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#ZoneCollection.ZoneCollection", + "Name": "Resource Zone Collection", + "Members@odata.count": 8, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/BladeServer-1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/BladeServer-2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/BladeServer-3" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/RackServer-4" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/RackServer-5" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/RackServer-1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/RackServer-2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/Appliance" + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceZones", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/index.json new file mode 100644 index 00000000..64482ad9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/CompositionService/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#CompositionService.v1_2_3.CompositionService", + "Id": "CompositionService", + "Name": "Composition Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "AllowOverprovisioning": true, + "AllowZoneAffinity": true, + "ResourceBlocks": { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks" + }, + "ResourceZones": { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones" + }, + "ActivePool": { + "@odata.id": "/redfish/v1/CompositionService/ActivePool" + }, + "FreePool": { + "@odata.id": "/redfish/v1/CompositionService/FreePool" + }, + "CompositionReservations": { + "@odata.id": "/redfish/v1/CompositionService/CompositionReservations" + }, + "ReservationDuration": "PT3H", + "Actions": { + "#CompositionService.Compose": { + "target": "/redfish/v1/CompositionService/Actions/CompositionService.Compose", + "@Redfish.ActionInfo": "/redfish/v1/CompositionService/ComposeActionInfo" + } + }, + "@odata.id": "/redfish/v1/CompositionService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Managers/1/EthernetInterfaces/Dedicated/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Managers/1/EthernetInterfaces/Dedicated/index.json new file mode 100644 index 00000000..4e2d16ac --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Managers/1/EthernetInterfaces/Dedicated/index.json @@ -0,0 +1,59 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "Dedicated", + "Name": "Manager Ethernet Interface", + "Description": "Management Network Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:33:CF:EA", + "MACAddress": "23:11:8A:33:CF:EA", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "composition-manager", + "FQDN": "composition-manager.dmtf.org", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.0.1" + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred" + } + ], + "NameServers": [ + "names.dmtf.org" + ], + "@odata.id": "/redfish/v1/Managers/1/EthernetInterfaces/Dedicated", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Managers/1/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Managers/1/EthernetInterfaces/index.json new file mode 100644 index 00000000..075a3255 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Managers/1/EthernetInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Network Interface Collection", + "Description": "Collection of EthernetInterfaces for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/1/EthernetInterfaces/Dedicated" + } + ], + "@odata.id": "/redfish/v1/Managers/1/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Managers/1/LogServices/Log/Entries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Managers/1/LogServices/Log/Entries/index.json new file mode 100644 index 00000000..d731a2ba --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Managers/1/LogServices/Log/Entries/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 0, + "Members": [], + "@odata.id": "/redfish/v1/Managers/1/LogServices/Log/Entries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Managers/1/LogServices/Log/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Managers/1/LogServices/Log/index.json new file mode 100644 index 00000000..ce850c44 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Managers/1/LogServices/Log/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#LogService.v1_9_0.LogService", + "Id": "Log", + "Name": "System Log Service", + "MaxNumberOfRecords": 1000, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Managers/1/LogServices/Log/Actions/LogService.ClearLog" + } + }, + "Entries": { + "@odata.id": "/redfish/v1/Managers/1/LogServices/Log/Entries" + }, + "@odata.id": "/redfish/v1/Managers/1/LogServices/Log", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Managers/1/LogServices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Managers/1/LogServices/index.json new file mode 100644 index 00000000..a3276a56 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Managers/1/LogServices/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Description": "Collection of Log Services for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/1/LogServices/Log" + } + ], + "@odata.id": "/redfish/v1/Managers/1/LogServices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Managers/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Managers/1/index.json new file mode 100644 index 00000000..30339c2c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Managers/1/index.json @@ -0,0 +1,77 @@ +{ + "@odata.type": "#Manager.v1_25_0.Manager", + "Id": "1", + "Name": "Manager", + "ManagerType": "EnclosureManager", + "Description": "Contoso Composable Manager", + "ServiceEntryPointUUID": "92384634-2938-2342-8820-489239905423", + "UUID": "58893887-8974-2487-2389-841168418919", + "Model": "Contoso Comp9000", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "FirmwareVersion": "1.00", + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/1/EthernetInterfaces" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Managers/1/LogServices" + }, + "Links": { + "ManagerForChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/BladeServer-1" + }, + { + "@odata.id": "/redfish/v1/Chassis/BladeServer-2" + }, + { + "@odata.id": "/redfish/v1/Chassis/BladeServer-3" + }, + { + "@odata.id": "/redfish/v1/Chassis/FabricEngine" + }, + { + "@odata.id": "/redfish/v1/Chassis/IOM-1" + }, + { + "@odata.id": "/redfish/v1/Chassis/IOM-2" + }, + { + "@odata.id": "/redfish/v1/Chassis/RackServer-1" + }, + { + "@odata.id": "/redfish/v1/Chassis/RackServer-2" + }, + { + "@odata.id": "/redfish/v1/Chassis/RackServer-3" + }, + { + "@odata.id": "/redfish/v1/Chassis/RackServer-4" + }, + { + "@odata.id": "/redfish/v1/Chassis/RackServer-5" + }, + { + "@odata.id": "/redfish/v1/Chassis/StorageSled-1" + } + ], + "ManagerInChassis": { + "@odata.id": "/redfish/v1/Chassis/FabricEngine" + } + }, + "Actions": { + "#Manager.Reset": { + "target": "/redfish/v1/Managers/1/Actions/Manager.Reset", + "ResetType@Redfish.AllowableValues": [ + "ForceRestart", + "GracefulRestart" + ] + } + }, + "@odata.id": "/redfish/v1/Managers/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Managers/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Managers/index.json new file mode 100644 index 00000000..d91c5f62 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Managers/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerCollection.ManagerCollection", + "Name": "Manager Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/1" + } + ], + "@odata.id": "/redfish/v1/Managers", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/SessionService/Sessions/1234567890ABCDEF/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/SessionService/Sessions/1234567890ABCDEF/index.json new file mode 100644 index 00000000..90844a1b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/SessionService/Sessions/1234567890ABCDEF/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#Session.v1_9_0.Session", + "Id": "1234567890ABCDEF", + "Name": "User Session", + "Description": "Manager User Session", + "UserName": "Administrator", + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/SessionService/Sessions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/SessionService/Sessions/index.json new file mode 100644 index 00000000..8d8cdf58 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/SessionService/Sessions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SessionCollection.SessionCollection", + "Name": "Session Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF" + } + ], + "@odata.id": "/redfish/v1/SessionService/Sessions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/SessionService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/SessionService/index.json new file mode 100644 index 00000000..62a05690 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/SessionService/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#SessionService.v1_2_0.SessionService", + "Id": "SessionService", + "Name": "Session Service", + "Description": "Session Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "SessionTimeout": 30, + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + }, + "@odata.id": "/redfish/v1/SessionService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-1/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-1/Memory/index.json new file mode 100644 index 00000000..c5de1221 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-1/Memory/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1/Memory/BladeServer-1-DIMM1" + } + ], + "@odata.id": "/redfish/v1/Systems/BladeServer-1/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-1/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-1/Processors/index.json new file mode 100644 index 00000000..bb05db7e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-1/Processors/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processor Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1/Processors/BladeServer-1-CPU1" + } + ], + "@odata.id": "/redfish/v1/Systems/BladeServer-1/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-1/Storage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-1/Storage/index.json new file mode 100644 index 00000000..0a7e72fd --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-1/Storage/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#StorageCollection.StorageCollection", + "Description": "Collection Of Storage entities", + "Name": "Storage Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1/Storage/BladeServer-1-Local" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1/Storage/BladeServer-1-SAS" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1/Storage/NVMe-TargetsAppliance-1" + } + ], + "@odata.id": "/redfish/v1/Systems/BladeServer-1/Storage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-1/index.json new file mode 100644 index 00000000..ef00530a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-1/index.json @@ -0,0 +1,96 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "BladeServer-1", + "Description": "Computer System which is represents a physical machine and the local resources such as memory, cpu and other devices that can be accessed from that machine.", + "Name": "Sled-1", + "SystemType": "Composed", + "AssetTag": "AssetTag-1", + "Manufacturer": "Contoso", + "Model": "Vendor BladeServer", + "SKU": "PFSTN11", + "SerialNumber": "CNFCP007BE00IT", + "PartNumber": "0177V9X30", + "UUID": "4c4c4544-0046-5310-8054-d0c04f4e3139", + "HostName": "WIN-02GODDHDJTC", + "IndicatorLED": "Off", + "PowerState": "On", + "Boot": { + "BootSourceOverrideTarget": "None", + "BootSourceOverrideEnabled": "Disabled", + "UefiTargetBootSourceOverride": "" + }, + "BiosVersion": "P79 v1.45", + "ProcessorSummary": { + "Count": 1, + "Model": "Intel(R) Xeon(R) Silver 4112 CPU @ 2.60GHz", + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + } + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 8, + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + } + }, + "Actions": { + "#ComputerSystem.Reset": { + "ResetType@Redfish.AllowableValues": [ + "PowerOn", + "PowerOffNonGraceful", + "PowerOffGraceful", + "PowerCycle" + ], + "target": "/redfish/v1/Systems/BladeServer-1/Actions/ComputerSystem.Reset" + }, + "#ComputerSystem.AddResourceBlock": { + "target": "/redfish/v1/Systems/BladeServer-1/Actions/ComputerSystem.AddResourceBlock" + }, + "#ComputerSystem.RemoveResourceBlock": { + "target": "/redfish/v1/Systems/BladeServer-1/Actions/ComputerSystem.RemoveResourceBlock" + } + }, + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + }, + "Composition": { + "UseCases": [ + "ExpandableSystem" + ] + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/BladeServer-1/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Systems/BladeServer-1/Memory" + }, + "Storage": { + "@odata.id": "/redfish/v1/Systems/BladeServer-1/Storage" + }, + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SASSled-1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1" + } + ], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/BladeServer-1" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/BladeServer-1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-2/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-2/Memory/index.json new file mode 100644 index 00000000..29af210e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-2/Memory/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-2/Memory/BladeServer-2-DIMM1" + } + ], + "@odata.id": "/redfish/v1/Systems/BladeServer-2/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-2/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-2/Processors/index.json new file mode 100644 index 00000000..2b1b8a01 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-2/Processors/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processor Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-2/Processors/BladeServer-2-CPU1" + } + ], + "@odata.id": "/redfish/v1/Systems/BladeServer-2/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-2/Storage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-2/Storage/index.json new file mode 100644 index 00000000..4eac09ba --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-2/Storage/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#StorageCollection.StorageCollection", + "Description": "Collection Of Storage entities", + "Name": "Storage Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-2/Storage/BladeServer-2-Local" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-2/Storage/BladeServer-2-SAS" + } + ], + "@odata.id": "/redfish/v1/Systems/BladeServer-2/Storage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-2/index.json new file mode 100644 index 00000000..9e69ecfd --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-2/index.json @@ -0,0 +1,90 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "BladeServer-2", + "Description": "Computer System which is represents a physical machine and the local resources such as memory, cpu and other devices that can be accessed from that machine.", + "Name": "Sled-2", + "SystemType": "Composed", + "AssetTag": "AssetTag-1", + "Manufacturer": "Contoso", + "Model": "Vendor BladeServer", + "SKU": "PFSTN12", + "SerialNumber": "CNFCP007BE00IT", + "PartNumber": "0177V9X30", + "UUID": "4c4c4544-0046-5310-8054-d0c04f4e3139", + "HostName": "WIN-02GODDHDJTC", + "IndicatorLED": "Off", + "PowerState": "On", + "Boot": { + "BootSourceOverrideTarget": "None", + "BootSourceOverrideEnabled": "Disabled", + "UefiTargetBootSourceOverride": "" + }, + "BiosVersion": "P79 v1.45", + "ProcessorSummary": { + "Count": 1, + "Model": "Intel(R) Xeon(R) Silver 4112 CPU @ 2.60GHz", + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + } + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 8, + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + } + }, + "Actions": { + "#ComputerSystem.Reset": { + "ResetType@Redfish.AllowableValues": [ + "PowerOn", + "PowerOffNonGraceful", + "PowerOffGraceful", + "PowerCycle" + ], + "target": "/redfish/v1/Systems/BladeServer-2/Actions/ComputerSystem.Reset" + }, + "#ComputerSystem.AddResourceBlock": { + "target": "/redfish/v1/Systems/BladeServer-2/Actions/ComputerSystem.AddResourceBlock" + }, + "#ComputerSystem.RemoveResourceBlock": { + "target": "/redfish/v1/Systems/BladeServer-2/Actions/ComputerSystem.RemoveResourceBlock" + } + }, + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + }, + "Composition": { + "UseCases": [ + "ExpandableSystem" + ] + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/BladeServer-2/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Systems/BladeServer-2/Memory" + }, + "Storage": { + "@odata.id": "/redfish/v1/Systems/BladeServer-2/Storage" + }, + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-2" + } + ], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/BladeServer-2" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/BladeServer-2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-3/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-3/Memory/index.json new file mode 100644 index 00000000..42998de2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-3/Memory/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-3/Memory/BladeServer-3-DIMM1" + } + ], + "@odata.id": "/redfish/v1/Systems/BladeServer-3/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-3/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-3/Processors/index.json new file mode 100644 index 00000000..296a67ed --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-3/Processors/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processor Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-3/Processors/BladeServer-3-CPU1" + } + ], + "@odata.id": "/redfish/v1/Systems/BladeServer-3/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-3/Storage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-3/Storage/index.json new file mode 100644 index 00000000..fb5906f5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-3/Storage/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#StorageCollection.StorageCollection", + "Description": "Collection Of Storage entities", + "Name": "Storage Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-3/Storage/BladeServer-3-Local" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-3/Storage/BladeServer-3-SAS" + } + ], + "@odata.id": "/redfish/v1/Systems/BladeServer-3/Storage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-3/index.json new file mode 100644 index 00000000..a438cb5d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/BladeServer-3/index.json @@ -0,0 +1,90 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "BladeServer-3", + "Description": "Computer System which is represents a physical machine and the local resources such as memory, cpu and other devices that can be accessed from that machine.", + "Name": "Sled-3", + "SystemType": "Physical", + "AssetTag": "AssetTag-1", + "Manufacturer": "Contoso", + "Model": "Vendor BladeServer", + "SKU": "PFSTN13", + "SerialNumber": "CNFCP007BE00IT", + "PartNumber": "0177V9X30", + "UUID": "4c4c4544-0046-5310-8054-d0c04f4e3139", + "HostName": "WIN-02GODDHDJTC", + "IndicatorLED": "Off", + "PowerState": "On", + "Boot": { + "BootSourceOverrideTarget": "None", + "BootSourceOverrideEnabled": "Disabled", + "UefiTargetBootSourceOverride": "" + }, + "BiosVersion": "P79 v1.45", + "ProcessorSummary": { + "Count": 1, + "Model": "Intel(R) Xeon(R) Silver 4112 CPU @ 2.60GHz", + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + } + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 8, + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + } + }, + "Actions": { + "#ComputerSystem.Reset": { + "ResetType@Redfish.AllowableValues": [ + "PowerOn", + "PowerOffNonGraceful", + "PowerOffGraceful", + "PowerCycle" + ], + "target": "/redfish/v1/Systems/BladeServer-3/Actions/ComputerSystem.Reset" + }, + "#ComputerSystem.AddResourceBlock": { + "target": "/redfish/v1/Systems/BladeServer-3/Actions/ComputerSystem.AddResourceBlock" + }, + "#ComputerSystem.RemoveResourceBlock": { + "target": "/redfish/v1/Systems/BladeServer-3/Actions/ComputerSystem.RemoveResourceBlock" + } + }, + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + }, + "Composition": { + "UseCases": [ + "ExpandableSystem" + ] + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/BladeServer-3/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Systems/BladeServer-3/Memory" + }, + "Storage": { + "@odata.id": "/redfish/v1/Systems/BladeServer-3/Storage" + }, + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-3" + } + ], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/BladeServer-3" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/BladeServer-3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/Capabilities/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/Capabilities/index.json new file mode 100644 index 00000000..5883ab58 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/Capabilities/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "Capabilities", + "Name": "Capabilities for the Zone", + "Name@Redfish.RequiredOnCreate": true, + "Name@Redfish.SetOnlyOnCreate": true, + "Description@Redfish.OptionalOnCreate": true, + "Description@Redfish.SetOnlyOnCreate": true, + "HostName@Redfish.OptionalOnCreate": true, + "HostName@Redfish.UpdatableAfterCreate": true, + "Boot@Redfish.OptionalOnCreate": true, + "Boot": { + "BootSourceOverrideEnabled@Redfish.OptionalOnCreate": true, + "BootSourceOverrideEnabled@Redfish.UpdatableAfterCreate": true, + "BootSourceOverrideTarget@Redfish.OptionalOnCreate": true, + "BootSourceOverrideTarget@Redfish.UpdatableAfterCreate": true, + "BootSourceOverrideTarget@Redfish.AllowableValues": [ + "None", + "Pxe", + "Usb", + "Hdd" + ] + }, + "Links@Redfish.RequiredOnCreate": true, + "Links": { + "ResourceBlocks@Redfish.RequiredOnCreate": true, + "ResourceBlocks@Redfish.UpdatableAfterCreate": true + }, + "@odata.id": "/redfish/v1/Systems/Capabilities", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-1/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-1/Memory/index.json new file mode 100644 index 00000000..94cc3407 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-1/Memory/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-1/Memory/RackServer-1-DIMM1" + } + ], + "@odata.id": "/redfish/v1/Systems/RackServer-1/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-1/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-1/Processors/index.json new file mode 100644 index 00000000..cb474abc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-1/Processors/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processor Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-1/Processors/RackServer-1-CPU1" + } + ], + "@odata.id": "/redfish/v1/Systems/RackServer-1/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-1/Storage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-1/Storage/index.json new file mode 100644 index 00000000..a4f2ce0e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-1/Storage/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#StorageCollection.StorageCollection", + "Description": "Collection Of Storage entities", + "Name": "Storage Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-1/Storage/RackServer-1-Local" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-1/Storage/RackServer-1-SAS" + } + ], + "@odata.id": "/redfish/v1/Systems/RackServer-1/Storage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-1/index.json new file mode 100644 index 00000000..7698114a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-1/index.json @@ -0,0 +1,90 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "RackServer-1", + "Description": "Computer System which is represents a physical machine and the local resources such as memory, cpu and other devices that can be accessed from that machine.", + "Name": "RackServer-1", + "SystemType": "Physical", + "AssetTag": "AssetTag-6", + "Manufacturer": "Contoso", + "Model": "Vendor RackServer", + "SKU": "PFSTN27", + "SerialNumber": "CNFCP007BE00IT", + "PartNumber": "0177V9X30", + "UUID": "4c4c4544-0046-5310-8054-d0c04f4e3139", + "HostName": "WIN-02GODDHDJTC", + "IndicatorLED": "Off", + "PowerState": "On", + "Boot": { + "BootSourceOverrideTarget": "None", + "BootSourceOverrideEnabled": "Disabled", + "UefiTargetBootSourceOverride": "" + }, + "BiosVersion": "P93 v1.63", + "ProcessorSummary": { + "Count": 1, + "Model": "Intel(R) Xeon(R) Silver 4112 CPU @ 2.60GHz", + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + } + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 8, + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + } + }, + "Actions": { + "#ComputerSystem.Reset": { + "ResetType@Redfish.AllowableValues": [ + "PowerOn", + "PowerOffNonGraceful", + "PowerOffGraceful", + "PowerCycle" + ], + "target": "/redfish/v1/Systems/RackServer-1/Actions/ComputerSystem.Reset" + }, + "#ComputerSystem.AddResourceBlock": { + "target": "/redfish/v1/Systems/RackServer-1/Actions/ComputerSystem.AddResourceBlock" + }, + "#ComputerSystem.RemoveResourceBlock": { + "target": "/redfish/v1/Systems/RackServer-1/Actions/ComputerSystem.RemoveResourceBlock" + } + }, + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + }, + "Composition": { + "UseCases": [ + "ExpandableSystem" + ] + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/RackServer-1/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Systems/RackServer-1/Memory" + }, + "Storage": { + "@odata.id": "/redfish/v1/Systems/RackServer-1/Storage" + }, + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-1" + } + ], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/RackServer-1" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/RackServer-1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-2/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-2/Memory/index.json new file mode 100644 index 00000000..e8dd4564 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-2/Memory/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-2/Memory/RackServer-2-DIMM1" + } + ], + "@odata.id": "/redfish/v1/Systems/RackServer-2/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-2/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-2/Processors/index.json new file mode 100644 index 00000000..4965d8f9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-2/Processors/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processor Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-2/Processors/RackServer-2-CPU1" + } + ], + "@odata.id": "/redfish/v1/Systems/RackServer-2/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-2/Storage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-2/Storage/index.json new file mode 100644 index 00000000..9e93dd4e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-2/Storage/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#StorageCollection.StorageCollection", + "Description": "Collection Of Storage entities", + "Name": "Storage Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-2/Storage/RackServer-2-Local" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-2/Storage/RackServer-2-SAS" + } + ], + "@odata.id": "/redfish/v1/Systems/RackServer-2/Storage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-2/index.json new file mode 100644 index 00000000..51d11ff9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-2/index.json @@ -0,0 +1,90 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "RackServer-2", + "Description": "Computer System which is represents a physical machine and the local resources such as memory, cpu and other devices that can be accessed from that machine.", + "Name": "RackServer-2", + "SystemType": "Physical", + "AssetTag": "AssetTag-6", + "Manufacturer": "Contoso", + "Model": "Vendor RackServer", + "SKU": "PFSTN32", + "SerialNumber": "CNFCP007BE00IT", + "PartNumber": "0177V9X30", + "UUID": "4c4c4544-0046-5310-8054-d0c04f4e3139", + "HostName": "WIN-02GODDHDJTC", + "IndicatorLED": "Off", + "PowerState": "On", + "Boot": { + "BootSourceOverrideTarget": "None", + "BootSourceOverrideEnabled": "Disabled", + "UefiTargetBootSourceOverride": "" + }, + "BiosVersion": "P93 v1.63", + "ProcessorSummary": { + "Count": 1, + "Model": "Intel(R) Xeon(R) Silver 4112 CPU @ 2.60GHz", + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + } + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 8, + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + } + }, + "Actions": { + "#ComputerSystem.Reset": { + "ResetType@Redfish.AllowableValues": [ + "PowerOn", + "PowerOffNonGraceful", + "PowerOffGraceful", + "PowerCycle" + ], + "target": "/redfish/v1/Systems/RackServer-2/Actions/ComputerSystem.Reset" + }, + "#ComputerSystem.AddResourceBlock": { + "target": "/redfish/v1/Systems/RackServer-2/Actions/ComputerSystem.AddResourceBlock" + }, + "#ComputerSystem.RemoveResourceBlock": { + "target": "/redfish/v1/Systems/RackServer-2/Actions/ComputerSystem.RemoveResourceBlock" + } + }, + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + }, + "Composition": { + "UseCases": [ + "ExpandableSystem" + ] + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/RackServer-2/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Systems/RackServer-2/Memory" + }, + "Storage": { + "@odata.id": "/redfish/v1/Systems/RackServer-2/Storage" + }, + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-2" + } + ], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/RackServer-2" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/RackServer-2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-3/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-3/Memory/index.json new file mode 100644 index 00000000..2fdebc7a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-3/Memory/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/Appliance/Memory/Appliance-DIMM1" + } + ], + "@odata.id": "/redfish/v1/Systems/RackServer-3/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-3/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-3/Processors/index.json new file mode 100644 index 00000000..b9763782 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-3/Processors/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processor Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/Appliance/Processors/Appliance-CPU1" + } + ], + "@odata.id": "/redfish/v1/Systems/RackServer-3/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-3/Storage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-3/Storage/index.json new file mode 100644 index 00000000..9c5e7c6e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-3/Storage/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#StorageCollection.StorageCollection", + "Description": "Collection Of Storage entities", + "Name": "Storage Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/Appliance/Storage/Appliance-Local" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/Appliance/Storage/Appliance-SAS" + } + ], + "@odata.id": "/redfish/v1/Systems/RackServer-3/Storage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-3/index.json new file mode 100644 index 00000000..8fb9008f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-3/index.json @@ -0,0 +1,90 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "RackServer-3", + "Description": "Computer System which is represents a physical machine and the local resources such as memory, cpu and other devices that can be accessed from that machine.", + "Name": "Appliance Server", + "SystemType": "Physical", + "AssetTag": "AssetTag-6", + "Manufacturer": "Contoso", + "Model": "Vendor RackServer", + "SKU": "PFSTN33", + "SerialNumber": "CNFCP007BE00IT", + "PartNumber": "0177V9X30", + "UUID": "4c4c4544-0046-5310-8054-d0c04f4e3139", + "HostName": "WIN-02GODDHDJTC", + "IndicatorLED": "Off", + "PowerState": "On", + "Boot": { + "BootSourceOverrideTarget": "None", + "BootSourceOverrideEnabled": "Disabled", + "UefiTargetBootSourceOverride": "" + }, + "BiosVersion": "P93 v1.63", + "ProcessorSummary": { + "Count": 1, + "Model": "Intel(R) Xeon(R) Silver 4112 CPU @ 2.60GHz", + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + } + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 8, + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + } + }, + "Actions": { + "#ComputerSystem.Reset": { + "ResetType@Redfish.AllowableValues": [ + "PowerOn", + "PowerOffNonGraceful", + "PowerOffGraceful", + "PowerCycle" + ], + "target": "/redfish/v1/Systems/RackServer-3/Actions/ComputerSystem.Reset" + }, + "#ComputerSystem.AddResourceBlock": { + "target": "/redfish/v1/Systems/RackServer-3/Actions/ComputerSystem.AddResourceBlock" + }, + "#ComputerSystem.RemoveResourceBlock": { + "target": "/redfish/v1/Systems/RackServer-3/Actions/ComputerSystem.RemoveResourceBlock" + } + }, + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + }, + "Composition": { + "UseCases": [ + "ExpandableSystem" + ] + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/RackServer-3/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Systems/RackServer-3/Memory" + }, + "Storage": { + "@odata.id": "/redfish/v1/Systems/RackServer-3/Storage" + }, + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/Appliance" + } + ], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/RackServer-3" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/RackServer-3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-4/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-4/Memory/index.json new file mode 100644 index 00000000..e39f5636 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-4/Memory/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-4/Memory/RackServer-4-DIMM1" + } + ], + "@odata.id": "/redfish/v1/Systems/RackServer-4/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-4/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-4/Processors/index.json new file mode 100644 index 00000000..8b361895 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-4/Processors/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processor Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-4/Processors/RackServer-4-CPU1" + } + ], + "@odata.id": "/redfish/v1/Systems/RackServer-4/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-4/Storage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-4/Storage/index.json new file mode 100644 index 00000000..99d9a9e0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-4/Storage/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#StorageCollection.StorageCollection", + "Description": "Collection Of Storage entities", + "Name": "Storage Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-4/Storage/RackServer-4-Local" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-4/Storage/RackServer-4-SAS" + } + ], + "@odata.id": "/redfish/v1/Systems/RackServer-4/Storage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-4/index.json new file mode 100644 index 00000000..4b7b5364 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-4/index.json @@ -0,0 +1,90 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "RackServer-4", + "Description": "Computer System which is represents a physical machine and the local resources such as memory, cpu and other devices that can be accessed from that machine.", + "Name": "Sled-5", + "SystemType": "Physical", + "AssetTag": "AssetTag-5", + "Manufacturer": "Contoso", + "Model": "Vendor RackServer", + "SKU": "PFSTN21", + "SerialNumber": "CNFCP007GE00IT", + "PartNumber": "0177V9X30", + "UUID": "4c4c4544-0046-5310-8054-d0c04f4e3139", + "HostName": "WIN-02GODDHDJTC", + "IndicatorLED": "Off", + "PowerState": "On", + "Boot": { + "BootSourceOverrideTarget": "None", + "BootSourceOverrideEnabled": "Disabled", + "UefiTargetBootSourceOverride": "" + }, + "BiosVersion": "P93 v1.63", + "ProcessorSummary": { + "Count": 1, + "Model": "Intel(R) Xeon(R) Silver 4112 CPU @ 2.60GHz", + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + } + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 8, + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + } + }, + "Actions": { + "#ComputerSystem.Reset": { + "ResetType@Redfish.AllowableValues": [ + "PowerOn", + "PowerOffNonGraceful", + "PowerOffGraceful", + "PowerCycle" + ], + "target": "/redfish/v1/Systems/RackServer-4/Actions/ComputerSystem.Reset" + }, + "#ComputerSystem.AddResourceBlock": { + "target": "/redfish/v1/Systems/RackServer-4/Actions/ComputerSystem.AddResourceBlock" + }, + "#ComputerSystem.RemoveResourceBlock": { + "target": "/redfish/v1/Systems/RackServer-4/Actions/ComputerSystem.RemoveResourceBlock" + } + }, + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + }, + "Composition": { + "UseCases": [ + "ExpandableSystem" + ] + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/RackServer-4/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Systems/RackServer-4/Memory" + }, + "Storage": { + "@odata.id": "/redfish/v1/Systems/RackServer-4/Storage" + }, + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-4" + } + ], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/RackServer-4" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/RackServer-4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-5/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-5/Memory/index.json new file mode 100644 index 00000000..2c8bd7d5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-5/Memory/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-5/Memory/RackServer-5-DIMM1" + } + ], + "@odata.id": "/redfish/v1/Systems/RackServer-5/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-5/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-5/Processors/index.json new file mode 100644 index 00000000..a3c4730c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-5/Processors/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processor Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-5/Processors/RackServer-5-CPU1" + } + ], + "@odata.id": "/redfish/v1/Systems/RackServer-5/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-5/Storage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-5/Storage/index.json new file mode 100644 index 00000000..a195bdee --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-5/Storage/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#StorageCollection.StorageCollection", + "Description": "Collection Of Storage entities", + "Name": "Storage Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-5/Storage/RackServer-5-Local" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-5/Storage/RackServer-5-SAS" + } + ], + "@odata.id": "/redfish/v1/Systems/RackServer-5/Storage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-5/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-5/index.json new file mode 100644 index 00000000..b6ec79a1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/RackServer-5/index.json @@ -0,0 +1,90 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "RackServer-5", + "Description": "Computer System which is represents a physical machine and the local resources such as memory, cpu and other devices that can be accessed from that machine.", + "Name": "Sled-5", + "SystemType": "Physical", + "AssetTag": "AssetTag-5", + "Manufacturer": "Contoso", + "Model": "Vendor RackServer", + "SKU": "PFSTN22", + "SerialNumber": "CNFCP007GE00IT", + "PartNumber": "0177V9X30", + "UUID": "4c4c4544-0046-5310-8054-d0c04f4e3139", + "HostName": "WIN-02GODDHDJTC", + "IndicatorLED": "Off", + "PowerState": "On", + "Boot": { + "BootSourceOverrideTarget": "None", + "BootSourceOverrideEnabled": "Disabled", + "UefiTargetBootSourceOverride": "" + }, + "BiosVersion": "P93 v1.63", + "ProcessorSummary": { + "Count": 1, + "Model": "Intel(R) Xeon(R) Silver 4112 CPU @ 2.60GHz", + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + } + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 8, + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + } + }, + "Actions": { + "#ComputerSystem.Reset": { + "ResetType@Redfish.AllowableValues": [ + "PowerOn", + "PowerOffNonGraceful", + "PowerOffGraceful", + "PowerCycle" + ], + "target": "/redfish/v1/Systems/RackServer-5/Actions/ComputerSystem.Reset" + }, + "#ComputerSystem.AddResourceBlock": { + "target": "/redfish/v1/Systems/RackServer-5/Actions/ComputerSystem.AddResourceBlock" + }, + "#ComputerSystem.RemoveResourceBlock": { + "target": "/redfish/v1/Systems/RackServer-5/Actions/ComputerSystem.RemoveResourceBlock" + } + }, + "Status": { + "State": "Enabled", + "HealthRollup": "OK", + "Health": "OK" + }, + "Composition": { + "UseCases": [ + "ExpandableSystem" + ] + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/RackServer-5/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Systems/RackServer-5/Memory" + }, + "Storage": { + "@odata.id": "/redfish/v1/Systems/RackServer-5/Storage" + }, + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/RackServer-5" + } + ], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/RackServer-5" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/RackServer-5", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/index.json new file mode 100644 index 00000000..162e7648 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/Systems/index.json @@ -0,0 +1,50 @@ +{ + "@odata.type": "#ComputerSystemCollection.ComputerSystemCollection", + "Name": "Computer System Collection", + "Members@odata.count": 8, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/BladeServer-1" + }, + { + "@odata.id": "/redfish/v1/Systems/BladeServer-2" + }, + { + "@odata.id": "/redfish/v1/Systems/BladeServer-3" + }, + { + "@odata.id": "/redfish/v1/Systems/RackServer-4" + }, + { + "@odata.id": "/redfish/v1/Systems/RackServer-5" + }, + { + "@odata.id": "/redfish/v1/Systems/RackServer-1" + }, + { + "@odata.id": "/redfish/v1/Systems/RackServer-2" + }, + { + "@odata.id": "/redfish/v1/Systems/RackServer-3" + } + ], + "@Redfish.CollectionCapabilities": { + "@odata.type": "#CollectionCapabilities.v1_4_1.CollectionCapabilities", + "Capabilities": [ + { + "CapabilitiesObject": { + "@odata.id": "/redfish/v1/Systems/Capabilities" + }, + "UseCase": "ComputerSystemComposition", + "Links": { + "TargetCollection": { + "@odata.id": "/redfish/v1/Systems" + }, + "RelatedItem": [] + } + } + ] + }, + "@odata.id": "/redfish/v1/Systems", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/explorer_config.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/explorer_config.json new file mode 100644 index 00000000..fa9b01e3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/explorer_config.json @@ -0,0 +1,124 @@ +{ + "name": "Composable System via Compose Action with Manifest", + "description": "This example shows a service with various composable elements. The composition service supports a Compose action, which allows a client to provide a manifest to perform a set of operations to allocate resources and compose systems. It also supports assignment of resource blocks into free and active pools.", + "navlinks": [ + { + "text": "Main", + "target": "main" + }, + { + "text": "Systems", + "target": "Systems", + "navlinks": [ + { + "text": "Blade Server 1", + "target": "BladeServer-1" + }, + { + "text": "Blade Server 2", + "target": "BladeServer-2" + }, + { + "text": "Blade Server 3", + "target": "BladeServer-3" + }, + { + "text": "Rack Server 1", + "target": "RackServer-1" + }, + { + "text": "Rack Server 2", + "target": "RackServer-2" + }, + { + "text": "Rack Server 3", + "target": "RackServer-3" + }, + { + "text": "Rack Server 4", + "target": "RackServer-4" + }, + { + "text": "Rack Server 5", + "target": "RackServer-5" + } + ] + }, + { + "text": "Chassis", + "target": "Chassis", + "navlinks": [ + { + "text": "Blade Server 1", + "target": "BladeServer-1" + }, + { + "text": "Blade Server 2", + "target": "BladeServer-2" + }, + { + "text": "Blade Server 3", + "target": "BladeServer-3" + }, + { + "text": "Rack Server 1", + "target": "RackServer-1" + }, + { + "text": "Rack Server 2", + "target": "RackServer-2" + }, + { + "text": "Rack Server 3", + "target": "RackServer-3" + }, + { + "text": "Rack Server 4", + "target": "RackServer-4" + }, + { + "text": "Rack Server 5", + "target": "RackServer-5" + }, + { + "text": "Storage Sled 1", + "target": "StorageSled-2" + }, + { + "text": "Fabric Engine", + "target": "FabricEngine" + }, + { + "text": "IOM 1", + "target": "IOM-1" + }, + { + "text": "IOM 2", + "target": "IOM-2" + } + ] + }, + { + "text": "Composition Service", + "target": "CompositionService" + }, + { + "text": "Managers", + "target": "Managers", + "navlinks": [ + { + "text": "1", + "target": "1" + } + ] + }, + { + "text": "Session Service", + "target": "SessionService" + }, + { + "text": "Account Service", + "target": "AccountService" + } + ] +} diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/index.json new file mode 100644 index 00000000..bc8e5d58 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#ServiceRoot.v1_22_0.ServiceRoot", + "Id": "RootService", + "Name": "Root Service", + "RedfishVersion": "1.15.0", + "ProtocolFeaturesSupported": { + "ExpandQuery": { + "ExpandAll": true, + "Levels": true, + "MaxLevels": 6, + "Links": true, + "NoLinks": true + }, + "SelectQuery": false, + "FilterQuery": false, + "OnlyMemberQuery": true, + "ExcerptQuery": true + }, + "UUID": "92384634-2938-2342-8820-489239905423", + "Systems": { + "@odata.id": "/redfish/v1/Systems" + }, + "Chassis": { + "@odata.id": "/redfish/v1/Chassis" + }, + "Managers": { + "@odata.id": "/redfish/v1/Managers" + }, + "SessionService": { + "@odata.id": "/redfish/v1/SessionService" + }, + "AccountService": { + "@odata.id": "/redfish/v1/AccountService" + }, + "CompositionService": { + "@odata.id": "/redfish/v1/CompositionService" + }, + "Links": { + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + } + }, + "@odata.id": "/redfish/v1/", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/odata/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/odata/index.json new file mode 100644 index 00000000..2de178cb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-compose-action/odata/index.json @@ -0,0 +1,46 @@ +{ + "@odata.context": "/redfish/v1/$metadata", + "value": [ + { + "name": "Service", + "kind": "Singleton", + "url": "/redfish/v1/" + }, + { + "name": "Systems", + "kind": "Singleton", + "url": "/redfish/v1/Systems" + }, + { + "name": "Chassis", + "kind": "Singleton", + "url": "/redfish/v1/Chassis" + }, + { + "name": "Managers", + "kind": "Singleton", + "url": "/redfish/v1/Managers" + }, + { + "name": "AccountService", + "kind": "Singleton", + "url": "/redfish/v1/AccountService" + }, + { + "name": "SessionService", + "kind": "Singleton", + "url": "/redfish/v1/SessionService" + }, + { + "name": "CompositionService", + "kind": "Singleton", + "url": "/redfish/v1/CompositionService" + }, + { + "name": "Sessions", + "kind": "Singleton", + "url": "/redfish/v1/SessionService/Sessions" + } + ], + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/$metadata/index.xml b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/$metadata/index.xml new file mode 100644 index 00000000..fb5a6ae9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/$metadata/index.xml @@ -0,0 +1,174 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/AccountService/Accounts/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/AccountService/Accounts/1/index.json new file mode 100644 index 00000000..781c45c6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/AccountService/Accounts/1/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#ManagerAccount.v1_14_2.ManagerAccount", + "Id": "1", + "Name": "User Account", + "Description": "User Account", + "Enabled": true, + "Password": null, + "PasswordChangeRequired": false, + "AccountTypes": [ + "Redfish" + ], + "UserName": "Administrator", + "RoleId": "Administrator", + "Locked": false, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + } + }, + "@odata.id": "/redfish/v1/AccountService/Accounts/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/AccountService/Accounts/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/AccountService/Accounts/index.json new file mode 100644 index 00000000..f509d474 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/AccountService/Accounts/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerAccountCollection.ManagerAccountCollection", + "Name": "Accounts Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Accounts/1" + } + ], + "@odata.id": "/redfish/v1/AccountService/Accounts", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/AccountService/Roles/Administrator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/AccountService/Roles/Administrator/index.json new file mode 100644 index 00000000..19d26a98 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/AccountService/Roles/Administrator/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Administrator", + "Name": "User Role", + "Description": "Admin User Role", + "RoleId": "Administrator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureManager", + "ConfigureUsers", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [ + "OemClearLog", + "OemPowerControl" + ], + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/AccountService/Roles/Operator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/AccountService/Roles/Operator/index.json new file mode 100644 index 00000000..90804a6a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/AccountService/Roles/Operator/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Operator", + "Name": "User Role", + "Description": "Operator User Role", + "RoleId": "Operator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/Operator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/AccountService/Roles/ReadOnly/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/AccountService/Roles/ReadOnly/index.json new file mode 100644 index 00000000..1df0cf03 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/AccountService/Roles/ReadOnly/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "ReadOnly", + "Name": "User Role", + "Description": "ReadOnly User Role", + "RoleId": "ReadOnly", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/AccountService/Roles/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/AccountService/Roles/index.json new file mode 100644 index 00000000..ba9ee112 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/AccountService/Roles/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#RoleCollection.RoleCollection", + "Name": "Roles Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/Operator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly" + } + ], + "@odata.id": "/redfish/v1/AccountService/Roles", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/AccountService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/AccountService/index.json new file mode 100644 index 00000000..eb627494 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/AccountService/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#AccountService.v1_19_0.AccountService", + "Id": "AccountService", + "Name": "Account Service", + "Description": "Account Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "AuthFailureLoggingThreshold": 3, + "MinPasswordLength": 8, + "AccountLockoutThreshold": 5, + "AccountLockoutDuration": 30, + "AccountLockoutCounterResetAfter": 30, + "AccountLockoutCounterResetEnabled": true, + "Accounts": { + "@odata.id": "/redfish/v1/AccountService/Accounts" + }, + "Roles": { + "@odata.id": "/redfish/v1/AccountService/Roles" + }, + "@odata.id": "/redfish/v1/AccountService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/ComposableEnclosure/Power/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/ComposableEnclosure/Power/index.json new file mode 100644 index 00000000..c6047642 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/ComposableEnclosure/Power/index.json @@ -0,0 +1,147 @@ +{ + "@odata.type": "#Power.v1_7_3.Power", + "Id": "Power", + "Name": "Composable Enclosure Power", + "PowerSupplies": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Power#/PowerSupplies/0", + "MemberId": "0", + "Name": "Power Supply 0", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PowerSupplyType": "AC", + "LineInputVoltageType": "AC240V", + "LineInputVoltage": 220, + "PowerCapacityWatts": 1450, + "InputRanges": [ + { + "InputType": "AC", + "MinimumVoltage": 185, + "MaximumVoltage": 250, + "MinimumFrequencyHz": 47, + "MaximumFrequencyHz": 63, + "OutputWattage": 1450 + } + ], + "LastPowerOutputWatts": 650, + "Model": "325457-A06", + "Manufacturer": "Contoso Power", + "FirmwareVersion": "2.20", + "SerialNumber": "1S0000523", + "PartNumber": "425-591-654", + "SparePartNumber": "425-591-654", + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Power#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule1" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule2" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule3" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule4" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule5" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule6" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Power#/PowerSupplies/1", + "MemberId": "1", + "Name": "Power Supply 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PowerSupplyType": "AC", + "LineInputVoltageType": "AC240V", + "LineInputVoltage": 222, + "PowerCapacityWatts": 1450, + "InputRanges": [ + { + "InputType": "AC", + "MinimumVoltage": 185, + "MaximumVoltage": 250, + "MinimumFrequencyHz": 47, + "MaximumFrequencyHz": 63, + "OutputWattage": 1450 + } + ], + "LastPowerOutputWatts": 635, + "Model": "325457-A06", + "Manufacturer": "Contoso Power", + "FirmwareVersion": "2.20", + "SerialNumber": "1S0000524", + "PartNumber": "425-591-654", + "SparePartNumber": "425-591-654", + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Power#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule1" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule2" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule3" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule4" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule5" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule6" + } + ] + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Power#/Redundancy/0", + "MemberId": "0", + "Name": "Power Supply Redundancy", + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Power#/PowerSupplies/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Power#/PowerSupplies/1" + } + ], + "Mode": "N+m", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MinNumNeeded": 1, + "MaxNumSupported": 2 + } + ], + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Power", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/ComposableEnclosure/Thermal/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/ComposableEnclosure/Thermal/index.json new file mode 100644 index 00000000..442c85e2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/ComposableEnclosure/Thermal/index.json @@ -0,0 +1,250 @@ +{ + "@odata.type": "#Thermal.v1_7_3.Thermal", + "Id": "Thermal", + "Name": "Composable Enclosure Thermal", + "Temperatures": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Thermal#/Temperatures/0", + "MemberId": "0", + "Name": "Chassis Intake", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 24, + "UpperThresholdNonCritical": 35, + "UpperThresholdCritical": 42, + "UpperThresholdFatal": 50, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 60, + "PhysicalContext": "Intake", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule1" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule2" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule3" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule4" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule5" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule6" + } + ] + } + ], + "Fans": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Thermal#/Fans/0", + "MemberId": "0", + "Name": "System Fan 0", + "PhysicalContext": "Front", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 15100, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 3000, + "MinReadingRange": 0, + "MaxReadingRange": 16000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule1" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule2" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule3" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule4" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule5" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule6" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Thermal#/Fans/1", + "MemberId": "1", + "Name": "System Fan 1", + "PhysicalContext": "Front", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 14800, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 3000, + "MinReadingRange": 0, + "MaxReadingRange": 16000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule1" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule2" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule3" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule4" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule5" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule6" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Thermal#/Fans/2", + "MemberId": "2", + "Name": "System Fan 2", + "PhysicalContext": "Front", + "Status": { + "State": "Enabled", + "Health": "Critical" + }, + "Reading": 0, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 3000, + "MinReadingRange": 0, + "MaxReadingRange": 16000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule1" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule2" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule3" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule4" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule5" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule6" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Thermal#/Fans/3", + "MemberId": "3", + "Name": "System Fan 3", + "PhysicalContext": "Front", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 15000, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 3000, + "MinReadingRange": 0, + "MaxReadingRange": 16000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule1" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule2" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule3" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule4" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule5" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule6" + } + ] + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Thermal#/Redundancy/0", + "MemberId": "0", + "Name": "System Fans", + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Thermal#/Fans/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Thermal#/Fans/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Thermal#/Fans/2" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Thermal#/Fans/3" + } + ], + "Mode": "N+m", + "Status": { + "State": "Enabled", + "Health": "Warning" + }, + "MinNumNeeded": 3, + "MaxNumSupported": 4 + } + ], + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Thermal", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/ComposableEnclosure/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/ComposableEnclosure/index.json new file mode 100644 index 00000000..8a05c22f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/ComposableEnclosure/index.json @@ -0,0 +1,58 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "ComposableEnclosure", + "Name": "Composable Enclosure", + "ChassisType": "Enclosure", + "Manufacturer": "Contoso", + "Model": "COMP9000", + "SKU": "159000", + "SerialNumber": "CONTSN85482754", + "PartNumber": "CONTPN009-200", + "AssetTag": null, + "PowerState": "On", + "IndicatorLED": "Off", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Thermal" + }, + "Power": { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure/Power" + }, + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/ComposedSystem" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/1" + } + ], + "Contains": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule1" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule2" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule3" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule4" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule5" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule6" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/ComposableModule1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/ComposableModule1/index.json new file mode 100644 index 00000000..e450353d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/ComposableModule1/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "ComposableModule1", + "Name": "Composable Compute Module", + "ChassisType": "Module", + "Manufacturer": "Contoso", + "Model": "COMP9100", + "SKU": "159100", + "SerialNumber": "CONTSN85482755", + "PartNumber": "CONTPN009-210", + "AssetTag": null, + "PowerState": "On", + "IndicatorLED": "Off", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/ComposedSystem" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/1" + } + ], + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure" + }, + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/ComposableModule1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/ComposableModule2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/ComposableModule2/index.json new file mode 100644 index 00000000..b0dfb7ef --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/ComposableModule2/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "ComposableModule2", + "Name": "Composable Compute Module", + "ChassisType": "Module", + "Manufacturer": "Contoso", + "Model": "COMP9100", + "SKU": "159100", + "SerialNumber": "CONTSN85482756", + "PartNumber": "CONTPN009-210", + "AssetTag": null, + "PowerState": "On", + "IndicatorLED": "Off", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "ComputerSystems": [], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/1" + } + ], + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure" + }, + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/ComposableModule2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/ComposableModule3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/ComposableModule3/index.json new file mode 100644 index 00000000..47da34b7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/ComposableModule3/index.json @@ -0,0 +1,49 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "ComposableModule3", + "Name": "Composable Drive Module", + "ChassisType": "Module", + "Manufacturer": "Contoso", + "Model": "COMP9200", + "SKU": "159200", + "SerialNumber": "CONTSN85482757", + "PartNumber": "CONTPN009-220", + "AssetTag": null, + "PowerState": "On", + "IndicatorLED": "Off", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/ComposedSystem" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/1" + } + ], + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure" + }, + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock3" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock4" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock5" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock6" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/ComposableModule3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/ComposableModule4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/ComposableModule4/index.json new file mode 100644 index 00000000..688dc05c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/ComposableModule4/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "ComposableModule4", + "Name": "Composable Drive Module", + "ChassisType": "Module", + "Manufacturer": "Contoso", + "Model": "COMP9300", + "SKU": "159300", + "SerialNumber": "CONTSN85482758", + "PartNumber": "CONTPN009-230", + "AssetTag": null, + "PowerState": "On", + "IndicatorLED": "Off", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "ComputerSystems": [], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/1" + } + ], + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure" + }, + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock7" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/ComposableModule4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/ComposableModule5/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/ComposableModule5/index.json new file mode 100644 index 00000000..bae870d2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/ComposableModule5/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "ComposableModule5", + "Name": "Composable Network Module", + "ChassisType": "Module", + "Manufacturer": "Contoso", + "Model": "COMP9400", + "SKU": "159400", + "SerialNumber": "CONTSN85482759", + "PartNumber": "CONTPN009-240", + "AssetTag": null, + "PowerState": "On", + "IndicatorLED": "Off", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "ComputerSystems": [], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/1" + } + ], + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure" + }, + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkBlock8" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/ComposableModule5", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/ComposableModule6/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/ComposableModule6/index.json new file mode 100644 index 00000000..bbe22746 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/ComposableModule6/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "ComposableModule6", + "Name": "Composable Offload Module", + "ChassisType": "Module", + "Manufacturer": "Contoso", + "Model": "COMP9500", + "SKU": "159500", + "SerialNumber": "CONTSN85482760", + "PartNumber": "CONTPN009-250", + "AssetTag": null, + "PowerState": "On", + "IndicatorLED": "Off", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "ComputerSystems": [], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/1" + } + ], + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure" + }, + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/OffloadBlock9" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/ComposableModule6", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/index.json new file mode 100644 index 00000000..c009646d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Chassis/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#ChassisCollection.ChassisCollection", + "Name": "Chassis Collection", + "Members@odata.count": 7, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule1" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule2" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule3" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule4" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule5" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule6" + } + ], + "@odata.id": "/redfish/v1/Chassis", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock1/EthernetInterfaces/Block1OnboardNIC/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock1/EthernetInterfaces/Block1OnboardNIC/index.json new file mode 100644 index 00000000..cfcd02fe --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock1/EthernetInterfaces/Block1OnboardNIC/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "Block1OnboardNIC", + "Name": "Integrated Ethernet Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "AA:BB:CC:DD:EE:FD", + "MACAddress": "AA:BB:CC:DD:EE:FD", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "IPv4Addresses": [ + { + "Address": "192.168.70.80", + "SubnetMask": "255.255.255.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.70.1" + } + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule1" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/EthernetInterfaces/Block1OnboardNIC", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM0/index.json new file mode 100644 index 00000000..62707a97 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM0/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "Block1DIMM0", + "Name": "DIMM Slot 0", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityMiB": 8192, + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "MemoryMedia": [ + "DRAM" + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule1" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM1/index.json new file mode 100644 index 00000000..0a1fe19d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM1/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "Block1DIMM1", + "Name": "DIMM Slot 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityMiB": 8192, + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 2, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "MemoryMedia": [ + "DRAM" + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule1" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM2/index.json new file mode 100644 index 00000000..fd39ce6e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM2/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "Block1DIMM2", + "Name": "DIMM Slot 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityMiB": 8192, + "MemoryLocation": { + "Socket": 2, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "MemoryMedia": [ + "DRAM" + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule1" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM3/index.json new file mode 100644 index 00000000..921703f9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM3/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "Block1DIMM3", + "Name": "DIMM Slot 3", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityMiB": 8192, + "MemoryLocation": { + "Socket": 2, + "MemoryController": 1, + "Channel": 2, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "MemoryMedia": [ + "DRAM" + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule1" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock1/Processors/Block1CPU0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock1/Processors/Block1CPU0/index.json new file mode 100644 index 00000000..f507dfe7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock1/Processors/Block1CPU0/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Block1CPU0", + "Name": "Processor", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Multi-Core Intel(R) Xeon(R) processor 7xxx Series", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2000, + "TotalCores": 8, + "TotalThreads": 16, + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule1" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Processors/Block1CPU0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock1/Processors/Block1CPU1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock1/Processors/Block1CPU1/index.json new file mode 100644 index 00000000..cbc782e4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock1/Processors/Block1CPU1/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Block1CPU1", + "Name": "Processor", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Multi-Core Intel(R) Xeon(R) processor 7xxx Series", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2000, + "TotalCores": 8, + "TotalThreads": 16, + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule1" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Processors/Block1CPU1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock1/index.json new file mode 100644 index 00000000..ad93792e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock1/index.json @@ -0,0 +1,66 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "ComputeBlock1", + "Name": "Compute Block 1", + "ResourceBlockType": [ + "Compute", + "Network" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "Reserved": false, + "CompositionState": "Composed", + "SharingCapable": false, + "MaxCompositions": 1, + "NumberOfCompositions": 1 + }, + "Processors": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Processors/Block1CPU0" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Processors/Block1CPU1" + } + ], + "Memory": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM0" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM3" + } + ], + "EthernetInterfaces": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/EthernetInterfaces/Block1OnboardNIC" + } + ], + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/ComposedSystem" + } + ], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule1" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/1" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM0/index.json new file mode 100644 index 00000000..4ec79d4b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM0/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "Block2DIMM0", + "Name": "DIMM Slot 0", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityMiB": 8192, + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "MemoryMedia": [ + "DRAM" + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule2" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM1/index.json new file mode 100644 index 00000000..60db1e8b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM1/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "Block2DIMM1", + "Name": "DIMM Slot 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityMiB": 8192, + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 2, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "MemoryMedia": [ + "DRAM" + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule2" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM2/index.json new file mode 100644 index 00000000..9bcb0f37 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM2/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "Block2DIMM2", + "Name": "DIMM Slot 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityMiB": 8192, + "MemoryLocation": { + "Socket": 2, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "MemoryMedia": [ + "DRAM" + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule2" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM3/index.json new file mode 100644 index 00000000..7264bc8f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM3/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "Block2DIMM3", + "Name": "DIMM Slot 3", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityMiB": 8192, + "MemoryLocation": { + "Socket": 2, + "MemoryController": 1, + "Channel": 2, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "MemoryMedia": [ + "DRAM" + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule2" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock2/Processors/Block2CPU0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock2/Processors/Block2CPU0/index.json new file mode 100644 index 00000000..85d1874a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock2/Processors/Block2CPU0/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Block2CPU0", + "Name": "Processor", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Multi-Core Intel(R) Xeon(R) processor 7xxx Series", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2000, + "TotalCores": 8, + "TotalThreads": 16, + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule2" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2/Processors/Block2CPU0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock2/Processors/Block2CPU1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock2/Processors/Block2CPU1/index.json new file mode 100644 index 00000000..00356af2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock2/Processors/Block2CPU1/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Block2CPU1", + "Name": "Processor", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Multi-Core Intel(R) Xeon(R) processor 7xxx Series", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2000, + "TotalCores": 8, + "TotalThreads": 16, + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule2" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2/Processors/Block2CPU1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock2/index.json new file mode 100644 index 00000000..748343e0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/ComputeBlock2/index.json @@ -0,0 +1,60 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "ComputeBlock2", + "Name": "Compute Block 2", + "ResourceBlockType": [ + "Compute" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "Reserved": false, + "CompositionState": "Composed", + "SharingCapable": false, + "MaxCompositions": 1, + "NumberOfCompositions": 1 + }, + "Processors": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2/Processors/Block2CPU0" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2/Processors/Block2CPU1" + } + ], + "Memory": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM0" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM3" + } + ], + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/ComposedSystem2" + } + ], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule2" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/2" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock3/Drives/Slot0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock3/Drives/Slot0/index.json new file mode 100644 index 00000000..b490a06f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock3/Drives/Slot0/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "Slot0", + "Name": "NVMe Drive Slot 0", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 274877906944, + "Protocol": "NVMe", + "MediaType": "SSD", + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule3" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock3/Drives/Slot0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock3/Storage/Block3NVMe/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock3/Storage/Block3NVMe/index.json new file mode 100644 index 00000000..db20a346 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock3/Storage/Block3NVMe/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Id": "Block3NVMe", + "Name": "NMVe Storage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Drives": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock3/Drives/Slot0" + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock3/Storage/Block3NVMe", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock3/index.json new file mode 100644 index 00000000..e33f6df8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock3/index.json @@ -0,0 +1,55 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "DriveBlock3", + "Name": "Drive Block 3", + "ResourceBlockType": [ + "Storage" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "Reserved": false, + "CompositionState": "ComposedAndAvailable", + "SharingCapable": true, + "SharingEnabled": true, + "MaxCompositions": 8, + "NumberOfCompositions": 2 + }, + "Drives": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock3/Drives/Slot0" + } + ], + "Storage": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock3/Storage/Block3NVMe" + } + ], + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/ComposedSystem" + }, + { + "@odata.id": "/redfish/v1/Systems/ComposedSystem2" + } + ], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule3" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/2" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock4/Drives/Slot1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock4/Drives/Slot1/index.json new file mode 100644 index 00000000..b9cfd12c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock4/Drives/Slot1/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "Slot1", + "Name": "NVMe Drive Slot 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 274877906944, + "Protocol": "NVMe", + "MediaType": "SSD", + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule3" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock4/Drives/Slot1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock4/Storage/Block4NVMe/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock4/Storage/Block4NVMe/index.json new file mode 100644 index 00000000..92e2ebcb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock4/Storage/Block4NVMe/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Id": "Block4NVMe", + "Name": "NMVe Storage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Drives": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock4/Drives/Slot1" + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock4/Storage/Block4NVMe", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock4/index.json new file mode 100644 index 00000000..4460d1d7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock4/index.json @@ -0,0 +1,52 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "DriveBlock4", + "Name": "Drive Block 4", + "ResourceBlockType": [ + "Storage" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "Reserved": false, + "CompositionState": "ComposedAndAvailable", + "SharingCapable": true, + "SharingEnabled": true, + "MaxCompositions": 8, + "NumberOfCompositions": 1 + }, + "Drives": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock4/Drives/Slot1" + } + ], + "Storage": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock4/Storage/Block4NVMe" + } + ], + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/ComposedSystem" + } + ], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule3" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/2" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock5/Drives/Slot2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock5/Drives/Slot2/index.json new file mode 100644 index 00000000..e2efbb47 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock5/Drives/Slot2/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "Slot2", + "Name": "NVMe Drive Slot 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 274877906944, + "Protocol": "NVMe", + "MediaType": "SSD", + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule3" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock5/Drives/Slot2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock5/Storage/Block5NVMe/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock5/Storage/Block5NVMe/index.json new file mode 100644 index 00000000..4e096a4a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock5/Storage/Block5NVMe/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Id": "Block5NVMe", + "Name": "NMVe Storage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Drives": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock5/Drives/Slot2" + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock5/Storage/Block5NVMe", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock5/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock5/index.json new file mode 100644 index 00000000..79d07472 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock5/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "DriveBlock5", + "Name": "Drive Block 5", + "ResourceBlockType": [ + "Storage" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "Reserved": false, + "CompositionState": "Unused", + "SharingCapable": true, + "SharingEnabled": true, + "MaxCompositions": 8, + "NumberOfCompositions": 0 + }, + "Drives": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock5/Drives/Slot2" + } + ], + "Storage": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock5/Storage/Block5NVMe" + } + ], + "Links": { + "ComputerSystems": [], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule3" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/2" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock5", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock6/Drives/Slot3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock6/Drives/Slot3/index.json new file mode 100644 index 00000000..4e8f0cb4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock6/Drives/Slot3/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "Slot3", + "Name": "NVMe Drive Slot 3", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 274877906944, + "Protocol": "NVMe", + "MediaType": "SSD", + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule3" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock6/Drives/Slot3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock6/Storage/Block6NVMe/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock6/Storage/Block6NVMe/index.json new file mode 100644 index 00000000..e41aee2e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock6/Storage/Block6NVMe/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Id": "Block6NVMe", + "Name": "NMVe Storage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Drives": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock6/Drives/Slot3" + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock6/Storage/Block6NVMe", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock6/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock6/index.json new file mode 100644 index 00000000..4a046ac2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock6/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "DriveBlock6", + "Name": "Drive Block 6", + "ResourceBlockType": [ + "Storage" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "Reserved": false, + "CompositionState": "Unused", + "SharingCapable": true, + "SharingEnabled": true, + "MaxCompositions": 8, + "NumberOfCompositions": 0 + }, + "Drives": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock6/Drives/Slot3" + } + ], + "Storage": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock6/Storage/Block6NVMe" + } + ], + "Links": { + "ComputerSystems": [], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule3" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/2" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock6", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock7/SimpleStorage/Block7SASTray/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock7/SimpleStorage/Block7SASTray/index.json new file mode 100644 index 00000000..58564247 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock7/SimpleStorage/Block7SASTray/index.json @@ -0,0 +1,58 @@ +{ + "@odata.type": "#SimpleStorage.v1_3_2.SimpleStorage", + "Id": "Block7SASTray", + "Name": "SAS Simple Storage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Devices": [ + { + "Name": "SAS Drive Bay 0", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Manufacturer": "Contoso", + "Model": "SASGB1024", + "CapacityBytes": 1099511627776 + }, + { + "Name": "SAS Drive Bay 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Manufacturer": "Contoso", + "Model": "SASGB1024", + "CapacityBytes": 1099511627776 + }, + { + "Name": "SAS Drive Bay 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Manufacturer": "Contoso", + "Model": "SASGB1024", + "CapacityBytes": 1099511627776 + }, + { + "Name": "SAS Drive Bay 3", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Manufacturer": "Contoso", + "Model": "SASGB1024", + "CapacityBytes": 1099511627776 + } + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule4" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock7/SimpleStorage/Block7SASTray", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock7/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock7/index.json new file mode 100644 index 00000000..e27388ca --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/DriveBlock7/index.json @@ -0,0 +1,42 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "DriveBlock7", + "Name": "Drive Block 7", + "ResourceBlockType": [ + "Storage" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "Reserved": false, + "CompositionState": "Unused", + "SharingCapable": false, + "MaxCompositions": 1, + "NumberOfCompositions": 0 + }, + "SimpleStorage": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock7/SimpleStorage/Block7SASTray" + } + ], + "Links": { + "ComputerSystems": [], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule4" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/2" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock7", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/NetworkBlock8/EthernetInterfaces/Block8Port0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/NetworkBlock8/EthernetInterfaces/Block8Port0/index.json new file mode 100644 index 00000000..bbdbd228 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/NetworkBlock8/EthernetInterfaces/Block8Port0/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "Block8Port0", + "Name": "Ethernet Interface Port 0", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "AA:BB:CC:DD:EE:FF", + "MACAddress": "AA:BB:CC:DD:EE:FF", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "IPv4Addresses": [ + { + "Address": null, + "SubnetMask": null, + "AddressOrigin": "DHCP", + "Gateway": null + } + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule5" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkBlock8/EthernetInterfaces/Block8Port0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/NetworkBlock8/EthernetInterfaces/Block8Port1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/NetworkBlock8/EthernetInterfaces/Block8Port1/index.json new file mode 100644 index 00000000..81aea933 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/NetworkBlock8/EthernetInterfaces/Block8Port1/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "Block8Port1", + "Name": "Ethernet Interface Port 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "AA:BB:CC:DD:EE:FE", + "MACAddress": "AA:BB:CC:DD:EE:FE", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "IPv4Addresses": [ + { + "Address": null, + "SubnetMask": null, + "AddressOrigin": "DHCP", + "Gateway": null + } + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule5" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkBlock8/EthernetInterfaces/Block8Port1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/NetworkBlock8/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/NetworkBlock8/index.json new file mode 100644 index 00000000..6c51664e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/NetworkBlock8/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "NetworkBlock8", + "Name": "Network Block 8", + "ResourceBlockType": [ + "Network" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "Reserved": false, + "CompositionState": "Composed", + "SharingCapable": false, + "MaxCompositions": 1, + "NumberOfCompositions": 1 + }, + "EthernetInterfaces": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkBlock8/EthernetInterfaces/Block8Port0" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkBlock8/EthernetInterfaces/Block8Port1" + } + ], + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/ComposedSystem2" + } + ], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule5" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/2" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkBlock8", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/OffloadBlock9/Processors/Block9GPU/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/OffloadBlock9/Processors/Block9GPU/index.json new file mode 100644 index 00000000..66409554 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/OffloadBlock9/Processors/Block9GPU/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Block9GPU", + "Name": "Processor", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ProcessorType": "GPU", + "Manufacturer": "Contoso Graphics", + "Model": "Contoso Workstation VID2000", + "MaxSpeedMHz": 800, + "TotalCores": 1536, + "TotalThreads": 1536, + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableModule6" + } + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/OffloadBlock9/Processors/Block9GPU", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/OffloadBlock9/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/OffloadBlock9/index.json new file mode 100644 index 00000000..83919768 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/OffloadBlock9/index.json @@ -0,0 +1,39 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "OffloadBlock9", + "Name": "Offload Block 0", + "ResourceBlockType": [ + "Processor" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CompositionStatus": { + "Reserved": false, + "CompositionState": "Unused", + "SharingCapable": false, + "MaxCompositions": 1, + "NumberOfCompositions": 0 + }, + "Processors": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/OffloadBlock9/Processors/Block9GPU" + } + ], + "Links": { + "ComputerSystems": [], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule6" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/2" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/OffloadBlock9", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/index.json new file mode 100644 index 00000000..643cc68f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceBlocks/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#ResourceBlockCollection.ResourceBlockCollection", + "Name": "Resource Block Collection", + "Members@odata.count": 9, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock3" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock4" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock5" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock6" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock7" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkBlock8" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/OffloadBlock9" + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceZones/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceZones/1/index.json new file mode 100644 index 00000000..b9c235ec --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceZones/1/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Zone.v1_6_3.Zone", + "Id": "1", + "Name": "Resource Zone 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ZoneType": "ZoneOfResourceBlocks", + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock3" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock4" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock5" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock6" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock7" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceZones/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceZones/2/index.json new file mode 100644 index 00000000..ed7f9e9a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceZones/2/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Zone.v1_6_3.Zone", + "Id": "2", + "Name": "Resource Zone 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ZoneType": "ZoneOfResourceBlocks", + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock3" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock4" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock5" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock6" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock7" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkBlock8" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/OffloadBlock9" + } + ] + }, + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceZones/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceZones/index.json new file mode 100644 index 00000000..2f7773dd --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/ResourceZones/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#ZoneCollection.ZoneCollection", + "Name": "Resource Zone Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/2" + } + ], + "@odata.id": "/redfish/v1/CompositionService/ResourceZones", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/index.json new file mode 100644 index 00000000..3505c47a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/CompositionService/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#CompositionService.v1_2_3.CompositionService", + "Id": "CompositionService", + "Name": "Composition Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "AllowOverprovisioning": true, + "AllowZoneAffinity": true, + "ResourceBlocks": { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks" + }, + "ResourceZones": { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones" + }, + "@odata.id": "/redfish/v1/CompositionService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Managers/1/EthernetInterfaces/Dedicated/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Managers/1/EthernetInterfaces/Dedicated/index.json new file mode 100644 index 00000000..4e2d16ac --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Managers/1/EthernetInterfaces/Dedicated/index.json @@ -0,0 +1,59 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "Dedicated", + "Name": "Manager Ethernet Interface", + "Description": "Management Network Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:33:CF:EA", + "MACAddress": "23:11:8A:33:CF:EA", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "composition-manager", + "FQDN": "composition-manager.dmtf.org", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.0.1" + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred" + } + ], + "NameServers": [ + "names.dmtf.org" + ], + "@odata.id": "/redfish/v1/Managers/1/EthernetInterfaces/Dedicated", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Managers/1/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Managers/1/EthernetInterfaces/index.json new file mode 100644 index 00000000..075a3255 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Managers/1/EthernetInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Network Interface Collection", + "Description": "Collection of EthernetInterfaces for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/1/EthernetInterfaces/Dedicated" + } + ], + "@odata.id": "/redfish/v1/Managers/1/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Managers/1/LogServices/Log/Entries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Managers/1/LogServices/Log/Entries/index.json new file mode 100644 index 00000000..d731a2ba --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Managers/1/LogServices/Log/Entries/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 0, + "Members": [], + "@odata.id": "/redfish/v1/Managers/1/LogServices/Log/Entries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Managers/1/LogServices/Log/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Managers/1/LogServices/Log/index.json new file mode 100644 index 00000000..ce850c44 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Managers/1/LogServices/Log/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#LogService.v1_9_0.LogService", + "Id": "Log", + "Name": "System Log Service", + "MaxNumberOfRecords": 1000, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Managers/1/LogServices/Log/Actions/LogService.ClearLog" + } + }, + "Entries": { + "@odata.id": "/redfish/v1/Managers/1/LogServices/Log/Entries" + }, + "@odata.id": "/redfish/v1/Managers/1/LogServices/Log", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Managers/1/LogServices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Managers/1/LogServices/index.json new file mode 100644 index 00000000..a3276a56 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Managers/1/LogServices/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Description": "Collection of Log Services for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/1/LogServices/Log" + } + ], + "@odata.id": "/redfish/v1/Managers/1/LogServices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Managers/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Managers/1/index.json new file mode 100644 index 00000000..7284f3b5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Managers/1/index.json @@ -0,0 +1,62 @@ +{ + "@odata.type": "#Manager.v1_25_0.Manager", + "Id": "1", + "Name": "Manager", + "ManagerType": "EnclosureManager", + "Description": "Contoso Composable Manager", + "ServiceEntryPointUUID": "92384634-2938-2342-8820-489239905423", + "UUID": "58893887-8974-2487-2389-841168418919", + "Model": "Contoso Comp9000", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "FirmwareVersion": "1.00", + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/1/EthernetInterfaces" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Managers/1/LogServices" + }, + "Links": { + "ManagerForChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule1" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule2" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule3" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule4" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule5" + }, + { + "@odata.id": "/redfish/v1/Chassis/ComposableModule6" + } + ], + "ManagerInChassis": { + "@odata.id": "/redfish/v1/Chassis/ComposableEnclosure" + } + }, + "Actions": { + "#Manager.Reset": { + "target": "/redfish/v1/Managers/1/Actions/Manager.Reset", + "ResetType@Redfish.AllowableValues": [ + "ForceRestart", + "GracefulRestart" + ] + } + }, + "@odata.id": "/redfish/v1/Managers/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Managers/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Managers/index.json new file mode 100644 index 00000000..d91c5f62 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Managers/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerCollection.ManagerCollection", + "Name": "Manager Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/1" + } + ], + "@odata.id": "/redfish/v1/Managers", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/SessionService/Sessions/1234567890ABCDEF/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/SessionService/Sessions/1234567890ABCDEF/index.json new file mode 100644 index 00000000..90844a1b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/SessionService/Sessions/1234567890ABCDEF/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#Session.v1_9_0.Session", + "Id": "1234567890ABCDEF", + "Name": "User Session", + "Description": "Manager User Session", + "UserName": "Administrator", + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/SessionService/Sessions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/SessionService/Sessions/index.json new file mode 100644 index 00000000..8d8cdf58 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/SessionService/Sessions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SessionCollection.SessionCollection", + "Name": "Session Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF" + } + ], + "@odata.id": "/redfish/v1/SessionService/Sessions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/SessionService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/SessionService/index.json new file mode 100644 index 00000000..62a05690 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/SessionService/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#SessionService.v1_2_0.SessionService", + "Id": "SessionService", + "Name": "Session Service", + "Description": "Session Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "SessionTimeout": 30, + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + }, + "@odata.id": "/redfish/v1/SessionService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem/EthernetInterfaces/index.json new file mode 100644 index 00000000..53dc93d8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem/EthernetInterfaces/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Interface Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/EthernetInterfaces/Block1OnboardNIC" + } + ], + "@odata.id": "/redfish/v1/Systems/ComposedSystem/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem/Memory/index.json new file mode 100644 index 00000000..75660179 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem/Memory/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Collection", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM0" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM3" + } + ], + "@odata.id": "/redfish/v1/Systems/ComposedSystem/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem/Processors/index.json new file mode 100644 index 00000000..7638623d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem/Processors/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processors Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Processors/Block1CPU0" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Processors/Block1CPU1" + } + ], + "@odata.id": "/redfish/v1/Systems/ComposedSystem/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem/Storage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem/Storage/index.json new file mode 100644 index 00000000..3647b48e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem/Storage/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#StorageCollection.StorageCollection", + "Name": "Storage Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock3/Storage/Block3NVMe" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock4/Storage/Block4NVMe" + } + ], + "@odata.id": "/redfish/v1/Systems/ComposedSystem/Storage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem/index.json new file mode 100644 index 00000000..1815a41c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem/index.json @@ -0,0 +1,47 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "ComposedSystem", + "Name": "Sample Composed System", + "SystemType": "Composed", + "Description": "This shows an example of a composed system", + "UUID": "37596f04-b032-48ce-9bad-7d55a61fe574", + "HostName": "composed-system", + "PowerState": "On", + "Boot": { + "BootSourceOverrideEnabled": "Once", + "BootSourceOverrideTarget": "Pxe", + "BootSourceOverrideTarget@Redfish.AllowableValues": [ + "None", + "Pxe", + "Usb", + "Hdd" + ] + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/ComposedSystem/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Systems/ComposedSystem/Memory" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Systems/ComposedSystem/EthernetInterfaces" + }, + "Storage": { + "@odata.id": "/redfish/v1/Systems/ComposedSystem/Storage" + }, + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock3" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock4" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/ComposedSystem", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem2/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem2/EthernetInterfaces/index.json new file mode 100644 index 00000000..de661dfe --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem2/EthernetInterfaces/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Interface Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkBlock8/EthernetInterfaces/Block8Port0" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkBlock8/EthernetInterfaces/Block8Port1" + } + ], + "@odata.id": "/redfish/v1/Systems/ComposedSystem2/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem2/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem2/Memory/index.json new file mode 100644 index 00000000..ecedc468 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem2/Memory/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Collection", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM0" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2/Memory/Block2DIMM3" + } + ], + "@odata.id": "/redfish/v1/Systems/ComposedSystem2/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem2/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem2/Processors/index.json new file mode 100644 index 00000000..e97ca358 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem2/Processors/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processors Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2/Processors/Block2CPU0" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2/Processors/Block2CPU1" + } + ], + "@odata.id": "/redfish/v1/Systems/ComposedSystem2/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem2/Storage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem2/Storage/index.json new file mode 100644 index 00000000..bd4b111e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem2/Storage/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#StorageCollection.StorageCollection", + "Name": "Storage Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock3/Storage/Block3NVMe" + } + ], + "@odata.id": "/redfish/v1/Systems/ComposedSystem2/Storage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem2/index.json new file mode 100644 index 00000000..7d966a30 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ComposedSystem2/index.json @@ -0,0 +1,47 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "ComposedSystem2", + "Name": "Sample Composed System", + "SystemType": "Composed", + "Description": "This shows an example of a composed system", + "UUID": "c799d9a4-f5e4-402c-a1b5-0cd9d5213891", + "HostName": "composed-system", + "PowerState": "On", + "Boot": { + "BootSourceOverrideEnabled": "Once", + "BootSourceOverrideTarget": "Pxe", + "BootSourceOverrideTarget@Redfish.AllowableValues": [ + "None", + "Pxe", + "Usb", + "Hdd" + ] + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/ComposedSystem2/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Systems/ComposedSystem2/Memory" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Systems/ComposedSystem2/EthernetInterfaces" + }, + "Storage": { + "@odata.id": "/redfish/v1/Systems/ComposedSystem2/Storage" + }, + "Links": { + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock2" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock3" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkBlock8" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/ComposedSystem2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ConstrainedCompositionCapabilities/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ConstrainedCompositionCapabilities/index.json new file mode 100644 index 00000000..41cfe2ad --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/ConstrainedCompositionCapabilities/index.json @@ -0,0 +1,142 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "ConstrainedCompositionCapabilities", + "Name": "Capabilities for the Zone", + "Name@Redfish.RequiredOnCreate": true, + "Name@Redfish.SetOnlyOnCreate": true, + "Description@Redfish.OptionalOnCreate": true, + "Description@Redfish.SetOnlyOnCreate": true, + "HostName@Redfish.OptionalOnCreate": true, + "HostName@Redfish.UpdatableAfterCreate": true, + "Boot@Redfish.OptionalOnCreate": true, + "Boot": { + "BootSourceOverrideEnabled@Redfish.OptionalOnCreate": true, + "BootSourceOverrideEnabled@Redfish.UpdatableAfterCreate": true, + "BootSourceOverrideTarget@Redfish.OptionalOnCreate": true, + "BootSourceOverrideTarget@Redfish.UpdatableAfterCreate": true, + "BootSourceOverrideTarget@Redfish.AllowableValues": [ + "None", + "Pxe", + "Usb", + "Hdd" + ] + }, + "Processors@Redfish.RequiredOnCreate": true, + "Processors": { + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Members@Redfish.RequiredOnCreate": true, + "Members": [ + { + "@odata.type": "#Processor.v1_24_0.Processor", + "@Redfish.RequestedCountRequired": true, + "ProcessorType@Redfish.RequiredOnCreate": true, + "TotalCores@Redfish.RequiredOnCreate": true, + "Model@Redfish.OptionalOnCreate": true, + "InstructionSet@Redfish.OptionalOnCreate": true, + "AchieveableSpeedMHz@Redfish.OptionalOnCreate": true + } + ] + }, + "Memory@Redfish.RequiredOnCreate": true, + "Memory": { + "@odata.type": "#MemoryCollection.MemoryCollection", + "Members@Redfish.RequiredOnCreate": true, + "Members": [ + { + "@odata.type": "#Memory.v1_24_0.Memory", + "@Redfish.RequestedCountRequired": true, + "MemoryType@Redfish.RequiredOnCreate": true, + "MemoryDeviceType@Redfish.OptionalOnCreate": true, + "CapacityMiB@Redfish.RequiredOnCreate": true, + "SpeedMHz@Redfish.OptionalOnCreate": true, + "DataWidthBits@Redfish.OptionalOnCreate": true, + "BusWidthBits@Redfish.OptionalOnCreate": true + } + ] + }, + "SimpleStorage@Redfish.OptionalOnCreate": true, + "SimpleStorage": { + "@odata.type": "#SimpleStorageCollection.SimpleStorageCollection", + "Members@Redfish.RequiredOnCreate": true, + "Members": [ + { + "@odata.type": "#SimpleStorage.v1_3_2.SimpleStorage", + "@Redfish.RequestedCountRequired": true, + "Devices@Redfish.RequiredOnCreate": true, + "Devices": { + "Name": "Capabilities for SimpleStorage Device", + "@Redfish.RequestedCountRequired": true, + "CapacityBytes@Redfish.RequiredOnCreate": true + } + } + ] + }, + "Storage@Redfish.OptionalOnCreate": true, + "Storage": { + "@odata.type": "#StorageCollection.StorageCollection", + "Members@Redfish.RequiredOnCreate": true, + "Members": [ + { + "@odata.type": "#Storage.v1_23_0.Storage", + "@Redfish.RequestedCountRequired": true, + "StorageControllers@Redfish.OptionalOnCreate": true, + "StorageControllers": [ + { + "@Redfish.RequestedCountRequired": true, + "SupportedControllerProtocols@Redfish.RequiredOnCreate": true + } + ], + "Drives@Redfish.RequiredOnCreate": true, + "Drives": [ + { + "@odata.type": "#Drive.v1_22_0.Drive", + "@Redfish.RequestedCountRequired": true, + "CapacityBytes@Redfish.RequiredOnCreate": true + } + ] + } + ] + }, + "EthernetInterfaces@Redfish.OptionalOnCreate": true, + "EthernetInterfaces": { + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Members@Redfish.RequiredOnCreate": true, + "Members": [ + { + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "@Redfish.RequestedCountRequired": true, + "SpeedMbps@Redfish.RequiredOnCreate": true, + "FullDuplex@Redfish.OptionalOnCreate": true + } + ] + }, + "NetworkInterfaces@Redfish.OptionalOnCreate": true, + "NetworkInterfaces": { + "@odata.type": "#NetworkInterfaceCollection.NetworkInterfaceCollection", + "Members@Redfish.RequiredOnCreate": true, + "Members": [ + { + "@odata.type": "#NetworkInterface.v1_2_3.NetworkInterface", + "@Redfish.RequestedCountRequired": true, + "NetworkPorts@Redfish.RequiredOnCreate": true, + "NetworkPorts": { + "@odata.type": "#NetworkPortCollection.NetworkPortCollection", + "Members@Redfish.RequiredOnCreate": true, + "Members": [ + { + "@odata.type": "#NetworkPort.v1_4_3.NetworkPort", + "@Redfish.RequestedCountRequired": true, + "ActiveLinkTechnology@Redfish.RequiredOnCreate": true, + "SupportedLinkCapabilities@Redfish.OptionalOnCreate": true, + "SupportedLinkCapabilities": { + "LinkSpeedMbps@Redfish.RequiredOnCreate": true + } + } + ] + } + } + ] + }, + "@odata.id": "/redfish/v1/Systems/ConstrainedCompositionCapabilities", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/index.json new file mode 100644 index 00000000..2b76763a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/Systems/index.json @@ -0,0 +1,39 @@ +{ + "@odata.type": "#ComputerSystemCollection.ComputerSystemCollection", + "Name": "Computer System Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/ComposedSystem" + }, + { + "@odata.id": "/redfish/v1/Systems/ComposedSystem2" + } + ], + "@Redfish.CollectionCapabilities": { + "@odata.type": "#CollectionCapabilities.v1_4_1.CollectionCapabilities", + "Capabilities": [ + { + "CapabilitiesObject": { + "@odata.id": "/redfish/v1/Systems/ConstrainedCompositionCapabilities" + }, + "UseCase": "ComputerSystemConstrainedComposition", + "Links": { + "TargetCollection": { + "@odata.id": "/redfish/v1/Systems" + }, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/1" + }, + { + "@odata.id": "/redfish/v1/CompositionService/ResourceZones/2" + } + ] + } + } + ] + }, + "@odata.id": "/redfish/v1/Systems", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/explorer_config.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/explorer_config.json new file mode 100644 index 00000000..46101c7e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/explorer_config.json @@ -0,0 +1,80 @@ +{ + "name": "Composable System via Constrained Compositions", + "description": "This example shows a service with various sets of disaggregated hardware as resources. It provides an example two composed systems utilizing some of the disaggregated hardware. It also shows how Resource Zones can provide information about binding restrictions. It also shows how to express composition requests using the constrained composition format.", + "navlinks": [ + { + "text": "Main", + "target": "main" + }, + { + "text": "Systems", + "target": "Systems", + "navlinks": [ + { + "text": "Composed System", + "target": "ComposedSystem" + }, + { + "text": "Composed System 2", + "target": "ComposedSystem2" + } + ] + }, + { + "text": "Chassis", + "target": "Chassis", + "navlinks": [ + { + "text": "Composable Enclosure", + "target": "ComposableEnclosure" + }, + { + "text": "Composable Module 1", + "target": "ComposableModule1" + }, + { + "text": "Composable Module 2", + "target": "ComposableModule2" + }, + { + "text": "Composable Module 3", + "target": "ComposableModule3" + }, + { + "text": "Composable Module 4", + "target": "ComposableModule4" + }, + { + "text": "Composable Module 5", + "target": "ComposableModule5" + }, + { + "text": "Composable Module 6", + "target": "ComposableModule6" + } + ] + }, + { + "text": "Composition Service", + "target": "CompositionService" + }, + { + "text": "Managers", + "target": "Managers", + "navlinks": [ + { + "text": "1", + "target": "1" + } + ] + }, + { + "text": "Session Service", + "target": "SessionService" + }, + { + "text": "Account Service", + "target": "AccountService" + } + ] +} diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/index.json new file mode 100644 index 00000000..bc8e5d58 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#ServiceRoot.v1_22_0.ServiceRoot", + "Id": "RootService", + "Name": "Root Service", + "RedfishVersion": "1.15.0", + "ProtocolFeaturesSupported": { + "ExpandQuery": { + "ExpandAll": true, + "Levels": true, + "MaxLevels": 6, + "Links": true, + "NoLinks": true + }, + "SelectQuery": false, + "FilterQuery": false, + "OnlyMemberQuery": true, + "ExcerptQuery": true + }, + "UUID": "92384634-2938-2342-8820-489239905423", + "Systems": { + "@odata.id": "/redfish/v1/Systems" + }, + "Chassis": { + "@odata.id": "/redfish/v1/Chassis" + }, + "Managers": { + "@odata.id": "/redfish/v1/Managers" + }, + "SessionService": { + "@odata.id": "/redfish/v1/SessionService" + }, + "AccountService": { + "@odata.id": "/redfish/v1/AccountService" + }, + "CompositionService": { + "@odata.id": "/redfish/v1/CompositionService" + }, + "Links": { + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + } + }, + "@odata.id": "/redfish/v1/", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/odata/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/odata/index.json new file mode 100644 index 00000000..2de178cb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-constrained-composition/odata/index.json @@ -0,0 +1,46 @@ +{ + "@odata.context": "/redfish/v1/$metadata", + "value": [ + { + "name": "Service", + "kind": "Singleton", + "url": "/redfish/v1/" + }, + { + "name": "Systems", + "kind": "Singleton", + "url": "/redfish/v1/Systems" + }, + { + "name": "Chassis", + "kind": "Singleton", + "url": "/redfish/v1/Chassis" + }, + { + "name": "Managers", + "kind": "Singleton", + "url": "/redfish/v1/Managers" + }, + { + "name": "AccountService", + "kind": "Singleton", + "url": "/redfish/v1/AccountService" + }, + { + "name": "SessionService", + "kind": "Singleton", + "url": "/redfish/v1/SessionService" + }, + { + "name": "CompositionService", + "kind": "Singleton", + "url": "/redfish/v1/CompositionService" + }, + { + "name": "Sessions", + "kind": "Singleton", + "url": "/redfish/v1/SessionService/Sessions" + } + ], + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/$metadata/index.xml b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/$metadata/index.xml new file mode 100644 index 00000000..b68b6467 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/$metadata/index.xml @@ -0,0 +1,237 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/AccountService/Accounts/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/AccountService/Accounts/1/index.json new file mode 100644 index 00000000..781c45c6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/AccountService/Accounts/1/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#ManagerAccount.v1_14_2.ManagerAccount", + "Id": "1", + "Name": "User Account", + "Description": "User Account", + "Enabled": true, + "Password": null, + "PasswordChangeRequired": false, + "AccountTypes": [ + "Redfish" + ], + "UserName": "Administrator", + "RoleId": "Administrator", + "Locked": false, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + } + }, + "@odata.id": "/redfish/v1/AccountService/Accounts/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/AccountService/Accounts/FrontPanel/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/AccountService/Accounts/FrontPanel/index.json new file mode 100644 index 00000000..3f2a2479 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/AccountService/Accounts/FrontPanel/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#ManagerAccount.v1_14_2.ManagerAccount", + "Id": "FrontPanel", + "Name": "Front Panel Access Account", + "Description": "PIN-based access from CDU front panel touchscreen interface.", + "Enabled": true, + "Password": null, + "PasswordChangeRequired": false, + "AccountTypes": [ + "ControlPanel" + ], + "UserName": "Front Panel (PIN)", + "RoleId": "Operator", + "Locked": false, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/Operator" + } + }, + "@odata.id": "/redfish/v1/AccountService/Accounts/FrontPanel", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/AccountService/Accounts/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/AccountService/Accounts/index.json new file mode 100644 index 00000000..75e0f5b6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/AccountService/Accounts/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#ManagerAccountCollection.ManagerAccountCollection", + "Name": "Accounts Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Accounts/1" + }, + { + "@odata.id": "/redfish/v1/AccountService/Accounts/FrontPanel" + } + ], + "@odata.id": "/redfish/v1/AccountService/Accounts", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/AccountService/Roles/Administrator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/AccountService/Roles/Administrator/index.json new file mode 100644 index 00000000..19d26a98 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/AccountService/Roles/Administrator/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Administrator", + "Name": "User Role", + "Description": "Admin User Role", + "RoleId": "Administrator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureManager", + "ConfigureUsers", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [ + "OemClearLog", + "OemPowerControl" + ], + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/AccountService/Roles/Operator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/AccountService/Roles/Operator/index.json new file mode 100644 index 00000000..90804a6a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/AccountService/Roles/Operator/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Operator", + "Name": "User Role", + "Description": "Operator User Role", + "RoleId": "Operator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/Operator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/AccountService/Roles/ReadOnly/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/AccountService/Roles/ReadOnly/index.json new file mode 100644 index 00000000..1df0cf03 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/AccountService/Roles/ReadOnly/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "ReadOnly", + "Name": "User Role", + "Description": "ReadOnly User Role", + "RoleId": "ReadOnly", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/AccountService/Roles/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/AccountService/Roles/index.json new file mode 100644 index 00000000..ba9ee112 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/AccountService/Roles/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#RoleCollection.RoleCollection", + "Name": "Roles Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/Operator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly" + } + ], + "@odata.id": "/redfish/v1/AccountService/Roles", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/AccountService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/AccountService/index.json new file mode 100644 index 00000000..adf93276 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/AccountService/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#AccountService.v1_19_0.AccountService", + "Id": "AccountService", + "Name": "Account Service", + "Description": "Account Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "AuthFailureLoggingThreshold": 3, + "MinPasswordLength": 8, + "AccountLockoutThreshold": 5, + "AccountLockoutDuration": 30, + "AccountLockoutCounterResetAfter": 30, + "Accounts": { + "@odata.id": "/redfish/v1/AccountService/Accounts" + }, + "Roles": { + "@odata.id": "/redfish/v1/AccountService/Roles" + }, + "@odata.id": "/redfish/v1/AccountService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Controls/Pump1Speed/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Controls/Pump1Speed/index.json new file mode 100644 index 00000000..0ba55a6a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Controls/Pump1Speed/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Control.v1_8_1.Control", + "Id": "Pump1Speed", + "Name": "Pump 1 Speed Control", + "PhysicalContext": "Pump", + "ControlType": "Percent", + "ControlMode": "Automatic", + "SetPoint": 45, + "SetPointUnits": "Percent", + "ControlLoop": { + "Proportional": 6, + "Integral": 1, + "Differential": 50 + }, + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "@odata.id": "/redfish/v1/Chassis/CDU/Controls/Pump1Speed", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Controls/Pump2Speed/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Controls/Pump2Speed/index.json new file mode 100644 index 00000000..f3c3ca9f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Controls/Pump2Speed/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Control.v1_8_1.Control", + "Id": "Pump2Speed", + "Name": "Pump 2 Speed Control", + "PhysicalContext": "Pump", + "ControlType": "Percent", + "ControlMode": "Automatic", + "SetPoint": 45, + "SetPointUnits": "Percent", + "ControlLoop": { + "Proportional": 6, + "Integral": 1, + "Differential": 50 + }, + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "@odata.id": "/redfish/v1/Chassis/CDU/Controls/Pump2Speed", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Controls/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Controls/index.json new file mode 100644 index 00000000..fc64af8c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Controls/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#ControlCollection.ControlCollection", + "Name": "Rack CDU Control Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CDU/Controls/Pump1Speed" + }, + { + "@odata.id": "/redfish/v1/Chassis/CDU/Controls/Pump2Speed" + } + ], + "@odata.id": "/redfish/v1/Chassis/CDU/Controls", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/EnvironmentMetrics/index.json new file mode 100644 index 00000000..f254db02 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/EnvironmentMetrics/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Rack CDU Environment Metrics", + "TemperatureCelsius": { + "Reading": 24, + "DataSourceUri": "/redfish/v1/Chassis/CDU/Sensors/SystemTemperature" + }, + "HumidityPercent": { + "Reading": 26, + "DataSourceUri": "/redfish/v1/Chassis/CDU/Sensors/SystemRelativeHumidity" + }, + "@odata.id": "/redfish/v1/Chassis/CDU/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/LeakDetectors/Moisture/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/LeakDetectors/Moisture/index.json new file mode 100644 index 00000000..8f737b43 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/LeakDetectors/Moisture/index.json @@ -0,0 +1,23 @@ +{ + "@odata.type": "#LeakDetector.v1_6_1.LeakDetector", + "Id": "Moisture", + "Name": "Moisture Leak Detector", + "LeakDetectorType": "Moisture", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "DetectorState": "OK", + "CriticalReactionType": "ForceOff", + "WarningReactionType": "None", + "ReactionDelaySeconds": 15, + "Location": { + "PartLocation": { + "Reference": "Bottom", + "ServiceLabel": "Chassis Moisture Detector" + } + }, + "PhysicalContext": "Chassis", + "@odata.id": "/redfish/v1/Chassis/CDU/LeakDetectors/Moisture", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/LeakDetectors/Overflow/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/LeakDetectors/Overflow/index.json new file mode 100644 index 00000000..ad04051f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/LeakDetectors/Overflow/index.json @@ -0,0 +1,23 @@ +{ + "@odata.type": "#LeakDetector.v1_6_1.LeakDetector", + "Id": "Overflow", + "Name": "Fluid Level Overflow", + "LeakDetectorType": "FloatSwitch", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "DetectorState": "OK", + "CriticalReactionType": "None", + "WarningReactionType": "None", + "ReactionDelaySeconds": 0, + "Location": { + "PartLocation": { + "Reference": "Top", + "ServiceLabel": "Reservoir Overflow Switch" + } + }, + "PhysicalContext": "Chassis", + "@odata.id": "/redfish/v1/Chassis/CDU/LeakDetectors/Overflow", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/LeakDetectors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/LeakDetectors/index.json new file mode 100644 index 00000000..a2729842 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/LeakDetectors/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#LeakDetectorCollection.LeakDetectorCollection", + "Name": "Rack Chassis/CDU Leak Detector Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CDU/LeakDetectors/Moisture" + }, + { + "@odata.id": "/redfish/v1/Chassis/CDU/LeakDetectors/Overflow" + } + ], + "@odata.id": "/redfish/v1/Chassis/CDU/LeakDetectors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/PrimaryDeltaPressure/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/PrimaryDeltaPressure/index.json new file mode 100644 index 00000000..457d4179 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/PrimaryDeltaPressure/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PrimaryDeltaPressure", + "Name": "Primary Delta Pressure", + "ReadingType": "PressurekPa", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 138, + "ReadingUnits": "kPa", + "ReadingRangeMin": -1500, + "ReadingRangeMax": 1500, + "ReadingBasis": "Delta", + "SensingInterval": "PT5S", + "PhysicalContext": "Chassis", + "@odata.id": "/redfish/v1/Chassis/CDU/Sensors/PrimaryDeltaPressure", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/PrimaryDeltaTemp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/PrimaryDeltaTemp/index.json new file mode 100644 index 00000000..d67c1024 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/PrimaryDeltaTemp/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PrimaryDeltaTemp", + "Name": "Primary Delta Temperature", + "ReadingType": "Temperature", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 10, + "ReadingUnits": "Cel", + "ReadingRangeMin": -100, + "ReadingRangeMax": 100, + "ReadingBasis": "Delta", + "SensingInterval": "PT5S", + "PhysicalContext": "Chassis", + "@odata.id": "/redfish/v1/Chassis/CDU/Sensors/PrimaryDeltaTemp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/PrimaryFlow/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/PrimaryFlow/index.json new file mode 100644 index 00000000..e3497918 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/PrimaryFlow/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PrimaryFlow", + "Name": "Primary Flow", + "ReadingType": "LiquidFlowLPM", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 42, + "ReadingUnits": "L/min", + "ReadingRangeMin": 0, + "ReadingRangeMax": 100, + "ReadingBasis": "Zero", + "SensingInterval": "PT5S", + "PhysicalContext": "Chassis", + "@odata.id": "/redfish/v1/Chassis/CDU/Sensors/PrimaryFlow", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/PrimaryHeatLoad/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/PrimaryHeatLoad/index.json new file mode 100644 index 00000000..6bce29c4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/PrimaryHeatLoad/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PrimaryHeatLoad", + "Name": "Primary Heat Load", + "ReadingType": "Heat", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 25.48, + "ReadingUnits": "kW", + "ReadingRangeMin": 0, + "ReadingRangeMax": 100, + "ReadingBasis": "Zero", + "SensingInterval": "PT5S", + "PhysicalContext": "Chassis", + "@odata.id": "/redfish/v1/Chassis/CDU/Sensors/PrimaryHeatLoad", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/PrimaryReturnPressure/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/PrimaryReturnPressure/index.json new file mode 100644 index 00000000..a856b6ba --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/PrimaryReturnPressure/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PrimaryReturnPressure", + "Name": "Primary Return Pressure", + "ReadingType": "PressurekPa", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 965, + "ReadingUnits": "kPa", + "ReadingRangeMin": 0, + "ReadingRangeMax": 1500, + "ReadingBasis": "Zero", + "SensingInterval": "PT5S", + "PhysicalContext": "LiquidOutlet", + "@odata.id": "/redfish/v1/Chassis/CDU/Sensors/PrimaryReturnPressure", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/PrimaryReturnTemp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/PrimaryReturnTemp/index.json new file mode 100644 index 00000000..e9e12c80 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/PrimaryReturnTemp/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PrimaryReturnTemp", + "Name": "Primary Return Temperature", + "ReadingType": "Temperature", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 40, + "ReadingUnits": "Cel", + "ReadingRangeMin": 0, + "ReadingRangeMax": 100, + "ReadingBasis": "Zero", + "SensingInterval": "PT5S", + "PhysicalContext": "LiquidOutlet", + "@odata.id": "/redfish/v1/Chassis/CDU/Sensors/PrimaryReturnTemp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/PrimarySupplyPressure/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/PrimarySupplyPressure/index.json new file mode 100644 index 00000000..f102cc8f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/PrimarySupplyPressure/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PrimarySupplyPressure", + "Name": "Primary Supply Pressure", + "ReadingType": "PressurekPa", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 827, + "ReadingUnits": "kPa", + "ReadingRangeMin": 0, + "ReadingRangeMax": 1500, + "ReadingBasis": "Zero", + "SensingInterval": "PT5S", + "PhysicalContext": "LiquidInlet", + "Thresholds": { + "UpperCritical": { + "Reading": 1380, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 1240, + "Activation": "Increasing", + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/CDU/Sensors/PrimarySupplyPressure", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/PrimarySupplyTemp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/PrimarySupplyTemp/index.json new file mode 100644 index 00000000..a7874a3b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/PrimarySupplyTemp/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PrimarySupplyTemp", + "Name": "Primary Supply Temperature", + "ReadingType": "Temperature", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 30, + "ReadingUnits": "Cel", + "ReadingRangeMin": 0, + "ReadingRangeMax": 100, + "ReadingBasis": "Zero", + "SensingInterval": "PT5S", + "PhysicalContext": "LiquidInlet", + "@odata.id": "/redfish/v1/Chassis/CDU/Sensors/PrimarySupplyTemp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SecondaryDeltaPressure/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SecondaryDeltaPressure/index.json new file mode 100644 index 00000000..437fce30 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SecondaryDeltaPressure/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "SecondaryDeltaPressure", + "Name": "Secondary Delta Pressure", + "ReadingType": "PressurekPa", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 34, + "ReadingUnits": "kPa", + "ReadingRangeMin": -300, + "ReadingRangeMax": 300, + "ReadingBasis": "Zero", + "SensingInterval": "PT5S", + "PhysicalContext": "Chassis", + "@odata.id": "/redfish/v1/Chassis/CDU/Sensors/SecondaryDeltaPressure", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SecondaryDeltaTemp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SecondaryDeltaTemp/index.json new file mode 100644 index 00000000..658ba7b8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SecondaryDeltaTemp/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "SecondaryDeltaTemp", + "Name": "Secondary Delta Temperature", + "ReadingType": "Temperature", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 18, + "ReadingUnits": "Cel", + "ReadingRangeMin": -100, + "ReadingRangeMax": 100, + "ReadingBasis": "Delta", + "SensingInterval": "PT5S", + "PhysicalContext": "Chassis", + "@odata.id": "/redfish/v1/Chassis/CDU/Sensors/SecondaryDeltaTemp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SecondaryFlow/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SecondaryFlow/index.json new file mode 100644 index 00000000..fcf1d8b0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SecondaryFlow/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "SecondaryFlow", + "Name": "Secondary Flow", + "ReadingType": "LiquidFlowLPM", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 79.6, + "ReadingUnits": "L/min", + "ReadingRangeMin": 0, + "ReadingRangeMax": 200, + "ReadingBasis": "Zero", + "SensingInterval": "PT5S", + "PhysicalContext": "Chassis", + "@odata.id": "/redfish/v1/Chassis/CDU/Sensors/SecondaryFlow", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SecondaryHeatLoad/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SecondaryHeatLoad/index.json new file mode 100644 index 00000000..0a9e794f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SecondaryHeatLoad/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PrimaryHeatLoad", + "Name": "Primary Heat Load", + "ReadingType": "Heat", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 25.31, + "ReadingUnits": "kW", + "ReadingRangeMin": 0, + "ReadingRangeMax": 100, + "ReadingBasis": "Zero", + "SensingInterval": "PT5S", + "PhysicalContext": "Chassis", + "@odata.id": "/redfish/v1/Chassis/CDU/Sensors/PrimaryHeatLoad", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SecondaryReturnPressure/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SecondaryReturnPressure/index.json new file mode 100644 index 00000000..ce15b28f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SecondaryReturnPressure/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "SecondaryReturnPressure", + "Name": "Secondary Return Pressure", + "ReadingType": "PressurekPa", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 137, + "ReadingUnits": "kPa", + "ReadingRangeMin": 0, + "ReadingRangeMax": 300, + "ReadingBasis": "Zero", + "SensingInterval": "PT5S", + "PhysicalContext": "LiquidInlet", + "Thresholds": { + "UpperCaution": { + "Reading": 190, + "Activation": "Increasing", + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/CDU/Sensors/SecondaryReturnPressure", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SecondaryReturnTemp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SecondaryReturnTemp/index.json new file mode 100644 index 00000000..77516d58 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SecondaryReturnTemp/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "SecondaryReturnTemp", + "Name": "Secondary Return Temperature", + "ReadingType": "Temperature", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 48, + "ReadingUnits": "Cel", + "ReadingRangeMin": 0, + "ReadingRangeMax": 100, + "ReadingBasis": "Zero", + "SensingInterval": "PT5S", + "PhysicalContext": "LiquidInlet", + "Thresholds": { + "UpperCritical": { + "Reading": 80, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 60, + "Activation": "Increasing", + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/CDU/Sensors/SecondaryReturnTemp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SecondarySupplyPressure/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SecondarySupplyPressure/index.json new file mode 100644 index 00000000..0355206f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SecondarySupplyPressure/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "SecondarySupplyPressure", + "Name": "Secondary Supply Pressure", + "ReadingType": "PressurekPa", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 103, + "ReadingUnits": "kPa", + "ReadingRangeMin": 0, + "ReadingRangeMax": 300, + "ReadingBasis": "Zero", + "SensingInterval": "PT5S", + "PhysicalContext": "LiquidOutlet", + "Thresholds": { + "UpperCaution": { + "Reading": 140, + "Activation": "Increasing", + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/CDU/Sensors/SecondarySupplyPressure", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SecondarySupplyTemp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SecondarySupplyTemp/index.json new file mode 100644 index 00000000..f64ff1cf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SecondarySupplyTemp/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "SecondarySupplyTemp", + "Name": "Secondary Supply Temperature", + "ReadingType": "Temperature", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 30, + "ReadingUnits": "Cel", + "ReadingRangeMin": 0, + "ReadingRangeMax": 100, + "ReadingBasis": "Zero", + "SensingInterval": "PT5S", + "PhysicalContext": "LiquidOutlet", + "Thresholds": { + "UpperCaution": { + "Reading": 60, + "Activation": "Increasing", + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/CDU/Sensors/SecondarySupplyTemp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SystemRelativeHumidity/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SystemRelativeHumidity/index.json new file mode 100644 index 00000000..09938c5d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SystemRelativeHumidity/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "SystemRelativeHumidity", + "Name": "CDU Relative Humidity", + "ReadingType": "Humidity", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 26, + "ReadingUnits": "%", + "ReadingRangeMin": 0, + "ReadingRangeMax": 100, + "ReadingBasis": "Zero", + "SensingInterval": "PT15S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 80, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 70, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "LowerCaution": { + "Reading": 10, + "Activation": "Decreasing", + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/CDU/Sensors/SystemRelativeHumidity", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SystemTemperature/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SystemTemperature/index.json new file mode 100644 index 00000000..7bfea148 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/SystemTemperature/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "SystemTemperature", + "Name": "CDU Internal Temperature", + "ReadingType": "Temperature", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 24, + "ReadingUnits": "Cel", + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "ReadingBasis": "Zero", + "SensingInterval": "PT5S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 45, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 35, + "Activation": "Increasing", + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/CDU/Sensors/SystemTemperature", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/index.json new file mode 100644 index 00000000..4fc4f077 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/Sensors/index.json @@ -0,0 +1,63 @@ +{ + "@odata.type": "#SensorCollection.SensorCollection", + "Name": "Rack CDU Sensor Collection", + "Members@odata.count": 18, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CDU/Sensors/SystemRelativeHumidity" + }, + { + "@odata.id": "/redfish/v1/Chassis/CDU/Sensors/SystemTemperature" + }, + { + "@odata.id": "/redfish/v1/Chassis/CDU/Sensors/PrimaryFlow" + }, + { + "@odata.id": "/redfish/v1/Chassis/CDU/Sensors/PrimarySupplyTemp" + }, + { + "@odata.id": "/redfish/v1/Chassis/CDU/Sensors/PrimaryReturnTemp" + }, + { + "@odata.id": "/redfish/v1/Chassis/CDU/Sensors/PrimaryDeltaTemp" + }, + { + "@odata.id": "/redfish/v1/Chassis/CDU/Sensors/PrimarySupplyPressure" + }, + { + "@odata.id": "/redfish/v1/Chassis/CDU/Sensors/PrimaryReturnPressure" + }, + { + "@odata.id": "/redfish/v1/Chassis/CDU/Sensors/PrimaryDeltaPressure" + }, + { + "@odata.id": "/redfish/v1/Chassis/CDU/Sensors/PrimaryHeatLoad" + }, + { + "@odata.id": "/redfish/v1/Chassis/CDU/Sensors/SecondaryFlow" + }, + { + "@odata.id": "/redfish/v1/Chassis/CDU/Sensors/SecondarySupplyTemp" + }, + { + "@odata.id": "/redfish/v1/Chassis/CDU/Sensors/SecondaryReturnTemp" + }, + { + "@odata.id": "/redfish/v1/Chassis/CDU/Sensors/SecondaryDeltaTemp" + }, + { + "@odata.id": "/redfish/v1/Chassis/CDU/Sensors/SecondarySupplyPressure" + }, + { + "@odata.id": "/redfish/v1/Chassis/CDU/Sensors/SecondaryReturnPressure" + }, + { + "@odata.id": "/redfish/v1/Chassis/CDU/Sensors/SecondaryDeltaPressure" + }, + { + "@odata.id": "/redfish/v1/Chassis/CDU/Sensors/SecondaryHeatLoad" + } + ], + "@odata.id": "/redfish/v1/Chassis/CDU/Sensors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/index.json new file mode 100644 index 00000000..2e1d01ac --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/CDU/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "CDU", + "Name": "Example Chassis for a CDU", + "ChassisType": "RackMount", + "Manufacturer": "Contoso", + "Model": "SuperChill 22", + "SerialNumber": "8234803", + "PartNumber": "BRRR22", + "UUID": "32354641-7292-9025-9be2-313735303999", + "AssetTag": "TLL2334", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Location": { + "Placement": { + "Row": "North 2", + "Rack": "4" + } + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Chassis/CDU/EnvironmentMetrics" + }, + "Sensors": { + "@odata.id": "/redfish/v1/Chassis/CDU/Sensors" + }, + "LeakDetectors": { + "@odata.id": "/redfish/v1/Chassis/CDU/LeakDetectors" + }, + "Links": { + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/CDU" + } + ], + "ManagersInChassis": [ + { + "@odata.id": "/redfish/v1/Managers/CDU" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/CDU", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/index.json new file mode 100644 index 00000000..a45d934f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Chassis/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ChassisCollection.ChassisCollection", + "Name": "Chassis Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CDU" + } + ], + "@odata.id": "/redfish/v1/Chassis", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/EventService/Subscriptions/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/EventService/Subscriptions/1/index.json new file mode 100644 index 00000000..4cf433da --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/EventService/Subscriptions/1/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#EventDestination.v1_17_1.EventDestination", + "Id": "1", + "Name": "EventSubscription 1", + "Destination": "http://www.dnsname.com/Destination1", + "EventTypes": [ + "Alert" + ], + "Context": "WebUser3", + "Protocol": "Redfish", + "SubscriptionType": "RedfishEvent", + "@odata.id": "/redfish/v1/EventService/Subscriptions/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/EventService/Subscriptions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/EventService/Subscriptions/index.json new file mode 100644 index 00000000..50ce173e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/EventService/Subscriptions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#EventDestinationCollection.EventDestinationCollection", + "Name": "Event Subscriptions Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/EventService/Subscriptions/1" + } + ], + "@odata.id": "/redfish/v1/EventService/Subscriptions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/EventService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/EventService/index.json new file mode 100644 index 00000000..f4b1a563 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/EventService/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#EventService.v1_12_0.EventService", + "Id": "EventService", + "Name": "Event Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "DeliveryRetryAttempts": 3, + "DeliveryRetryIntervalSeconds": 60, + "EventTypesForSubscription": [ + "StatusChange", + "ResourceUpdated", + "ResourceAdded", + "ResourceRemoved", + "Alert" + ], + "Subscriptions": { + "@odata.id": "/redfish/v1/EventService/Subscriptions" + }, + "Actions": { + "#EventService.SubmitTestEvent": { + "target": "/redfish/v1/EventService/Actions/EventService.SubmitTestEvent", + "EventType@Redfish.AllowableValues": [ + "StatusChange", + "ResourceUpdated", + "ResourceAdded", + "ResourceRemoved", + "Alert" + ] + } + }, + "@odata.id": "/redfish/v1/EventService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/CDU/EthernetInterfaces/Main/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/CDU/EthernetInterfaces/Main/index.json new file mode 100644 index 00000000..1befef5c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/CDU/EthernetInterfaces/Main/index.json @@ -0,0 +1,59 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "Main", + "Name": "Manager Ethernet Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:33:CF:EA", + "MACAddress": "23:11:8A:33:CF:EA", + "SpeedMbps": 1000, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "cdu4", + "FQDN": "cdu4.dmtf.org", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.0.1" + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred" + } + ], + "NameServers": [ + "names.dmtf.org" + ], + "@odata.id": "/redfish/v1/Managers/CDU/EthernetInterfaces/Main", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/CDU/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/CDU/EthernetInterfaces/index.json new file mode 100644 index 00000000..c4ed0c8f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/CDU/EthernetInterfaces/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Network Interface Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/CDU/EthernetInterfaces/Main" + } + ], + "@odata.id": "/redfish/v1/Managers/CDU/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/CDU/LogServices/Log/Entries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/CDU/LogServices/Log/Entries/index.json new file mode 100644 index 00000000..8ba16dec --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/CDU/LogServices/Log/Entries/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 0, + "Members": [], + "@odata.id": "/redfish/v1/Managers/CDU/LogServices/Log/Entries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/CDU/LogServices/Log/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/CDU/LogServices/Log/index.json new file mode 100644 index 00000000..1e1dca12 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/CDU/LogServices/Log/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#LogService.v1_9_0.LogService", + "Id": "Log", + "Name": "System Log Service", + "MaxNumberOfRecords": 1000, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Managers/CDU/LogServices/Log/Actions/LogService.ClearLog" + } + }, + "Entries": { + "@odata.id": "/redfish/v1/Managers/CDU/LogServices/Log/Entries" + }, + "@odata.id": "/redfish/v1/Managers/CDU/LogServices/Log", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/CDU/LogServices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/CDU/LogServices/index.json new file mode 100644 index 00000000..e675da11 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/CDU/LogServices/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Description": "Collection of Log Services for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/CDU/LogServices/Log" + } + ], + "@odata.id": "/redfish/v1/Managers/CDU/LogServices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/CDU/NetworkProtocol/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/CDU/NetworkProtocol/index.json new file mode 100644 index 00000000..b5aaf6b4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/CDU/NetworkProtocol/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#ManagerNetworkProtocol.v1_14_0.ManagerNetworkProtocol", + "Id": "NetworkProtocol", + "Name": "Manager Network Protocol", + "Description": "Manager Network Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "HostName": "cdu4", + "FQDN": "cd4.dmtf.org", + "HTTP": { + "ProtocolEnabled": true, + "Port": 80 + }, + "HTTPS": { + "ProtocolEnabled": true, + "Port": 443 + }, + "SSH": { + "ProtocolEnabled": true, + "Port": 22 + }, + "SNMP": { + "ProtocolEnabled": true, + "Port": 161 + }, + "SSDP": { + "ProtocolEnabled": true, + "Port": 1900, + "NotifyMulticastIntervalSeconds": 600, + "NotifyTTL": 5, + "NotifyIPv6Scope": "Site" + }, + "Telnet": { + "ProtocolEnabled": true, + "Port": 23 + }, + "@odata.id": "/redfish/v1/Managers/CDU/NetworkProtocol", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/CDU/SerialInterfaces/TTY0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/CDU/SerialInterfaces/TTY0/index.json new file mode 100644 index 00000000..574bf553 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/CDU/SerialInterfaces/TTY0/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#SerialInterface.v1_3_0.SerialInterface", + "Id": "TTY0", + "Name": "Manager Serial Interface 1", + "Description": "Management for Serial Interface", + "InterfaceEnabled": true, + "SignalType": "Rs232", + "BitRate": "115200", + "Parity": "None", + "DataBits": "8", + "StopBits": "1", + "FlowControl": "None", + "ConnectorType": "RJ45", + "PinOut": "Cyclades", + "@odata.id": "/redfish/v1/Managers/CDU/SerialInterfaces/TTY0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/CDU/SerialInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/CDU/SerialInterfaces/index.json new file mode 100644 index 00000000..e4fc195c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/CDU/SerialInterfaces/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SerialInterfaceCollection.SerialInterfaceCollection", + "Name": "Serial Interface Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/CDU/SerialInterfaces/TTY0" + } + ], + "@odata.id": "/redfish/v1/Managers/CDU/SerialInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/CDU/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/CDU/index.json new file mode 100644 index 00000000..822cbaf1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/CDU/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#Manager.v1_25_0.Manager", + "Id": "CDU", + "Name": "CDU Network Interface Module", + "ManagerType": "ManagementController", + "ServiceEntryPointUUID": "92384634-2938-2342-8820-489239905423", + "UUID": "58893887-8974-2487-2389-841168418919", + "Model": "Joo Janta 200", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PowerState": "On", + "SerialConsole": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 1, + "ConnectTypesSupported": [ + "Telnet", + "SSH" + ] + }, + "FirmwareVersion": "1.20b", + "NetworkProtocol": { + "@odata.id": "/redfish/v1/Managers/CDU/NetworkProtocol" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/CDU/EthernetInterfaces" + }, + "SerialInterfaces": { + "@odata.id": "/redfish/v1/Managers/CDU/SerialInterfaces" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Managers/CDU/LogServices" + }, + "Actions": { + "#Manager.Reset": { + "target": "/redfish/v1/Managers/CDU/Actions/Manager.Reset", + "ResetType@Redfish.AllowableValues": [ + "ForceRestart", + "GracefulRestart" + ] + } + }, + "@odata.id": "/redfish/v1/Managers/CDU", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/index.json new file mode 100644 index 00000000..06f027c9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/Managers/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerCollection.ManagerCollection", + "Name": "Manager Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/CDU" + } + ], + "@odata.id": "/redfish/v1/Managers", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/SessionService/Sessions/1234567890ABCDEF/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/SessionService/Sessions/1234567890ABCDEF/index.json new file mode 100644 index 00000000..90844a1b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/SessionService/Sessions/1234567890ABCDEF/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#Session.v1_9_0.Session", + "Id": "1234567890ABCDEF", + "Name": "User Session", + "Description": "Manager User Session", + "UserName": "Administrator", + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/SessionService/Sessions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/SessionService/Sessions/index.json new file mode 100644 index 00000000..8d8cdf58 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/SessionService/Sessions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SessionCollection.SessionCollection", + "Name": "Session Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF" + } + ], + "@odata.id": "/redfish/v1/SessionService/Sessions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/SessionService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/SessionService/index.json new file mode 100644 index 00000000..62a05690 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/SessionService/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#SessionService.v1_2_0.SessionService", + "Id": "SessionService", + "Name": "Session Service", + "Description": "Session Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "SessionTimeout": 30, + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + }, + "@odata.id": "/redfish/v1/SessionService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/EnvironmentMetrics/index.json new file mode 100644 index 00000000..84fee3fc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/EnvironmentMetrics/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Rack CDU Environment Metrics", + "TemperatureCelsius": { + "Reading": 24, + "DataSourceUri": "/redfish/v1/Chassis/CDU/Sensors/SystemTemperature" + }, + "HumidityPercent": { + "Reading": 26, + "DataSourceUri": "/redfish/v1/Chassis/CDU/Sensors/SystemRelativeHumidity" + }, + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/Filters/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/Filters/1/index.json new file mode 100644 index 00000000..c104ee73 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/Filters/1/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#Filter.v1_1_1.Filter", + "Id": "1", + "Name": "Internal CDU Filter", + "ServicedDate": "2020-12-24T08:00:00Z", + "ServiceHours": 5791, + "RatedServiceHours": 10000, + "Replaceable": true, + "HotPluggable": false, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Location": { + "PartLocation": { + "Reference": "Rear", + "ServiceLabel": "Reservoir Intake Filter" + } + }, + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/Filters/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/Filters/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/Filters/index.json new file mode 100644 index 00000000..fd7831e5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/Filters/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#FilterCollection.FilterCollection", + "Name": "Water Filter Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/Filters/1" + } + ], + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/Filters", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/LeakDetection/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/LeakDetection/index.json new file mode 100644 index 00000000..eae6afe3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/LeakDetection/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#LeakDetection.v1_2_0.LeakDetection", + "Id": "LeakDetection", + "Name": "Leak Detection Systems", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "LeakDetectorGroups": [ + { + "GroupName": "Detectors in the CDU", + "Status": { + "Health": "OK" + }, + "HumidityPercent": { + "Reading": 26, + "DataSourceUri": "/redfish/v1/Chassis/CDU/Sensors/SystemRelativeHumidity" + }, + "Detectors": [ + { + "DataSourceUri": "/redfish/v1/Chassis/CDU/LeakDetectors/Moisture", + "DeviceName": "Moisture Leak Detector", + "DetectorState": "OK" + }, + { + "DataSourceUri": "/redfish/v1/Chassis/CDU/LeakDetectors/Overflow", + "DeviceName": "Fluid Level Overflow", + "DetectorState": "OK" + } + ] + } + ], + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/LeakDetection", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/PrimaryCoolantConnectors/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/PrimaryCoolantConnectors/1/index.json new file mode 100644 index 00000000..15a84052 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/PrimaryCoolantConnectors/1/index.json @@ -0,0 +1,67 @@ +{ + "@odata.type": "#CoolantConnector.v1_5_0.CoolantConnector", + "Id": "1", + "Name": "Main supply from facility", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CoolantConnectorType": "Pair", + "Coolant": { + "CoolantType": "Water", + "AdditiveName": "Generic cooling water biocide", + "AdditivePercent": 0 + }, + "RatedFlowLitersPerMinute": 50, + "FlowLitersPerMinute": { + "Reading": 42, + "DataSourceUri": "/redfish/v1/Chassis/CDU/Sensors/PrimaryFlow" + }, + "SupplyTemperatureCelsius": { + "Reading": 30, + "DataSourceUri": "/redfish/v1/Chassis/CDU/Sensors/PrimarySupplyTemp" + }, + "ReturnTemperatureCelsius": { + "Reading": 40, + "DataSourceUri": "/redfish/v1/Chassis/CDU/Sensors/PrimaryReturnTemp" + }, + "DeltaTemperatureCelsius": { + "Reading": 10, + "DataSourceUri": "/redfish/v1/Chassis/CDU/Sensors/PrimaryDeltaTemp" + }, + "SupplyPressurekPa": { + "Reading": 827, + "DataSourceUri": "/redfish/v1/Chassis/CDU/Sensors/PrimarySupplyPressure" + }, + "ReturnPressurekPa": { + "Reading": 965, + "DataSourceUri": "/redfish/v1/Chassis/CDU/Sensors/PrimaryReturnPressure" + }, + "DeltaPressurekPa": { + "Reading": 138, + "DataSourceUri": "/redfish/v1/Chassis/CDU/Sensors/PrimaryDeltaPressure" + }, + "HeatRemovedkW": { + "Reading": 25.48, + "DataSourceUri": "/redfish/v1/Chassis/CDU/Sensors/PrimaryHeatLoad" + }, + "ConnectorGroup": { + "RedundancyType": "Sharing", + "MaxSupportedInGroup": 2, + "MinNeededInGroup": 1, + "RedundancyGroup": [ + { + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/PrimaryCoolantConnectors/Pair1of2" + }, + { + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/PrimaryCoolantConnectors/Pair2of2" + } + ], + "Status": { + "State": "Enabled", + "Health": "OK" + } + }, + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/PrimaryCoolantConnectors/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/PrimaryCoolantConnectors/Pair1of2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/PrimaryCoolantConnectors/Pair1of2/index.json new file mode 100644 index 00000000..a30f4c2b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/PrimaryCoolantConnectors/Pair1of2/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#CoolantConnector.v1_5_0.CoolantConnector", + "Id": "Pair1of2", + "Name": "Main supply from facility (1 of 2 connector pairs)", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CoolantConnectorType": "PairGroupMember", + "Coolant": { + "CoolantType": "Water", + "AdditiveName": "Generic cooling water biocide", + "AdditivePercent": 0 + }, + "RatedFlowLitersPerMinute": 25, + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/PrimaryCoolantConnectors/Pair1of2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/PrimaryCoolantConnectors/Pair2of2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/PrimaryCoolantConnectors/Pair2of2/index.json new file mode 100644 index 00000000..9a69cf91 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/PrimaryCoolantConnectors/Pair2of2/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#CoolantConnector.v1_5_0.CoolantConnector", + "Id": "Pair2of2", + "Name": "Main supply from facility (2 of 2 connector pairs)", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CoolantConnectorType": "PairGroupMember", + "Coolant": { + "CoolantType": "Water", + "AdditiveName": "Generic cooling water biocide", + "AdditivePercent": 0 + }, + "RatedFlowLitersPerMinute": 25, + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/PrimaryCoolantConnectors/Pair2of2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/PrimaryCoolantConnectors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/PrimaryCoolantConnectors/index.json new file mode 100644 index 00000000..adade060 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/PrimaryCoolantConnectors/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#CoolantConnectorCollection.CoolantConnectorCollection", + "Name": "Primary (supply side) Cooling Loop Connection Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/PrimaryCoolantConnectors/1" + }, + { + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/PrimaryCoolantConnectors/Pair1of2" + }, + { + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/PrimaryCoolantConnectors/Pair2of2" + } + ], + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/PrimaryCoolantConnectors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/Pumps/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/Pumps/1/index.json new file mode 100644 index 00000000..fa0c12c4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/Pumps/1/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Pump.v1_2_0.Pump", + "Id": "1", + "Name": "CDU Pump 1", + "PumpType": "Liquid", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceHours": 3571, + "PumpSpeedPercent": { + "Reading": 38.5 + }, + "SpeedControlPercent": { + "ControlMode": "Automatic", + "SetPoint": 45, + "DataSourceUri": "/redfish/v1/Chassis/CDU/Controls/Pump1Speed", + "ControlLoop": { + "Proportional": 6, + "Integral": 1, + "Differential": 50 + } + }, + "Actions": { + "#Pump.SetMode": { + "target": "/redfish/v1/ThermalEquipment/CDUs/1/Pumps/1/Actions/Pump.SetMode" + } + }, + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/Pumps/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/Pumps/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/Pumps/2/index.json new file mode 100644 index 00000000..589609ff --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/Pumps/2/index.json @@ -0,0 +1,43 @@ +{ + "@odata.type": "#Pump.v1_2_0.Pump", + "Id": "2", + "Name": "CDU Pump 2", + "PumpType": "Liquid", + "Status": { + "State": "UnavailableOffline", + "Health": "Critical", + "Conditions": [ + { + "MessageId": "Environmental.1.2.PumpFailed", + "Timestamp": "2025-02-12T12:25:00Z", + "Message": "Pump '2' has failed.", + "Severity": "Critical", + "ConditionType": "Alert", + "MessageArgs": [ + "2" + ] + } + ] + }, + "ServiceHours": 3571, + "PumpSpeedPercent": { + "Reading": 0 + }, + "SpeedControlPercent": { + "ControlMode": "Automatic", + "SetPoint": 45, + "DataSourceUri": "/redfish/v1/Chassis/CDU/Controls/Pump2Speed", + "ControlLoop": { + "Proportional": 6, + "Integral": 1, + "Differential": 50 + } + }, + "Actions": { + "#Pump.SetMode": { + "target": "/redfish/v1/ThermalEquipment/CDUs/1/Pumps/2/Actions/Pump.SetMode" + } + }, + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/Pumps/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/Pumps/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/Pumps/index.json new file mode 100644 index 00000000..674f271d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/Pumps/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#PumpCollection.PumpCollection", + "Name": "Cooling Pump Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/Pumps/1" + }, + { + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/Pumps/2" + } + ], + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/Pumps", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/Reservoirs/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/Reservoirs/1/index.json new file mode 100644 index 00000000..43addac7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/Reservoirs/1/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Reservoir.v1_0_2.Reservoir", + "Id": "1", + "ReservoirType": "Inline", + "Name": "CDU Reservoir", + "CapacityLiters": 1, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "FluidLevelStatus": "OK", + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/Reservoirs/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/Reservoirs/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/Reservoirs/index.json new file mode 100644 index 00000000..e965e3dd --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/Reservoirs/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ReservoirCollection.ReservoirCollection", + "Name": "Water Reservoir Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/Reservoirs/1" + } + ], + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/Reservoirs", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/SecondaryCoolantConnectors/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/SecondaryCoolantConnectors/1/index.json new file mode 100644 index 00000000..1234ce4d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/SecondaryCoolantConnectors/1/index.json @@ -0,0 +1,74 @@ +{ + "@odata.type": "#CoolantConnector.v1_5_0.CoolantConnector", + "Id": "1", + "Name": "Cooling connection to rack equipment", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CoolantConnectorType": "Pair", + "Coolant": { + "CoolantType": "Water", + "AdditiveName": "Generic cooling water biocide", + "AdditivePercent": 0 + }, + "RatedFlowLitersPerMinute": 50, + "FlowLitersPerMinute": { + "Reading": 42, + "DataSourceUri": "/redfish/v1/Chassis/CDU/Sensors/SecondaryFlow" + }, + "FlowControlLitersPerMinute": { + "SetPoint": 43, + "AllowableMax": 50, + "AllowableMin": 20, + "ControlMode": "Override" + }, + "SupplyTemperatureCelsius": { + "Reading": 30, + "DataSourceUri": "/redfish/v1/Chassis/CDU/Sensors/SecondarySupplyTemp" + }, + "SupplyTemperatureControlCelsius": { + "SetPoint": 30, + "AllowableMax": 35, + "AllowableMin": 10, + "ControlMode": "Override" + }, + "ReturnTemperatureCelsius": { + "Reading": 48, + "DataSourceUri": "/redfish/v1/Chassis/CDU/Sensors/SecondaryReturnTemp" + }, + "DeltaTemperatureCelsius": { + "Reading": 18, + "DataSourceUri": "/redfish/v1/Chassis/CDU/Sensors/SecondaryDeltaTemp" + }, + "DeltaTemperatureControlCelsius": { + "SetPoint": 15, + "AllowableMax": 25, + "AllowableMin": 10, + "ControlMode": "Disabled" + }, + "SupplyPressurekPa": { + "Reading": 103, + "DataSourceUri": "/redfish/v1/Chassis/CDU/Sensors/SecondarySupplyPressure" + }, + "ReturnPressurekPa": { + "Reading": 137, + "DataSourceUri": "/redfish/v1/Chassis/CDU/Sensors/SecondaryReturnPressure" + }, + "DeltaPressurekPa": { + "Reading": 34, + "DataSourceUri": "/redfish/v1/Chassis/CDU/Sensors/SecondaryDeltaPressure" + }, + "DeltaPressureControlkPa": { + "SetPoint": 35, + "AllowableMax": 50, + "AllowableMin": 20, + "ControlMode": "Disabled" + }, + "HeatRemovedkW": { + "Reading": 25.31, + "DataSourceUri": "/redfish/v1/Chassis/CDU/Sensors/SecondaryHeatLoad" + }, + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/SecondaryCoolantConnectors/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/SecondaryCoolantConnectors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/SecondaryCoolantConnectors/index.json new file mode 100644 index 00000000..5a1e0916 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/SecondaryCoolantConnectors/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#CoolantConnectorCollection.CoolantConnectorCollection", + "Name": "Secondary Cooling Loop Connection Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/SecondaryCoolantConnectors/1" + } + ], + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/SecondaryCoolantConnectors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/index.json new file mode 100644 index 00000000..cf9494f2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/1/index.json @@ -0,0 +1,125 @@ +{ + "@odata.type": "#CoolingUnit.v1_6_0.CoolingUnit", + "Id": "1", + "EquipmentType": "CDU", + "Name": "Rack #4 Cooling Distribution Unit", + "FirmwareVersion": "3.2.0", + "Version": "1.03b", + "ProductionDate": "2020-12-24T08:00:00Z", + "Manufacturer": "Contoso", + "Model": "BRRR4000", + "SerialNumber": "29347ZT536", + "PartNumber": "ICE-9", + "AssetTag": "PDX5-92381", + "Status": { + "State": "Enabled", + "Health": "Warning", + "HealthRollup": "Critical", + "Conditions": [ + { + "MessageId": "Environmental.1.2.PumpSubsystemHealth", + "Timestamp": "2025-02-12T12:25:00Z", + "Message": "The pump subsystem health is Critical.", + "Severity": "Critical", + "ConditionType": "Subsystem", + "MessageArgs": [ + "Critical" + ], + "OriginOfCondition": { + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/Pumps" + } + }, + { + "MessageId": "Environmental.1.2.PumpFailed", + "Timestamp": "2025-02-12T12:25:00Z", + "Message": "Pump '2' has failed.", + "Severity": "Critical", + "ConditionType": "Alert", + "MessageArgs": [ + "2" + ], + "OriginOfCondition": { + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/Pumps/2" + } + }, + { + "MessageId": "Environmental.1.2.PrimaryCoolantConnectorSubsystemHealth", + "Timestamp": "2025-02-12T12:25:00Z", + "Message": "The primary coolant connector subsystem health is OK.", + "Severity": "OK", + "ConditionType": "Subsystem", + "MessageArgs": [ + "OK" + ], + "OriginOfCondition": { + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/PrimaryCoolantConnectors" + } + }, + { + "MessageId": "Environmental.1.2.SecondaryCoolantConnectorSubsystemHealth", + "Timestamp": "2025-02-12T12:25:00Z", + "Message": "The secondary coolant connector subsystem health is OK.", + "Severity": "OK", + "ConditionType": "Subsystem", + "MessageArgs": [ + "OK" + ], + "OriginOfCondition": { + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/SecondaryCoolantConnectors" + } + }, + { + "MessageId": "Environmental.1.2.FilterSubsystemHealth", + "Timestamp": "2025-02-12T12:25:00Z", + "Message": "The filter subsystem health is OK.", + "Severity": "OK", + "ConditionType": "Subsystem", + "MessageArgs": [ + "OK" + ], + "OriginOfCondition": { + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/Filters" + } + } + ] + }, + "Coolant": { + "CoolantType": "Water", + "AdditiveName": "Glycol", + "AdditivePercent": 20, + "SpecificHeatkJoulesPerKgK": 3.974, + "DensityKgPerCubicMeter": 1030 + }, + "Location": { + "Placement": { + "Row": "North 1" + } + }, + "PrimaryCoolantConnectors": { + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/PrimaryCoolantConnectors" + }, + "SecondaryCoolantConnectors": { + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/SecondaryCoolantConnectors" + }, + "Pumps": { + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/Pumps" + }, + "Filters": { + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/Filters" + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/EnvironmentMetrics" + }, + "LeakDetection": { + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/LeakDetection" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/CDU" + } + ] + }, + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/index.json new file mode 100644 index 00000000..3a425fc4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/CDUs/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#CoolingUnitCollection.CoolingUnitCollection", + "Name": "CDU Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1" + } + ], + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/index.json new file mode 100644 index 00000000..fd1fdedf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/ThermalEquipment/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#ThermalEquipment.v1_2_0.ThermalEquipment", + "Id": "ThermalEquipment", + "Name": "Cooling Equipment", + "Status": { + "State": "Enabled", + "HealthRollup": "OK" + }, + "CDUs": { + "@odata.id": "/redfish/v1/ThermalEquipment/CDUs" + }, + "@odata.id": "/redfish/v1/ThermalEquipment", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/explorer_config.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/explorer_config.json new file mode 100644 index 00000000..7503b221 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/explorer_config.json @@ -0,0 +1,30 @@ +{ + "name": "Coolant Distribution Unit (CDU)", + "description": "This example shows a rackmount coolant distribution unit (CDU) that supplies liquid to downstream equipment from a facility.", + "navlinks": [ + { + "text": "Main", + "target": "main" + }, + { + "text": "Cooling Equipment", + "target": "ThermalEquipment", + "navlinks": [ + { + "text": "CDUs", + "target": "CDUs" + } + ] + }, + { + "text": "Chassis", + "target": "Chassis", + "navlinks": [ + { + "text": "CDU", + "target": "CDU" + } + ] + } + ] +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/index.json new file mode 100644 index 00000000..9380ba85 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cooling-unit/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#ServiceRoot.v1_22_0.ServiceRoot", + "Id": "RootService", + "Name": "Redfish Service", + "RedfishVersion": "1.13.0", + "UUID": "92384634-2938-2342-8820-489239905423", + "ProtocolFeaturesSupported": { + "FilterQuery": false, + "SelectQuery": false, + "ExcerptQuery": true, + "OnlyMemberQuery": true, + "ExpandQuery": { + "Links": false, + "NoLinks": true, + "ExpandAll": true, + "Levels": true, + "MaxLevels": 3 + } + }, + "ThermalEquipment": { + "@odata.id": "/redfish/v1/ThermalEquipment" + }, + "Managers": { + "@odata.id": "/redfish/v1/Managers" + }, + "SessionService": { + "@odata.id": "/redfish/v1/SessionService" + }, + "AccountService": { + "@odata.id": "/redfish/v1/AccountService" + }, + "EventService": { + "@odata.id": "/redfish/v1/EventService" + }, + "Chassis": { + "@odata.id": "/redfish/v1/Chassis" + }, + "Links": { + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + } + }, + "@odata.id": "/redfish/v1/", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLMemChassis1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLMemChassis1/index.json new file mode 100644 index 00000000..b721dc7a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLMemChassis1/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "CXLMemChassis1", + "Name": "CXL Memory Chassis", + "ChassisType": "Enclosure", + "Manufacturer": "Contoso", + "Model": "SX1000", + "SKU": "6914260", + "SerialNumber": "529QB9450R6", + "PartNumber": "166480-S23", + "PowerState": "On", + "IndicatorLED": "Off", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "Contains": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1" + }, + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2" + }, + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3" + } + ], + "Switches": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1" + } + ], + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/CXLRack" + } + }, + "@odata.id": "/redfish/v1/Chassis/CXLMemChassis1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLMemChassis2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLMemChassis2/index.json new file mode 100644 index 00000000..ca834216 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLMemChassis2/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "CXLMemChassis2", + "Name": "CXL Memory Chassis", + "ChassisType": "Enclosure", + "Manufacturer": "Contoso", + "Model": "SX1000", + "SKU": "6914260", + "SerialNumber": "529QB9450R6", + "PartNumber": "166480-S23", + "PowerState": "On", + "IndicatorLED": "Off", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "Contains": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2" + } + ], + "Switches": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL2" + } + ], + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/CXLRack" + } + }, + "@odata.id": "/redfish/v1/Chassis/CXLMemChassis2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLRack/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLRack/index.json new file mode 100644 index 00000000..4dc87028 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLRack/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "CXLRack", + "Name": "CXL Rack containing CXL Chassis' and Systems", + "PowerState": "On", + "ChassisType": "Rack", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Links": { + "Contains": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLMemChassis1" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXLMemChassis2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Host1Chassis" + }, + { + "@odata.id": "/redfish/v1/Chassis/Host2Chassis" + }, + { + "@odata.id": "/redfish/v1/Chassis/Host5Chassis" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/CXLRack", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType1/PCIeDevices/1/CXLLogicalDevices/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType1/PCIeDevices/1/CXLLogicalDevices/1/index.json new file mode 100644 index 00000000..a42e7223 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType1/PCIeDevices/1/CXLLogicalDevices/1/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#CXLLogicalDevice.v1_5_0.CXLLogicalDevice", + "Id": "1", + "Name": "CXL Logical Device Type 1", + "Description": "Locally attached CXL Logical Device Type 1", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:0001", + "DurableNameFormat": "GCXLID" + } + ], + "SemanticsSupported": [ + "CXLio", + "CXLcache" + ], + "Links": { + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType1/PCIeDevices/1/PCIeFunctions/1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/CXLType1/PCIeDevices/1/CXLLogicalDevices/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType1/PCIeDevices/1/CXLLogicalDevices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType1/PCIeDevices/1/CXLLogicalDevices/index.json new file mode 100644 index 00000000..6b96987e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType1/PCIeDevices/1/CXLLogicalDevices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#CXLLogicalDeviceCollection.CXLLogicalDeviceCollection", + "Name": "CXL Logical Device Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType1/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType1/PCIeDevices/1/CXLLogicalDevices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType1/PCIeDevices/1/PCIeFunctions/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType1/PCIeDevices/1/PCIeFunctions/1/index.json new file mode 100644 index 00000000..76c08b2d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType1/PCIeDevices/1/PCIeFunctions/1/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#PCIeFunction.v1_7_0.PCIeFunction", + "Id": "1", + "Name": "CXL Function", + "Description": "PCIe Function with CXL extensions representing FPGA", + "FunctionId": 1, + "FunctionType": "Physical", + "DeviceClass": "Processor", + "DeviceId": "0xABCD", + "VendorId": "0xABCD", + "ClassCode": "0x0B4000", + "RevisionId": "0x00", + "SubsystemId": "0xABCD", + "SubsystemVendorId": "0xABCD", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "FunctionProtocol": "CXL", + "Links": { + "Processor": { + "@odata.id": "/redfish/v1/Chassis/CXLType1/Processors/FPGA" + }, + "CXLLogicalDevice": { + "@odata.id": "/redfish/v1/Chassis/CXLType1/PCIeDevices/1/CXLLogicalDevices/1" + }, + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/CXLType1/PCIeDevices/1" + } + }, + "@odata.id": "/redfish/v1/Chassis/CXLType1/PCIeDevices/1/PCIeFunctions/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType1/PCIeDevices/1/PCIeFunctions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType1/PCIeDevices/1/PCIeFunctions/index.json new file mode 100644 index 00000000..20b49b74 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType1/PCIeDevices/1/PCIeFunctions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PCIeFunctionCollection.PCIeFunctionCollection", + "Name": "PCIe Function Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType1/PCIeDevices/1/PCIeFunctions/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType1/PCIeDevices/1/PCIeFunctions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType1/PCIeDevices/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType1/PCIeDevices/1/index.json new file mode 100644 index 00000000..58840745 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType1/PCIeDevices/1/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#PCIeDevice.v1_23_0.PCIeDevice", + "Id": "1", + "Name": "CXL Device", + "Description": "CXL Physcial Device Type 1", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeInterface": { + "PCIeType": "Gen5", + "MaxPCIeType": "Gen5", + "LanesInUse": 8, + "MaxLanes": 16 + }, + "PCIeFunctions": { + "@odata.id": "/redfish/v1/Chassis/CXLType1/PCIeDevices/1/PCIeFunctions" + }, + "CXLDevice": { + "DeviceType": "Type1", + "CurrentProtocolVersion": "CXL2_0", + "CapableProtocolVersions": [ + "CXL1_1", + "CXL2_0" + ], + "EgressPortCongestionSupport": true, + "TemporaryThroughputReductionSupported": true, + "TemporaryThroughputReductionEnabled": true, + "MaxNumberLogicalDevices": 1, + "Timestamp": "2022-09-08T12:25:00-05:00" + }, + "CXLLogicalDevices": { + "@odata.id": "/redfish/v1/Chassis/CXLType1/PCIeDevices/1/CXLLogicalDevices" + }, + "StagedVersion": "1.4.2.1", + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/CXLType1/PCIeDevices/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType1/PCIeDevices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType1/PCIeDevices/index.json new file mode 100644 index 00000000..23f57dee --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType1/PCIeDevices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PCIeDeviceCollection.PCIeDeviceCollection", + "Name": "PCIe Device Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType1/PCIeDevices/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType1/PCIeDevices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType1/Processors/FPGA/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType1/Processors/FPGA/index.json new file mode 100644 index 00000000..1920cd8c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType1/Processors/FPGA/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "FPGA", + "Name": "FPGA with cache", + "Description": "FPGA with cache", + "ProcessorType": "FPGA", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "ProcessorMemory": [ + { + "IntegratedMemory": true, + "MemoryType": "Cache", + "CapacityMiB": 64 + } + ], + "MemorySummary": { + "TotalMemorySizeMiB": 0, + "TotalCacheSizeMiB": 64 + }, + "Links": { + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType1/PCIeDevices/1/PCIeFunctions/1" + } + ], + "ConnectedProcessors": [ + { + "@odata.id": "/redfish/v1/Systems/Host1/Processors/CPU" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/CXLType1/Processors/FPGA", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType1/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType1/Processors/index.json new file mode 100644 index 00000000..a8bc17ac --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType1/Processors/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processor Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType1/Processors/FPGA" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType1/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType1/index.json new file mode 100644 index 00000000..9c2f6cc5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType1/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "CXLType1", + "Name": "CXL Device Type 1 module", + "ChassisType": "Module", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeDevices": { + "@odata.id": "/redfish/v1/Chassis/CXLType1/PCIeDevices" + }, + "Processors": { + "@odata.id": "/redfish/v1/Chassis/CXLType1/Processors" + }, + "Links": { + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/Host1Chassis" + } + }, + "@odata.id": "/redfish/v1/Chassis/CXLType1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/Memory/HBM/MemoryMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/Memory/HBM/MemoryMetrics/index.json new file mode 100644 index 00000000..25cb212b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/Memory/HBM/MemoryMetrics/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#MemoryMetrics.v1_8_0.MemoryMetrics", + "Name": "Memory Metrics", + "Id": "Metrics", + "LifeTime": { + "CorrectableECCErrorCount": 16, + "UncorrectableECCErrorCount": 8 + }, + "CurrentPeriod": { + "CorrectableECCErrorCount": 4, + "UncorrectableECCErrorCount": 4 + }, + "CXL": { + "AlertCapabilities": { + "Temperature": true, + "UncorrectableECCError": false, + "CorrectableECCError": false + } + }, + "Actions": { + "#MemoryMetrics.ClearCurrentPeriod": { + "target": "/redfish/v1/Chassis/CXLType2/Memory/HBM/MemoryMetrics/Actions/MemoryMetrics.ClearCurrentPeriod" + } + }, + "@odata.id": "/redfish/v1/Chassis/CXLType2/Memory/HBM/MemoryMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/Memory/HBM/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/Memory/HBM/index.json new file mode 100644 index 00000000..312b28b0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/Memory/HBM/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "HBM", + "MemoryType": "DRAM", + "MemoryDeviceType": "HBM2", + "MemoryMedia": [ + "DRAM" + ], + "Name": "HBM memory", + "CapacityMiB": 16384, + "OperatingSpeedMhz": 1333, + "Status": { + "Health": "OK", + "State": "Enabled", + "HealthRollup": "OK" + }, + "Metrics": { + "@odata.id": "/redfish/v1/Chassis/CXLType2/Memory/HBM/MemoryMetrics" + }, + "Links": { + "Processors": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/Processors/GPU" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/CXLType2/Memory/HBM", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/Memory/index.json new file mode 100644 index 00000000..f7683a08 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/Memory/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Collection", + "Description": "Memory Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/Memory/HBM" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType2/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/MemoryDomains/1/MemoryChunks/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/MemoryDomains/1/MemoryChunks/1/index.json new file mode 100644 index 00000000..dc1c2df6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/MemoryDomains/1/MemoryChunks/1/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#MemoryChunks.v1_7_0.MemoryChunks", + "Id": "1", + "Name": "Memory Chunk 1", + "Description": "Memory chunk accessible through CXL", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MemoryChunkSizeMiB": 4096, + "AddressRangeType": "Volatile", + "AddressRangeOffsetMiB": 1024, + "MediaLocation": "Local", + "RequestedOperationalState": "Online", + "Links": { + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1/CXLLogicalDevices/1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/CXLType2/MemoryDomains/1/MemoryChunks/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/MemoryDomains/1/MemoryChunks/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/MemoryDomains/1/MemoryChunks/index.json new file mode 100644 index 00000000..3310a506 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/MemoryDomains/1/MemoryChunks/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryChunksCollection.MemoryChunksCollection", + "Name": "Memory Chunks Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/MemoryDomains/1/MemoryChunks/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType2/MemoryDomains/1/MemoryChunks", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/MemoryDomains/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/MemoryDomains/1/index.json new file mode 100644 index 00000000..c14b0be8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/MemoryDomains/1/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#MemoryDomain.v1_5_1.MemoryDomain", + "Id": "1", + "Name": "GPU HBM Memory Domain", + "Description": "GPU HBM Memory Domain accessible through CXL", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "MemoryChunks": { + "@odata.id": "/redfish/v1/Chassis/CXLType2/MemoryDomains/1/MemoryChunks" + }, + "AllowsMemoryChunkCreation": true, + "MinMemoryChunkSizeMiB": 64, + "MemoryChunkIncrementMiB": 64, + "MemorySizeMiB": 262144, + "InterleavableMemorySets": [ + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/Memory/HBM" + } + ] + } + ], + "Links": { + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1/CXLLogicalDevices/1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/CXLType2/MemoryDomains/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/MemoryDomains/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/MemoryDomains/index.json new file mode 100644 index 00000000..03cc0546 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/MemoryDomains/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryDomainCollection.MemoryDomainCollection", + "Name": "Memory Domain Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/MemoryDomains/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType2/MemoryDomains", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/PCIeDevices/1/CXLLogicalDevices/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/PCIeDevices/1/CXLLogicalDevices/1/index.json new file mode 100644 index 00000000..fc411155 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/PCIeDevices/1/CXLLogicalDevices/1/index.json @@ -0,0 +1,49 @@ +{ + "@odata.type": "#CXLLogicalDevice.v1_5_0.CXLLogicalDevice", + "Id": "1", + "Name": "CXL Logical Device Type 2", + "Description": "Locally attached CXL Logical Device Type 2", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:0001", + "DurableNameFormat": "GCXLID" + } + ], + "SemanticsSupported": [ + "CXLio", + "CXLcache", + "CXLmem" + ], + "QoSTelemetryCapabilities": { + "EgressPortBackpressureSupported": true + }, + "QoS": { + "AllocatedBandwidth": 64, + "LimitPercent": 85 + }, + "MemorySizeMiB": 16384, + "Links": { + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1/PCIeFunctions/1" + } + ], + "MemoryDomains": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/MemoryDomains/1" + } + ], + "MemoryChunks": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/MemoryDomains/1/MemoryChunks/1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1/CXLLogicalDevices/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/PCIeDevices/1/CXLLogicalDevices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/PCIeDevices/1/CXLLogicalDevices/index.json new file mode 100644 index 00000000..25603554 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/PCIeDevices/1/CXLLogicalDevices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#CXLLogicalDeviceCollection.CXLLogicalDeviceCollection", + "Name": "CXL Logical Device Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1/CXLLogicalDevices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/PCIeDevices/1/PCIeFunctions/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/PCIeDevices/1/PCIeFunctions/1/index.json new file mode 100644 index 00000000..fc5cc0ef --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/PCIeDevices/1/PCIeFunctions/1/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#PCIeFunction.v1_7_0.PCIeFunction", + "Id": "1", + "Name": "CXL Function", + "Description": "PCIe Function with CXL extensions representing GPU", + "FunctionId": 1, + "FunctionType": "Physical", + "DeviceClass": "ProcessingAccelerators", + "DeviceId": "0xABCD", + "VendorId": "0xABCD", + "ClassCode": "0x120000", + "RevisionId": "0x00", + "SubsystemId": "0xABCD", + "SubsystemVendorId": "0xABCD", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "FunctionProtocol": "CXL", + "Links": { + "Processor": { + "@odata.id": "/redfish/v1/Chassis/CXLType2/Processors/GPU" + }, + "CXLLogicalDevice": { + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1/CXLLogicalDevices/1" + }, + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1" + } + }, + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1/PCIeFunctions/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/PCIeDevices/1/PCIeFunctions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/PCIeDevices/1/PCIeFunctions/index.json new file mode 100644 index 00000000..159656d5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/PCIeDevices/1/PCIeFunctions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PCIeFunctionCollection.PCIeFunctionCollection", + "Name": "PCIe Function Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1/PCIeFunctions/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1/PCIeFunctions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/PCIeDevices/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/PCIeDevices/1/index.json new file mode 100644 index 00000000..9165e75d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/PCIeDevices/1/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#PCIeDevice.v1_23_0.PCIeDevice", + "Id": "1", + "Name": "CXL Device", + "Description": "CXL Physcial Device Type 2", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeInterface": { + "PCIeType": "Gen5", + "MaxPCIeType": "Gen5", + "LanesInUse": 8, + "MaxLanes": 16 + }, + "PCIeFunctions": { + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1/PCIeFunctions" + }, + "CXLDevice": { + "DeviceType": "Type2", + "CurrentProtocolVersion": "CXL2_0", + "CapableProtocolVersions": [ + "CXL1_1", + "CXL2_0" + ], + "EgressPortCongestionSupport": true, + "TemporaryThroughputReductionSupported": true, + "TemporaryThroughputReductionEnabled": true, + "MaxNumberLogicalDevices": 8, + "Timestamp": "2022-09-08T12:25:00-05:00" + }, + "CXLLogicalDevices": { + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1/CXLLogicalDevices" + }, + "StagedVersion": "1.4.2.0", + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType2" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/PCIeDevices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/PCIeDevices/index.json new file mode 100644 index 00000000..70ec169a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/PCIeDevices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PCIeDeviceCollection.PCIeDeviceCollection", + "Name": "PCIe Device Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/Processors/GPU/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/Processors/GPU/index.json new file mode 100644 index 00000000..fae5fa4b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/Processors/GPU/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "GPU", + "Name": "GPU with HBM memory", + "Description": "GPU with cache and HBM memory", + "ProcessorType": "GPU", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "ProcessorMemory": [ + { + "IntegratedMemory": false, + "MemoryType": "HBM2", + "CapacityMiB": 16384, + "SpeedMHz": 1033 + }, + { + "IntegratedMemory": true, + "MemoryType": "Cache", + "CapacityMiB": 64 + } + ], + "MemorySummary": { + "TotalMemorySizeMiB": 16384, + "TotalCacheSizeMiB": 64 + }, + "Links": { + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1/PCIeFunctions/1" + } + ], + "Memory": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/Memory/HBM" + } + ], + "ConnectedProcessors": [ + { + "@odata.id": "/redfish/v1/Systems/Host1/Processors/CPU" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/CXLType2/Processors/GPU", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/Processors/index.json new file mode 100644 index 00000000..58ebb391 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/Processors/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processor Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/Processors/GPU" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType2/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/index.json new file mode 100644 index 00000000..10d9d179 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType2/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "CXLType2", + "Name": "CXL Device Type 2 module", + "PowerState": "On", + "ChassisType": "Module", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeDevices": { + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices" + }, + "Processors": { + "@odata.id": "/redfish/v1/Chassis/CXLType2/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Chassis/CXLType2/Memory" + }, + "MemoryDomains": { + "@odata.id": "/redfish/v1/Chassis/CXLType2/MemoryDomains" + }, + "Links": { + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/Host1Chassis" + } + }, + "@odata.id": "/redfish/v1/Chassis/CXLType2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/Memory/3DXP/InjectPersistentPoisonActionInfo/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/Memory/3DXP/InjectPersistentPoisonActionInfo/index.json new file mode 100644 index 00000000..c37b8e9b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/Memory/3DXP/InjectPersistentPoisonActionInfo/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#ActionInfo.v1_6_0.ActionInfo", + "Id": "InjectPersistentPoisonActionInfo", + "Name": "Inject Persistent Poison Action Info", + "Parameters": [ + { + "Name": "PhysicalAddress", + "Required": true, + "DataType": "String" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType3/Memory/3DXP/InjectPersistentPoisonActionInfo", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/Memory/3DXP/MemoryMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/Memory/3DXP/MemoryMetrics/index.json new file mode 100644 index 00000000..f5067f32 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/Memory/3DXP/MemoryMetrics/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#MemoryMetrics.v1_8_0.MemoryMetrics", + "Name": "Memory Metrics", + "Id": "Metrics", + "BlockSizeBytes": 4096, + "CurrentPeriod": { + "BlocksRead": 0, + "BlocksWritten": 0 + }, + "LifeTime": { + "BlocksRead": 0, + "BlocksWritten": 0 + }, + "CorrectedVolatileErrorCount": 26, + "CorrectedPersistentErrorCount": 16, + "DirtyShutdownCount": 1, + "CXL": { + "AlertCapabilities": { + "Temperature": true, + "SpareBlock": false, + "UncorrectableECCError": false, + "CorrectableECCError": false + } + }, + "HealthData": { + "RemainingSpareBlockPercentage": 50, + "LastShutdownSuccess": true, + "DataLossDetected": false, + "PerformanceDegraded": false + }, + "@odata.id": "/redfish/v1/Chassis/CXLType3/Memory/3DXP/MemoryMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/Memory/3DXP/ScanMediaActionInfo/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/Memory/3DXP/ScanMediaActionInfo/index.json new file mode 100644 index 00000000..d629ff86 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/Memory/3DXP/ScanMediaActionInfo/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#ActionInfo.v1_6_0.ActionInfo", + "Id": "ScanMediaActionInfo", + "Name": "Scan Media Action Info", + "Parameters": [ + { + "Name": "PhysicalAddress", + "Required": true, + "DataType": "String" + }, + { + "Name": "Length", + "Required": true, + "DataType": "Number" + }, + { + "Name": "NoEventLog", + "Required": false, + "DataType": "Boolean" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType3/Memory/3DXP/ScanMediaActionInfo", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/Memory/3DXP/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/Memory/3DXP/index.json new file mode 100644 index 00000000..e4ccd8f3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/Memory/3DXP/index.json @@ -0,0 +1,88 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "3DXP", + "Name": "3DXP memory", + "MemoryType": "IntelOptane", + "MemoryMedia": [ + "Intel3DXPoint" + ], + "CapacityMiB": 16384, + "OperatingSpeedMhz": 1333, + "Status": { + "Health": "OK", + "State": "Enabled", + "HealthRollup": "OK" + }, + "PoisonListMaxMediaErrorRecords": 2048, + "CXL": { + "LabelStorageSizeBytes": 1280, + "StagedVolatileSizeMiB": 0, + "StagedNonVolatileSizeMiB": 16384 + }, + "VolatileSizeLimitMiB": 0, + "NonVolatileSizeLimitMiB": 16384, + "Regions": [ + { + "RegionId": "1", + "MemoryClassification": "ByteAccessiblePersistent", + "OffsetMiB": 0, + "SizeMiB": 8192, + "PassphraseEnabled": false, + "MasterPassphraseEnabled": false + }, + { + "RegionId": "2", + "MemoryClassification": "ByteAccessiblePersistent", + "OffsetMiB": 8192, + "SizeMiB": 8192, + "PassphraseEnabled": false, + "MasterPassphraseEnabled": false + } + ], + "SecurityStates": { + "UserPassphraseAttemptCountReached": true, + "MasterPassphraseAttemptCountReached": true + }, + "HealthData": { + "PredictedMediaLifeLeftPercent": 75 + }, + "Actions": { + "#Memory.SetMasterPassphrase": { + "target": "/redfish/v1/Chassis/CXLType3/Memory/3DXP/Actions/Memory.SetMasterPassphrase", + "RegionId@Redfish.AllowableValues": [ + "1", + "2" + ], + "Passphrase@Redfish.AllowableValues": "string" + }, + "#Memory.DisableMasterPassphrase": { + "target": "/redfish/v1/Chassis/CXLType3/Memory/3DXP/Actions/Memory.DisableMasterPassphrase", + "RegionId@Redfish.AllowableValues": [ + "1", + "2" + ], + "Passphrase@Redfish.AllowableValues": "string" + }, + "#Memory.SecureEraseUnit": { + "target": "/redfish/v1/Chassis/CXLType3/Memory/3DXP/Actions/Memory.SecureEraseUnit", + "RegionId@Redfish.AllowableValues": [ + "1", + "2" + ], + "MasterPassphrase@Redfish.AllowableValues": "string" + }, + "#Memory.FreezeSecurityState": { + "target": "/redfish/v1/Chassis/CXLType3/Memory/3DXP/Actions/Memory.FreezeSecurityState" + }, + "#Memory.InjectPersistentPoison": { + "target": "/redfish/v1/Chassis/CXLType3/Memory/3DXP/Actions/Memory.InjectPersistentPoison", + "@Redfish.ActionInfo": "/redfish/v1/Chassis/CXLType3/Memory/3DXP/InjectPersistentPoisonActionInfo" + }, + "#Memory.ScanMedia": { + "target": "/redfish/v1/Chassis/CXLType3/Memory/3DXP/Actions/Memory.ScanMedia", + "@Redfish.ActionInfo": "/redfish/v1/Chassis/CXLType3/Memory/3DXP/ScanMediaActionInfo" + } + }, + "@odata.id": "/redfish/v1/Chassis/CXLType3/Memory/3DXP", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/Memory/index.json new file mode 100644 index 00000000..a3da3dd4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/Memory/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Collection", + "Description": "Memory Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/Memory/3DXP" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType3/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/MemoryDomains/1/MemoryChunks/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/MemoryDomains/1/MemoryChunks/1/index.json new file mode 100644 index 00000000..1388d2b0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/MemoryDomains/1/MemoryChunks/1/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#MemoryChunks.v1_7_0.MemoryChunks", + "Id": "1", + "Name": "Memory Chunk 1", + "Description": "Memory chunk accessible through CXL", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MemoryChunkSizeMiB": 4096, + "AddressRangeType": "PMEM", + "AddressRangeOffsetMiB": 1024, + "MediaLocation": "Local", + "RequestedOperationalState": "Online", + "InterleaveSets": [ + { + "Memory": { + "@odata.id": "/redfish/v1/Chassis/CXLType3/Memory/3DXP" + }, + "RegionId": "1" + } + ], + "Links": { + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/CXLType3/MemoryDomains/1/MemoryChunks/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/MemoryDomains/1/MemoryChunks/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/MemoryDomains/1/MemoryChunks/index.json new file mode 100644 index 00000000..de59ea4b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/MemoryDomains/1/MemoryChunks/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryChunksCollection.MemoryChunksCollection", + "Name": "Memory Chunks Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/MemoryDomains/1/MemoryChunks/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType3/MemoryDomains/1/MemoryChunks", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/MemoryDomains/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/MemoryDomains/1/index.json new file mode 100644 index 00000000..b50115f2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/MemoryDomains/1/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#MemoryDomain.v1_5_1.MemoryDomain", + "Id": "1", + "Name": "CXL DIMM Memory Domain", + "Description": "DIMM Memory Domain accessible through CXL", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "MemoryChunks": { + "@odata.id": "/redfish/v1/Chassis/CXLType3/MemoryDomains/1/MemoryChunks" + }, + "AllowsMemoryChunkCreation": true, + "MinMemoryChunkSizeMiB": 64, + "MemoryChunkIncrementMiB": 64, + "MemorySizeMiB": 262144, + "InterleavableMemorySets": [ + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/Memory/3DXP" + } + ] + } + ], + "Links": { + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1/PCIeFunctions/1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/CXLType3/MemoryDomains/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/MemoryDomains/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/MemoryDomains/index.json new file mode 100644 index 00000000..88d70d07 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/MemoryDomains/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryDomainCollection.MemoryDomainCollection", + "Name": "Memory Domain Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/MemoryDomains/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType3/MemoryDomains", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/1/index.json new file mode 100644 index 00000000..22aee1de --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/1/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#CXLLogicalDevice.v1_5_0.CXLLogicalDevice", + "Id": "1", + "Name": "CXL Logical Device Type 3", + "Description": "Locally attached CXL Logical Device Type 3", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:0001", + "DurableNameFormat": "GCXLID" + } + ], + "SemanticsSupported": [ + "CXLio", + "CXLmem" + ], + "QoSTelemetryCapabilities": { + "EgressPortBackpressureSupported": true + }, + "QoS": { + "AllocatedBandwidth": 64, + "LimitPercent": 85 + }, + "MemorySizeMiB": 16384, + "Links": { + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1/PCIeFunctions/1" + } + ], + "MemoryDomains": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/MemoryDomains/1" + } + ], + "MemoryChunks": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/MemoryDomains/1/MemoryChunks/1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/index.json new file mode 100644 index 00000000..a9e011ca --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#CXLLogicalDeviceCollection.CXLLogicalDeviceCollection", + "Name": "CXL Logical Device Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/PCIeDevices/1/PCIeFunctions/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/PCIeDevices/1/PCIeFunctions/1/index.json new file mode 100644 index 00000000..29760f3f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/PCIeDevices/1/PCIeFunctions/1/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#PCIeFunction.v1_7_0.PCIeFunction", + "Id": "1", + "Name": "CXL Function", + "Description": "PCIe Function with CXL extensions representing Memory Controller", + "FunctionId": 1, + "FunctionType": "Physical", + "DeviceClass": "MemoryController", + "DeviceId": "0xABCD", + "VendorId": "0xABCD", + "ClassCode": "0x050210", + "RevisionId": "0x00", + "SubsystemId": "0xABCD", + "SubsystemVendorId": "0xABCD", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "FunctionProtocol": "CXL", + "Links": { + "MemoryDomains": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/MemoryDomains/1" + } + ], + "CXLLogicalDevice": { + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/1" + }, + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1" + } + }, + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1/PCIeFunctions/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/PCIeDevices/1/PCIeFunctions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/PCIeDevices/1/PCIeFunctions/index.json new file mode 100644 index 00000000..730a3448 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/PCIeDevices/1/PCIeFunctions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PCIeFunctionCollection.PCIeFunctionCollection", + "Name": "PCIe Function Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1/PCIeFunctions/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1/PCIeFunctions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/PCIeDevices/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/PCIeDevices/1/index.json new file mode 100644 index 00000000..5da74cc5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/PCIeDevices/1/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#PCIeDevice.v1_23_0.PCIeDevice", + "Id": "1", + "Name": "CXL Device", + "Description": "CXL Physcial Device Type 3", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeInterface": { + "PCIeType": "Gen5", + "MaxPCIeType": "Gen5", + "LanesInUse": 8, + "MaxLanes": 16 + }, + "PCIeFunctions": { + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1/PCIeFunctions" + }, + "CXLDevice": { + "DeviceType": "Type3", + "CurrentProtocolVersion": "CXL2_0", + "CapableProtocolVersions": [ + "CXL1_1", + "CXL2_0" + ], + "EgressPortCongestionSupport": true, + "TemporaryThroughputReductionSupported": true, + "TemporaryThroughputReductionEnabled": true, + "MaxNumberLogicalDevices": 8, + "Timestamp": "2022-09-08T12:25:00-05:00" + }, + "CXLLogicalDevices": { + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices" + }, + "StagedVersion": "1.4.2.0", + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType3" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/PCIeDevices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/PCIeDevices/index.json new file mode 100644 index 00000000..62bb1d31 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/PCIeDevices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PCIeDeviceCollection.PCIeDeviceCollection", + "Name": "PCIe Device Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/index.json new file mode 100644 index 00000000..6b8d3854 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/CXLType3/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "CXLType3", + "Name": "CXL Device Type 3 module", + "PowerState": "On", + "ChassisType": "Module", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeDevices": { + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices" + }, + "Memory": { + "@odata.id": "/redfish/v1/Chassis/CXLType3/Memory" + }, + "MemoryDomains": { + "@odata.id": "/redfish/v1/Chassis/CXLType3/MemoryDomains" + }, + "Links": { + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/Host2Chassis" + } + }, + "@odata.id": "/redfish/v1/Chassis/CXLType3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/Host1Chassis/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/Host1Chassis/index.json new file mode 100644 index 00000000..de39d636 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/Host1Chassis/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "Host1Chassis", + "Name": "Host System Chassis", + "ChassisType": "RackMount", + "Manufacturer": "Contoso", + "Model": "SX1000", + "SKU": "6914260", + "SerialNumber": "529QB9450R6", + "PartNumber": "166480-S23", + "PowerState": "On", + "IndicatorLED": "Off", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/Host1" + } + ], + "Contains": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType1" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXLType2" + } + ], + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/CXLRack" + } + }, + "@odata.id": "/redfish/v1/Chassis/Host1Chassis", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/Host2Chassis/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/Host2Chassis/index.json new file mode 100644 index 00000000..73557c35 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/Host2Chassis/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "Host2Chassis", + "Name": "Host System Chassis", + "ChassisType": "RackMount", + "Manufacturer": "Contoso", + "Model": "SX1000", + "SKU": "6914260", + "SerialNumber": "529QB9450R6", + "PartNumber": "166480-S23", + "PowerState": "On", + "IndicatorLED": "Off", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/Host2" + } + ], + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/CXLRack" + } + }, + "@odata.id": "/redfish/v1/Chassis/Host2Chassis", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/Host5Chassis/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/Host5Chassis/index.json new file mode 100644 index 00000000..acfe56fb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/Host5Chassis/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "Host5Chassis", + "Name": "Host System Chassis", + "ChassisType": "RackMount", + "Manufacturer": "Contoso", + "Model": "SX1000", + "SKU": "6914260", + "SerialNumber": "529QB9450R6", + "PartNumber": "166480-S23", + "PowerState": "On", + "IndicatorLED": "Off", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/Host5" + } + ], + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/CXLRack" + } + }, + "@odata.id": "/redfish/v1/Chassis/Host5Chassis", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/FabricAdapters/1/Ports/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/FabricAdapters/1/Ports/1/index.json new file mode 100644 index 00000000..a3c7502b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/FabricAdapters/1/Ports/1/index.json @@ -0,0 +1,50 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "1", + "Name": "CXL Port 1", + "Description": "CXL Port 1 in Fabric Adapter", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "RemotePortId": "8", + "PortId": "1", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "3.1", + "CapableProtocolVersions": [ + "1.1", + "2.0", + "3.0", + "3.1" + ], + "PortType": "UpstreamPort", + "PortMedium": "Electrical", + "CurrentSpeedGbps": 256, + "Width": 8, + "MaxSpeedGbps": 128, + "ActiveWidth": 4, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T1" + } + ], + "ConnectedSwitches": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1" + } + ], + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/D1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/FabricAdapters/1/Ports/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/FabricAdapters/1/Ports/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/FabricAdapters/1/Ports/index.json new file mode 100644 index 00000000..eeb2cc21 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/FabricAdapters/1/Ports/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "CXL Port Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/FabricAdapters/1/Ports/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/FabricAdapters/1/Ports", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/FabricAdapters/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/FabricAdapters/1/index.json new file mode 100644 index 00000000..80325436 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/FabricAdapters/1/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#FabricAdapter.v1_5_3.FabricAdapter", + "Id": "1", + "Name": "CXL Fabric Adapter 1", + "Description": "CXL Fabric Adapter for FPGA system", + "Manufacturer": "Contoso", + "Model": "CXL Fabric Adapter Model X", + "PartNumber": "975999-001", + "SparePartNumber": "152111-A01", + "SKU": "Contoso 2-port CXL Adapter Bridge", + "SerialNumber": "2M220100SL", + "FirmwareVersion": "7.4.10", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Ports": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/FabricAdapters/1/Ports" + }, + "Links": { + "Processors": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/Processors/FPGA" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/FabricAdapters/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/FabricAdapters/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/FabricAdapters/index.json new file mode 100644 index 00000000..b73f148c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/FabricAdapters/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#FabricAdapterCollection.FabricAdapterCollection", + "Name": "Fabric Adapter Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/FabricAdapters/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/FabricAdapters", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/PCIeDevices/1/CXLLogicalDevices/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/PCIeDevices/1/CXLLogicalDevices/1/index.json new file mode 100644 index 00000000..37699f6b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/PCIeDevices/1/CXLLogicalDevices/1/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#CXLLogicalDevice.v1_5_0.CXLLogicalDevice", + "Id": "1", + "Name": "CXL Logical Device Type 1", + "Description": "CXL Logical Device Type 1 attached through CXL fabric", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:0001", + "DurableNameFormat": "GCXLID" + } + ], + "SemanticsSupported": [ + "CXLio", + "CXLcache" + ], + "Links": { + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/PCIeDevices/1/PCIeFunctions/1" + } + ], + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/PCIeDevices/1/CXLLogicalDevices/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/PCIeDevices/1/CXLLogicalDevices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/PCIeDevices/1/CXLLogicalDevices/index.json new file mode 100644 index 00000000..96a6a78d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/PCIeDevices/1/CXLLogicalDevices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#CXLLogicalDeviceCollection.CXLLogicalDeviceCollection", + "Name": "CXL Logical Device Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/PCIeDevices/1/CXLLogicalDevices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/PCIeDevices/1/PCIeFunctions/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/PCIeDevices/1/PCIeFunctions/1/index.json new file mode 100644 index 00000000..f99c6c96 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/PCIeDevices/1/PCIeFunctions/1/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#PCIeFunction.v1_7_0.PCIeFunction", + "Id": "1", + "Name": "CXL Function", + "Description": "PCIe Function with CXL extensions representing FPGA", + "FunctionId": 1, + "FunctionType": "Physical", + "DeviceClass": "Processor", + "DeviceId": "0xABCD", + "VendorId": "0xABCD", + "ClassCode": "0x0B4000", + "RevisionId": "0x00", + "SubsystemId": "0xABCD", + "SubsystemVendorId": "0xABCD", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "FunctionProtocol": "CXL", + "Links": { + "Processor": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/Processors/FPGA" + }, + "CXLLogicalDevice": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/PCIeDevices/1/CXLLogicalDevices/1" + }, + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/PCIeDevices/1" + } + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/PCIeDevices/1/PCIeFunctions/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/PCIeDevices/1/PCIeFunctions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/PCIeDevices/1/PCIeFunctions/index.json new file mode 100644 index 00000000..1384fba1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/PCIeDevices/1/PCIeFunctions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PCIeFunctionCollection.PCIeFunctionCollection", + "Name": "PCIe Function Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/PCIeDevices/1/PCIeFunctions/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/PCIeDevices/1/PCIeFunctions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/PCIeDevices/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/PCIeDevices/1/index.json new file mode 100644 index 00000000..233c8224 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/PCIeDevices/1/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#PCIeDevice.v1_23_0.PCIeDevice", + "Id": "1", + "Name": "CXL Device", + "Description": "CXL Physcial Device Type 1", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeInterface": { + "PCIeType": "Gen5", + "MaxPCIeType": "Gen5", + "LanesInUse": 4, + "MaxLanes": 8 + }, + "PCIeFunctions": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/PCIeDevices/1/PCIeFunctions" + }, + "CXLDevice": { + "DeviceType": "Type1", + "CurrentProtocolVersion": "CXL2_0", + "CapableProtocolVersions": [ + "CXL1_1", + "CXL2_0" + ], + "EgressPortCongestionSupport": true, + "TemporaryThroughputReductionSupported": true, + "TemporaryThroughputReductionEnabled": true, + "MaxNumberLogicalDevices": 1, + "Timestamp": "2022-09-08T12:25:00-05:00" + }, + "CXLLogicalDevices": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/PCIeDevices/1/CXLLogicalDevices" + }, + "StagedVersion": "1.4.2.0", + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/PCIeDevices/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/PCIeDevices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/PCIeDevices/index.json new file mode 100644 index 00000000..50947dde --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/PCIeDevices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PCIeDeviceCollection.PCIeDeviceCollection", + "Name": "PCIe Device Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/PCIeDevices/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/PCIeDevices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/Processors/FPGA/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/Processors/FPGA/index.json new file mode 100644 index 00000000..788a26b5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/Processors/FPGA/index.json @@ -0,0 +1,42 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "FPGA", + "Name": "FPGA with cache", + "Description": "FPGA with cache accessible through CXL fabric", + "ProcessorType": "FPGA", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "ProcessorMemory": [ + { + "IntegratedMemory": true, + "MemoryType": "Cache", + "CapacityMiB": 64 + } + ], + "MemorySummary": { + "TotalMemorySizeMiB": 0, + "TotalCacheSizeMiB": 64 + }, + "Links": { + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/PCIeDevices/1/PCIeFunctions/1" + } + ], + "FabricAdapters": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/FabricAdapters/1" + } + ], + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/Processors/FPGA", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/Processors/index.json new file mode 100644 index 00000000..78b44aaf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/Processors/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processor Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/Processors/FPGA" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/index.json new file mode 100644 index 00000000..6aa59a55 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType1/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "PooledCXLType1", + "Name": "Pooled CXL Device Type 1 chassis", + "ChassisType": "Blade", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeDevices": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/PCIeDevices" + }, + "Processors": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/Processors" + }, + "FabricAdapters": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/FabricAdapters" + }, + "Links": { + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/CXLMemChassis1" + } + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/FabricAdapters/1/Ports/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/FabricAdapters/1/Ports/1/index.json new file mode 100644 index 00000000..5447768b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/FabricAdapters/1/Ports/1/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "1", + "Name": "CXL Port 1", + "Description": "CXL Port 1 in Fabric Adapter", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "RemotePortId": "9", + "PortId": "1", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "2.0", + "CapableProtocolVersions": [ + "1.1", + "2.0" + ], + "PortType": "UpstreamPort", + "PortMedium": "Electrical", + "CurrentSpeedGbps": 256, + "Width": 8, + "MaxSpeedGbps": 128, + "ActiveWidth": 4, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2" + } + ], + "ConnectedSwitches": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1" + } + ], + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/D2" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/FabricAdapters/1/Ports/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/FabricAdapters/1/Ports/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/FabricAdapters/1/Ports/index.json new file mode 100644 index 00000000..95c536c6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/FabricAdapters/1/Ports/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "CXL Port Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/FabricAdapters/1/Ports/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/FabricAdapters/1/Ports", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/FabricAdapters/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/FabricAdapters/1/index.json new file mode 100644 index 00000000..c21fe640 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/FabricAdapters/1/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#FabricAdapter.v1_5_3.FabricAdapter", + "Id": "1", + "Name": "CXL Fabric Adapter 1", + "Description": "CXL Fabric Adapter for memory system", + "Manufacturer": "Contoso", + "Model": "CXL Fabric Adapter Model X", + "PartNumber": "975999-001", + "SparePartNumber": "152111-A01", + "SKU": "Contoso 2-port CXL Adapter Bridge", + "SerialNumber": "2M220100SL", + "FirmwareVersion": "7.4.10", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Ports": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/FabricAdapters/1/Ports" + }, + "Links": { + "Processors": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/Processors/GPU" + } + ], + "MemoryDomains": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/MemoryDomains/1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/FabricAdapters/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/FabricAdapters/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/FabricAdapters/index.json new file mode 100644 index 00000000..5bb9710d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/FabricAdapters/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#FabricAdapterCollection.FabricAdapterCollection", + "Name": "Fabric Adapter Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/FabricAdapters/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/FabricAdapters", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/Memory/HBM/MemoryMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/Memory/HBM/MemoryMetrics/index.json new file mode 100644 index 00000000..d2371e6d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/Memory/HBM/MemoryMetrics/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#MemoryMetrics.v1_8_0.MemoryMetrics", + "Name": "Memory Metrics", + "Id": "Metrics", + "LifeTime": { + "CorrectableECCErrorCount": 16, + "UncorrectableECCErrorCount": 8 + }, + "CurrentPeriod": { + "CorrectableECCErrorCount": 4, + "UncorrectableECCErrorCount": 4 + }, + "CXL": { + "AlertCapabilities": { + "Temperature": true, + "UncorrectableECCError": false, + "CorrectableECCError": false + } + }, + "Actions": { + "#MemoryMetrics.ClearCurrentPeriod": { + "target": "/redfish/v1/Chassis/PooledCXLType2/Memory/HBM/MemoryMetrics/Actions/MemoryMetrics.ClearCurrentPeriod" + } + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/Memory/HBM/MemoryMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/Memory/HBM/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/Memory/HBM/index.json new file mode 100644 index 00000000..b8af4267 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/Memory/HBM/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "HBM", + "MemoryType": "DRAM", + "MemoryDeviceType": "HBM2", + "MemoryMedia": [ + "DRAM" + ], + "Name": "HBM memory", + "CapacityMiB": 16384, + "OperatingSpeedMhz": 1333, + "Status": { + "Health": "OK", + "State": "Enabled", + "HealthRollup": "OK" + }, + "Metrics": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/Memory/HBM/MemoryMetrics" + }, + "Links": { + "Processors": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/Processors/GPU" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/Memory/HBM", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/Memory/index.json new file mode 100644 index 00000000..44b8435d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/Memory/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Collection", + "Description": "Memory Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/Memory/HBM" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/MemoryDomains/1/MemoryChunks/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/MemoryDomains/1/MemoryChunks/1/index.json new file mode 100644 index 00000000..fb150178 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/MemoryDomains/1/MemoryChunks/1/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#MemoryChunks.v1_7_0.MemoryChunks", + "Id": "1", + "Name": "Memory Chunk 1", + "Description": "Memory chunk accessible through CXL", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MemoryChunkSizeMiB": 4096, + "AddressRangeType": "Volatile", + "AddressRangeOffsetMiB": 1024, + "MediaLocation": "Local", + "RequestedOperationalState": "Online", + "Links": { + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/MemoryDomains/1/MemoryChunks/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/MemoryDomains/1/MemoryChunks/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/MemoryDomains/1/MemoryChunks/index.json new file mode 100644 index 00000000..d309223c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/MemoryDomains/1/MemoryChunks/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryChunksCollection.MemoryChunksCollection", + "Name": "Memory Chunks Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/MemoryDomains/1/MemoryChunks/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/MemoryDomains/1/MemoryChunks", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/MemoryDomains/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/MemoryDomains/1/index.json new file mode 100644 index 00000000..3bbd02b0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/MemoryDomains/1/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#MemoryDomain.v1_5_1.MemoryDomain", + "Id": "1", + "Name": "GPU HBM Memory Domain", + "Description": "GPU HBM Memory Domain accessible through CXL fabric", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "MemoryChunks": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/MemoryDomains/1/MemoryChunks" + }, + "AllowsMemoryChunkCreation": true, + "MinMemoryChunkSizeMiB": 64, + "MemoryChunkIncrementMiB": 64, + "MemorySizeMiB": 262144, + "InterleavableMemorySets": [ + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/Memory/HBM" + } + ] + } + ], + "Links": { + "FabricAdapters": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/FabricAdapters/1" + } + ], + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices/1/CXLLogicalDevices/1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/MemoryDomains/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/MemoryDomains/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/MemoryDomains/index.json new file mode 100644 index 00000000..f58d9fba --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/MemoryDomains/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryDomainCollection.MemoryDomainCollection", + "Name": "Memory Domain Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/MemoryDomains/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/MemoryDomains", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/PCIeDevices/1/CXLLogicalDevices/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/PCIeDevices/1/CXLLogicalDevices/1/index.json new file mode 100644 index 00000000..393fbd30 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/PCIeDevices/1/CXLLogicalDevices/1/index.json @@ -0,0 +1,54 @@ +{ + "@odata.type": "#CXLLogicalDevice.v1_5_0.CXLLogicalDevice", + "Id": "1", + "Name": "CXL Logical Device Type 2", + "Description": "CXL Logical Device Type 2 attached through CXL fabric", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:0001", + "DurableNameFormat": "GCXLID" + } + ], + "SemanticsSupported": [ + "CXLio", + "CXLcache", + "CXLmem" + ], + "QoSTelemetryCapabilities": { + "EgressPortBackpressureSupported": true + }, + "QoS": { + "AllocatedBandwidth": 64, + "LimitPercent": 85 + }, + "MemorySizeMiB": 16384, + "Links": { + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices/1/PCIeFunctions/1" + } + ], + "MemoryChunks": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/MemoryDomains/1/MemoryChunks/1" + } + ], + "MemoryDomains": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/MemoryDomains/1" + } + ], + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices/1/CXLLogicalDevices/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/PCIeDevices/1/CXLLogicalDevices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/PCIeDevices/1/CXLLogicalDevices/index.json new file mode 100644 index 00000000..de5b5da5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/PCIeDevices/1/CXLLogicalDevices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#CXLLogicalDeviceCollection.CXLLogicalDeviceCollection", + "Name": "CXL Logical Device Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices/1/CXLLogicalDevices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/PCIeDevices/1/PCIeFunctions/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/PCIeDevices/1/PCIeFunctions/1/index.json new file mode 100644 index 00000000..f0754222 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/PCIeDevices/1/PCIeFunctions/1/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#PCIeFunction.v1_7_0.PCIeFunction", + "Id": "1", + "Name": "CXL Function", + "Description": "PCIe Function with CXL extensions representing GPU", + "FunctionId": 1, + "FunctionType": "Physical", + "DeviceClass": "ProcessingAccelerators", + "DeviceId": "0xABCD", + "VendorId": "0xABCD", + "ClassCode": "0x120000", + "RevisionId": "0x00", + "SubsystemId": "0xABCD", + "SubsystemVendorId": "0xABCD", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "FunctionProtocol": "CXL", + "Links": { + "Processor": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/Processors/GPU" + }, + "CXLLogicalDevice": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices/1/CXLLogicalDevices/1" + }, + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices/1" + } + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices/1/PCIeFunctions/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/PCIeDevices/1/PCIeFunctions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/PCIeDevices/1/PCIeFunctions/index.json new file mode 100644 index 00000000..9b4ee19b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/PCIeDevices/1/PCIeFunctions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PCIeFunctionCollection.PCIeFunctionCollection", + "Name": "PCIe Function Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices/1/PCIeFunctions/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices/1/PCIeFunctions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/PCIeDevices/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/PCIeDevices/1/index.json new file mode 100644 index 00000000..281d2b0b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/PCIeDevices/1/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#PCIeDevice.v1_23_0.PCIeDevice", + "Id": "1", + "Name": "CXL Device", + "Description": "CXL Physcial Device Type 2", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeInterface": { + "PCIeType": "Gen5", + "MaxPCIeType": "Gen5", + "LanesInUse": 4, + "MaxLanes": 8 + }, + "PCIeFunctions": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices/1/PCIeFunctions" + }, + "CXLDevice": { + "DeviceType": "Type2", + "CurrentProtocolVersion": "CXL2_0", + "CapableProtocolVersions": [ + "CXL1_1", + "CXL2_0" + ], + "EgressPortCongestionSupport": true, + "TemporaryThroughputReductionSupported": true, + "TemporaryThroughputReductionEnabled": true, + "MaxNumberLogicalDevices": 16, + "Timestamp": "2022-09-08T12:25:00-05:00" + }, + "CXLLogicalDevices": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices/1/CXLLogicalDevices" + }, + "StagedVersion": "1.4.2.0", + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/PCIeDevices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/PCIeDevices/index.json new file mode 100644 index 00000000..fcba823b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/PCIeDevices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PCIeDeviceCollection.PCIeDeviceCollection", + "Name": "PCIe Device Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/Processors/GPU/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/Processors/GPU/index.json new file mode 100644 index 00000000..6c0d62a0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/Processors/GPU/index.json @@ -0,0 +1,53 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "GPU", + "Name": "GPU with HBM memory", + "Description": "GPU with cache and HBM memory accessible through CXL fabric", + "ProcessorType": "GPU", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "ProcessorMemory": [ + { + "IntegratedMemory": false, + "MemoryType": "HBM2", + "CapacityMiB": 16384, + "SpeedMHz": 1033 + }, + { + "IntegratedMemory": true, + "MemoryType": "Cache", + "CapacityMiB": 64 + } + ], + "MemorySummary": { + "TotalMemorySizeMiB": 16384, + "TotalCacheSizeMiB": 64 + }, + "Links": { + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices/1/PCIeFunctions/1" + } + ], + "FabricAdapters": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/FabricAdapters/1" + } + ], + "Memory": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/Memory/HBM" + } + ], + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/Processors/GPU", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/Processors/index.json new file mode 100644 index 00000000..cc0f1160 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/Processors/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processor Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/Processors/GPU" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/index.json new file mode 100644 index 00000000..b302dda1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType2/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "PooledCXLType2", + "Name": "Pooled CXL Device Type 2 chassis", + "PowerState": "On", + "ChassisType": "Enclosure", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeDevices": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices" + }, + "FabricAdapters": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/FabricAdapters" + }, + "Processors": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/Memory" + }, + "MemoryDomains": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/MemoryDomains" + }, + "Links": { + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/CXLMemChassis1" + } + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/FabricAdapters/1/Ports/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/FabricAdapters/1/Ports/1/index.json new file mode 100644 index 00000000..b20a785a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/FabricAdapters/1/Ports/1/index.json @@ -0,0 +1,50 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "1", + "Name": "CXL Port 1", + "Description": "CXL Port 1 in Fabric Adapter", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "RemotePortId": "8", + "PortId": "1", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "3.1", + "CapableProtocolVersions": [ + "1.1", + "2.0", + "3.0", + "3.1" + ], + "PortType": "UpstreamPort", + "PortMedium": "Electrical", + "CurrentSpeedGbps": 256, + "Width": 8, + "MaxSpeedGbps": 128, + "ActiveWidth": 4, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T5" + } + ], + "ConnectedSwitches": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL2" + } + ], + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL2/Ports/D1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/FabricAdapters/1/Ports/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/FabricAdapters/1/Ports/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/FabricAdapters/1/Ports/index.json new file mode 100644 index 00000000..db114a91 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/FabricAdapters/1/Ports/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "CXL Port Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/FabricAdapters/1/Ports/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/FabricAdapters/1/Ports", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/FabricAdapters/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/FabricAdapters/1/index.json new file mode 100644 index 00000000..050c03d3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/FabricAdapters/1/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#FabricAdapter.v1_5_3.FabricAdapter", + "Id": "1", + "Name": "CXL Fabric Adapter 1", + "Description": "CXL Fabric Adapter for memory system", + "Manufacturer": "Contoso", + "Model": "CXL Fabric Adapter Model X", + "PartNumber": "975999-001", + "SparePartNumber": "152111-A01", + "SKU": "Contoso 2-port CXL Adapter Bridge", + "SerialNumber": "2M220100SL", + "FirmwareVersion": "7.4.10", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Ports": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/FabricAdapters/1/Ports" + }, + "Links": { + "MemoryDomains": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/MemoryDomains/1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/FabricAdapters/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/FabricAdapters/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/FabricAdapters/index.json new file mode 100644 index 00000000..723beaf0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/FabricAdapters/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#FabricAdapterCollection.FabricAdapterCollection", + "Name": "Fabric Adapter Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/FabricAdapters/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/FabricAdapters", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/Memory/3DXP/MemoryMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/Memory/3DXP/MemoryMetrics/index.json new file mode 100644 index 00000000..7cd6823d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/Memory/3DXP/MemoryMetrics/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#MemoryMetrics.v1_8_0.MemoryMetrics", + "Name": "Memory Metrics", + "Id": "Metrics", + "BlockSizeBytes": 4096, + "CurrentPeriod": { + "BlocksRead": 0, + "BlocksWritten": 0 + }, + "LifeTime": { + "BlocksRead": 0, + "BlocksWritten": 0 + }, + "CorrectedVolatileErrorCount": 26, + "CorrectedPersistentErrorCount": 16, + "DirtyShutdownCount": 1, + "CXL": { + "AlertCapabilities": { + "Temperature": true, + "SpareBlock": false, + "UncorrectableECCError": false, + "CorrectableECCError": false + } + }, + "HealthData": { + "RemainingSpareBlockPercentage": 50, + "LastShutdownSuccess": true, + "DataLossDetected": false, + "PerformanceDegraded": false + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/Memory/3DXP/MemoryMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/Memory/3DXP/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/Memory/3DXP/index.json new file mode 100644 index 00000000..379d2d7d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/Memory/3DXP/index.json @@ -0,0 +1,80 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "3DXP", + "Name": "3DXP memory", + "MemoryType": "IntelOptane", + "MemoryMedia": [ + "Intel3DXPoint" + ], + "CapacityMiB": 16384, + "OperatingSpeedMhz": 1333, + "Status": { + "Health": "OK", + "State": "Enabled", + "HealthRollup": "OK" + }, + "PoisonListMaxMediaErrorRecords": 2048, + "CXL": { + "LabelStorageSizeBytes": 1280, + "StagedVolatileSizeMiB": 0, + "StagedNonVolatileSizeMiB": 16384 + }, + "VolatileSizeLimitMiB": 0, + "NonVolatileSizeLimitMiB": 16384, + "Regions": [ + { + "RegionId": "1", + "MemoryClassification": "ByteAccessiblePersistent", + "OffsetMiB": 0, + "SizeMiB": 8192, + "PassphraseEnabled": false, + "MasterPassphraseEnabled": false + }, + { + "RegionId": "2", + "MemoryClassification": "ByteAccessiblePersistent", + "OffsetMiB": 8192, + "SizeMiB": 8192, + "PassphraseEnabled": false, + "MasterPassphraseEnabled": false + } + ], + "SecurityStates": { + "UserPassphraseAttemptCountReached": true, + "MasterPassphraseAttemptCountReached": true + }, + "HealthData": { + "PredictedMediaLifeLeftPercent": 75 + }, + "Actions": { + "#Memory.SetMasterPassphrase": { + "target": "/redfish/v1/Chassis/PooledCXLType3-2/Memory/3DXP/Actions/Memory.SetMasterPassphrase", + "RegionId@Redfish.AllowableValues": [ + "1", + "2" + ], + "Passphrase@Redfish.AllowableValues": "string" + }, + "#Memory.DisableMasterPassphrase": { + "target": "/redfish/v1/Chassis/PooledCXLType3-2/Memory/3DXP/Actions/Memory.DisableMasterPassphrase", + "RegionId@Redfish.AllowableValues": [ + "1", + "2" + ], + "Passphrase@Redfish.AllowableValues": "string" + }, + "#Memory.SecureEraseUnit": { + "target": "/redfish/v1/Chassis/PooledCXLType3-2/Memory/3DXP/Actions/Memory.SecureEraseUnit", + "RegionId@Redfish.AllowableValues": [ + "1", + "2" + ], + "MasterPassphrase@Redfish.AllowableValues": "string" + }, + "#Memory.FreezeSecurityState": { + "target": "/redfish/v1/Chassis/PooledCXLType3-2/Memory/3DXP/Actions/Memory.FreezeSecurityState" + } + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/Memory/3DXP", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/Memory/index.json new file mode 100644 index 00000000..08417db2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/Memory/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Collection", + "Description": "Memory Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/Memory/3DXP" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/MemoryDomains/1/MemoryChunks/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/MemoryDomains/1/MemoryChunks/1/index.json new file mode 100644 index 00000000..b64521af --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/MemoryDomains/1/MemoryChunks/1/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#MemoryChunks.v1_7_0.MemoryChunks", + "Id": "1", + "Name": "Memory Chunk 1", + "Description": "Memory chunk accessible through CXL fabric", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MemoryChunkSizeMiB": 4096, + "AddressRangeType": "PMEM", + "AddressRangeOffsetMiB": 1024, + "MediaLocation": "Local", + "RequestedOperationalState": "Online", + "Links": { + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T5" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/MemoryDomains/1/MemoryChunks/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/MemoryDomains/1/MemoryChunks/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/MemoryDomains/1/MemoryChunks/index.json new file mode 100644 index 00000000..025a7b4e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/MemoryDomains/1/MemoryChunks/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryChunksCollection.MemoryChunksCollection", + "Name": "Memory Chunks Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/MemoryDomains/1/MemoryChunks/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/MemoryDomains/1/MemoryChunks", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/MemoryDomains/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/MemoryDomains/1/index.json new file mode 100644 index 00000000..5c19d19d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/MemoryDomains/1/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#MemoryDomain.v1_5_1.MemoryDomain", + "Id": "1", + "Name": "CXL DIMM Memory Domain", + "Description": "DIMM Memory Domain accessible through CXL fabric", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "MemoryChunks": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/MemoryDomains/1/MemoryChunks" + }, + "AllowsMemoryChunkCreation": true, + "MinMemoryChunkSizeMiB": 64, + "MemoryChunkIncrementMiB": 64, + "MemorySizeMiB": 262144, + "InterleavableMemorySets": [ + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/Memory/3DXP" + } + ] + } + ], + "Links": { + "FabricAdapters": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/FabricAdapters/1" + } + ], + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/PCIeDevices/1/PCIeFunctions/1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/MemoryDomains/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/MemoryDomains/6/MemoryChunks/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/MemoryDomains/6/MemoryChunks/1/index.json new file mode 100644 index 00000000..057cfab4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/MemoryDomains/6/MemoryChunks/1/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#MemoryChunks.v1_7_0.MemoryChunks", + "Id": "1", + "Name": "Memory Chunk 1", + "Description": "Memory chunk accessible through CXL fabric", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MemoryChunkSizeMiB": 4096, + "AddressRangeType": "PMEM", + "AddressRangeOffsetMiB": 1024, + "MediaLocation": "Local", + "RequestedOperationalState": "Online", + "Links": { + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/PCIeDevices/1/CXLLogicalDevices/6" + } + ], + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T5" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/MemoryDomains/6/MemoryChunks/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/MemoryDomains/6/MemoryChunks/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/MemoryDomains/6/MemoryChunks/index.json new file mode 100644 index 00000000..77a4f3cb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/MemoryDomains/6/MemoryChunks/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryChunksCollection.MemoryChunksCollection", + "Name": "Memory Chunks Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/MemoryDomains/6/MemoryChunks/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/MemoryDomains/6/MemoryChunks", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/MemoryDomains/6/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/MemoryDomains/6/index.json new file mode 100644 index 00000000..18ff8f60 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/MemoryDomains/6/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#MemoryDomain.v1_5_1.MemoryDomain", + "Id": "6", + "Name": "CXL DIMM Memory Domain 6", + "Description": "DIMM Memory Domain accessible through CXL fabric", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "MemoryChunks": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/MemoryDomains/6/MemoryChunks" + }, + "AllowsMemoryChunkCreation": true, + "MinMemoryChunkSizeMiB": 64, + "MemoryChunkIncrementMiB": 64, + "MemorySizeMiB": 262144, + "InterleavableMemorySets": [ + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/Memory/3DXP" + } + ] + } + ], + "Links": { + "FabricAdapters": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/FabricAdapters/1" + } + ], + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/PCIeDevices/1/CXLLogicalDevices/6" + } + ], + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/PCIeDevices/1/PCIeFunctions/6" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/MemoryDomains/6", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/MemoryDomains/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/MemoryDomains/index.json new file mode 100644 index 00000000..77171ad1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/MemoryDomains/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#MemoryDomainCollection.MemoryDomainCollection", + "Name": "Memory Domain Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/MemoryDomains/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/MemoryDomains/6" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/MemoryDomains", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/PCIeDevices/1/CXLLogicalDevices/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/PCIeDevices/1/CXLLogicalDevices/1/index.json new file mode 100644 index 00000000..003a6189 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/PCIeDevices/1/CXLLogicalDevices/1/index.json @@ -0,0 +1,53 @@ +{ + "@odata.type": "#CXLLogicalDevice.v1_5_0.CXLLogicalDevice", + "Id": "1", + "Name": "CXL Logical Device Type 3", + "Description": "CXL Logical Device Type 3 accessible through CXL fabric", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:0001", + "DurableNameFormat": "GCXLID" + } + ], + "SemanticsSupported": [ + "CXLio", + "CXLmem" + ], + "QoSTelemetryCapabilities": { + "EgressPortBackpressureSupported": true + }, + "QoS": { + "AllocatedBandwidth": 64, + "LimitPercent": 85 + }, + "MemorySizeMiB": 16384, + "Links": { + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/PCIeDevices/1/PCIeFunctions/1" + } + ], + "MemoryChunks": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/MemoryDomains/1/MemoryChunks/1" + } + ], + "MemoryDomains": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/MemoryDomains/1" + } + ], + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T5" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/PCIeDevices/1/CXLLogicalDevices/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/PCIeDevices/1/CXLLogicalDevices/6/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/PCIeDevices/1/CXLLogicalDevices/6/index.json new file mode 100644 index 00000000..485b4e57 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/PCIeDevices/1/CXLLogicalDevices/6/index.json @@ -0,0 +1,53 @@ +{ + "@odata.type": "#CXLLogicalDevice.v1_5_0.CXLLogicalDevice", + "Id": "6", + "Name": "CXL Logical Device Type 3", + "Description": "CXL Logical Device Type 3 accessible through CXL fabric", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:0006", + "DurableNameFormat": "GCXLID" + } + ], + "SemanticsSupported": [ + "CXLio", + "CXLmem" + ], + "QoSTelemetryCapabilities": { + "EgressPortBackpressureSupported": true + }, + "QoS": { + "AllocatedBandwidth": 64, + "LimitPercent": 85 + }, + "MemorySizeMiB": 16384, + "Links": { + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/PCIeDevices/1/PCIeFunctions/6" + } + ], + "MemoryChunks": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/MemoryDomains/6/MemoryChunks/1" + } + ], + "MemoryDomains": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/MemoryDomains/6" + } + ], + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T5" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/PCIeDevices/1/CXLLogicalDevices/6", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/PCIeDevices/1/CXLLogicalDevices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/PCIeDevices/1/CXLLogicalDevices/index.json new file mode 100644 index 00000000..7f690971 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/PCIeDevices/1/CXLLogicalDevices/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#CXLLogicalDeviceCollection.CXLLogicalDeviceCollection", + "Name": "CXL Logical Device Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/PCIeDevices/1/CXLLogicalDevices/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/PCIeDevices/1/CXLLogicalDevices/6" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/PCIeDevices/1/CXLLogicalDevices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/PCIeDevices/1/PCIeFunctions/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/PCIeDevices/1/PCIeFunctions/1/index.json new file mode 100644 index 00000000..9eb17cef --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/PCIeDevices/1/PCIeFunctions/1/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#PCIeFunction.v1_7_0.PCIeFunction", + "Id": "1", + "Name": "CXL Function", + "Description": "PCIe Function with CXL extensions representing Memory Controller", + "FunctionId": 1, + "FunctionType": "Physical", + "DeviceClass": "MemoryController", + "DeviceId": "0xABCD", + "VendorId": "0xABCD", + "ClassCode": "0x050210", + "RevisionId": "0x00", + "SubsystemId": "0xABCD", + "SubsystemVendorId": "0xABCD", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "FunctionProtocol": "CXL", + "Links": { + "MemoryDomains": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/MemoryDomains/1" + } + ], + "CXLLogicalDevice": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/PCIeDevices/1/CXLLogicalDevices/1" + }, + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/PCIeDevices/1" + } + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/PCIeDevices/1/PCIeFunctions/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/PCIeDevices/1/PCIeFunctions/6/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/PCIeDevices/1/PCIeFunctions/6/index.json new file mode 100644 index 00000000..aa8235c6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/PCIeDevices/1/PCIeFunctions/6/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#PCIeFunction.v1_7_0.PCIeFunction", + "Id": "6", + "Name": "CXL Function", + "Description": "PCIe Function with CXL extensions representing Memory Controller", + "FunctionId": 1, + "FunctionType": "Physical", + "DeviceClass": "MemoryController", + "DeviceId": "0xABCD", + "VendorId": "0xABCD", + "ClassCode": "0x050210", + "RevisionId": "0x00", + "SubsystemId": "0xABCD", + "SubsystemVendorId": "0xABCD", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "FunctionProtocol": "CXL", + "Links": { + "MemoryDomains": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/MemoryDomains/6" + } + ], + "CXLLogicalDevice": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/PCIeDevices/1/CXLLogicalDevices/6" + }, + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/PCIeDevices/1" + } + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/PCIeDevices/1/PCIeFunctions/6", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/PCIeDevices/1/PCIeFunctions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/PCIeDevices/1/PCIeFunctions/index.json new file mode 100644 index 00000000..5eca7ccb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/PCIeDevices/1/PCIeFunctions/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#PCIeFunctionCollection.PCIeFunctionCollection", + "Name": "PCIe Function Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/PCIeDevices/1/PCIeFunctions/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/PCIeDevices/1/PCIeFunctions/6" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/PCIeDevices/1/PCIeFunctions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/PCIeDevices/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/PCIeDevices/1/index.json new file mode 100644 index 00000000..c38bbc02 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/PCIeDevices/1/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#PCIeDevice.v1_23_0.PCIeDevice", + "Id": "1", + "Name": "CXL Device", + "Description": "CXL Physcial Device Type 3", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeInterface": { + "PCIeType": "Gen5", + "MaxPCIeType": "Gen5", + "LanesInUse": 8, + "MaxLanes": 16 + }, + "PCIeFunctions": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/PCIeDevices/1/PCIeFunctions" + }, + "CXLDevice": { + "DeviceType": "Type3", + "CurrentProtocolVersion": "CXL2_0", + "CapableProtocolVersions": [ + "CXL1_1", + "CXL2_0" + ], + "EgressPortCongestionSupport": true, + "TemporaryThroughputReductionSupported": true, + "TemporaryThroughputReductionEnabled": true, + "MaxNumberLogicalDevices": 16, + "Timestamp": "2024-09-08T12:25:00-05:00" + }, + "CXLLogicalDevices": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/PCIeDevices/1/CXLLogicalDevices" + }, + "StagedVersion": "1.4.2.0", + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/PCIeDevices/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/PCIeDevices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/PCIeDevices/index.json new file mode 100644 index 00000000..1da80b8f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/PCIeDevices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PCIeDeviceCollection.PCIeDeviceCollection", + "Name": "PCIe Device Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/PCIeDevices/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/PCIeDevices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/index.json new file mode 100644 index 00000000..a96df5a7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3-2/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "PooledCXLType3-2", + "Name": "Pooled CXL Device Type 3 chassis", + "PowerState": "On", + "ChassisType": "Module", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeDevices": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/PCIeDevices" + }, + "FabricAdapters": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/FabricAdapters" + }, + "Memory": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/Memory" + }, + "MemoryDomains": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/MemoryDomains" + }, + "Links": { + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/CXLMemChassis2" + } + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/FabricAdapters/1/Ports/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/FabricAdapters/1/Ports/1/index.json new file mode 100644 index 00000000..0a0a7e6e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/FabricAdapters/1/Ports/1/index.json @@ -0,0 +1,50 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "1", + "Name": "CXL Port 1", + "Description": "CXL Port 1 in Fabric Adapter", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "RemotePortId": "10", + "PortId": "1", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "3.1", + "CapableProtocolVersions": [ + "1.1", + "2.0", + "3.0", + "3.1" + ], + "PortType": "UpstreamPort", + "PortMedium": "Electrical", + "CurrentSpeedGbps": 256, + "Width": 8, + "MaxSpeedGbps": 128, + "ActiveWidth": 4, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3" + } + ], + "ConnectedSwitches": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1" + } + ], + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/D3" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/FabricAdapters/1/Ports/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/FabricAdapters/1/Ports/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/FabricAdapters/1/Ports/index.json new file mode 100644 index 00000000..d130bd3b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/FabricAdapters/1/Ports/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "CXL Port Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/FabricAdapters/1/Ports/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/FabricAdapters/1/Ports", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/FabricAdapters/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/FabricAdapters/1/index.json new file mode 100644 index 00000000..5817400d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/FabricAdapters/1/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#FabricAdapter.v1_5_3.FabricAdapter", + "Id": "1", + "Name": "CXL Fabric Adapter 1", + "Description": "CXL Fabric Adapter for memory system", + "Manufacturer": "Contoso", + "Model": "CXL Fabric Adapter Model X", + "PartNumber": "975999-001", + "SparePartNumber": "152111-A01", + "SKU": "Contoso 2-port CXL Adapter Bridge", + "SerialNumber": "2M220100SL", + "FirmwareVersion": "7.4.10", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Ports": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/FabricAdapters/1/Ports" + }, + "Links": { + "MemoryDomains": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/6" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/FabricAdapters/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/FabricAdapters/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/FabricAdapters/index.json new file mode 100644 index 00000000..527e61f7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/FabricAdapters/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#FabricAdapterCollection.FabricAdapterCollection", + "Name": "Fabric Adapter Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/FabricAdapters/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/FabricAdapters", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/Memory/3DXP/MemoryMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/Memory/3DXP/MemoryMetrics/index.json new file mode 100644 index 00000000..f45d10e1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/Memory/3DXP/MemoryMetrics/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#MemoryMetrics.v1_8_0.MemoryMetrics", + "Name": "Memory Metrics", + "Id": "Metrics", + "BlockSizeBytes": 4096, + "CurrentPeriod": { + "BlocksRead": 0, + "BlocksWritten": 0 + }, + "LifeTime": { + "BlocksRead": 0, + "BlocksWritten": 0 + }, + "CorrectedVolatileErrorCount": 26, + "CorrectedPersistentErrorCount": 16, + "DirtyShutdownCount": 1, + "CXL": { + "AlertCapabilities": { + "Temperature": true, + "SpareBlock": false, + "UncorrectableECCError": false, + "CorrectableECCError": false + } + }, + "HealthData": { + "RemainingSpareBlockPercentage": 50, + "LastShutdownSuccess": true, + "DataLossDetected": false, + "PerformanceDegraded": false + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/Memory/3DXP/MemoryMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/Memory/3DXP/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/Memory/3DXP/index.json new file mode 100644 index 00000000..edc86276 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/Memory/3DXP/index.json @@ -0,0 +1,80 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "3DXP", + "Name": "3DXP memory", + "MemoryType": "IntelOptane", + "MemoryMedia": [ + "Intel3DXPoint" + ], + "CapacityMiB": 16384, + "OperatingSpeedMhz": 1333, + "Status": { + "Health": "OK", + "State": "Enabled", + "HealthRollup": "OK" + }, + "PoisonListMaxMediaErrorRecords": 2048, + "CXL": { + "LabelStorageSizeBytes": 1280, + "StagedVolatileSizeMiB": 0, + "StagedNonVolatileSizeMiB": 16384 + }, + "VolatileSizeLimitMiB": 0, + "NonVolatileSizeLimitMiB": 16384, + "Regions": [ + { + "RegionId": "1", + "MemoryClassification": "ByteAccessiblePersistent", + "OffsetMiB": 0, + "SizeMiB": 8192, + "PassphraseEnabled": false, + "MasterPassphraseEnabled": false + }, + { + "RegionId": "2", + "MemoryClassification": "ByteAccessiblePersistent", + "OffsetMiB": 8192, + "SizeMiB": 8192, + "PassphraseEnabled": false, + "MasterPassphraseEnabled": false + } + ], + "SecurityStates": { + "UserPassphraseAttemptCountReached": true, + "MasterPassphraseAttemptCountReached": true + }, + "HealthData": { + "PredictedMediaLifeLeftPercent": 75 + }, + "Actions": { + "#Memory.SetMasterPassphrase": { + "target": "/redfish/v1/Chassis/PooledCXLType3/Memory/3DXP/Actions/Memory.SetMasterPassphrase", + "RegionId@Redfish.AllowableValues": [ + "1", + "2" + ], + "Passphrase@Redfish.AllowableValues": "string" + }, + "#Memory.DisableMasterPassphrase": { + "target": "/redfish/v1/Chassis/PooledCXLType3/Memory/3DXP/Actions/Memory.DisableMasterPassphrase", + "RegionId@Redfish.AllowableValues": [ + "1", + "2" + ], + "Passphrase@Redfish.AllowableValues": "string" + }, + "#Memory.SecureEraseUnit": { + "target": "/redfish/v1/Chassis/PooledCXLType3/Memory/3DXP/Actions/Memory.SecureEraseUnit", + "RegionId@Redfish.AllowableValues": [ + "1", + "2" + ], + "MasterPassphrase@Redfish.AllowableValues": "string" + }, + "#Memory.FreezeSecurityState": { + "target": "/redfish/v1/Chassis/PooledCXLType3/Memory/3DXP/Actions/Memory.FreezeSecurityState" + } + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/Memory/3DXP", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/Memory/index.json new file mode 100644 index 00000000..de1448c2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/Memory/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Collection", + "Description": "Memory Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/Memory/3DXP" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/MemoryDomains/1/MemoryChunks/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/MemoryDomains/1/MemoryChunks/1/index.json new file mode 100644 index 00000000..4207a808 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/MemoryDomains/1/MemoryChunks/1/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#MemoryChunks.v1_7_0.MemoryChunks", + "Id": "1", + "Name": "Memory Chunk 1", + "Description": "Memory chunk accessible through CXL fabric", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MemoryChunkSizeMiB": 4096, + "AddressRangeType": "PMEM", + "AddressRangeOffsetMiB": 1024, + "MediaLocation": "Local", + "RequestedOperationalState": "Online", + "Links": { + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/1/MemoryChunks/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/MemoryDomains/1/MemoryChunks/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/MemoryDomains/1/MemoryChunks/index.json new file mode 100644 index 00000000..45326427 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/MemoryDomains/1/MemoryChunks/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryChunksCollection.MemoryChunksCollection", + "Name": "Memory Chunks Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/1/MemoryChunks/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/1/MemoryChunks", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/MemoryDomains/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/MemoryDomains/1/index.json new file mode 100644 index 00000000..32fd01cc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/MemoryDomains/1/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#MemoryDomain.v1_5_1.MemoryDomain", + "Id": "1", + "Name": "CXL DIMM Memory Domain", + "Description": "DIMM Memory Domain accessible through CXL fabric", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "MemoryChunks": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/1/MemoryChunks" + }, + "AllowsMemoryChunkCreation": true, + "MinMemoryChunkSizeMiB": 64, + "MemoryChunkIncrementMiB": 64, + "MemorySizeMiB": 262144, + "InterleavableMemorySets": [ + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/Memory/3DXP" + } + ] + } + ], + "Links": { + "FabricAdapters": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/FabricAdapters/1" + } + ], + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions/1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/MemoryDomains/6/MemoryChunks/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/MemoryDomains/6/MemoryChunks/1/index.json new file mode 100644 index 00000000..23abaa5e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/MemoryDomains/6/MemoryChunks/1/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#MemoryChunks.v1_7_0.MemoryChunks", + "Id": "1", + "Name": "Memory Chunk 1", + "Description": "Memory chunk accessible through CXL fabric", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MemoryChunkSizeMiB": 4096, + "AddressRangeType": "PMEM", + "AddressRangeOffsetMiB": 1024, + "MediaLocation": "Local", + "RequestedOperationalState": "Online", + "Links": { + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/6" + } + ], + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/6/MemoryChunks/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/MemoryDomains/6/MemoryChunks/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/MemoryDomains/6/MemoryChunks/index.json new file mode 100644 index 00000000..1fbadd8c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/MemoryDomains/6/MemoryChunks/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryChunksCollection.MemoryChunksCollection", + "Name": "Memory Chunks Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/6/MemoryChunks/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/6/MemoryChunks", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/MemoryDomains/6/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/MemoryDomains/6/index.json new file mode 100644 index 00000000..6631544f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/MemoryDomains/6/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#MemoryDomain.v1_5_1.MemoryDomain", + "Id": "6", + "Name": "CXL DIMM Memory Domain 6", + "Description": "DIMM Memory Domain accessible through CXL fabric", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "MemoryChunks": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/6/MemoryChunks" + }, + "AllowsMemoryChunkCreation": true, + "MinMemoryChunkSizeMiB": 64, + "MemoryChunkIncrementMiB": 64, + "MemorySizeMiB": 262144, + "InterleavableMemorySets": [ + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/Memory/3DXP" + } + ] + } + ], + "Links": { + "FabricAdapters": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/FabricAdapters/1" + } + ], + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/6" + } + ], + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions/6" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/6", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/MemoryDomains/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/MemoryDomains/index.json new file mode 100644 index 00000000..7ffcd5e0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/MemoryDomains/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#MemoryDomainCollection.MemoryDomainCollection", + "Name": "Memory Domain Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/6" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/1/index.json new file mode 100644 index 00000000..e33b3cf5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/1/index.json @@ -0,0 +1,53 @@ +{ + "@odata.type": "#CXLLogicalDevice.v1_5_0.CXLLogicalDevice", + "Id": "1", + "Name": "CXL Logical Device Type 3", + "Description": "CXL Logical Device Type 3 accessible through CXL fabric", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:0001", + "DurableNameFormat": "GCXLID" + } + ], + "SemanticsSupported": [ + "CXLio", + "CXLmem" + ], + "QoSTelemetryCapabilities": { + "EgressPortBackpressureSupported": true + }, + "QoS": { + "AllocatedBandwidth": 64, + "LimitPercent": 85 + }, + "MemorySizeMiB": 16384, + "Links": { + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions/1" + } + ], + "MemoryChunks": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/1/MemoryChunks/1" + } + ], + "MemoryDomains": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/1" + } + ], + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/6/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/6/index.json new file mode 100644 index 00000000..07e0ec0c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/6/index.json @@ -0,0 +1,53 @@ +{ + "@odata.type": "#CXLLogicalDevice.v1_5_0.CXLLogicalDevice", + "Id": "6", + "Name": "CXL Logical Device Type 3", + "Description": "CXL Logical Device Type 3 accessible through CXL fabric", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:0006", + "DurableNameFormat": "GCXLID" + } + ], + "SemanticsSupported": [ + "CXLio", + "CXLmem" + ], + "QoSTelemetryCapabilities": { + "EgressPortBackpressureSupported": true + }, + "QoS": { + "AllocatedBandwidth": 64, + "LimitPercent": 85 + }, + "MemorySizeMiB": 16384, + "Links": { + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions/6" + } + ], + "MemoryChunks": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/6/MemoryChunks/1" + } + ], + "MemoryDomains": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/6" + } + ], + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/6", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/index.json new file mode 100644 index 00000000..188e0ed1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#CXLLogicalDeviceCollection.CXLLogicalDeviceCollection", + "Name": "CXL Logical Device Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/6" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions/1/index.json new file mode 100644 index 00000000..09fa269b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions/1/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#PCIeFunction.v1_7_0.PCIeFunction", + "Id": "1", + "Name": "CXL Function", + "Description": "PCIe Function with CXL extensions representing Memory Controller", + "FunctionId": 1, + "FunctionType": "Physical", + "DeviceClass": "MemoryController", + "DeviceId": "0xABCD", + "VendorId": "0xABCD", + "ClassCode": "0x050210", + "RevisionId": "0x00", + "SubsystemId": "0xABCD", + "SubsystemVendorId": "0xABCD", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "FunctionProtocol": "CXL", + "Links": { + "MemoryDomains": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/1" + } + ], + "CXLLogicalDevice": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/1" + }, + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1" + } + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions/6/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions/6/index.json new file mode 100644 index 00000000..45e373c7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions/6/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#PCIeFunction.v1_7_0.PCIeFunction", + "Id": "6", + "Name": "CXL Function", + "Description": "PCIe Function with CXL extensions representing Memory Controller", + "FunctionId": 1, + "FunctionType": "Physical", + "DeviceClass": "MemoryController", + "DeviceId": "0xABCD", + "VendorId": "0xABCD", + "ClassCode": "0x050210", + "RevisionId": "0x00", + "SubsystemId": "0xABCD", + "SubsystemVendorId": "0xABCD", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "FunctionProtocol": "CXL", + "Links": { + "MemoryDomains": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/6" + } + ], + "CXLLogicalDevice": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/6" + }, + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1" + } + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions/6", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions/index.json new file mode 100644 index 00000000..8c7645ef --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#PCIeFunctionCollection.PCIeFunctionCollection", + "Name": "PCIe Function Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions/6" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/PCIeDevices/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/PCIeDevices/1/index.json new file mode 100644 index 00000000..1e72e388 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/PCIeDevices/1/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#PCIeDevice.v1_23_0.PCIeDevice", + "Id": "1", + "Name": "CXL Device", + "Description": "CXL Physcial Device Type 3", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeInterface": { + "PCIeType": "Gen5", + "MaxPCIeType": "Gen5", + "LanesInUse": 8, + "MaxLanes": 16 + }, + "PCIeFunctions": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions" + }, + "CXLDevice": { + "DeviceType": "Type3", + "CurrentProtocolVersion": "CXL2_0", + "CapableProtocolVersions": [ + "CXL1_1", + "CXL2_0" + ], + "EgressPortCongestionSupport": true, + "TemporaryThroughputReductionSupported": true, + "TemporaryThroughputReductionEnabled": true, + "MaxNumberLogicalDevices": 16, + "Timestamp": "2022-09-08T12:25:00-05:00" + }, + "CXLLogicalDevices": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices" + }, + "StagedVersion": "1.4.2.0", + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/PCIeDevices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/PCIeDevices/index.json new file mode 100644 index 00000000..85af5efc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/PCIeDevices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PCIeDeviceCollection.PCIeDeviceCollection", + "Name": "PCIe Device Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/index.json new file mode 100644 index 00000000..87cd32fa --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/PooledCXLType3/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "PooledCXLType3", + "Name": "Pooled CXL Device Type 3 chassis", + "PowerState": "On", + "ChassisType": "Module", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeDevices": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices" + }, + "FabricAdapters": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/FabricAdapters" + }, + "Memory": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/Memory" + }, + "MemoryDomains": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains" + }, + "Links": { + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/CXLMemChassis1" + } + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/index.json new file mode 100644 index 00000000..61bf27f2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Chassis/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#ChassisCollection.ChassisCollection", + "Name": "Chassis Collection", + "Members@odata.count": 12, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLMemChassis1" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXLMemChassis2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Host1Chassis" + }, + { + "@odata.id": "/redfish/v1/Chassis/Host2Chassis" + }, + { + "@odata.id": "/redfish/v1/Chassis/Host5Chassis" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXLType1" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXLType2" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXLType3" + }, + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1" + }, + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2" + }, + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3" + }, + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2" + } + ], + "@odata.id": "/redfish/v1/Chassis", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Connections/12/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Connections/12/index.json new file mode 100644 index 00000000..0539de63 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Connections/12/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#Connection.v1_4_0.Connection", + "Id": "12", + "Name": "Connection 12", + "Description": "CXL Connection 12 Information", + "ConnectionType": "Memory", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "MemoryChunkInfo": [ + { + "AccessCapabilities": [ + "Read", + "Write" + ], + "MemoryChunk": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/MemoryDomains/1/MemoryChunks/1" + } + } + ], + "Links": { + "InitiatorEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2" + } + ], + "TargetEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/12", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Connections/13/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Connections/13/index.json new file mode 100644 index 00000000..6e5ffba2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Connections/13/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#Connection.v1_4_0.Connection", + "Id": "13", + "Name": "Connection 13", + "Description": "CXL Connection 13 Information", + "ConnectionType": "Memory", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "MemoryChunkInfo": [ + { + "AccessCapabilities": [ + "Read", + "Write" + ], + "MemoryChunk": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/1/MemoryChunks/1" + } + } + ], + "Links": { + "InitiatorEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I1" + } + ], + "TargetEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/13", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Connections/14/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Connections/14/index.json new file mode 100644 index 00000000..d06fd94d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Connections/14/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#Connection.v1_4_0.Connection", + "Id": "14", + "Name": "Connection 14", + "Description": "CXL Connection 14 Information", + "ConnectionType": "Memory", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "MemoryChunkInfo": [ + { + "AccessCapabilities": [ + "Read", + "Write" + ], + "MemoryChunk": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/MemoryDomains/6/MemoryChunks/1" + } + } + ], + "Links": { + "InitiatorEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I5" + } + ], + "TargetEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T5" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/14", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Connections/15/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Connections/15/index.json new file mode 100644 index 00000000..682092da --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Connections/15/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#Connection.v1_4_0.Connection", + "Id": "15", + "Name": "Connection 15", + "Description": "CXL Connection 15 Information", + "ConnectionType": "Memory", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "MemoryChunkInfo": [ + { + "AccessCapabilities": [ + "Read", + "Write" + ], + "MemoryChunk": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/MemoryDomains/1/MemoryChunks/1" + } + } + ], + "Links": { + "InitiatorEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I5" + } + ], + "TargetEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T5" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/15", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Connections/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Connections/index.json new file mode 100644 index 00000000..d3e59fd2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Connections/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#ConnectionCollection.ConnectionCollection", + "Name": "CXL Connection Collection", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/12" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/13" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/14" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/15" + } + ], + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/I1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/I1/index.json new file mode 100644 index 00000000..547777a0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/I1/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Endpoint.v1_8_2.Endpoint", + "Id": "I1", + "Name": "Host System Initiator", + "Description": "Host 1 Initiator Endpoint", + "EndpointProtocol": "CXL", + "ConnectedEntities": [ + { + "EntityType": "Processor", + "EntityRole": "Initiator", + "Identifiers": [ + { + "DurableName": "86D53A7B-D29A-3287-BA23-EF43A27BC6B9", + "DurableNameFormat": "UUID" + } + ], + "EntityLink": { + "@odata.id": "/redfish/v1/Systems/Host1/Processors/CPU" + } + } + ], + "Links": { + "Ports": [ + { + "@odata.id": "/redfish/v1/Systems/Host1/Processors/CPU/Ports/1" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/1" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/I2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/I2/index.json new file mode 100644 index 00000000..fe48ece8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/I2/index.json @@ -0,0 +1,44 @@ +{ + "@odata.type": "#Endpoint.v1_8_2.Endpoint", + "Id": "I2", + "Name": "Host System Initiator", + "Description": "Host System Initiator", + "EndpointProtocol": "CXL", + "ConnectedEntities": [ + { + "EntityType": "Processor", + "EntityRole": "Initiator", + "Identifiers": [ + { + "DurableName": "86D53A7B-D29A-3287-BA23-EF43A27BC6B9", + "DurableNameFormat": "UUID" + } + ], + "EntityLink": { + "@odata.id": "/redfish/v1/Systems/Host2/Processors/CPU" + } + } + ], + "Links": { + "Ports": [ + { + "@odata.id": "/redfish/v1/Systems/Host2/Processors/CPU/Ports/1" + }, + { + "@odata.id": "/redfish/v1/Systems/Host2/Processors/CPU/Ports/2" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/2" + } + ], + "Connections": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/12" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/I5/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/I5/index.json new file mode 100644 index 00000000..32405d6e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/I5/index.json @@ -0,0 +1,44 @@ +{ + "@odata.type": "#Endpoint.v1_8_2.Endpoint", + "Id": "I5", + "Name": "Host System Initiator", + "Description": "Host System Initiator Endpoint for remote Type 3 CXL device ", + "EndpointProtocol": "CXL", + "ConnectedEntities": [ + { + "EntityType": "Processor", + "EntityRole": "Initiator", + "Identifiers": [ + { + "DurableName": "86D53A7B-D29A-3287-BA23-EF43A27BC779", + "DurableNameFormat": "UUID" + } + ], + "EntityLink": { + "@odata.id": "/redfish/v1/Systems/Host5/Processors/CPU" + } + } + ], + "Links": { + "Ports": [ + { + "@odata.id": "/redfish/v1/Systems/Host5/Processors/CPU/Ports/1" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/3" + } + ], + "Connections": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/14" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/15" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I5", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/S1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/S1/index.json new file mode 100644 index 00000000..bcb7b53c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/S1/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#Endpoint.v1_8_2.Endpoint", + "Id": "S1", + "Name": "CXL Switch", + "Description": "CXL Switch endpoint", + "EndpointProtocol": "CXL", + "ConnectedEntities": [ + { + "EntityType": "Switch", + "EntityRole": "Target", + "EntityLink": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1" + } + } + ], + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/S1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/S2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/S2/index.json new file mode 100644 index 00000000..deb06e53 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/S2/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#Endpoint.v1_8_2.Endpoint", + "Id": "S2", + "Name": "CXL Switch", + "Description": "CXL Switch endpoint", + "EndpointProtocol": "CXL", + "ConnectedEntities": [ + { + "EntityType": "Switch", + "EntityRole": "Target", + "EntityLink": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL2" + } + } + ], + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/S2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/T1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/T1/index.json new file mode 100644 index 00000000..c2495516 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/T1/index.json @@ -0,0 +1,50 @@ +{ + "@odata.type": "#Endpoint.v1_8_2.Endpoint", + "Id": "T1", + "Name": "CXL Device Type 1 endpoint", + "Description": "CXL Device Type 1 target endpoint", + "EndpointProtocol": "CXL", + "ConnectedEntities": [ + { + "EntityType": "CXLDevice", + "EntityRole": "Target", + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:0001", + "DurableNameFormat": "GCXLID" + } + ], + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/PCIeDevices/1/CXLLogicalDevices/1" + } + }, + { + "EntityType": "FabricBridge", + "EntityRole": "Target", + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/FabricAdapters/1" + } + }, + { + "EntityType": "Processor", + "EntityRole": "Target", + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/Processors/FPGA" + } + } + ], + "Links": { + "Ports": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/FabricAdapters/1/Ports/1" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/1" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/T2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/T2/index.json new file mode 100644 index 00000000..4c7f979d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/T2/index.json @@ -0,0 +1,62 @@ +{ + "@odata.type": "#Endpoint.v1_8_2.Endpoint", + "Id": "T2", + "Name": "CXL Device Type 2 endpoint", + "Description": "CXL Device Type 2 target endpoint", + "EndpointProtocol": "CXL", + "ConnectedEntities": [ + { + "EntityType": "CXLDevice", + "EntityRole": "Target", + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:0001", + "DurableNameFormat": "GCXLID" + } + ], + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices/1/CXLLogicalDevices/1" + } + }, + { + "EntityType": "FabricBridge", + "EntityRole": "Target", + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/FabricAdapters/1" + } + }, + { + "EntityType": "Processor", + "EntityRole": "Target", + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/Processors/GPU" + } + }, + { + "EntityType": "MemoryChunk", + "EntityRole": "Target", + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/MemoryDomains/1/MemoryChunks/1" + } + } + ], + "Links": { + "Ports": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/FabricAdapters/1/Ports/1" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/2" + } + ], + "Connections": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/12" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/T3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/T3/index.json new file mode 100644 index 00000000..76c64144 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/T3/index.json @@ -0,0 +1,55 @@ +{ + "@odata.type": "#Endpoint.v1_8_2.Endpoint", + "Id": "T3", + "Name": "CXL Device Type 3 endpoint", + "Description": "CXL Device Type 3 target endpoint", + "EndpointProtocol": "CXL", + "ConnectedEntities": [ + { + "EntityType": "CXLDevice", + "EntityRole": "Target", + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:0001", + "DurableNameFormat": "GCXLID" + } + ], + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/1" + } + }, + { + "EntityType": "FabricBridge", + "EntityRole": "Target", + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/FabricAdapters/1" + } + }, + { + "EntityType": "MemoryChunk", + "EntityRole": "Target", + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/1/MemoryChunks/1" + } + } + ], + "Links": { + "Ports": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/FabricAdapters/1/Ports/1" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/3" + } + ], + "Connections": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/13" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/T4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/T4/index.json new file mode 100644 index 00000000..322160de --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/T4/index.json @@ -0,0 +1,55 @@ +{ + "@odata.type": "#Endpoint.v1_8_2.Endpoint", + "Id": "T4", + "Name": "CXL Device Type 3 endpoint", + "Description": "CXL Device Type 3 target endpoint", + "EndpointProtocol": "CXL", + "ConnectedEntities": [ + { + "EntityType": "CXLDevice", + "EntityRole": "Target", + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:0006", + "DurableNameFormat": "GCXLID" + } + ], + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/6" + } + }, + { + "EntityType": "FabricBridge", + "EntityRole": "Target", + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/FabricAdapters/1" + } + }, + { + "EntityType": "MemoryChunk", + "EntityRole": "Target", + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/6/MemoryChunks/1" + } + } + ], + "Links": { + "Ports": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/FabricAdapters/1/Ports/1" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/3" + } + ], + "Connections": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/13" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/T5/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/T5/index.json new file mode 100644 index 00000000..b6769ebb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/T5/index.json @@ -0,0 +1,57 @@ +{ + "@odata.type": "#Endpoint.v1_8_2.Endpoint", + "Id": "T5", + "Name": "CXL Device Type 3 endpoint", + "Description": "CXL Device Type 3 target endpoint", + "EndpointProtocol": "CXL", + "ConnectedEntities": [ + { + "EntityType": "CXLDevice", + "EntityRole": "Target", + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:0007", + "DurableNameFormat": "GCXLID" + } + ], + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/PCIeDevices/1/CXLLogicalDevices/1" + } + }, + { + "EntityType": "FabricBridge", + "EntityRole": "Target", + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/FabricAdapters/1" + } + }, + { + "EntityType": "MemoryChunk", + "EntityRole": "Target", + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/MemoryDomains/1/MemoryChunks/1" + } + }, + { + "EntityType": "MemoryChunk", + "EntityRole": "Target", + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/MemoryDomains/6/MemoryChunks/1" + } + } + ], + "Links": { + "Ports": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/FabricAdapters/1/Ports/1" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/3" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T5", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/index.json new file mode 100644 index 00000000..4358438d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Endpoints/index.json @@ -0,0 +1,39 @@ +{ + "@odata.type": "#EndpointCollection.EndpointCollection", + "Name": "CXL Endpoint Collection", + "Members@odata.count": 10, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I5" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/S1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/S2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T4" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T5" + } + ], + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/D1/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/D1/Metrics/index.json new file mode 100644 index 00000000..36c9cd62 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/D1/Metrics/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#PortMetrics.v1_9_1.PortMetrics", + "Id": "Metrics", + "Name": "CXL Port Metrics", + "Description": "CXL Port Metrics", + "CXL": { + "BackpressureAveragePercentage": 17 + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/D1/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/D1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/D1/index.json new file mode 100644 index 00000000..b8cbd4ff --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/D1/index.json @@ -0,0 +1,76 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "D1", + "Name": "CXL Port D1", + "Description": "CXL Downstream Port D1 in CXL1 Switch", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "RemotePortId": "1", + "PortId": "8", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "3.0", + "CapableProtocolVersions": [ + "1.1", + "2.0", + "3.0", + "3.1" + ], + "PortType": "DownstreamPort", + "PortMedium": "Electrical", + "CurrentSpeedGbps": 256, + "Width": 8, + "MaxSpeedGbps": 512, + "ActiveWidth": 16, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "CXL": { + "CurrentPortConfigurationState": "DSP", + "ConnectedDeviceMode": "PBR", + "SupportedCXLModes": [ + "CXL68BFlitAndVH", + "Standard256BFlit", + "CXLLatencyOptimized256BFlit", + "PBR" + ], + "ConnectedDeviceType": "Type1", + "MaxLogicalDeviceCount": 8, + "Congestion": { + "CongestionTelemetryEnabled": true, + "EgressModeratePercentage": 20, + "EgressSeverePercentage": 3, + "BackpressureSampleInterval": 3, + "MaxSustainedRequestCmpBias": 30, + "CompletionCollectionInterval": 2 + }, + "QoSTelemetryCapabilities": { + "EgressPortBackpressureSupported": true + } + }, + "Metrics": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/D1/Metrics" + }, + "Actions": { + "#Port.ResetPPB": { + "target": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/D1/Actions/Port.ResetPPB" + } + }, + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T1" + } + ], + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/FabricAdapters/1/Ports/1" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/D1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/D2/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/D2/Metrics/index.json new file mode 100644 index 00000000..dff69b22 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/D2/Metrics/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#PortMetrics.v1_9_1.PortMetrics", + "Id": "Metrics", + "Name": "CXL Port Metrics", + "Description": "CXL Port Metrics", + "CXL": { + "BackpressureAveragePercentage": 17 + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/D2/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/D2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/D2/index.json new file mode 100644 index 00000000..fb089038 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/D2/index.json @@ -0,0 +1,74 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "D2", + "Name": "CXL Port D2", + "Description": "CXL Downstream Port D2 in CXL1 switch", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "RemotePortId": "1", + "PortId": "9", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "2.0", + "CapableProtocolVersions": [ + "1.1", + "2.0" + ], + "PortType": "DownstreamPort", + "PortMedium": "Electrical", + "CurrentSpeedGbps": 256, + "Width": 8, + "MaxSpeedGbps": 512, + "ActiveWidth": 16, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "CXL": { + "CurrentPortConfigurationState": "DSP", + "ConnectedDeviceMode": "PBR", + "SupportedCXLModes": [ + "CXL68BFlitAndVH", + "Standard256BFlit", + "CXLLatencyOptimized256BFlit", + "PBR" + ], + "ConnectedDeviceType": "Type2", + "MaxLogicalDeviceCount": 8, + "Congestion": { + "CongestionTelemetryEnabled": true, + "EgressModeratePercentage": 20, + "EgressSeverePercentage": 3, + "BackpressureSampleInterval": 3, + "MaxSustainedRequestCmpBias": 30, + "CompletionCollectionInterval": 2 + }, + "QoSTelemetryCapabilities": { + "EgressPortBackpressureSupported": true + } + }, + "Metrics": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/D2/Metrics" + }, + "Actions": { + "#Port.ResetPPB": { + "target": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/D2/Actions/Port.ResetPPB" + } + }, + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2" + } + ], + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/FabricAdapters/1/Ports/1" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/D2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/D3/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/D3/Metrics/index.json new file mode 100644 index 00000000..abd706b0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/D3/Metrics/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#PortMetrics.v1_9_1.PortMetrics", + "Id": "Metrics", + "Name": "CXL Port Metrics", + "Description": "CXL Port Metrics", + "CXL": { + "BackpressureAveragePercentage": 17 + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/D3/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/D3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/D3/index.json new file mode 100644 index 00000000..f1f05cf7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/D3/index.json @@ -0,0 +1,74 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "D3", + "Name": "CXL Port D3", + "Description": "CXL Downstream Port D3 in CXL1 Switch", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "RemotePortId": "1", + "PortId": "10", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "2.0", + "CapableProtocolVersions": [ + "1.1", + "2.0" + ], + "PortType": "DownstreamPort", + "PortMedium": "Electrical", + "CurrentSpeedGbps": 256, + "Width": 8, + "MaxSpeedGbps": 512, + "ActiveWidth": 16, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "CXL": { + "CurrentPortConfigurationState": "DSP", + "ConnectedDeviceMode": "PBR", + "SupportedCXLModes": [ + "CXL68BFlitAndVH", + "Standard256BFlit", + "CXLLatencyOptimized256BFlit", + "PBR" + ], + "ConnectedDeviceType": "Type3MLD", + "MaxLogicalDeviceCount": 8, + "Congestion": { + "CongestionTelemetryEnabled": true, + "EgressModeratePercentage": 20, + "EgressSeverePercentage": 3, + "BackpressureSampleInterval": 3, + "MaxSustainedRequestCmpBias": 30, + "CompletionCollectionInterval": 2 + }, + "QoSTelemetryCapabilities": { + "EgressPortBackpressureSupported": true + } + }, + "Metrics": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/D3/Metrics" + }, + "Actions": { + "#Port.ResetPPB": { + "target": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/D3/Actions/Port.ResetPPB" + } + }, + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3" + } + ], + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/FabricAdapters/1/Ports/1" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/D3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/F1/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/F1/Metrics/index.json new file mode 100644 index 00000000..01326a6d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/F1/Metrics/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#PortMetrics.v1_9_1.PortMetrics", + "Id": "Metrics", + "Name": "CXL Port Metrics", + "Description": "CXL Port Metrics", + "CXL": { + "BackpressureAveragePercentage": 17 + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/F1/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/F1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/F1/index.json new file mode 100644 index 00000000..326ca135 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/F1/index.json @@ -0,0 +1,84 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "F1", + "Name": "CXL Port F1", + "Description": "CXL Fabric Port F1 in CXL1 Switch", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "RemotePortId": "16", + "PortId": "16", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "3.1", + "CapableProtocolVersions": [ + "1.1", + "2.0", + "3.0", + "3.1" + ], + "PortType": "InterswitchPort", + "PortMedium": "Optical", + "CurrentSpeedGbps": 256, + "Width": 8, + "MaxSpeedGbps": 512, + "ActiveWidth": 16, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "LinkPartnerExpected": { + "LinkPartnerId": "ac14c5f1-0fea-42dd-8a19-f681d9799e50", + "PortId": "16", + "DeviceType": "Switch" + }, + "LinkPartnerTransmit": { + "LinkPartnerId": "bfd8ca1e-b5b5-4c0f-a3cf-4d741b85b1fb", + "PortId": "16", + "DeviceType": "Switch", + "PBRId": 3, + "PrimaryFMId": "bfd8ca1e-b5b5-4c0f-488f-33545b8518ef", + "SecondaryFMId": "bfd8ca1e-b5b5-4c0f-1b59-4d744b8511de" + }, + "LinkPartnerReceived": { + "LinkPartnerId": "ac14c5f1-0fea-42dd-8a19-f681d9799e50", + "PortId": "16", + "DeviceType": "Switch", + "PBRId": 3, + "PrimaryFMId": "bfd8ca1e-b5b5-4c0f-a3cf-53541b85f4fb", + "SecondaryFMId": "bfd8ca1e-b5b5-4c0f-1b59-4d744b8511de" + }, + "CXL": { + "CurrentPortConfigurationState": "FabricLink", + "ConnectedDeviceType": "PBRComponent", + "Congestion": { + "CongestionTelemetryEnabled": true, + "EgressModeratePercentage": 20, + "EgressSeverePercentage": 3, + "BackpressureSampleInterval": 3, + "MaxSustainedRequestCmpBias": 30, + "CompletionCollectionInterval": 2 + }, + "QoSTelemetryCapabilities": { + "EgressPortBackpressureSupported": true + } + }, + "Metrics": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/F1/Metrics" + }, + "Actions": { + "#Port.ResetPPB": { + "target": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/F1/Actions/Port.ResetPPB" + } + }, + "Links": { + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL2/Ports/F1" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/F1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/U1/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/U1/Metrics/index.json new file mode 100644 index 00000000..d0b43b48 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/U1/Metrics/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#PortMetrics.v1_9_1.PortMetrics", + "Id": "Metrics", + "Name": "CXL Port Metrics", + "Description": "CXL Port Metrics", + "CXL": { + "BackpressureAveragePercentage": 17 + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/U1/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/U1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/U1/index.json new file mode 100644 index 00000000..03b9ced9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/U1/index.json @@ -0,0 +1,66 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "U1", + "Name": "CXL Port 1", + "Description": "CXL Upstream Port 1 in CXL1 Switch", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "RemotePortId": "1", + "PortId": "0", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "2.0", + "CapableProtocolVersions": [ + "1.1", + "2.0" + ], + "PortType": "UpstreamPort", + "PortMedium": "Electrical", + "CurrentSpeedGbps": 512, + "Width": 16, + "MaxSpeedGbps": 512, + "ActiveWidth": 16, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "CXL": { + "CurrentPortConfigurationState": "USP", + "MaxLogicalDeviceCount": 1, + "Congestion": { + "CongestionTelemetryEnabled": true, + "EgressModeratePercentage": 20, + "EgressSeverePercentage": 3, + "BackpressureSampleInterval": 3, + "MaxSustainedRequestCmpBias": 30, + "CompletionCollectionInterval": 2 + }, + "QoSTelemetryCapabilities": { + "EgressPortBackpressureSupported": true + } + }, + "Metrics": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/U1/Metrics" + }, + "Actions": { + "#Port.ResetPPB": { + "target": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/U1/Actions/Port.ResetPPB" + } + }, + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I1" + } + ], + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Systems/Host1/Processors/CPU/Ports/1" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/U1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/U2/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/U2/Metrics/index.json new file mode 100644 index 00000000..b5e85b4b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/U2/Metrics/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#PortMetrics.v1_9_1.PortMetrics", + "Id": "Metrics", + "Name": "CXL Port Metrics", + "Description": "CXL Port Metrics", + "CXL": { + "BackpressureAveragePercentage": 5 + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/U2/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/U2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/U2/index.json new file mode 100644 index 00000000..10f0878d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/U2/index.json @@ -0,0 +1,68 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "U2", + "Name": "CXL Upstream Port 2", + "Description": "CXL Upstream Port 2", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PortId": "1", + "RemotePortId": "1", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "3.1", + "CapableProtocolVersions": [ + "1.1", + "2.0", + "3.0", + "3.1" + ], + "PortType": "UpstreamPort", + "PortMedium": "Electrical", + "CurrentSpeedGbps": 512, + "Width": 16, + "MaxSpeedGbps": 512, + "ActiveWidth": 16, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "CXL": { + "CurrentPortConfigurationState": "USP", + "MaxLogicalDeviceCount": 1, + "Congestion": { + "CongestionTelemetryEnabled": true, + "EgressModeratePercentage": 20, + "EgressSeverePercentage": 3, + "BackpressureSampleInterval": 3, + "MaxSustainedRequestCmpBias": 30, + "CompletionCollectionInterval": 2 + }, + "QoSTelemetryCapabilities": { + "EgressPortBackpressureSupported": true + } + }, + "Metrics": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/U2/Metrics" + }, + "Actions": { + "#Port.ResetPPB": { + "target": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/U2/Actions/Port.ResetPPB" + } + }, + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2" + } + ], + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Systems/Host2/Processors/CPU/Ports/1" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/U2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/U3/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/U3/Metrics/index.json new file mode 100644 index 00000000..4285ab19 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/U3/Metrics/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#PortMetrics.v1_9_1.PortMetrics", + "Id": "Metrics", + "Name": "CXL Port Metrics", + "Description": "CXL Port Metrics", + "CXL": { + "BackpressureAveragePercentage": 11 + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/U3/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/U3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/U3/index.json new file mode 100644 index 00000000..5a457a65 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/U3/index.json @@ -0,0 +1,68 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "U3", + "Name": "Upstream Port 3", + "Description": "CXL Switch Upstream Port 3", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PortId": "2", + "RemotePortId": "2", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "3.1", + "CapableProtocolVersions": [ + "1.1", + "2.0", + "3.0", + "3.1" + ], + "PortType": "UpstreamPort", + "PortMedium": "Electrical", + "CurrentSpeedGbps": 512, + "Width": 16, + "MaxSpeedGbps": 512, + "ActiveWidth": 16, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "CXL": { + "CurrentPortConfigurationState": "USP", + "MaxLogicalDeviceCount": 1, + "Congestion": { + "CongestionTelemetryEnabled": true, + "EgressModeratePercentage": 20, + "EgressSeverePercentage": 3, + "BackpressureSampleInterval": 3, + "MaxSustainedRequestCmpBias": 30, + "CompletionCollectionInterval": 2 + }, + "QoSTelemetryCapabilities": { + "EgressPortBackpressureSupported": true + } + }, + "Metrics": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/U3/Metrics" + }, + "Actions": { + "#Port.ResetPPB": { + "target": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/U3/Actions/Port.ResetPPB" + } + }, + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2" + } + ], + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Systems/Host2/Processors/CPU/Ports/2" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/U3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/index.json new file mode 100644 index 00000000..d0650f00 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/Ports/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "CXL Port Collection", + "Members@odata.count": 8, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/U1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/U2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/U3" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/F1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/D1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/D2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/D3" + } + ], + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/VCSs/1/VPPBs/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/VCSs/1/VPPBs/1/index.json new file mode 100644 index 00000000..8badd45d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/VCSs/1/VPPBs/1/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#VirtualPCI2PCIBridge.v1_0_0.VirtualPCI2PCIBridge", + "Id": "1", + "Name": "vPPB 1", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "VPPBId": "1", + "BindingStatus": "BoundLD", + "BoundLDId": 6, + "GCXLID": "4C-1D-96-FF-FE-DD-D8-35:0001", + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T1" + } + ], + "Port": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/D1" + } + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/VCSs/1/VPPBs/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/VCSs/1/VPPBs/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/VCSs/1/VPPBs/2/index.json new file mode 100644 index 00000000..e56096bb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/VCSs/1/VPPBs/2/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#VirtualPCI2PCIBridge.v1_0_0.VirtualPCI2PCIBridge", + "Id": "2", + "Name": "vPPB 2", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "VPPBId": "2", + "BindingStatus": "BoundPhysicalPort", + "GCXLID": "88-99-AA-BB-CC-DD-EE-FF:0001", + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2" + } + ], + "Port": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/D2" + } + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/VCSs/1/VPPBs/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/VCSs/1/VPPBs/3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/VCSs/1/VPPBs/3/index.json new file mode 100644 index 00000000..f295f945 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/VCSs/1/VPPBs/3/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#VirtualPCI2PCIBridge.v1_0_0.VirtualPCI2PCIBridge", + "Id": "3", + "Name": "vPPB 3", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "VPPBId": "3", + "BindingStatus": "BoundPID", + "BoundPBRId": 3, + "GCXLID": "88-99-AA-BB-CC-DD-EE-FF:0001", + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3" + } + ], + "Port": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/D3" + } + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/VCSs/1/VPPBs/3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/VCSs/1/VPPBs/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/VCSs/1/VPPBs/index.json new file mode 100644 index 00000000..59ce3e39 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/VCSs/1/VPPBs/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#VirtualPCI2PCIBridgeCollection.VirtualPCI2PCIBridgeCollection", + "Name": "Virtual PCI 2 PCI Bridge Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/VCSs/1/VPPBs/1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/VCSs/1/VPPBs/2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/VCSs/1/VPPBs/3" + } + ], + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/VCSs/1/VPPBs", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/VCSs/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/VCSs/1/index.json new file mode 100644 index 00000000..42c7c1d7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/VCSs/1/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#VirtualCXLSwitch.v1_0_0.VirtualCXLSwitch", + "Id": "1", + "Name": "Virtual CXL Switch 1", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "VCSId": "1", + "HDMDecoders": 12, + "VPPBs": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/VCSs/1/VPPBs" + }, + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3" + } + ], + "Port": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/U1" + } + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/VCSs/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/VCSs/2/VPPBs/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/VCSs/2/VPPBs/1/index.json new file mode 100644 index 00000000..bf5edfb3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/VCSs/2/VPPBs/1/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#VirtualPCI2PCIBridge.v1_0_0.VirtualPCI2PCIBridge", + "Id": "1", + "Name": "vPPB 1", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "VPPBId": "1", + "BindingStatus": "Unbound", + "Links": {}, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/VCSs/2/VPPBs/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/VCSs/2/VPPBs/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/VCSs/2/VPPBs/index.json new file mode 100644 index 00000000..c2cdf0af --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/VCSs/2/VPPBs/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#VirtualPCI2PCIBridgeCollection.VirtualPCI2PCIBridgeCollection", + "Name": "Virtual PCI 2 PCI Bridge Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/VCSs/2/VPPBs/1" + } + ], + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/VCSs/2/VPPBs", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/VCSs/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/VCSs/2/index.json new file mode 100644 index 00000000..f168942a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/VCSs/2/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#VirtualCXLSwitch.v1_0_0.VirtualCXLSwitch", + "Id": "2", + "Name": "Virtual CXL Switch 2", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "VCSId": "2", + "HDMDecoders": 12, + "VPPBs": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/VCSs/2/VPPBs" + }, + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2" + } + ], + "Port": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/U2" + } + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/VCSs/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/VCSs/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/VCSs/index.json new file mode 100644 index 00000000..878f7c3c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/VCSs/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#VirtualCXLSwitchCollection.VirtualCXLSwitchCollection", + "Name": "Virtual CXL Switch Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/VCSs/1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/VCSs/2" + } + ], + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/VCSs", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/index.json new file mode 100644 index 00000000..84e9d82f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL1/index.json @@ -0,0 +1,108 @@ +{ + "@odata.type": "#Switch.v1_11_0.Switch", + "Id": "CXL1", + "Name": "CXL Switch 1", + "SwitchType": "CXL", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "UUID": "1ad59fe9-49f9-52fa-9a93-e349f9477fe0", + "Ports": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports" + }, + "CXL": { + "MaxVCSsSupported": 4, + "TotalNumbervPPBs": 12, + "MaxSupportedPIDs": 5, + "VirtualCXLSwitches": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/VCSs" + }, + "PIDTargetList": [ + { + "TargetID": 0, + "TargetType": "FabricPort", + "InstanceID": 0, + "PortID": 16, + "PID": 1 + }, + { + "TargetID": 0, + "TargetType": "FabricPort", + "InstanceID": 1, + "PortID": 16, + "PID": 2 + }, + { + "TargetID": 1, + "TargetType": "HostEdgePort", + "InstanceID": 0, + "VcsID": 1, + "PortID": 0, + "PID": 4 + }, + { + "TargetID": 2, + "TargetType": "HostEdgePort", + "InstanceID": 0, + "VcsID": 2, + "PortID": 1, + "PID": 5 + }, + { + "TargetID": 2, + "TargetType": "HostEdgePort", + "InstanceID": 1, + "VcsID": 2, + "PortID": 2, + "PID": 6 + }, + { + "TargetID": 3, + "TargetType": "DownstreamEdgePort", + "InstanceID": 0, + "VcsID": 1, + "PortID": 8, + "PID": 8 + }, + { + "TargetID": 4, + "TargetType": "DownstreamEdgePort", + "InstanceID": 0, + "VcsID": 2, + "PortID": 9, + "PID": 8 + }, + { + "TargetID": 5, + "TargetType": "DownstreamEdgePort", + "InstanceID": 0, + "VcsID": 2, + "PortID": 10, + "PID": 9 + } + ] + }, + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/Ports/D1/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/Ports/D1/Metrics/index.json new file mode 100644 index 00000000..92c3be3e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/Ports/D1/Metrics/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#PortMetrics.v1_9_1.PortMetrics", + "Id": "Metrics", + "Name": "CXL Port Metrics", + "Description": "CXL Port Metrics", + "CXL": { + "BackpressureAveragePercentage": 17 + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL2/Ports/D1/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/Ports/D1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/Ports/D1/index.json new file mode 100644 index 00000000..964defce --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/Ports/D1/index.json @@ -0,0 +1,76 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "D1", + "Name": "CXL Port D1", + "Description": "CXL Downstream Port", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "RemotePortId": "1", + "PortId": "8", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "3.1", + "CapableProtocolVersions": [ + "1.1", + "2.0", + "3.0", + "3.1" + ], + "PortType": "DownstreamPort", + "PortMedium": "Electrical", + "CurrentSpeedGbps": 256, + "Width": 8, + "MaxSpeedGbps": 512, + "ActiveWidth": 16, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "CXL": { + "CurrentPortConfigurationState": "DSP", + "ConnectedDeviceMode": "PBR", + "SupportedCXLModes": [ + "CXL68BFlitAndVH", + "Standard256BFlit", + "CXLLatencyOptimized256BFlit", + "PBR" + ], + "ConnectedDeviceType": "Type3MLD", + "MaxLogicalDeviceCount": 8, + "Congestion": { + "CongestionTelemetryEnabled": true, + "EgressModeratePercentage": 20, + "EgressSeverePercentage": 3, + "BackpressureSampleInterval": 3, + "MaxSustainedRequestCmpBias": 30, + "CompletionCollectionInterval": 2 + }, + "QoSTelemetryCapabilities": { + "EgressPortBackpressureSupported": true + } + }, + "Metrics": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL2/Ports/D1/Metrics" + }, + "Actions": { + "#Port.ResetPPB": { + "target": "/redfish/v1/Fabrics/CXL/Switches/CXL2/Ports/D1/Actions/Port.ResetPPB" + } + }, + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T5" + } + ], + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/FabricAdapters/1/Ports/1" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL2/Ports/D1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/Ports/F1/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/Ports/F1/Metrics/index.json new file mode 100644 index 00000000..0f07830b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/Ports/F1/Metrics/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#PortMetrics.v1_9_1.PortMetrics", + "Id": "Metrics", + "Name": "CXL Port Metrics", + "Description": "CXL Port Metrics", + "CXL": { + "BackpressureAveragePercentage": 17 + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL2/Ports/F1/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/Ports/F1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/Ports/F1/index.json new file mode 100644 index 00000000..95ff9da0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/Ports/F1/index.json @@ -0,0 +1,84 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "F1", + "Name": "CXL Port F1", + "Description": "CXL Fabric Port F1 in switch", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "RemotePortId": "16", + "PortId": "16", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "3.1", + "CapableProtocolVersions": [ + "1.1", + "2.0", + "3.1" + ], + "PortType": "InterswitchPort", + "PortMedium": "Optical", + "CurrentSpeedGbps": 256, + "Width": 8, + "MaxSpeedGbps": 512, + "ActiveWidth": 16, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "LinkPartnerExpected": { + "LinkPartnerId": "bfd8ca1e-b5b5-4c0f-a3cf-4d741b85b1fb", + "PortId": "16", + "DeviceType": "Switch" + }, + "LinkPartnerTransmit": { + "LinkPartnerId": "bfd8ca1e-b5b5-4c0f-a3cf-4d741b85b1fb", + "PortId": "16", + "DeviceType": "Switch", + "PBRId": 3, + "PrimaryFMId": "bfd8ca1e-b5b5-4c0f-a3cf-53541b85f4fb", + "SecondaryFMId": "bfd8ca1e-b5b5-4c0f-1b59-4d744b8511de" + }, + "LinkPartnerReceived": { + "LinkPartnerId": "ac14c5f1-0fea-42dd-8a19-f681d9799e50", + "PortId": "16", + "DeviceType": "Switch", + "PBRId": 3, + "PrimaryFMId": "bfd8ca1e-b5b5-4c0f-488f-33545b8518ef", + "SecondaryFMId": "bfd8ca1e-b5b5-4c0f-1b59-4d744b8511de" + }, + "CXL": { + "CurrentPortConfigurationState": "FabricLink", + "ConnectedDeviceType": "PBRComponent", + "MaxLogicalDeviceCount": 8, + "Congestion": { + "CongestionTelemetryEnabled": true, + "EgressModeratePercentage": 20, + "EgressSeverePercentage": 3, + "BackpressureSampleInterval": 3, + "MaxSustainedRequestCmpBias": 30, + "CompletionCollectionInterval": 2 + }, + "QoSTelemetryCapabilities": { + "EgressPortBackpressureSupported": true + } + }, + "Metrics": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL2/Ports/F1/Metrics" + }, + "Actions": { + "#Port.ResetPPB": { + "target": "/redfish/v1/Fabrics/CXL/Switches/CXL2/Ports/F1/Actions/Port.ResetPPB" + } + }, + "Links": { + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/F1" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL2/Ports/F1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/Ports/U1/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/Ports/U1/Metrics/index.json new file mode 100644 index 00000000..659c2879 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/Ports/U1/Metrics/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#PortMetrics.v1_9_1.PortMetrics", + "Id": "Metrics", + "Name": "CXL Port Metrics", + "Description": "CXL Port Metrics", + "CXL": { + "BackpressureAveragePercentage": 17 + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL2/Ports/U1/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/Ports/U1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/Ports/U1/index.json new file mode 100644 index 00000000..16e37ec0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/Ports/U1/index.json @@ -0,0 +1,66 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "U1", + "Name": "CXL Port U1", + "Description": "CXL Upstream Port 1 in switch", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "RemotePortId": "1", + "PortId": "0", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "2.0", + "CapableProtocolVersions": [ + "1.1", + "2.0" + ], + "PortType": "UpstreamPort", + "PortMedium": "Electrical", + "CurrentSpeedGbps": 512, + "Width": 16, + "MaxSpeedGbps": 512, + "ActiveWidth": 16, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "CXL": { + "CurrentPortConfigurationState": "USP", + "MaxLogicalDeviceCount": 1, + "Congestion": { + "CongestionTelemetryEnabled": true, + "EgressModeratePercentage": 20, + "EgressSeverePercentage": 3, + "BackpressureSampleInterval": 3, + "MaxSustainedRequestCmpBias": 30, + "CompletionCollectionInterval": 2 + }, + "QoSTelemetryCapabilities": { + "EgressPortBackpressureSupported": true + } + }, + "Metrics": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL2/Ports/U1/Metrics" + }, + "Actions": { + "#Port.ResetPPB": { + "target": "/redfish/v1/Fabrics/CXL/Switches/CXL2/Ports/U1/Actions/Port.ResetPPB" + } + }, + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I5" + } + ], + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Systems/Host5/Processors/CPU/Ports/1" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL2/Ports/U1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/Ports/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/Ports/index.json new file mode 100644 index 00000000..d54b20f6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/Ports/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "CXL Port Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL2/Ports/U1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL2/Ports/F1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL2/Ports/D1" + } + ], + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL2/Ports", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/VCSs/1/VPPBs/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/VCSs/1/VPPBs/1/index.json new file mode 100644 index 00000000..dc0d93bc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/VCSs/1/VPPBs/1/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#VirtualPCI2PCIBridge.v1_0_0.VirtualPCI2PCIBridge", + "Id": "1", + "Name": "vPPB 1", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "VPPBId": "1", + "BindingStatus": "BoundLD", + "BoundLDId": 6, + "GCXLID": "4C-1D-96-FF-FE-DD-D8-35:0001", + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T5" + } + ], + "Port": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL2/Ports/D1" + } + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL2/VCSs/1/VPPBs/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/VCSs/1/VPPBs/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/VCSs/1/VPPBs/index.json new file mode 100644 index 00000000..a5e135aa --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/VCSs/1/VPPBs/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#VirtualPCI2PCIBridgeCollection.VirtualPCI2PCIBridgeCollection", + "Name": "Virtual PCI 2 PCI Bridge Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL2/VCSs/1/VPPBs/1" + } + ], + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL2/VCSs/1/VPPBs", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/VCSs/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/VCSs/1/index.json new file mode 100644 index 00000000..c641c7c1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/VCSs/1/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#VirtualCXLSwitch.v1_0_0.VirtualCXLSwitch", + "Id": "1", + "Name": "Virtual CXL Switch 1", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "VCSId": "1", + "HDMDecoders": 12, + "VPPBs": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL2/VCSs/1/VPPBs" + }, + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I5" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T5" + } + ], + "Port": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL2/Ports/U1" + } + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL2/VCSs/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/VCSs/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/VCSs/index.json new file mode 100644 index 00000000..356258c2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/VCSs/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#VirtualCXLSwitchCollection.VirtualCXLSwitchCollection", + "Name": "Virtual CXL Switch Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL2/VCSs/1" + } + ], + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL2/VCSs", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/index.json new file mode 100644 index 00000000..ec94fd11 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/CXL2/index.json @@ -0,0 +1,66 @@ +{ + "@odata.type": "#Switch.v1_11_0.Switch", + "Id": "CXL2", + "Name": "CXL Switch", + "SwitchType": "CXL", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "UUID": "1ad59fe9-49f9-52fa-9a93-e349f9477fe0", + "Ports": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL2/Ports" + }, + "CXL": { + "MaxVCSsSupported": 4, + "TotalNumbervPPBs": 12, + "MaxSupportedPIDs": 5, + "VirtualCXLSwitches": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL2/VCSs" + }, + "PIDTargetList": [ + { + "TargetID": 0, + "TargetType": "FabricPort", + "InstanceID": 0, + "PortID": 16, + "PID": 11 + }, + { + "TargetID": 0, + "TargetType": "FabricPort", + "InstanceID": 1, + "PortID": 16, + "PID": 12 + }, + { + "TargetID": 1, + "TargetType": "HostEdgePort", + "InstanceID": 0, + "VcsID": 1, + "PortID": 0, + "PID": 14 + }, + { + "TargetID": 2, + "TargetType": "DownstreamEdgePort", + "InstanceID": 0, + "PortID": 8, + "PID": 16 + } + ] + }, + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I5" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T5" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/index.json new file mode 100644 index 00000000..cd15ba4a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Switches/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#SwitchCollection.SwitchCollection", + "Name": "Switch Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL2" + } + ], + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Zones/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Zones/1/index.json new file mode 100644 index 00000000..74b3de16 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Zones/1/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Zone.v1_6_3.Zone", + "Id": "1", + "Name": "CXL Zone 1", + "Description": "CXL Zone 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ZoneType": "ZoneOfEndpoints", + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/S1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T1" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Zones/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Zones/2/index.json new file mode 100644 index 00000000..49640b8c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Zones/2/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Zone.v1_6_3.Zone", + "Id": "2", + "Name": "CXL Zone 2", + "Description": "CXL Zone 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ZoneType": "ZoneOfEndpoints", + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/S1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Zones/3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Zones/3/index.json new file mode 100644 index 00000000..a8a8b3e3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Zones/3/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Zone.v1_6_3.Zone", + "Id": "3", + "Name": "CXL Zone 3", + "Description": "CXL Zone 3", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ZoneType": "ZoneOfEndpoints", + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I5" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/S2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T5" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Zones/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Zones/index.json new file mode 100644 index 00000000..84ba33e0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/Zones/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#ZoneCollection.ZoneCollection", + "Name": "CXL Fabric Zone Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/3" + } + ], + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/index.json new file mode 100644 index 00000000..7244b308 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/CXL/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#Fabric.v1_4_0.Fabric", + "Id": "CXL", + "Name": "CXL Fabric", + "Description": "CXL Fabric", + "FabricType": "CXL", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Switches": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches" + }, + "Connections": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections" + }, + "Endpoints": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints" + }, + "Zones": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones" + }, + "Links": { + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/FM1" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/index.json new file mode 100644 index 00000000..5248df75 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Fabrics/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#FabricCollection.FabricCollection", + "Name": "Fabric Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL" + } + ], + "@odata.id": "/redfish/v1/Fabrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Managers/FM1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Managers/FM1/index.json new file mode 100644 index 00000000..f2663605 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Managers/FM1/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Manager.v1_25_0.Manager", + "Id": "FM1", + "Name": "Manager", + "ManagerType": "FabricManager", + "Description": "Contoso Fabric Manager", + "UUID": "58893887-2492-2487-3860-841168418919", + "DateTime": "2025-01-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PowerState": "On", + "CommandShell": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 4, + "ConnectTypesSupported": [ + "SSH" + ] + }, + "Links": { + "ManagerForFabrics": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL" + } + ] + }, + "@odata.id": "/redfish/v1/Managers/FM1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Managers/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Managers/index.json new file mode 100644 index 00000000..853522f6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Managers/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerCollection.ManagerCollection", + "Name": "Manager Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/FM1" + } + ], + "@odata.id": "/redfish/v1/Managers", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/SessionService/Sessions/1234567890ABCDEF/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/SessionService/Sessions/1234567890ABCDEF/index.json new file mode 100644 index 00000000..90844a1b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/SessionService/Sessions/1234567890ABCDEF/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#Session.v1_9_0.Session", + "Id": "1234567890ABCDEF", + "Name": "User Session", + "Description": "Manager User Session", + "UserName": "Administrator", + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/SessionService/Sessions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/SessionService/Sessions/index.json new file mode 100644 index 00000000..8d8cdf58 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/SessionService/Sessions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SessionCollection.SessionCollection", + "Name": "Session Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF" + } + ], + "@odata.id": "/redfish/v1/SessionService/Sessions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/SessionService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/SessionService/index.json new file mode 100644 index 00000000..62a05690 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/SessionService/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#SessionService.v1_2_0.SessionService", + "Id": "SessionService", + "Name": "Session Service", + "Description": "Session Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "SessionTimeout": 30, + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + }, + "@odata.id": "/redfish/v1/SessionService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/EthernetInterfaces/12446A3B8891/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/EthernetInterfaces/12446A3B8891/index.json new file mode 100644 index 00000000..55929ba6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/EthernetInterfaces/12446A3B8891/index.json @@ -0,0 +1,44 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "12446A3B8891", + "Name": "Ethernet Interface", + "Description": "System NIC 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "EthernetInterfaceType": "Physical", + "LinkStatus": "LinkUp", + "PermanentMACAddress": "12:44:6A:3B:88:91", + "MACAddress": "AA:BB:CC:DD:EE:01", + "SpeedMbps": 1000, + "FullDuplex": true, + "HostName": "backup-web484", + "FQDN": "backup-web484.contoso.com", + "IPv6DefaultGateway": "fe80::3ed9:2bff:fe34:610", + "NameServers": [ + "names.contoso.com" + ], + "IPv4Addresses": [ + { + "Address": "192.168.0.12", + "SubnetMask": "255.255.255.0", + "AddressOrigin": "Static", + "Gateway": "192.168.0.1" + } + ], + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1d33", + "PrefixLength": 64, + "AddressOrigin": "Static", + "AddressState": "Preferred" + } + ], + "VLAN": { + "VLANEnable": false + }, + "TeamMode": "None", + "@odata.id": "/redfish/v1/Systems/Host1/EthernetInterfaces/12446A3B8891", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/EthernetInterfaces/index.json new file mode 100644 index 00000000..813c12e9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/EthernetInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Interface Collection", + "Description": "System NICs on Contoso Servers", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/Host1/EthernetInterfaces/12446A3B8891" + } + ], + "@odata.id": "/redfish/v1/Systems/Host1/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/CXL2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/CXL2/index.json new file mode 100644 index 00000000..c9aa07dc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/CXL2/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "CXL2", + "Name": "CXL Device memory", + "Description": "Local CXL device memory", + "Status": { + "Health": "OK", + "State": "Enabled", + "HealthRollup": "OK" + }, + "CapacityMiB": 4096, + "MemoryDeviceType": "Logical", + "Links": { + "MemoryMediaSources": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/MemoryDomains/1/MemoryChunks/1" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/Host1/Memory/CXL2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/CXL3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/CXL3/index.json new file mode 100644 index 00000000..df55f54b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/CXL3/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "CXL3", + "Name": "CXL Device memory", + "Description": "Local CXL device memory", + "Status": { + "Health": "OK", + "State": "Enabled", + "HealthRollup": "OK" + }, + "CapacityMiB": 4096, + "MemoryDeviceType": "Logical", + "Links": { + "MemoryMediaSources": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/MemoryDomains/1/MemoryChunks/1" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/Host1/Memory/CXL3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/DIMM1/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/DIMM1/EnvironmentMetrics/index.json new file mode 100644 index 00000000..e74371f7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/DIMM1/EnvironmentMetrics/index.json @@ -0,0 +1,10 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Memory Environment Metrics", + "TemperatureCelsius": { + "Reading": 44 + }, + "@odata.id": "/redfish/v1/Systems/Host1/Memory/DIMM1/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/DIMM1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/DIMM1/index.json new file mode 100644 index 00000000..afcb9567 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/DIMM1/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM1", + "Name": "DIMM Slot 1", + "RankCount": 2, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 32768, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Systems/Host1/Memory/DIMM1/EnvironmentMetrics" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "DIMM 1", + "LocationType": "Slot", + "LocationOrdinalValue": 0 + } + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/Host1/Memory/DIMM1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/DIMM2/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/DIMM2/EnvironmentMetrics/index.json new file mode 100644 index 00000000..b7b7eb4e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/DIMM2/EnvironmentMetrics/index.json @@ -0,0 +1,10 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Memory Environment Metrics", + "TemperatureCelsius": { + "Reading": 44 + }, + "@odata.id": "/redfish/v1/Systems/Host1/Memory/DIMM2/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/DIMM2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/DIMM2/index.json new file mode 100644 index 00000000..dc3a238f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/DIMM2/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM2", + "Name": "DIMM Slot 2", + "RankCount": 2, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 32768, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 2 + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Systems/Host1/Memory/DIMM2/EnvironmentMetrics" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "DIMM 2", + "LocationType": "Slot", + "LocationOrdinalValue": 1 + } + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/Host1/Memory/DIMM2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/DIMM3/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/DIMM3/EnvironmentMetrics/index.json new file mode 100644 index 00000000..a1a73500 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/DIMM3/EnvironmentMetrics/index.json @@ -0,0 +1,10 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Memory Environment Metrics", + "TemperatureCelsius": { + "Reading": 44 + }, + "@odata.id": "/redfish/v1/Systems/Host1/Memory/DIMM3/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/DIMM3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/DIMM3/index.json new file mode 100644 index 00000000..4f797797 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/DIMM3/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM3", + "Name": "DIMM Slot 3", + "RankCount": 2, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 32768, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 2, + "MemoryController": 2, + "Channel": 1, + "Slot": 3 + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Systems/Host1/Memory/DIMM3/EnvironmentMetrics" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "DIMM 3", + "LocationType": "Slot", + "LocationOrdinalValue": 2 + } + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/Host1/Memory/DIMM3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/DIMM4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/DIMM4/index.json new file mode 100644 index 00000000..934b0011 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/DIMM4/index.json @@ -0,0 +1,23 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM4", + "Name": "DIMM Slot 4", + "MemoryLocation": { + "Socket": 2, + "MemoryController": 2, + "Channel": 1, + "Slot": 4 + }, + "Location": { + "PartLocation": { + "ServiceLabel": "DIMM 4", + "LocationType": "Slot", + "LocationOrdinalValue": 3 + } + }, + "Status": { + "State": "Absent" + }, + "@odata.id": "/redfish/v1/Systems/Host1/Memory/DIMM4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/RCXL2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/RCXL2/index.json new file mode 100644 index 00000000..7c4056ec --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/RCXL2/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "RCXL2", + "Name": "CXL Device memory", + "Description": "Remote CXL device memory", + "Status": { + "Health": "OK", + "State": "Enabled", + "HealthRollup": "OK" + }, + "CapacityMiB": 4096, + "MemoryDeviceType": "Logical", + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I1" + } + ], + "MemoryMediaSources": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/MemoryDomains/1/MemoryChunks/1" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/Host1/Memory/RCXL2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/RCXL3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/RCXL3/index.json new file mode 100644 index 00000000..46079cdc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/RCXL3/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "RCXL3", + "Name": "CXL Device memory", + "Description": "Remote CXL device memory", + "Status": { + "Health": "OK", + "State": "Enabled", + "HealthRollup": "OK" + }, + "CapacityMiB": 4096, + "MemoryDeviceType": "Logical", + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I1" + } + ], + "MemoryMediaSources": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/1/MemoryChunks/1" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/Host1/Memory/RCXL3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/index.json new file mode 100644 index 00000000..63d314fd --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Memory/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Collection", + "Description": "Memory Collection", + "Members@odata.count": 8, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/Host1/Memory/DIMM1" + }, + { + "@odata.id": "/redfish/v1/Systems/Host1/Memory/DIMM2" + }, + { + "@odata.id": "/redfish/v1/Systems/Host1/Memory/DIMM3" + }, + { + "@odata.id": "/redfish/v1/Systems/Host1/Memory/DIMM4" + }, + { + "@odata.id": "/redfish/v1/Systems/Host1/Memory/CXL2" + }, + { + "@odata.id": "/redfish/v1/Systems/Host1/Memory/CXL3" + }, + { + "@odata.id": "/redfish/v1/Systems/Host1/Memory/RCXL2" + }, + { + "@odata.id": "/redfish/v1/Systems/Host1/Memory/RCXL3" + } + ], + "@odata.id": "/redfish/v1/Systems/Host1/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/MemoryDomains/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/MemoryDomains/1/index.json new file mode 100644 index 00000000..eca7ae3c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/MemoryDomains/1/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#MemoryDomain.v1_5_1.MemoryDomain", + "Id": "1", + "Name": "Host 1 Memory Domain", + "Description": "Local Host Memory Domain", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "AllowsMemoryChunkCreation": true, + "MinMemoryChunkSizeMiB": 64, + "MemoryChunkIncrementMiB": 64, + "InterleavableMemorySets": [ + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Systems/Host1/Memory/DIMM1" + }, + { + "@odata.id": "/redfish/v1/Systems/Host1/Memory/DIMM2" + }, + { + "@odata.id": "/redfish/v1/Systems/Host1/Memory/DIMM3" + }, + { + "@odata.id": "/redfish/v1/Systems/Host1/Memory/DIMM4" + } + ] + } + ], + "@odata.id": "/redfish/v1/Systems/Host1/MemoryDomains/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/MemoryDomains/CXL/MemoryChunks/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/MemoryDomains/CXL/MemoryChunks/1/index.json new file mode 100644 index 00000000..b4304180 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/MemoryDomains/CXL/MemoryChunks/1/index.json @@ -0,0 +1,39 @@ +{ + "@odata.type": "#MemoryChunks.v1_7_0.MemoryChunks", + "Id": "1", + "Name": "Memory Chunk 1", + "Description": "All CXL Memory chunk", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MemoryChunkSizeMiB": 16384, + "AddressRangeType": "Volatile", + "AddressRangeOffsetMiB": 65536, + "MediaLocation": "Mixed", + "RequestedOperationalState": "Online", + "InterleaveSets": [ + { + "Memory": { + "@odata.id": "/redfish/v1/Systems/Host1/Memory/CXL2" + } + }, + { + "Memory": { + "@odata.id": "/redfish/v1/Systems/Host1/Memory/CXL3" + } + }, + { + "Memory": { + "@odata.id": "/redfish/v1/Systems/Host1/Memory/RCXL2" + } + }, + { + "Memory": { + "@odata.id": "/redfish/v1/Systems/Host1/Memory/RCXL3" + } + } + ], + "@odata.id": "/redfish/v1/Systems/Host1/MemoryDomains/CXL/MemoryChunks/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/MemoryDomains/CXL/MemoryChunks/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/MemoryDomains/CXL/MemoryChunks/index.json new file mode 100644 index 00000000..5ef9a6c3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/MemoryDomains/CXL/MemoryChunks/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryChunksCollection.MemoryChunksCollection", + "Name": "Memory Chunks Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/Host1/MemoryDomains/CXL/MemoryChunks/1" + } + ], + "@odata.id": "/redfish/v1/Systems/Host1/MemoryDomains/CXL/MemoryChunks", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/MemoryDomains/CXL/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/MemoryDomains/CXL/index.json new file mode 100644 index 00000000..fd31a409 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/MemoryDomains/CXL/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#MemoryDomain.v1_5_1.MemoryDomain", + "Id": "CXL", + "Name": "CXL Memory Domain", + "Description": "Local and Remote CXL Memory Domain", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "MemoryChunks": { + "@odata.id": "/redfish/v1/Systems/Host1/MemoryDomains/CXL/MemoryChunks" + }, + "AllowsMemoryChunkCreation": true, + "MinMemoryChunkSizeMiB": 64, + "MemoryChunkIncrementMiB": 64, + "InterleavableMemorySets": [ + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Systems/Host1/Memory/CXL2" + }, + { + "@odata.id": "/redfish/v1/Systems/Host1/Memory/CXL3" + }, + { + "@odata.id": "/redfish/v1/Systems/Host1/Memory/RCXL2" + }, + { + "@odata.id": "/redfish/v1/Systems/Host1/Memory/RCXL3" + } + ] + } + ], + "@odata.id": "/redfish/v1/Systems/Host1/MemoryDomains/CXL", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/MemoryDomains/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/MemoryDomains/index.json new file mode 100644 index 00000000..097ba3f0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/MemoryDomains/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#MemoryDomainCollection.MemoryDomainCollection", + "Name": "Memory Domain Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/Host1/MemoryDomains/1" + }, + { + "@odata.id": "/redfish/v1/Systems/Host1/MemoryDomains/CXL" + } + ], + "@odata.id": "/redfish/v1/Systems/Host1/MemoryDomains", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Processors/CPU/Ports/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Processors/CPU/Ports/1/index.json new file mode 100644 index 00000000..8f7cd722 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Processors/CPU/Ports/1/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "1", + "Name": "CXL Port 1", + "Description": "CXL Port in CPU connected to CXL switch", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "RemotePortId": "0", + "PortId": "1", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "2.0", + "CapableProtocolVersions": [ + "1.1", + "2.0" + ], + "PortType": "DownstreamPort", + "PortMedium": "Electrical", + "CurrentSpeedGbps": 512, + "Width": 16, + "MaxSpeedGbps": 512, + "ActiveWidth": 16, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I1" + } + ], + "ConnectedSwitches": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1" + } + ], + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/U1" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/Host1/Processors/CPU/Ports/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Processors/CPU/Ports/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Processors/CPU/Ports/index.json new file mode 100644 index 00000000..f93eebc9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Processors/CPU/Ports/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "CXL Port Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/Host1/Processors/CPU/Ports/1" + } + ], + "@odata.id": "/redfish/v1/Systems/Host1/Processors/CPU/Ports", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Processors/CPU/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Processors/CPU/index.json new file mode 100644 index 00000000..13ded763 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Processors/CPU/index.json @@ -0,0 +1,62 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU", + "Name": "CPU with CXL ports", + "Description": "CPU with CXL ports", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "UUID": "86D53A7B-D29A-3287-BA23-EF43A27BC6B9", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Ports": { + "@odata.id": "/redfish/v1/Systems/Host1/Processors/CPU/Ports" + }, + "Links": { + "ConnectedProcessors": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType1/Processors/FPGA" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/Processors/GPU" + } + ], + "Memory": [ + { + "@odata.id": "/redfish/v1/Systems/Host1/Memory/DIMM1" + }, + { + "@odata.id": "/redfish/v1/Systems/Host1/Memory/DIMM2" + }, + { + "@odata.id": "/redfish/v1/Systems/Host1/Memory/DIMM3" + }, + { + "@odata.id": "/redfish/v1/Systems/Host1/Memory/DIMM4" + }, + { + "@odata.id": "/redfish/v1/Systems/Host1/Memory/CXL2" + }, + { + "@odata.id": "/redfish/v1/Systems/Host1/Memory/CXL3" + }, + { + "@odata.id": "/redfish/v1/Systems/Host1/Memory/RCXL2" + }, + { + "@odata.id": "/redfish/v1/Systems/Host1/Memory/RCXL3" + } + ], + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I1" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/Host1/Processors/CPU", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Processors/index.json new file mode 100644 index 00000000..a308e9ed --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/Processors/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processors Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/Host1/Processors/CPU" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXLType1/Processors/FPGA" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/Processors/GPU" + } + ], + "@odata.id": "/redfish/v1/Systems/Host1/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/index.json new file mode 100644 index 00000000..1ddb2e00 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host1/index.json @@ -0,0 +1,63 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "Host1", + "Name": "Host System", + "Description": "Host System supporting local and remote CXL devices", + "SystemType": "Physical", + "UUID": "68D5E212-165B-4CA0-909B-C86B9CEE0112", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PowerState": "On", + "ProcessorSummary": { + "Count": 1 + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 36 + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/Host1/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Systems/Host1/Memory" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Systems/Host1/EthernetInterfaces" + }, + "MemoryDomains": { + "@odata.id": "/redfish/v1/Systems/Host1/MemoryDomains" + }, + "PCIeDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType1/PCIeDevices/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1" + } + ], + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType1/PCIeDevices/1/PCIeFunctions/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1/PCIeFunctions/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1/PCIeFunctions/1" + } + ], + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Host1Chassis" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/Host1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/EthernetInterfaces/12446A3B8890/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/EthernetInterfaces/12446A3B8890/index.json new file mode 100644 index 00000000..f4366b10 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/EthernetInterfaces/12446A3B8890/index.json @@ -0,0 +1,44 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "12446A3B8890", + "Name": "Ethernet Interface", + "Description": "System NIC 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "EthernetInterfaceType": "Physical", + "LinkStatus": "LinkUp", + "PermanentMACAddress": "12:44:6A:3B:88:90", + "MACAddress": "AA:BB:CC:DD:EE:00", + "SpeedMbps": 1000, + "FullDuplex": true, + "HostName": "backup-web483", + "FQDN": "backup-web483.contoso.com", + "IPv6DefaultGateway": "fe80::3ed9:2bff:fe34:600", + "NameServers": [ + "names.contoso.com" + ], + "IPv4Addresses": [ + { + "Address": "192.168.0.11", + "SubnetMask": "255.255.255.0", + "AddressOrigin": "Static", + "Gateway": "192.168.0.1" + } + ], + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e33", + "PrefixLength": 64, + "AddressOrigin": "Static", + "AddressState": "Preferred" + } + ], + "VLAN": { + "VLANEnable": false + }, + "TeamMode": "None", + "@odata.id": "/redfish/v1/Systems/Host2/EthernetInterfaces/12446A3B8890", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/EthernetInterfaces/index.json new file mode 100644 index 00000000..2cf550b9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/EthernetInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Interface Collection", + "Description": "System NICs on Contoso Servers", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/Host2/EthernetInterfaces/12446A3B8890" + } + ], + "@odata.id": "/redfish/v1/Systems/Host2/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Memory/DIMM1/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Memory/DIMM1/EnvironmentMetrics/index.json new file mode 100644 index 00000000..867cfa30 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Memory/DIMM1/EnvironmentMetrics/index.json @@ -0,0 +1,10 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Memory Environment Metrics", + "TemperatureCelsius": { + "Reading": 44 + }, + "@odata.id": "/redfish/v1/Systems/Host2/Memory/DIMM1/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Memory/DIMM1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Memory/DIMM1/index.json new file mode 100644 index 00000000..b5a34d8f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Memory/DIMM1/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM1", + "Name": "DIMM Slot 1", + "RankCount": 2, + "MaxTDPMilliWatts": [ + 12000 + ], + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Systems/Host2/Memory/DIMM1/EnvironmentMetrics" + }, + "CapacityMiB": 32768, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "Location": { + "PartLocation": { + "ServiceLabel": "DIMM 1", + "LocationType": "Slot", + "LocationOrdinalValue": 0 + } + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/Host2/Memory/DIMM1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Memory/DIMM2/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Memory/DIMM2/EnvironmentMetrics/index.json new file mode 100644 index 00000000..115884e4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Memory/DIMM2/EnvironmentMetrics/index.json @@ -0,0 +1,10 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Memory Environment Metrics", + "TemperatureCelsius": { + "Reading": 44 + }, + "@odata.id": "/redfish/v1/Systems/Host2/Memory/DIMM2/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Memory/DIMM2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Memory/DIMM2/index.json new file mode 100644 index 00000000..7a0fa5bc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Memory/DIMM2/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM2", + "Name": "DIMM Slot 2", + "RankCount": 2, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 32768, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 2 + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Systems/Host2/Memory/DIMM2/EnvironmentMetrics" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "DIMM 2", + "LocationType": "Slot", + "LocationOrdinalValue": 1 + } + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/Host2/Memory/DIMM2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Memory/DIMM3/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Memory/DIMM3/EnvironmentMetrics/index.json new file mode 100644 index 00000000..9482e259 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Memory/DIMM3/EnvironmentMetrics/index.json @@ -0,0 +1,10 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Memory Environment Metrics", + "TemperatureCelsius": { + "Reading": 44 + }, + "@odata.id": "/redfish/v1/Systems/Host2/Memory/DIMM3/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Memory/DIMM3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Memory/DIMM3/index.json new file mode 100644 index 00000000..f0c03f07 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Memory/DIMM3/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM3", + "Name": "DIMM Slot 3", + "RankCount": 2, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 32768, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 2, + "MemoryController": 2, + "Channel": 1, + "Slot": 3 + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Systems/Host2/Memory/DIMM3/EnvironmentMetrics" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "DIMM 3", + "LocationType": "Slot", + "LocationOrdinalValue": 2 + } + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/Host2/Memory/DIMM3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Memory/DIMM4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Memory/DIMM4/index.json new file mode 100644 index 00000000..88fa67e9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Memory/DIMM4/index.json @@ -0,0 +1,23 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM4", + "Name": "DIMM Slot 4", + "MemoryLocation": { + "Socket": 2, + "MemoryController": 2, + "Channel": 1, + "Slot": 4 + }, + "Location": { + "PartLocation": { + "ServiceLabel": "DIMM 4", + "LocationType": "Slot", + "LocationOrdinalValue": 3 + } + }, + "Status": { + "State": "Absent" + }, + "@odata.id": "/redfish/v1/Systems/Host2/Memory/DIMM4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Memory/index.json new file mode 100644 index 00000000..e51e1155 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Memory/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Collection", + "Description": "Memory Collection", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/Host2/Memory/DIMM1" + }, + { + "@odata.id": "/redfish/v1/Systems/Host2/Memory/DIMM2" + }, + { + "@odata.id": "/redfish/v1/Systems/Host2/Memory/DIMM3" + }, + { + "@odata.id": "/redfish/v1/Systems/Host2/Memory/DIMM4" + } + ], + "@odata.id": "/redfish/v1/Systems/Host2/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/MemoryDomains/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/MemoryDomains/1/index.json new file mode 100644 index 00000000..15ba489f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/MemoryDomains/1/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#MemoryDomain.v1_5_1.MemoryDomain", + "Id": "1", + "Name": "Host 1 Memory Domain", + "Description": "Local Host Memory Domain", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "AllowsMemoryChunkCreation": true, + "MinMemoryChunkSizeMiB": 64, + "MemoryChunkIncrementMiB": 64, + "InterleavableMemorySets": [ + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Systems/Host2/Memory/DIMM1" + }, + { + "@odata.id": "/redfish/v1/Systems/Host2/Memory/DIMM2" + }, + { + "@odata.id": "/redfish/v1/Systems/Host2/Memory/DIMM3" + }, + { + "@odata.id": "/redfish/v1/Systems/Host2/Memory/DIMM4" + } + ] + } + ], + "@odata.id": "/redfish/v1/Systems/Host2/MemoryDomains/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/MemoryDomains/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/MemoryDomains/index.json new file mode 100644 index 00000000..77989527 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/MemoryDomains/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryDomainCollection.MemoryDomainCollection", + "Name": "Memory Domain Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/Host2/MemoryDomains/1" + } + ], + "@odata.id": "/redfish/v1/Systems/Host2/MemoryDomains", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Processors/CPU/Ports/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Processors/CPU/Ports/1/index.json new file mode 100644 index 00000000..d790c00e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Processors/CPU/Ports/1/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "1", + "Name": "CXL Port 1", + "Description": "CXL Port in CPU connected to CXL switch", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "RemotePortId": "1", + "PortId": "1", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "2.0", + "CapableProtocolVersions": [ + "1.1", + "2.0" + ], + "PortType": "DownstreamPort", + "PortMedium": "Electrical", + "CurrentSpeedGbps": 512, + "Width": 16, + "MaxSpeedGbps": 512, + "ActiveWidth": 16, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2" + } + ], + "ConnectedSwitches": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1" + } + ], + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/U2" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/Host2/Processors/CPU/Ports/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Processors/CPU/Ports/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Processors/CPU/Ports/2/index.json new file mode 100644 index 00000000..13794393 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Processors/CPU/Ports/2/index.json @@ -0,0 +1,50 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "2", + "Name": "CXL Port 2", + "Description": "CXL Port in CPU connected to CXL switch", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "RemotePortId": "2", + "PortId": "2", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "3.1", + "CapableProtocolVersions": [ + "1.1", + "2.0", + "3.0", + "3.1" + ], + "PortType": "DownstreamPort", + "PortMedium": "Electrical", + "CurrentSpeedGbps": 512, + "Width": 16, + "MaxSpeedGbps": 512, + "ActiveWidth": 16, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2" + } + ], + "ConnectedSwitches": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1" + } + ], + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL1/Ports/U3" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/Host2/Processors/CPU/Ports/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Processors/CPU/Ports/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Processors/CPU/Ports/index.json new file mode 100644 index 00000000..222f103b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Processors/CPU/Ports/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "CXL Port Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/Host2/Processors/CPU/Ports/1" + }, + { + "@odata.id": "/redfish/v1/Systems/Host2/Processors/CPU/Ports/2" + } + ], + "@odata.id": "/redfish/v1/Systems/Host2/Processors/CPU/Ports", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Processors/CPU/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Processors/CPU/index.json new file mode 100644 index 00000000..db195a18 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Processors/CPU/index.json @@ -0,0 +1,42 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU", + "Name": "CPU with CXL ports", + "Description": "CPU with CXL ports", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "UUID": "86D53A7B-D29A-3287-BA23-EF43A27BC6B9", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Ports": { + "@odata.id": "/redfish/v1/Systems/Host2/Processors/CPU/Ports" + }, + "Links": { + "Memory": [ + { + "@odata.id": "/redfish/v1/Systems/Host2/Memory/DIMM1" + }, + { + "@odata.id": "/redfish/v1/Systems/Host2/Memory/DIMM2" + }, + { + "@odata.id": "/redfish/v1/Systems/Host2/Memory/DIMM3" + }, + { + "@odata.id": "/redfish/v1/Systems/Host2/Memory/DIMM4" + } + ], + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/Host2/Processors/CPU", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Processors/index.json new file mode 100644 index 00000000..4872fdcb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/Processors/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processors Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/Host2/Processors/CPU" + } + ], + "@odata.id": "/redfish/v1/Systems/Host2/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/index.json new file mode 100644 index 00000000..f7cc60bf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host2/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "Host2", + "Name": "CXL System", + "Description": "CXL System supporting local and remote CXL devices", + "SystemType": "Physical", + "UUID": "68D5E212-165B-4CA0-909B-C86B9CEE0112", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PowerState": "On", + "ProcessorSummary": { + "Count": 3 + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 36 + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/Host2/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Systems/Host2/Memory" + }, + "MemoryDomains": { + "@odata.id": "/redfish/v1/Systems/Host2/MemoryDomains" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Host2Chassis" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/Host2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/EthernetInterfaces/12446A3B8895/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/EthernetInterfaces/12446A3B8895/index.json new file mode 100644 index 00000000..78d3d880 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/EthernetInterfaces/12446A3B8895/index.json @@ -0,0 +1,44 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "12446A3B8895", + "Name": "Ethernet Interface", + "Description": "System NIC 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "EthernetInterfaceType": "Physical", + "LinkStatus": "LinkUp", + "PermanentMACAddress": "12:44:6A:3B:88:95", + "MACAddress": "AA:BB:CC:DD:EE:05", + "SpeedMbps": 1000, + "FullDuplex": true, + "HostName": "backup-web485", + "FQDN": "backup-web485.contoso.com", + "IPv6DefaultGateway": "fe80::3ed9:2bff:fe34:650", + "NameServers": [ + "names.contoso.com" + ], + "IPv4Addresses": [ + { + "Address": "192.168.0.15", + "SubnetMask": "255.255.255.0", + "AddressOrigin": "Static", + "Gateway": "192.168.0.1" + } + ], + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e35", + "PrefixLength": 64, + "AddressOrigin": "Static", + "AddressState": "Preferred" + } + ], + "VLAN": { + "VLANEnable": false + }, + "TeamMode": "None", + "@odata.id": "/redfish/v1/Systems/Host5/EthernetInterfaces/12446A3B8895", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/EthernetInterfaces/index.json new file mode 100644 index 00000000..2d8dd42f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/EthernetInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Interface Collection", + "Description": "System NICs on Contoso Servers", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/Host5/EthernetInterfaces/12446A3B8895" + } + ], + "@odata.id": "/redfish/v1/Systems/Host5/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Memory/DIMM1/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Memory/DIMM1/EnvironmentMetrics/index.json new file mode 100644 index 00000000..9f3cf865 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Memory/DIMM1/EnvironmentMetrics/index.json @@ -0,0 +1,10 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Memory Environment Metrics", + "TemperatureCelsius": { + "Reading": 44 + }, + "@odata.id": "/redfish/v1/Systems/Host5/Memory/DIMM1/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Memory/DIMM1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Memory/DIMM1/index.json new file mode 100644 index 00000000..4ac91caa --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Memory/DIMM1/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM1", + "Name": "DIMM Slot 1", + "RankCount": 2, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 32768, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Systems/Host5/Memory/DIMM1/EnvironmentMetrics" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "DIMM 1", + "LocationType": "Slot", + "LocationOrdinalValue": 0 + } + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/Host5/Memory/DIMM1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Memory/DIMM2/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Memory/DIMM2/EnvironmentMetrics/index.json new file mode 100644 index 00000000..943b7a29 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Memory/DIMM2/EnvironmentMetrics/index.json @@ -0,0 +1,10 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Memory Environment Metrics", + "TemperatureCelsius": { + "Reading": 44 + }, + "@odata.id": "/redfish/v1/Systems/Host5/Memory/DIMM2/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Memory/DIMM2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Memory/DIMM2/index.json new file mode 100644 index 00000000..1d33a649 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Memory/DIMM2/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM2", + "Name": "DIMM Slot 2", + "RankCount": 2, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 32768, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 2 + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Systems/Host5/Memory/DIMM2/EnvironmentMetrics" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "DIMM 2", + "LocationType": "Slot", + "LocationOrdinalValue": 1 + } + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/Host5/Memory/DIMM2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Memory/DIMM3/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Memory/DIMM3/EnvironmentMetrics/index.json new file mode 100644 index 00000000..c497a394 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Memory/DIMM3/EnvironmentMetrics/index.json @@ -0,0 +1,10 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Memory Environment Metrics", + "TemperatureCelsius": { + "Reading": 44 + }, + "@odata.id": "/redfish/v1/Systems/Host5/Memory/DIMM3/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Memory/DIMM3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Memory/DIMM3/index.json new file mode 100644 index 00000000..bb9a8c82 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Memory/DIMM3/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM3", + "Name": "DIMM Slot 3", + "RankCount": 2, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 32768, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 2, + "MemoryController": 2, + "Channel": 1, + "Slot": 3 + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Systems/Host5/Memory/DIMM3/EnvironmentMetrics" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "DIMM 3", + "LocationType": "Slot", + "LocationOrdinalValue": 2 + } + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/Host5/Memory/DIMM3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Memory/DIMM4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Memory/DIMM4/index.json new file mode 100644 index 00000000..dffa18df --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Memory/DIMM4/index.json @@ -0,0 +1,23 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM4", + "Name": "DIMM Slot 4", + "MemoryLocation": { + "Socket": 2, + "MemoryController": 2, + "Channel": 1, + "Slot": 4 + }, + "Location": { + "PartLocation": { + "ServiceLabel": "DIMM 4", + "LocationType": "Slot", + "LocationOrdinalValue": 3 + } + }, + "Status": { + "State": "Absent" + }, + "@odata.id": "/redfish/v1/Systems/Host5/Memory/DIMM4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Memory/RCXL3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Memory/RCXL3/index.json new file mode 100644 index 00000000..44c2cdbe --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Memory/RCXL3/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "RCXL3", + "Name": "CXL Device memory", + "Description": "Remote CXL device memory", + "Status": { + "Health": "OK", + "State": "Enabled", + "HealthRollup": "OK" + }, + "CapacityMiB": 4096, + "MemoryDeviceType": "Logical", + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I5" + } + ], + "MemoryMediaSources": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3-2/MemoryDomains/1/MemoryChunks/1" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/Host5/Memory/RCXL3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Memory/index.json new file mode 100644 index 00000000..c142e1c1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Memory/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Collection", + "Description": "Memory Collection", + "Members@odata.count": 5, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/Host5/Memory/DIMM1" + }, + { + "@odata.id": "/redfish/v1/Systems/Host5/Memory/DIMM2" + }, + { + "@odata.id": "/redfish/v1/Systems/Host5/Memory/DIMM3" + }, + { + "@odata.id": "/redfish/v1/Systems/Host5/Memory/DIMM4" + }, + { + "@odata.id": "/redfish/v1/Systems/Host5/Memory/RCXL3" + } + ], + "@odata.id": "/redfish/v1/Systems/Host5/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/MemoryDomains/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/MemoryDomains/1/index.json new file mode 100644 index 00000000..490b2d46 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/MemoryDomains/1/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#MemoryDomain.v1_5_1.MemoryDomain", + "Id": "1", + "Name": "Host 5 Memory Domain", + "Description": "Local Host Memory Domain", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "AllowsMemoryChunkCreation": true, + "MinMemoryChunkSizeMiB": 64, + "MemoryChunkIncrementMiB": 64, + "InterleavableMemorySets": [ + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Systems/Host5/Memory/DIMM1" + }, + { + "@odata.id": "/redfish/v1/Systems/Host5/Memory/DIMM2" + }, + { + "@odata.id": "/redfish/v1/Systems/Host5/Memory/DIMM3" + }, + { + "@odata.id": "/redfish/v1/Systems/Host5/Memory/DIMM4" + } + ] + } + ], + "@odata.id": "/redfish/v1/Systems/Host5/MemoryDomains/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/MemoryDomains/CXL/MemoryChunks/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/MemoryDomains/CXL/MemoryChunks/1/index.json new file mode 100644 index 00000000..c32796be --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/MemoryDomains/CXL/MemoryChunks/1/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#MemoryChunks.v1_7_0.MemoryChunks", + "Id": "1", + "Name": "Memory Chunk 1", + "Description": "All CXL Memory chunk", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MemoryChunkSizeMiB": 16384, + "AddressRangeType": "Volatile", + "AddressRangeOffsetMiB": 65536, + "MediaLocation": "Mixed", + "RequestedOperationalState": "Online", + "InterleaveSets": [ + { + "Memory": { + "@odata.id": "/redfish/v1/Systems/Host5/Memory/RCXL3" + } + } + ], + "@odata.id": "/redfish/v1/Systems/Host5/MemoryDomains/CXL/MemoryChunks/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/MemoryDomains/CXL/MemoryChunks/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/MemoryDomains/CXL/MemoryChunks/index.json new file mode 100644 index 00000000..4d799f87 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/MemoryDomains/CXL/MemoryChunks/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryChunksCollection.MemoryChunksCollection", + "Name": "Memory Chunks Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/Host5/MemoryDomains/CXL/MemoryChunks/1" + } + ], + "@odata.id": "/redfish/v1/Systems/Host5/MemoryDomains/CXL/MemoryChunks", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/MemoryDomains/CXL/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/MemoryDomains/CXL/index.json new file mode 100644 index 00000000..7c3e7669 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/MemoryDomains/CXL/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#MemoryDomain.v1_5_1.MemoryDomain", + "Id": "CXL", + "Name": "CXL Memory Domain", + "Description": "Local and Remote CXL Memory Domain", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "MemoryChunks": { + "@odata.id": "/redfish/v1/Systems/Host5/MemoryDomains/CXL/MemoryChunks" + }, + "AllowsMemoryChunkCreation": true, + "MinMemoryChunkSizeMiB": 64, + "MemoryChunkIncrementMiB": 64, + "InterleavableMemorySets": [ + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Systems/Host5/Memory/RCXL3" + } + ] + } + ], + "@odata.id": "/redfish/v1/Systems/Host5/MemoryDomains/CXL", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/MemoryDomains/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/MemoryDomains/index.json new file mode 100644 index 00000000..5658581e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/MemoryDomains/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#MemoryDomainCollection.MemoryDomainCollection", + "Name": "Memory Domain Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/Host5/MemoryDomains/1" + }, + { + "@odata.id": "/redfish/v1/Systems/Host5/MemoryDomains/CXL" + } + ], + "@odata.id": "/redfish/v1/Systems/Host5/MemoryDomains", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Processors/CPU/Ports/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Processors/CPU/Ports/1/index.json new file mode 100644 index 00000000..f72426d2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Processors/CPU/Ports/1/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "1", + "Name": "CXL Port 1", + "Description": "CXL Port in CPU connected to CXL switch", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "RemotePortId": "0", + "PortId": "1", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "2.0", + "CapableProtocolVersions": [ + "1.1", + "2.0" + ], + "PortType": "DownstreamPort", + "PortMedium": "Electrical", + "CurrentSpeedGbps": 512, + "Width": 16, + "MaxSpeedGbps": 512, + "ActiveWidth": 16, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I5" + } + ], + "ConnectedSwitches": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL2" + } + ], + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL2/Ports/U1" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/Host5/Processors/CPU/Ports/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Processors/CPU/Ports/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Processors/CPU/Ports/index.json new file mode 100644 index 00000000..817ec48e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Processors/CPU/Ports/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "CXL Port Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/Host5/Processors/CPU/Ports/1" + } + ], + "@odata.id": "/redfish/v1/Systems/Host5/Processors/CPU/Ports", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Processors/CPU/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Processors/CPU/index.json new file mode 100644 index 00000000..06925383 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Processors/CPU/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU", + "Name": "CPU with CXL ports", + "Description": "CPU with CXL ports", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "UUID": "86D53A7B-D29A-3287-BA23-EF43A27BC6B9", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Ports": { + "@odata.id": "/redfish/v1/Systems/Host5/Processors/CPU/Ports" + }, + "Links": { + "Memory": [ + { + "@odata.id": "/redfish/v1/Systems/Host5/Memory/DIMM1" + }, + { + "@odata.id": "/redfish/v1/Systems/Host5/Memory/DIMM2" + }, + { + "@odata.id": "/redfish/v1/Systems/Host5/Memory/DIMM3" + }, + { + "@odata.id": "/redfish/v1/Systems/Host5/Memory/DIMM4" + }, + { + "@odata.id": "/redfish/v1/Systems/Host5/Memory/RCXL3" + } + ], + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I5" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/Host5/Processors/CPU", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Processors/index.json new file mode 100644 index 00000000..7446a9b4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/Processors/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processors Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/Host5/Processors/CPU" + } + ], + "@odata.id": "/redfish/v1/Systems/Host5/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/index.json new file mode 100644 index 00000000..50ca063b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/Host5/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "Host5", + "Name": "CXL System", + "Description": "CXL System supporting local and remote CXL devices", + "SystemType": "Physical", + "UUID": "68D5E212-165B-4CA0-909B-C86B9CEE0112", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PowerState": "On", + "ProcessorSummary": { + "Count": 3 + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 36 + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/Host5/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Systems/Host5/Memory" + }, + "MemoryDomains": { + "@odata.id": "/redfish/v1/Systems/Host5/MemoryDomains" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Systems/Host5/EthernetInterfaces" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Host5Chassis" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/Host5", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/index.json new file mode 100644 index 00000000..611110d7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/Systems/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#ComputerSystemCollection.ComputerSystemCollection", + "Name": "Computer System Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/Host1" + }, + { + "@odata.id": "/redfish/v1/Systems/Host2" + }, + { + "@odata.id": "/redfish/v1/Systems/Host5" + } + ], + "@odata.id": "/redfish/v1/Systems", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/explorer_config.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/explorer_config.json new file mode 100644 index 00000000..25dfd9cc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/explorer_config.json @@ -0,0 +1,84 @@ +{ + "name": "CXL", + "description": "This example shows an implementation that contains a set of local and remote CXL devicese and shows their connectivity to other components in the service.", + "navlinks": [ + { + "text": "Main", + "target": "main" + }, + { + "text": "Chassis", + "target": "Chassis", + "navlinks": [ + { + "text": "CXLType1", + "target": "CXLType1" + }, + { + "text": "CXLType2", + "target": "CXLType2" + }, + { + "text": "CXLType3", + "target": "CXLType3" + }, + { + "text": "PooledCXLType1", + "target": "PooledCXLType1" + }, + { + "text": "PooledCXLType2", + "target": "PooledCXLType2" + }, + { + "text": "PooledCXLType3", + "target": "PooledCXLType3" + }, + { + "text": "PooledCXLType3-2", + "target": "PooledCXLType3-2" + }, + { + "text": "Host1Chassis", + "target": "Host1Chassis" + }, + { + "text": "Host2Chassis", + "target": "Host2Chassis" + }, + { + "text": "Host5Chassis", + "target": "Host5Chassis" + } + ] + }, + { + "text": "Fabrics", + "target": "Fabrics", + "navlinks": [ + { + "text": "CXL", + "target": "CXL" + } + ] + }, + { + "text": "Systems", + "target": "Systems", + "navlinks": [ + { + "text": "Host1", + "target": "Host1" + }, + { + "text": "Host2", + "target": "Host2" + }, + { + "text": "Host5", + "target": "Host5" + } + ] + } + ] +} diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/index.json new file mode 100644 index 00000000..1c38a05f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/index.json @@ -0,0 +1,44 @@ +{ + "@odata.type": "#ServiceRoot.v1_22_0.ServiceRoot", + "Id": "RootService", + "Name": "Root Service", + "Vendor": "Contoso", + "Product": "WidgetDeluxe 8744", + "RedfishVersion": "1.6.0", + "UUID": "92384634-2938-2342-8820-489239905423", + "ProtocolFeaturesSupported": { + "FilterQuery": false, + "SelectQuery": false, + "ExcerptQuery": true, + "OnlyMemberQuery": true, + "ExpandQuery": { + "Links": false, + "NoLinks": true, + "ExpandAll": true, + "Levels": true, + "MaxLevels": 3 + } + }, + "Systems": { + "@odata.id": "/redfish/v1/Systems" + }, + "Chassis": { + "@odata.id": "/redfish/v1/Chassis" + }, + "Fabrics": { + "@odata.id": "/redfish/v1/Fabrics" + }, + "Managers": { + "@odata.id": "/redfish/v1/Managers" + }, + "SessionService": { + "@odata.id": "/redfish/v1/SessionService" + }, + "Links": { + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + } + }, + "@odata.id": "/redfish/v1/", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/odata/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/odata/index.json new file mode 100644 index 00000000..9bc72710 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl-multiswitch/odata/index.json @@ -0,0 +1,26 @@ +{ + "@odata.context": "/redfish/v1/$metadata", + "value": [ + { + "name": "Service", + "kind": "Singleton", + "url": "/redfish/v1/" + }, + { + "name": "Systems", + "kind": "Singleton", + "url": "/redfish/v1/Systems" + }, + { + "name": "Chassis", + "kind": "Singleton", + "url": "/redfish/v1/Chassis" + }, + { + "name": "Fabrics", + "kind": "Singleton", + "url": "/redfish/v1/Fabrics" + } + ], + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/$metadata/index.xml b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/$metadata/index.xml new file mode 100644 index 00000000..35b0edc7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/$metadata/index.xml @@ -0,0 +1,225 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/Accounts/1/Certificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/Accounts/1/Certificates/index.json new file mode 100644 index 00000000..41b0634c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/Accounts/1/Certificates/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificate Collection", + "Members@odata.count": 0, + "Members": [], + "@Redfish.SupportedCertificates": [ + "PEM" + ], + "@odata.id": "/redfish/v1/AccountService/Accounts/1/Certificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/Accounts/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/Accounts/1/index.json new file mode 100644 index 00000000..6cc9e212 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/Accounts/1/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#ManagerAccount.v1_14_2.ManagerAccount", + "Id": "1", + "Name": "User Account", + "Description": "User Account", + "Enabled": true, + "Password": null, + "PasswordChangeRequired": false, + "AccountTypes": [ + "Redfish" + ], + "UserName": "Administrator", + "RoleId": "Administrator", + "Locked": false, + "Certificates": { + "@odata.id": "/redfish/v1/AccountService/Accounts/1/Certificates" + }, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + } + }, + "@odata.id": "/redfish/v1/AccountService/Accounts/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/Accounts/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/Accounts/index.json new file mode 100644 index 00000000..f509d474 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/Accounts/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerAccountCollection.ManagerAccountCollection", + "Name": "Accounts Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Accounts/1" + } + ], + "@odata.id": "/redfish/v1/AccountService/Accounts", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/ExternalAccountProviders/ExternalRedfishService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/ExternalAccountProviders/ExternalRedfishService/index.json new file mode 100644 index 00000000..52ded803 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/ExternalAccountProviders/ExternalRedfishService/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#ExternalAccountProvider.v1_9_0.ExternalAccountProvider", + "Id": "ExternalRedfishService", + "Name": "Remote Redfish Service", + "Description": "Remote Redfish Service providing additional Accounts to this Redfish Service", + "AccountProviderType": "RedfishService", + "ServiceAddresses": [ + "https://redfish.contoso.org/redfish/v1/AccountService" + ], + "Authentication": { + "AuthenticationType": "Token", + "Token": null + }, + "RemoteRoleMapping": [ + { + "RemoteGroup": "Admin", + "LocalRole": "Administrator" + }, + { + "RemoteGroup": "Operator", + "LocalRole": "Operator" + }, + { + "RemoteGroup": "ReadOnly", + "LocalRole": "ReadOnly" + } + ], + "@odata.id": "/redfish/v1/AccountService/ExternalAccountProviders/ExternalRedfishService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/ExternalAccountProviders/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/ExternalAccountProviders/index.json new file mode 100644 index 00000000..42e0d845 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/ExternalAccountProviders/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ExternalAccountProviderCollection.ExternalAccountProviderCollection", + "Name": "External Account Provider Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/ExternalAccountProviders/ExternalRedfishService" + } + ], + "@odata.id": "/redfish/v1/AccountService/ExternalAccountProviders", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/Roles/Administrator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/Roles/Administrator/index.json new file mode 100644 index 00000000..19d26a98 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/Roles/Administrator/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Administrator", + "Name": "User Role", + "Description": "Admin User Role", + "RoleId": "Administrator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureManager", + "ConfigureUsers", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [ + "OemClearLog", + "OemPowerControl" + ], + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/Roles/Operator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/Roles/Operator/index.json new file mode 100644 index 00000000..90804a6a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/Roles/Operator/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Operator", + "Name": "User Role", + "Description": "Operator User Role", + "RoleId": "Operator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/Operator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/Roles/ReadOnly/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/Roles/ReadOnly/index.json new file mode 100644 index 00000000..1df0cf03 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/Roles/ReadOnly/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "ReadOnly", + "Name": "User Role", + "Description": "ReadOnly User Role", + "RoleId": "ReadOnly", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/Roles/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/Roles/index.json new file mode 100644 index 00000000..ba9ee112 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/Roles/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#RoleCollection.RoleCollection", + "Name": "Roles Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/Operator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly" + } + ], + "@odata.id": "/redfish/v1/AccountService/Roles", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/index.json new file mode 100644 index 00000000..81048259 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/AccountService/index.json @@ -0,0 +1,100 @@ +{ + "@odata.type": "#AccountService.v1_19_0.AccountService", + "Id": "AccountService", + "Name": "Account Service", + "Description": "Account Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "AuthFailureLoggingThreshold": 3, + "MinPasswordLength": 8, + "AccountLockoutThreshold": 5, + "AccountLockoutDuration": 30, + "AccountLockoutCounterResetAfter": 30, + "AccountLockoutCounterResetEnabled": true, + "Accounts": { + "@odata.id": "/redfish/v1/AccountService/Accounts" + }, + "Roles": { + "@odata.id": "/redfish/v1/AccountService/Roles" + }, + "LocalAccountAuth": "Enabled", + "LDAP": { + "AccountProviderType": "LDAPService", + "ServiceEnabled": false, + "ServiceAddresses": [ + "ldaps://ldap.example.org:636" + ], + "Authentication": { + "AuthenticationType": "UsernameAndPassword", + "Username": "cn=Manager,dc=example,dc=org", + "Password": null + }, + "LDAPService": { + "SearchSettings": { + "BaseDistinguishedNames": [ + "dc=example,dc=org" + ], + "UsernameAttribute": "uid", + "GroupsAttribute": "memberof" + } + }, + "RemoteRoleMapping": [ + { + "RemoteUser": "cn=Manager,dc=example,dc=org", + "LocalRole": "Administrator" + }, + { + "RemoteGroup": "cn=Admins,ou=Groups,dc=example,dc=org", + "LocalRole": "Administrator" + }, + { + "RemoteGroup": "cn=PowerUsers,ou=Groups,dc=example,dc=org", + "LocalRole": "Operator" + }, + { + "RemoteGroup": "(cn=*)", + "LocalRole": "ReadOnly" + } + ] + }, + "ActiveDirectory": { + "AccountProviderType": "ActiveDirectoryService", + "ServiceEnabled": true, + "ServiceAddresses": [ + "ad1.example.org", + "ad2.example.org", + null, + null + ], + "Authentication": { + "AuthenticationType": "KerberosKeytab", + "KerberosKeytab": null + }, + "RemoteRoleMapping": [ + { + "RemoteGroup": "Administrators", + "LocalRole": "Administrator" + }, + { + "RemoteUser": "DOMAIN\\Bob", + "LocalRole": "Operator" + }, + { + "RemoteGroup": "PowerUsers", + "LocalRole": "Operator" + }, + { + "RemoteGroup": "Everybody", + "LocalRole": "ReadOnly" + } + ] + }, + "AdditionalExternalAccountProviders": { + "@odata.id": "/redfish/v1/AccountService/ExternalAccountProviders" + }, + "@odata.id": "/redfish/v1/AccountService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXL-Chassis/LogServices/LocalLog1/Entries/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXL-Chassis/LogServices/LocalLog1/Entries/1/index.json new file mode 100644 index 00000000..ad45ed4e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXL-Chassis/LogServices/LocalLog1/Entries/1/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "CXL", + "CXLEntryType": "Informational", + "Severity": "Critical", + "Created": "2012-03-07T14:44:00+06:00", + "SensorNumber": 1, + "Originator": "Thermal Control", + "OriginatorType": "Internal", + "Message": "Message for Event, Description for SEL, OEM depends", + "MessageId": "Event.1.0.TempAssert", + "MessageArgs": [ + "ArrayOfMessageArgs" + ], + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis/Thermal" + } + }, + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis/LogServices/LocalLog1/Entries/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXL-Chassis/LogServices/LocalLog1/Entries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXL-Chassis/LogServices/LocalLog1/Entries/index.json new file mode 100644 index 00000000..2a05ae74 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXL-Chassis/LogServices/LocalLog1/Entries/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this CXL Module", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis/LogServices/LocalLog1/Entries/1", + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "Event", + "Severity": "Critical", + "Created": "2012-03-07T14:44:00+06:00", + "SensorNumber": 1, + "Originator": "Thermal Control", + "OriginatorType": "Internal", + "OverflowErrorCount": 10, + "FirstOverflowTimestamp": "2022-06-13T04:14:33+06:00", + "LastOverflowTimestamp": "2022-06-15T04:24:33+06:00", + "Message": "", + "MessageId": "Event.1.0.TempAssert", + "MessageArgs": [ + "ArrayOfMessageArgs" + ], + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis/Thermal" + } + } + } + ], + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis/LogServices/LocalLog1/Entries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXL-Chassis/LogServices/LocalLog1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXL-Chassis/LogServices/LocalLog1/index.json new file mode 100644 index 00000000..d172d8a9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXL-Chassis/LogServices/LocalLog1/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#LogService.v1_9_0.LogService", + "Id": "LocalLog1", + "Name": "CXL Module Log Service", + "Description": "This log contains entries related to the operation of the CXL Module.", + "MaxNumberOfRecords": 1000, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2022-08-01T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "LogEntryType": "Event", + "Persistency": true, + "Overflow": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Entries": { + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis/LogServices/LocalLog1/Entries" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Chassis/CXL-Chassis/LogServices/LocalLog1/Actions/LogService.ClearLog" + } + }, + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis/LogServices/LocalLog1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXL-Chassis/LogServices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXL-Chassis/LogServices/index.json new file mode 100644 index 00000000..4c767786 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXL-Chassis/LogServices/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this Chassis", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis/LogServices/LocalLog1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis/LogServices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXL-Chassis/Thermal/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXL-Chassis/Thermal/index.json new file mode 100644 index 00000000..609563ff --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXL-Chassis/Thermal/index.json @@ -0,0 +1,114 @@ +{ + "@odata.type": "#Thermal.v1_7_3.Thermal", + "Id": "Thermal", + "Name": "Thermal", + "Temperatures": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis/Thermal#/Temperatures/0", + "MemberId": "0", + "Name": "Chassis Intake Temp", + "SensorNumber": 42, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 25, + "UpperThresholdNonCritical": 30, + "UpperThresholdCritical": 40, + "UpperThresholdFatal": 50, + "LowerThresholdNonCritical": 10, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 0, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 200, + "PhysicalContext": "Intake", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis" + } + ] + } + ], + "Fans": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis/Thermal#/Fans/0", + "MemberId": "0", + "Name": "BaseBoard System Fan", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2100, + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 4200, + "UpperThresholdFatal": 42, + "LowerThresholdNonCritical": 42, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 42, + "MinReadingRange": 0, + "MaxReadingRange": 5000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis/Thermal#/Fans/1", + "MemberId": "1", + "Name": "BaseBoard System Fan Backup", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2100, + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 4200, + "UpperThresholdFatal": 42, + "LowerThresholdNonCritical": 42, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 42, + "MinReadingRange": 0, + "MaxReadingRange": 5000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis" + } + ] + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis/Thermal#/Redundancy/0", + "MemberId": "0", + "Name": "BaseBoard System Fans", + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis/Thermal#/Fans/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis/Thermal#/Fans/1" + } + ], + "Mode": "N+m", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MinNumNeeded": 1, + "MaxNumSupported": 2 + } + ], + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis/Thermal", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXL-Chassis/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXL-Chassis/index.json new file mode 100644 index 00000000..fa7b5218 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXL-Chassis/index.json @@ -0,0 +1,43 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "CXL-Chassis", + "Name": "CXL System chassis containing CXL cards", + "PowerState": "On", + "ChassisType": "Blade", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis/LogServices" + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis/Thermal" + }, + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System" + } + ], + "Switches": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL" + } + ], + "Contains": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType1" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXLType2" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXLType3" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType1/PCIeDevices/1/CXLLogicalDevices/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType1/PCIeDevices/1/CXLLogicalDevices/1/index.json new file mode 100644 index 00000000..30a56b49 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType1/PCIeDevices/1/CXLLogicalDevices/1/index.json @@ -0,0 +1,59 @@ +{ + "@odata.type": "#CXLLogicalDevice.v1_5_0.CXLLogicalDevice", + "Id": "1", + "Name": "CXL Logical Device Type 1", + "Description": "Locally attached CXL Logical Device Type 1", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:0001", + "DurableNameFormat": "GCXLID" + } + ], + "SemanticsSupported": [ + "CXLio", + "CXLcache" + ], + "Links": { + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType1/PCIeDevices/1/PCIeFunctions/1" + } + ] + }, + "Actions": { + "#CXLLogicalDevice.DisablePassphrase": { + "target": "/redfish/v1/Chassis/CXLType1/PCIeDevices/1/CXLLogicalDevices/1/Actions/CXLLogicalDevice.DisablePassphrase", + "PassphraseType@Redfish.AllowableValues": [ + "User", + "Master" + ] + }, + "#CXLLogicalDevice.SetPassphrase": { + "target": "/redfish/v1/Chassis/CXLType1/PCIeDevices/1/CXLLogicalDevices/1/Actions/CXLLogicalDevice.SetPassphrase", + "PassphraseType@Redfish.AllowableValues": [ + "User", + "Master" + ] + }, + "#CXLLogicalDevice.Unlock": { + "target": "/redfish/v1/Chassis/CXLType1/PCIeDevices/1/CXLLogicalDevices/1/Actions/CXLLogicalDevice.Unlock" + }, + "#CXLLogicalDevice.PassphraseSecureErase": { + "target": "/redfish/v1/Chassis/CXLType1/PCIeDevices/1/CXLLogicalDevices/1/Actions/CXLLogicalDevice.PassphraseSecureErase", + "PassphraseType@Redfish.AllowableValues": [ + "User", + "Master" + ] + }, + "#CXLLogicalDevice.FreezeSecurityState": { + "target": "/redfish/v1/Chassis/CXLType1/PCIeDevices/1/CXLLogicalDevices/1/Actions/CXLLogicalDevice.FreezeSecurityState" + } + }, + "@odata.id": "/redfish/v1/Chassis/CXLType1/PCIeDevices/1/CXLLogicalDevices/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType1/PCIeDevices/1/CXLLogicalDevices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType1/PCIeDevices/1/CXLLogicalDevices/index.json new file mode 100644 index 00000000..6b96987e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType1/PCIeDevices/1/CXLLogicalDevices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#CXLLogicalDeviceCollection.CXLLogicalDeviceCollection", + "Name": "CXL Logical Device Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType1/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType1/PCIeDevices/1/CXLLogicalDevices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType1/PCIeDevices/1/PCIeFunctions/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType1/PCIeDevices/1/PCIeFunctions/1/index.json new file mode 100644 index 00000000..76c08b2d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType1/PCIeDevices/1/PCIeFunctions/1/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#PCIeFunction.v1_7_0.PCIeFunction", + "Id": "1", + "Name": "CXL Function", + "Description": "PCIe Function with CXL extensions representing FPGA", + "FunctionId": 1, + "FunctionType": "Physical", + "DeviceClass": "Processor", + "DeviceId": "0xABCD", + "VendorId": "0xABCD", + "ClassCode": "0x0B4000", + "RevisionId": "0x00", + "SubsystemId": "0xABCD", + "SubsystemVendorId": "0xABCD", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "FunctionProtocol": "CXL", + "Links": { + "Processor": { + "@odata.id": "/redfish/v1/Chassis/CXLType1/Processors/FPGA" + }, + "CXLLogicalDevice": { + "@odata.id": "/redfish/v1/Chassis/CXLType1/PCIeDevices/1/CXLLogicalDevices/1" + }, + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/CXLType1/PCIeDevices/1" + } + }, + "@odata.id": "/redfish/v1/Chassis/CXLType1/PCIeDevices/1/PCIeFunctions/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType1/PCIeDevices/1/PCIeFunctions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType1/PCIeDevices/1/PCIeFunctions/index.json new file mode 100644 index 00000000..20b49b74 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType1/PCIeDevices/1/PCIeFunctions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PCIeFunctionCollection.PCIeFunctionCollection", + "Name": "PCIe Function Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType1/PCIeDevices/1/PCIeFunctions/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType1/PCIeDevices/1/PCIeFunctions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType1/PCIeDevices/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType1/PCIeDevices/1/index.json new file mode 100644 index 00000000..58840745 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType1/PCIeDevices/1/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#PCIeDevice.v1_23_0.PCIeDevice", + "Id": "1", + "Name": "CXL Device", + "Description": "CXL Physcial Device Type 1", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeInterface": { + "PCIeType": "Gen5", + "MaxPCIeType": "Gen5", + "LanesInUse": 8, + "MaxLanes": 16 + }, + "PCIeFunctions": { + "@odata.id": "/redfish/v1/Chassis/CXLType1/PCIeDevices/1/PCIeFunctions" + }, + "CXLDevice": { + "DeviceType": "Type1", + "CurrentProtocolVersion": "CXL2_0", + "CapableProtocolVersions": [ + "CXL1_1", + "CXL2_0" + ], + "EgressPortCongestionSupport": true, + "TemporaryThroughputReductionSupported": true, + "TemporaryThroughputReductionEnabled": true, + "MaxNumberLogicalDevices": 1, + "Timestamp": "2022-09-08T12:25:00-05:00" + }, + "CXLLogicalDevices": { + "@odata.id": "/redfish/v1/Chassis/CXLType1/PCIeDevices/1/CXLLogicalDevices" + }, + "StagedVersion": "1.4.2.1", + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/CXLType1/PCIeDevices/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType1/PCIeDevices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType1/PCIeDevices/index.json new file mode 100644 index 00000000..23f57dee --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType1/PCIeDevices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PCIeDeviceCollection.PCIeDeviceCollection", + "Name": "PCIe Device Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType1/PCIeDevices/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType1/PCIeDevices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType1/Processors/FPGA/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType1/Processors/FPGA/index.json new file mode 100644 index 00000000..1f65d0ea --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType1/Processors/FPGA/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "FPGA", + "Name": "FPGA with cache", + "Description": "FPGA with cache", + "ProcessorType": "FPGA", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "ProcessorMemory": [ + { + "IntegratedMemory": true, + "MemoryType": "Cache", + "CapacityMiB": 64 + } + ], + "MemorySummary": { + "TotalMemorySizeMiB": 0, + "TotalCacheSizeMiB": 64 + }, + "Links": { + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType1/PCIeDevices/1/PCIeFunctions/1" + } + ], + "ConnectedProcessors": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/CXLType1/Processors/FPGA", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType1/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType1/Processors/index.json new file mode 100644 index 00000000..a8bc17ac --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType1/Processors/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processor Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType1/Processors/FPGA" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType1/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType1/index.json new file mode 100644 index 00000000..aa76290b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType1/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "CXLType1", + "Name": "CXL Device Type 1 module", + "ChassisType": "Module", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeDevices": { + "@odata.id": "/redfish/v1/Chassis/CXLType1/PCIeDevices" + }, + "Processors": { + "@odata.id": "/redfish/v1/Chassis/CXLType1/Processors" + }, + "Links": { + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis" + } + }, + "@odata.id": "/redfish/v1/Chassis/CXLType1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/Memory/HBM/MemoryMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/Memory/HBM/MemoryMetrics/index.json new file mode 100644 index 00000000..25cb212b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/Memory/HBM/MemoryMetrics/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#MemoryMetrics.v1_8_0.MemoryMetrics", + "Name": "Memory Metrics", + "Id": "Metrics", + "LifeTime": { + "CorrectableECCErrorCount": 16, + "UncorrectableECCErrorCount": 8 + }, + "CurrentPeriod": { + "CorrectableECCErrorCount": 4, + "UncorrectableECCErrorCount": 4 + }, + "CXL": { + "AlertCapabilities": { + "Temperature": true, + "UncorrectableECCError": false, + "CorrectableECCError": false + } + }, + "Actions": { + "#MemoryMetrics.ClearCurrentPeriod": { + "target": "/redfish/v1/Chassis/CXLType2/Memory/HBM/MemoryMetrics/Actions/MemoryMetrics.ClearCurrentPeriod" + } + }, + "@odata.id": "/redfish/v1/Chassis/CXLType2/Memory/HBM/MemoryMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/Memory/HBM/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/Memory/HBM/index.json new file mode 100644 index 00000000..312b28b0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/Memory/HBM/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "HBM", + "MemoryType": "DRAM", + "MemoryDeviceType": "HBM2", + "MemoryMedia": [ + "DRAM" + ], + "Name": "HBM memory", + "CapacityMiB": 16384, + "OperatingSpeedMhz": 1333, + "Status": { + "Health": "OK", + "State": "Enabled", + "HealthRollup": "OK" + }, + "Metrics": { + "@odata.id": "/redfish/v1/Chassis/CXLType2/Memory/HBM/MemoryMetrics" + }, + "Links": { + "Processors": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/Processors/GPU" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/CXLType2/Memory/HBM", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/Memory/index.json new file mode 100644 index 00000000..f7683a08 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/Memory/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Collection", + "Description": "Memory Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/Memory/HBM" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType2/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/MemoryDomains/1/MemoryChunks/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/MemoryDomains/1/MemoryChunks/1/index.json new file mode 100644 index 00000000..dc1c2df6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/MemoryDomains/1/MemoryChunks/1/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#MemoryChunks.v1_7_0.MemoryChunks", + "Id": "1", + "Name": "Memory Chunk 1", + "Description": "Memory chunk accessible through CXL", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MemoryChunkSizeMiB": 4096, + "AddressRangeType": "Volatile", + "AddressRangeOffsetMiB": 1024, + "MediaLocation": "Local", + "RequestedOperationalState": "Online", + "Links": { + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1/CXLLogicalDevices/1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/CXLType2/MemoryDomains/1/MemoryChunks/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/MemoryDomains/1/MemoryChunks/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/MemoryDomains/1/MemoryChunks/index.json new file mode 100644 index 00000000..3310a506 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/MemoryDomains/1/MemoryChunks/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryChunksCollection.MemoryChunksCollection", + "Name": "Memory Chunks Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/MemoryDomains/1/MemoryChunks/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType2/MemoryDomains/1/MemoryChunks", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/MemoryDomains/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/MemoryDomains/1/index.json new file mode 100644 index 00000000..c14b0be8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/MemoryDomains/1/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#MemoryDomain.v1_5_1.MemoryDomain", + "Id": "1", + "Name": "GPU HBM Memory Domain", + "Description": "GPU HBM Memory Domain accessible through CXL", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "MemoryChunks": { + "@odata.id": "/redfish/v1/Chassis/CXLType2/MemoryDomains/1/MemoryChunks" + }, + "AllowsMemoryChunkCreation": true, + "MinMemoryChunkSizeMiB": 64, + "MemoryChunkIncrementMiB": 64, + "MemorySizeMiB": 262144, + "InterleavableMemorySets": [ + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/Memory/HBM" + } + ] + } + ], + "Links": { + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1/CXLLogicalDevices/1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/CXLType2/MemoryDomains/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/MemoryDomains/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/MemoryDomains/index.json new file mode 100644 index 00000000..03cc0546 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/MemoryDomains/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryDomainCollection.MemoryDomainCollection", + "Name": "Memory Domain Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/MemoryDomains/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType2/MemoryDomains", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/PCIeDevices/1/CXLLogicalDevices/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/PCIeDevices/1/CXLLogicalDevices/1/index.json new file mode 100644 index 00000000..8428854b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/PCIeDevices/1/CXLLogicalDevices/1/index.json @@ -0,0 +1,78 @@ +{ + "@odata.type": "#CXLLogicalDevice.v1_5_0.CXLLogicalDevice", + "Id": "1", + "Name": "CXL Logical Device Type 2", + "Description": "Locally attached CXL Logical Device Type 2", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:0001", + "DurableNameFormat": "GCXLID" + } + ], + "SemanticsSupported": [ + "CXLio", + "CXLcache", + "CXLmem" + ], + "QoSTelemetryCapabilities": { + "EgressPortBackpressureSupported": true + }, + "QoS": { + "AllocatedBandwidth": 64, + "LimitPercent": 85 + }, + "MemorySizeMiB": 16384, + "Links": { + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1/PCIeFunctions/1" + } + ], + "MemoryDomains": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/MemoryDomains/1" + } + ], + "MemoryChunks": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/MemoryDomains/1/MemoryChunks/1" + } + ] + }, + "Actions": { + "#CXLLogicalDevice.DisablePassphrase": { + "target": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1/CXLLogicalDevices/1/Actions/CXLLogicalDevice.DisablePassphrase", + "PassphraseType@Redfish.AllowableValues": [ + "User", + "Master" + ] + }, + "#CXLLogicalDevice.SetPassphrase": { + "target": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1/CXLLogicalDevices/1/Actions/CXLLogicalDevice.SetPassphrase", + "PassphraseType@Redfish.AllowableValues": [ + "User", + "Master" + ] + }, + "#CXLLogicalDevice.Unlock": { + "target": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1/CXLLogicalDevices/1/Actions/CXLLogicalDevice.Unlock" + }, + "#CXLLogicalDevice.PassphraseSecureErase": { + "target": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1/CXLLogicalDevices/1/Actions/CXLLogicalDevice.PassphraseSecureErase", + "PassphraseType@Redfish.AllowableValues": [ + "User", + "Master" + ] + }, + "#CXLLogicalDevice.FreezeSecurityState": { + "target": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1/CXLLogicalDevices/1/Actions/CXLLogicalDevice.FreezeSecurityState" + } + }, + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1/CXLLogicalDevices/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/PCIeDevices/1/CXLLogicalDevices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/PCIeDevices/1/CXLLogicalDevices/index.json new file mode 100644 index 00000000..25603554 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/PCIeDevices/1/CXLLogicalDevices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#CXLLogicalDeviceCollection.CXLLogicalDeviceCollection", + "Name": "CXL Logical Device Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1/CXLLogicalDevices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/PCIeDevices/1/PCIeFunctions/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/PCIeDevices/1/PCIeFunctions/1/index.json new file mode 100644 index 00000000..fc5cc0ef --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/PCIeDevices/1/PCIeFunctions/1/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#PCIeFunction.v1_7_0.PCIeFunction", + "Id": "1", + "Name": "CXL Function", + "Description": "PCIe Function with CXL extensions representing GPU", + "FunctionId": 1, + "FunctionType": "Physical", + "DeviceClass": "ProcessingAccelerators", + "DeviceId": "0xABCD", + "VendorId": "0xABCD", + "ClassCode": "0x120000", + "RevisionId": "0x00", + "SubsystemId": "0xABCD", + "SubsystemVendorId": "0xABCD", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "FunctionProtocol": "CXL", + "Links": { + "Processor": { + "@odata.id": "/redfish/v1/Chassis/CXLType2/Processors/GPU" + }, + "CXLLogicalDevice": { + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1/CXLLogicalDevices/1" + }, + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1" + } + }, + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1/PCIeFunctions/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/PCIeDevices/1/PCIeFunctions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/PCIeDevices/1/PCIeFunctions/index.json new file mode 100644 index 00000000..159656d5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/PCIeDevices/1/PCIeFunctions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PCIeFunctionCollection.PCIeFunctionCollection", + "Name": "PCIe Function Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1/PCIeFunctions/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1/PCIeFunctions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/PCIeDevices/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/PCIeDevices/1/index.json new file mode 100644 index 00000000..9165e75d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/PCIeDevices/1/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#PCIeDevice.v1_23_0.PCIeDevice", + "Id": "1", + "Name": "CXL Device", + "Description": "CXL Physcial Device Type 2", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeInterface": { + "PCIeType": "Gen5", + "MaxPCIeType": "Gen5", + "LanesInUse": 8, + "MaxLanes": 16 + }, + "PCIeFunctions": { + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1/PCIeFunctions" + }, + "CXLDevice": { + "DeviceType": "Type2", + "CurrentProtocolVersion": "CXL2_0", + "CapableProtocolVersions": [ + "CXL1_1", + "CXL2_0" + ], + "EgressPortCongestionSupport": true, + "TemporaryThroughputReductionSupported": true, + "TemporaryThroughputReductionEnabled": true, + "MaxNumberLogicalDevices": 8, + "Timestamp": "2022-09-08T12:25:00-05:00" + }, + "CXLLogicalDevices": { + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1/CXLLogicalDevices" + }, + "StagedVersion": "1.4.2.0", + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType2" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/PCIeDevices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/PCIeDevices/index.json new file mode 100644 index 00000000..70ec169a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/PCIeDevices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PCIeDeviceCollection.PCIeDeviceCollection", + "Name": "PCIe Device Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/Processors/GPU/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/Processors/GPU/index.json new file mode 100644 index 00000000..2c103c53 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/Processors/GPU/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "GPU", + "Name": "GPU with HBM memory", + "Description": "GPU with cache and HBM memory", + "ProcessorType": "GPU", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "ProcessorMemory": [ + { + "IntegratedMemory": false, + "MemoryType": "HBM2", + "CapacityMiB": 16384, + "SpeedMHz": 1033 + }, + { + "IntegratedMemory": true, + "MemoryType": "Cache", + "CapacityMiB": 64 + } + ], + "MemorySummary": { + "TotalMemorySizeMiB": 16384, + "TotalCacheSizeMiB": 64 + }, + "Links": { + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1/PCIeFunctions/1" + } + ], + "Memory": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/Memory/HBM" + } + ], + "ConnectedProcessors": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/CXLType2/Processors/GPU", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/Processors/index.json new file mode 100644 index 00000000..58ebb391 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/Processors/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processor Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/Processors/GPU" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType2/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/index.json new file mode 100644 index 00000000..ffc78611 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType2/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "CXLType2", + "Name": "CXL Device Type 2 module", + "PowerState": "On", + "ChassisType": "Module", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeDevices": { + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices" + }, + "Processors": { + "@odata.id": "/redfish/v1/Chassis/CXLType2/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Chassis/CXLType2/Memory" + }, + "MemoryDomains": { + "@odata.id": "/redfish/v1/Chassis/CXLType2/MemoryDomains" + }, + "Links": { + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis" + } + }, + "@odata.id": "/redfish/v1/Chassis/CXLType2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/FabricAdapters/1/Ports/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/FabricAdapters/1/Ports/1/index.json new file mode 100644 index 00000000..a819fba4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/FabricAdapters/1/Ports/1/index.json @@ -0,0 +1,53 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "1", + "Name": "CXL Port 1", + "Description": "CXL Port 1 in Fabric Adapter", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "RemotePortId": "13", + "PortId": "1", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "3.1", + "CapableProtocolVersions": [ + "1.1", + "2.0", + "3.0", + "3.1" + ], + "PortType": "UpstreamPort", + "PortMedium": "Optical", + "CurrentSpeedGbps": 256, + "Width": 8, + "MaxSpeedGbps": 128, + "ActiveWidth": 4, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T4" + } + ], + "ConnectedSwitches": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL" + } + ], + "ConnectedSwitchPorts": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D4" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/CXLType3/FabricAdapters/1/Ports/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/FabricAdapters/1/Ports/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/FabricAdapters/1/Ports/index.json new file mode 100644 index 00000000..6ef7fd5e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/FabricAdapters/1/Ports/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "CXL Port Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/FabricAdapters/1/Ports/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType3/FabricAdapters/1/Ports", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/FabricAdapters/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/FabricAdapters/1/index.json new file mode 100644 index 00000000..ee4e7eb1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/FabricAdapters/1/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#FabricAdapter.v1_5_3.FabricAdapter", + "Id": "1", + "Name": "CXL Fabric Adapter 1", + "Description": "CXL Fabric Adapter for memory system", + "Manufacturer": "Contoso", + "Model": "CXL Fabric Adapter Model X", + "PartNumber": "975999-001", + "SparePartNumber": "152111-A01", + "SKU": "Contoso 2-port CXL Adapter Bridge", + "SerialNumber": "2M220100SL", + "FirmwareVersion": "7.4.10", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Ports": { + "@odata.id": "/redfish/v1/Chassis/CXLType3/FabricAdapters/1/Ports" + }, + "Links": { + "MemoryDomains": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/MemoryDomains/1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/CXLType3/FabricAdapters/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/FabricAdapters/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/FabricAdapters/index.json new file mode 100644 index 00000000..700d0ef1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/FabricAdapters/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#FabricAdapterCollection.FabricAdapterCollection", + "Name": "Fabric Adapter Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/FabricAdapters/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType3/FabricAdapters", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/Memory/3DXP/InjectPersistentPoisonActionInfo/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/Memory/3DXP/InjectPersistentPoisonActionInfo/index.json new file mode 100644 index 00000000..c37b8e9b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/Memory/3DXP/InjectPersistentPoisonActionInfo/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#ActionInfo.v1_6_0.ActionInfo", + "Id": "InjectPersistentPoisonActionInfo", + "Name": "Inject Persistent Poison Action Info", + "Parameters": [ + { + "Name": "PhysicalAddress", + "Required": true, + "DataType": "String" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType3/Memory/3DXP/InjectPersistentPoisonActionInfo", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/Memory/3DXP/MemoryMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/Memory/3DXP/MemoryMetrics/index.json new file mode 100644 index 00000000..f5067f32 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/Memory/3DXP/MemoryMetrics/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#MemoryMetrics.v1_8_0.MemoryMetrics", + "Name": "Memory Metrics", + "Id": "Metrics", + "BlockSizeBytes": 4096, + "CurrentPeriod": { + "BlocksRead": 0, + "BlocksWritten": 0 + }, + "LifeTime": { + "BlocksRead": 0, + "BlocksWritten": 0 + }, + "CorrectedVolatileErrorCount": 26, + "CorrectedPersistentErrorCount": 16, + "DirtyShutdownCount": 1, + "CXL": { + "AlertCapabilities": { + "Temperature": true, + "SpareBlock": false, + "UncorrectableECCError": false, + "CorrectableECCError": false + } + }, + "HealthData": { + "RemainingSpareBlockPercentage": 50, + "LastShutdownSuccess": true, + "DataLossDetected": false, + "PerformanceDegraded": false + }, + "@odata.id": "/redfish/v1/Chassis/CXLType3/Memory/3DXP/MemoryMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/Memory/3DXP/ScanMediaActionInfo/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/Memory/3DXP/ScanMediaActionInfo/index.json new file mode 100644 index 00000000..d629ff86 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/Memory/3DXP/ScanMediaActionInfo/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#ActionInfo.v1_6_0.ActionInfo", + "Id": "ScanMediaActionInfo", + "Name": "Scan Media Action Info", + "Parameters": [ + { + "Name": "PhysicalAddress", + "Required": true, + "DataType": "String" + }, + { + "Name": "Length", + "Required": true, + "DataType": "Number" + }, + { + "Name": "NoEventLog", + "Required": false, + "DataType": "Boolean" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType3/Memory/3DXP/ScanMediaActionInfo", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/Memory/3DXP/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/Memory/3DXP/index.json new file mode 100644 index 00000000..ba477ada --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/Memory/3DXP/index.json @@ -0,0 +1,85 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "3DXP", + "Name": "3DXP memory", + "MemoryType": "IntelOptane", + "MemoryMedia": [ + "Intel3DXPoint" + ], + "CapacityMiB": 16384, + "OperatingSpeedMhz": 1333, + "Status": { + "Health": "OK", + "State": "Enabled", + "HealthRollup": "OK" + }, + "PoisonListMaxMediaErrorRecords": 2048, + "CXL": { + "LabelStorageSizeBytes": 1280, + "StagedVolatileSizeMiB": 0, + "StagedNonVolatileSizeMiB": 16384 + }, + "VolatileSizeLimitMiB": 0, + "NonVolatileSizeLimitMiB": 16384, + "Regions": [ + { + "RegionId": "1", + "MemoryClassification": "ByteAccessiblePersistent", + "OffsetMiB": 0, + "SizeMiB": 8192, + "PassphraseEnabled": false, + "MasterPassphraseEnabled": false + }, + { + "RegionId": "2", + "MemoryClassification": "ByteAccessiblePersistent", + "OffsetMiB": 8192, + "SizeMiB": 8192, + "PassphraseEnabled": false, + "MasterPassphraseEnabled": false + } + ], + "SecurityStates": { + "UserPassphraseAttemptCountReached": true, + "MasterPassphraseAttemptCountReached": true + }, + "HealthData": { + "PredictedMediaLifeLeftPercent": 75 + }, + "Actions": { + "#Memory.SetMasterPassphrase": { + "target": "/redfish/v1/Chassis/CXLType3/Memory/3DXP/Actions/Memory.SetMasterPassphrase", + "RegionId@Redfish.AllowableValues": [ + "1", + "2" + ] + }, + "#Memory.DisableMasterPassphrase": { + "target": "/redfish/v1/Chassis/CXLType3/Memory/3DXP/Actions/Memory.DisableMasterPassphrase", + "RegionId@Redfish.AllowableValues": [ + "1", + "2" + ] + }, + "#Memory.SecureEraseUnit": { + "target": "/redfish/v1/Chassis/CXLType3/Memory/3DXP/Actions/Memory.SecureEraseUnit", + "RegionId@Redfish.AllowableValues": [ + "1", + "2" + ] + }, + "#Memory.FreezeSecurityState": { + "target": "/redfish/v1/Chassis/CXLType3/Memory/3DXP/Actions/Memory.FreezeSecurityState" + }, + "#Memory.InjectPersistentPoison": { + "target": "/redfish/v1/Chassis/CXLType3/Memory/3DXP/Actions/Memory.InjectPersistentPoison", + "@Redfish.ActionInfo": "/redfish/v1/Chassis/CXLType3/Memory/3DXP/InjectPersistentPoisonActionInfo" + }, + "#Memory.ScanMedia": { + "target": "/redfish/v1/Chassis/CXLType3/Memory/3DXP/Actions/Memory.ScanMedia", + "@Redfish.ActionInfo": "/redfish/v1/Chassis/CXLType3/Memory/3DXP/ScanMediaActionInfo" + } + }, + "@odata.id": "/redfish/v1/Chassis/CXLType3/Memory/3DXP", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/Memory/index.json new file mode 100644 index 00000000..a3da3dd4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/Memory/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Collection", + "Description": "Memory Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/Memory/3DXP" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType3/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/MemoryDomains/1/MemoryChunks/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/MemoryDomains/1/MemoryChunks/1/index.json new file mode 100644 index 00000000..ffd1b804 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/MemoryDomains/1/MemoryChunks/1/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#MemoryChunks.v1_7_0.MemoryChunks", + "Id": "1", + "Name": "Memory Chunk 1", + "Description": "Memory chunk accessible through CXL", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MemoryChunkSizeMiB": 16384, + "AddressRangeType": "PMEM", + "AddressRangeOffsetMiB": 0, + "MediaLocation": "Local", + "RequestedOperationalState": "Online", + "InterleaveSets": [ + { + "Memory": { + "@odata.id": "/redfish/v1/Chassis/CXLType3/Memory/3DXP" + }, + "RegionId": "1" + }, + { + "Memory": { + "@odata.id": "/redfish/v1/Chassis/CXLType3/Memory/3DXP" + }, + "RegionId": "2" + } + ], + "Links": { + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/CXLType3/MemoryDomains/1/MemoryChunks/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/MemoryDomains/1/MemoryChunks/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/MemoryDomains/1/MemoryChunks/index.json new file mode 100644 index 00000000..de59ea4b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/MemoryDomains/1/MemoryChunks/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryChunksCollection.MemoryChunksCollection", + "Name": "Memory Chunks Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/MemoryDomains/1/MemoryChunks/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType3/MemoryDomains/1/MemoryChunks", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/MemoryDomains/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/MemoryDomains/1/index.json new file mode 100644 index 00000000..29b1bf36 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/MemoryDomains/1/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#MemoryDomain.v1_5_1.MemoryDomain", + "Id": "1", + "Name": "CXL 3DXP Memory Domain", + "Description": "3DXP Memory Domain accessible through CXL", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "MemoryChunks": { + "@odata.id": "/redfish/v1/Chassis/CXLType3/MemoryDomains/1/MemoryChunks" + }, + "AllowsMemoryChunkCreation": true, + "MinMemoryChunkSizeMiB": 64, + "MemoryChunkIncrementMiB": 64, + "MemorySizeMiB": 16384, + "InterleavableMemorySets": [ + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/Memory/3DXP" + } + ] + } + ], + "Links": { + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1/PCIeFunctions/1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/CXLType3/MemoryDomains/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/MemoryDomains/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/MemoryDomains/index.json new file mode 100644 index 00000000..88d70d07 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/MemoryDomains/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryDomainCollection.MemoryDomainCollection", + "Name": "Memory Domain Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/MemoryDomains/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType3/MemoryDomains", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/1/MemoryRegions/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/1/MemoryRegions/1/index.json new file mode 100644 index 00000000..4372dd94 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/1/MemoryRegions/1/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#MemoryRegion.v1_1_0.MemoryRegion", + "Id": "1", + "Name": "Static Memory Region 1", + "Description": "CXL Static Memory Region 1 of LD 1 in Device 1", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "RegionType": "Static", + "RegionNumber": 0, + "NonVolatileRegion": true, + "RegionBaseOffsetMiB": 0, + "RegionSizeMiB": 16384, + "ShareableRegion": false, + "SanitizeOnRelease": true, + "BlockSizeMiB": 128, + "ExtentsCount": 1, + "MemoryExtents": [ + { + "ExtentOffsetMiB": 0, + "ExtentSizeMiB": 16384, + "Tag": "User Defined Tag", + "SequenceNumber": 0 + } + ], + "MemoryChunks": [ + { + "ChunkOffsetMiB": 0, + "ChunkLink": { + "@odata.id": "/redfish/v1/Chassis/CXLType3/MemoryDomains/1/MemoryChunks/1" + } + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/1/MemoryRegions/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/1/MemoryRegions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/1/MemoryRegions/index.json new file mode 100644 index 00000000..e8594e4e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/1/MemoryRegions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryRegionCollection.MemoryRegionCollection", + "Name": "Memory Region Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/1/MemoryRegions/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/1/MemoryRegions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/1/index.json new file mode 100644 index 00000000..71b41ac8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/1/index.json @@ -0,0 +1,80 @@ +{ + "@odata.type": "#CXLLogicalDevice.v1_5_0.CXLLogicalDevice", + "Id": "1", + "Name": "CXL Logical Device Type 3", + "Description": "Locally attached CXL Logical Device Type 3", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:0001", + "DurableNameFormat": "GCXLID" + } + ], + "SemanticsSupported": [ + "CXLio", + "CXLmem" + ], + "QoSTelemetryCapabilities": { + "EgressPortBackpressureSupported": true + }, + "QoS": { + "AllocatedBandwidth": 64, + "LimitPercent": 85 + }, + "MemorySizeMiB": 16384, + "MemoryRegions": { + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/1/MemoryRegions" + }, + "Links": { + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1/PCIeFunctions/1" + } + ], + "MemoryDomains": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/MemoryDomains/1" + } + ], + "MemoryChunks": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/MemoryDomains/1/MemoryChunks/1" + } + ] + }, + "Actions": { + "#CXLLogicalDevice.DisablePassphrase": { + "target": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/1/Actions/CXLLogicalDevice.DisablePassphrase", + "PassphraseType@Redfish.AllowableValues": [ + "User", + "Master" + ] + }, + "#CXLLogicalDevice.SetPassphrase": { + "target": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/1/Actions/CXLLogicalDevice.SetPassphrase", + "PassphraseType@Redfish.AllowableValues": [ + "User", + "Master" + ] + }, + "#CXLLogicalDevice.Unlock": { + "target": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/1/Actions/CXLLogicalDevice.Unlock" + }, + "#CXLLogicalDevice.PassphraseSecureErase": { + "target": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/1/Actions/CXLLogicalDevice.PassphraseSecureErase", + "PassphraseType@Redfish.AllowableValues": [ + "User", + "Master" + ] + }, + "#CXLLogicalDevice.FreezeSecurityState": { + "target": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/1/Actions/CXLLogicalDevice.FreezeSecurityState" + } + }, + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/index.json new file mode 100644 index 00000000..a9e011ca --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#CXLLogicalDeviceCollection.CXLLogicalDeviceCollection", + "Name": "CXL Logical Device Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/PCIeDevices/1/PCIeFunctions/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/PCIeDevices/1/PCIeFunctions/1/index.json new file mode 100644 index 00000000..29760f3f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/PCIeDevices/1/PCIeFunctions/1/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#PCIeFunction.v1_7_0.PCIeFunction", + "Id": "1", + "Name": "CXL Function", + "Description": "PCIe Function with CXL extensions representing Memory Controller", + "FunctionId": 1, + "FunctionType": "Physical", + "DeviceClass": "MemoryController", + "DeviceId": "0xABCD", + "VendorId": "0xABCD", + "ClassCode": "0x050210", + "RevisionId": "0x00", + "SubsystemId": "0xABCD", + "SubsystemVendorId": "0xABCD", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "FunctionProtocol": "CXL", + "Links": { + "MemoryDomains": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/MemoryDomains/1" + } + ], + "CXLLogicalDevice": { + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/1" + }, + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1" + } + }, + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1/PCIeFunctions/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/PCIeDevices/1/PCIeFunctions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/PCIeDevices/1/PCIeFunctions/index.json new file mode 100644 index 00000000..730a3448 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/PCIeDevices/1/PCIeFunctions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PCIeFunctionCollection.PCIeFunctionCollection", + "Name": "PCIe Function Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1/PCIeFunctions/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1/PCIeFunctions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/PCIeDevices/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/PCIeDevices/1/index.json new file mode 100644 index 00000000..5da74cc5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/PCIeDevices/1/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#PCIeDevice.v1_23_0.PCIeDevice", + "Id": "1", + "Name": "CXL Device", + "Description": "CXL Physcial Device Type 3", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeInterface": { + "PCIeType": "Gen5", + "MaxPCIeType": "Gen5", + "LanesInUse": 8, + "MaxLanes": 16 + }, + "PCIeFunctions": { + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1/PCIeFunctions" + }, + "CXLDevice": { + "DeviceType": "Type3", + "CurrentProtocolVersion": "CXL2_0", + "CapableProtocolVersions": [ + "CXL1_1", + "CXL2_0" + ], + "EgressPortCongestionSupport": true, + "TemporaryThroughputReductionSupported": true, + "TemporaryThroughputReductionEnabled": true, + "MaxNumberLogicalDevices": 8, + "Timestamp": "2022-09-08T12:25:00-05:00" + }, + "CXLLogicalDevices": { + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices" + }, + "StagedVersion": "1.4.2.0", + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType3" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/PCIeDevices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/PCIeDevices/index.json new file mode 100644 index 00000000..62bb1d31 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/PCIeDevices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PCIeDeviceCollection.PCIeDeviceCollection", + "Name": "PCIe Device Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/index.json new file mode 100644 index 00000000..e0135f08 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/CXLType3/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "CXLType3", + "Name": "CXL Device Type 3 module", + "PowerState": "On", + "ChassisType": "Module", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "FabricAdapters": { + "@odata.id": "/redfish/v1/Chassis/CXLType3/FabricAdapters" + }, + "PCIeDevices": { + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices" + }, + "Memory": { + "@odata.id": "/redfish/v1/Chassis/CXLType3/Memory" + }, + "MemoryDomains": { + "@odata.id": "/redfish/v1/Chassis/CXLType3/MemoryDomains" + }, + "Links": { + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis" + } + }, + "@odata.id": "/redfish/v1/Chassis/CXLType3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/FabricAdapters/1/Ports/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/FabricAdapters/1/Ports/1/index.json new file mode 100644 index 00000000..56be2ee1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/FabricAdapters/1/Ports/1/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "1", + "Name": "CXL Port 1", + "Description": "CXL Port 1 in Fabric Adapter", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "RemotePortId": "11", + "PortId": "1", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "2.0", + "CapableProtocolVersions": [ + "1.1", + "2.0" + ], + "PortType": "UpstreamPort", + "PortMedium": "Optical", + "CurrentSpeedGbps": 256, + "Width": 8, + "MaxSpeedGbps": 128, + "ActiveWidth": 4, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T1" + } + ], + "ConnectedSwitches": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL" + } + ], + "ConnectedSwitchPorts": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/FabricAdapters/1/Ports/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/FabricAdapters/1/Ports/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/FabricAdapters/1/Ports/index.json new file mode 100644 index 00000000..eeb2cc21 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/FabricAdapters/1/Ports/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "CXL Port Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/FabricAdapters/1/Ports/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/FabricAdapters/1/Ports", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/FabricAdapters/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/FabricAdapters/1/index.json new file mode 100644 index 00000000..80325436 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/FabricAdapters/1/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#FabricAdapter.v1_5_3.FabricAdapter", + "Id": "1", + "Name": "CXL Fabric Adapter 1", + "Description": "CXL Fabric Adapter for FPGA system", + "Manufacturer": "Contoso", + "Model": "CXL Fabric Adapter Model X", + "PartNumber": "975999-001", + "SparePartNumber": "152111-A01", + "SKU": "Contoso 2-port CXL Adapter Bridge", + "SerialNumber": "2M220100SL", + "FirmwareVersion": "7.4.10", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Ports": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/FabricAdapters/1/Ports" + }, + "Links": { + "Processors": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/Processors/FPGA" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/FabricAdapters/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/FabricAdapters/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/FabricAdapters/index.json new file mode 100644 index 00000000..b73f148c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/FabricAdapters/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#FabricAdapterCollection.FabricAdapterCollection", + "Name": "Fabric Adapter Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/FabricAdapters/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/FabricAdapters", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/PCIeDevices/1/CXLLogicalDevices/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/PCIeDevices/1/CXLLogicalDevices/1/index.json new file mode 100644 index 00000000..89800f17 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/PCIeDevices/1/CXLLogicalDevices/1/index.json @@ -0,0 +1,64 @@ +{ + "@odata.type": "#CXLLogicalDevice.v1_5_0.CXLLogicalDevice", + "Id": "1", + "Name": "CXL Logical Device Type 1", + "Description": "CXL Logical Device Type 1 attached through CXL fabric", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:0001", + "DurableNameFormat": "GCXLID" + } + ], + "SemanticsSupported": [ + "CXLio", + "CXLcache" + ], + "Links": { + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/PCIeDevices/1/PCIeFunctions/1" + } + ], + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T1" + } + ] + }, + "Actions": { + "#CXLLogicalDevice.DisablePassphrase": { + "target": "/redfish/v1/Chassis/PooledCXLType1/PCIeDevices/1/CXLLogicalDevices/1/Actions/CXLLogicalDevice.DisablePassphrase", + "PassphraseType@Redfish.AllowableValues": [ + "User", + "Master" + ] + }, + "#CXLLogicalDevice.SetPassphrase": { + "target": "/redfish/v1/Chassis/PooledCXLType1/PCIeDevices/1/CXLLogicalDevices/1/Actions/CXLLogicalDevice.SetPassphrase", + "PassphraseType@Redfish.AllowableValues": [ + "User", + "Master" + ] + }, + "#CXLLogicalDevice.Unlock": { + "target": "/redfish/v1/Chassis/PooledCXLType1/PCIeDevices/1/CXLLogicalDevices/1/Actions/CXLLogicalDevice.Unlock" + }, + "#CXLLogicalDevice.PassphraseSecureErase": { + "target": "/redfish/v1/Chassis/PooledCXLType1/PCIeDevices/1/CXLLogicalDevices/1/Actions/CXLLogicalDevice.PassphraseSecureErase", + "PassphraseType@Redfish.AllowableValues": [ + "User", + "Master" + ] + }, + "#CXLLogicalDevice.FreezeSecurityState": { + "target": "/redfish/v1/Chassis/PooledCXLType1/PCIeDevices/1/CXLLogicalDevices/1/Actions/CXLLogicalDevice.FreezeSecurityState" + } + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/PCIeDevices/1/CXLLogicalDevices/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/PCIeDevices/1/CXLLogicalDevices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/PCIeDevices/1/CXLLogicalDevices/index.json new file mode 100644 index 00000000..96a6a78d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/PCIeDevices/1/CXLLogicalDevices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#CXLLogicalDeviceCollection.CXLLogicalDeviceCollection", + "Name": "CXL Logical Device Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/PCIeDevices/1/CXLLogicalDevices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/PCIeDevices/1/PCIeFunctions/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/PCIeDevices/1/PCIeFunctions/1/index.json new file mode 100644 index 00000000..f99c6c96 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/PCIeDevices/1/PCIeFunctions/1/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#PCIeFunction.v1_7_0.PCIeFunction", + "Id": "1", + "Name": "CXL Function", + "Description": "PCIe Function with CXL extensions representing FPGA", + "FunctionId": 1, + "FunctionType": "Physical", + "DeviceClass": "Processor", + "DeviceId": "0xABCD", + "VendorId": "0xABCD", + "ClassCode": "0x0B4000", + "RevisionId": "0x00", + "SubsystemId": "0xABCD", + "SubsystemVendorId": "0xABCD", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "FunctionProtocol": "CXL", + "Links": { + "Processor": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/Processors/FPGA" + }, + "CXLLogicalDevice": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/PCIeDevices/1/CXLLogicalDevices/1" + }, + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/PCIeDevices/1" + } + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/PCIeDevices/1/PCIeFunctions/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/PCIeDevices/1/PCIeFunctions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/PCIeDevices/1/PCIeFunctions/index.json new file mode 100644 index 00000000..1384fba1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/PCIeDevices/1/PCIeFunctions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PCIeFunctionCollection.PCIeFunctionCollection", + "Name": "PCIe Function Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/PCIeDevices/1/PCIeFunctions/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/PCIeDevices/1/PCIeFunctions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/PCIeDevices/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/PCIeDevices/1/index.json new file mode 100644 index 00000000..233c8224 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/PCIeDevices/1/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#PCIeDevice.v1_23_0.PCIeDevice", + "Id": "1", + "Name": "CXL Device", + "Description": "CXL Physcial Device Type 1", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeInterface": { + "PCIeType": "Gen5", + "MaxPCIeType": "Gen5", + "LanesInUse": 4, + "MaxLanes": 8 + }, + "PCIeFunctions": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/PCIeDevices/1/PCIeFunctions" + }, + "CXLDevice": { + "DeviceType": "Type1", + "CurrentProtocolVersion": "CXL2_0", + "CapableProtocolVersions": [ + "CXL1_1", + "CXL2_0" + ], + "EgressPortCongestionSupport": true, + "TemporaryThroughputReductionSupported": true, + "TemporaryThroughputReductionEnabled": true, + "MaxNumberLogicalDevices": 1, + "Timestamp": "2022-09-08T12:25:00-05:00" + }, + "CXLLogicalDevices": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/PCIeDevices/1/CXLLogicalDevices" + }, + "StagedVersion": "1.4.2.0", + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/PCIeDevices/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/PCIeDevices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/PCIeDevices/index.json new file mode 100644 index 00000000..50947dde --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/PCIeDevices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PCIeDeviceCollection.PCIeDeviceCollection", + "Name": "PCIe Device Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/PCIeDevices/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/PCIeDevices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/Processors/FPGA/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/Processors/FPGA/index.json new file mode 100644 index 00000000..788a26b5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/Processors/FPGA/index.json @@ -0,0 +1,42 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "FPGA", + "Name": "FPGA with cache", + "Description": "FPGA with cache accessible through CXL fabric", + "ProcessorType": "FPGA", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "ProcessorMemory": [ + { + "IntegratedMemory": true, + "MemoryType": "Cache", + "CapacityMiB": 64 + } + ], + "MemorySummary": { + "TotalMemorySizeMiB": 0, + "TotalCacheSizeMiB": 64 + }, + "Links": { + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/PCIeDevices/1/PCIeFunctions/1" + } + ], + "FabricAdapters": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/FabricAdapters/1" + } + ], + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/Processors/FPGA", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/Processors/index.json new file mode 100644 index 00000000..78b44aaf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/Processors/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processor Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/Processors/FPGA" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/index.json new file mode 100644 index 00000000..679166f4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType1/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "PooledCXLType1", + "Name": "Pooled CXL Device Type 1 chassis", + "ChassisType": "Blade", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeDevices": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/PCIeDevices" + }, + "Processors": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/Processors" + }, + "FabricAdapters": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/FabricAdapters" + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/FabricAdapters/1/Ports/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/FabricAdapters/1/Ports/1/index.json new file mode 100644 index 00000000..bf9852a8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/FabricAdapters/1/Ports/1/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "1", + "Name": "CXL Port 1", + "Description": "CXL Port 1 in Fabric Adapter", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "RemotePortId": "12", + "PortId": "1", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "2.0", + "CapableProtocolVersions": [ + "1.1", + "2.0" + ], + "PortType": "UpstreamPort", + "PortMedium": "Optical", + "CurrentSpeedGbps": 256, + "Width": 8, + "MaxSpeedGbps": 128, + "ActiveWidth": 4, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2" + } + ], + "ConnectedSwitches": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL" + } + ], + "ConnectedSwitchPorts": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D2" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/FabricAdapters/1/Ports/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/FabricAdapters/1/Ports/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/FabricAdapters/1/Ports/index.json new file mode 100644 index 00000000..95c536c6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/FabricAdapters/1/Ports/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "CXL Port Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/FabricAdapters/1/Ports/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/FabricAdapters/1/Ports", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/FabricAdapters/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/FabricAdapters/1/index.json new file mode 100644 index 00000000..c21fe640 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/FabricAdapters/1/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#FabricAdapter.v1_5_3.FabricAdapter", + "Id": "1", + "Name": "CXL Fabric Adapter 1", + "Description": "CXL Fabric Adapter for memory system", + "Manufacturer": "Contoso", + "Model": "CXL Fabric Adapter Model X", + "PartNumber": "975999-001", + "SparePartNumber": "152111-A01", + "SKU": "Contoso 2-port CXL Adapter Bridge", + "SerialNumber": "2M220100SL", + "FirmwareVersion": "7.4.10", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Ports": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/FabricAdapters/1/Ports" + }, + "Links": { + "Processors": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/Processors/GPU" + } + ], + "MemoryDomains": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/MemoryDomains/1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/FabricAdapters/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/FabricAdapters/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/FabricAdapters/index.json new file mode 100644 index 00000000..5bb9710d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/FabricAdapters/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#FabricAdapterCollection.FabricAdapterCollection", + "Name": "Fabric Adapter Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/FabricAdapters/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/FabricAdapters", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/Memory/HBM/MemoryMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/Memory/HBM/MemoryMetrics/index.json new file mode 100644 index 00000000..d2371e6d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/Memory/HBM/MemoryMetrics/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#MemoryMetrics.v1_8_0.MemoryMetrics", + "Name": "Memory Metrics", + "Id": "Metrics", + "LifeTime": { + "CorrectableECCErrorCount": 16, + "UncorrectableECCErrorCount": 8 + }, + "CurrentPeriod": { + "CorrectableECCErrorCount": 4, + "UncorrectableECCErrorCount": 4 + }, + "CXL": { + "AlertCapabilities": { + "Temperature": true, + "UncorrectableECCError": false, + "CorrectableECCError": false + } + }, + "Actions": { + "#MemoryMetrics.ClearCurrentPeriod": { + "target": "/redfish/v1/Chassis/PooledCXLType2/Memory/HBM/MemoryMetrics/Actions/MemoryMetrics.ClearCurrentPeriod" + } + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/Memory/HBM/MemoryMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/Memory/HBM/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/Memory/HBM/index.json new file mode 100644 index 00000000..b8af4267 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/Memory/HBM/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "HBM", + "MemoryType": "DRAM", + "MemoryDeviceType": "HBM2", + "MemoryMedia": [ + "DRAM" + ], + "Name": "HBM memory", + "CapacityMiB": 16384, + "OperatingSpeedMhz": 1333, + "Status": { + "Health": "OK", + "State": "Enabled", + "HealthRollup": "OK" + }, + "Metrics": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/Memory/HBM/MemoryMetrics" + }, + "Links": { + "Processors": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/Processors/GPU" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/Memory/HBM", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/Memory/index.json new file mode 100644 index 00000000..44b8435d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/Memory/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Collection", + "Description": "Memory Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/Memory/HBM" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/MemoryDomains/1/MemoryChunks/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/MemoryDomains/1/MemoryChunks/1/index.json new file mode 100644 index 00000000..fb150178 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/MemoryDomains/1/MemoryChunks/1/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#MemoryChunks.v1_7_0.MemoryChunks", + "Id": "1", + "Name": "Memory Chunk 1", + "Description": "Memory chunk accessible through CXL", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MemoryChunkSizeMiB": 4096, + "AddressRangeType": "Volatile", + "AddressRangeOffsetMiB": 1024, + "MediaLocation": "Local", + "RequestedOperationalState": "Online", + "Links": { + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/MemoryDomains/1/MemoryChunks/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/MemoryDomains/1/MemoryChunks/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/MemoryDomains/1/MemoryChunks/index.json new file mode 100644 index 00000000..d309223c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/MemoryDomains/1/MemoryChunks/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryChunksCollection.MemoryChunksCollection", + "Name": "Memory Chunks Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/MemoryDomains/1/MemoryChunks/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/MemoryDomains/1/MemoryChunks", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/MemoryDomains/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/MemoryDomains/1/index.json new file mode 100644 index 00000000..3bbd02b0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/MemoryDomains/1/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#MemoryDomain.v1_5_1.MemoryDomain", + "Id": "1", + "Name": "GPU HBM Memory Domain", + "Description": "GPU HBM Memory Domain accessible through CXL fabric", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "MemoryChunks": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/MemoryDomains/1/MemoryChunks" + }, + "AllowsMemoryChunkCreation": true, + "MinMemoryChunkSizeMiB": 64, + "MemoryChunkIncrementMiB": 64, + "MemorySizeMiB": 262144, + "InterleavableMemorySets": [ + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/Memory/HBM" + } + ] + } + ], + "Links": { + "FabricAdapters": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/FabricAdapters/1" + } + ], + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices/1/CXLLogicalDevices/1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/MemoryDomains/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/MemoryDomains/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/MemoryDomains/index.json new file mode 100644 index 00000000..f58d9fba --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/MemoryDomains/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryDomainCollection.MemoryDomainCollection", + "Name": "Memory Domain Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/MemoryDomains/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/MemoryDomains", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/PCIeDevices/1/CXLLogicalDevices/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/PCIeDevices/1/CXLLogicalDevices/1/index.json new file mode 100644 index 00000000..a6fd3d8a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/PCIeDevices/1/CXLLogicalDevices/1/index.json @@ -0,0 +1,83 @@ +{ + "@odata.type": "#CXLLogicalDevice.v1_5_0.CXLLogicalDevice", + "Id": "1", + "Name": "CXL Logical Device Type 2", + "Description": "CXL Logical Device Type 2 attached through CXL fabric", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:0001", + "DurableNameFormat": "GCXLID" + } + ], + "SemanticsSupported": [ + "CXLio", + "CXLcache", + "CXLmem" + ], + "QoSTelemetryCapabilities": { + "EgressPortBackpressureSupported": true + }, + "QoS": { + "AllocatedBandwidth": 64, + "LimitPercent": 85 + }, + "MemorySizeMiB": 16384, + "Links": { + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices/1/PCIeFunctions/1" + } + ], + "MemoryChunks": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/MemoryDomains/1/MemoryChunks/1" + } + ], + "MemoryDomains": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/MemoryDomains/1" + } + ], + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2" + } + ] + }, + "Actions": { + "#CXLLogicalDevice.DisablePassphrase": { + "target": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices/1/CXLLogicalDevices/1/Actions/CXLLogicalDevice.DisablePassphrase", + "PassphraseType@Redfish.AllowableValues": [ + "User", + "Master" + ] + }, + "#CXLLogicalDevice.SetPassphrase": { + "target": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices/1/CXLLogicalDevices/1/Actions/CXLLogicalDevice.SetPassphrase", + "PassphraseType@Redfish.AllowableValues": [ + "User", + "Master" + ] + }, + "#CXLLogicalDevice.Unlock": { + "target": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices/1/CXLLogicalDevices/1/Actions/CXLLogicalDevice.Unlock" + }, + "#CXLLogicalDevice.PassphraseSecureErase": { + "target": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices/1/CXLLogicalDevices/1/Actions/CXLLogicalDevice.PassphraseSecureErase", + "PassphraseType@Redfish.AllowableValues": [ + "User", + "Master" + ] + }, + "#CXLLogicalDevice.FreezeSecurityState": { + "target": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices/1/CXLLogicalDevices/1/Actions/CXLLogicalDevice.FreezeSecurityState" + } + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices/1/CXLLogicalDevices/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/PCIeDevices/1/CXLLogicalDevices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/PCIeDevices/1/CXLLogicalDevices/index.json new file mode 100644 index 00000000..de5b5da5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/PCIeDevices/1/CXLLogicalDevices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#CXLLogicalDeviceCollection.CXLLogicalDeviceCollection", + "Name": "CXL Logical Device Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices/1/CXLLogicalDevices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/PCIeDevices/1/PCIeFunctions/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/PCIeDevices/1/PCIeFunctions/1/index.json new file mode 100644 index 00000000..f0754222 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/PCIeDevices/1/PCIeFunctions/1/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#PCIeFunction.v1_7_0.PCIeFunction", + "Id": "1", + "Name": "CXL Function", + "Description": "PCIe Function with CXL extensions representing GPU", + "FunctionId": 1, + "FunctionType": "Physical", + "DeviceClass": "ProcessingAccelerators", + "DeviceId": "0xABCD", + "VendorId": "0xABCD", + "ClassCode": "0x120000", + "RevisionId": "0x00", + "SubsystemId": "0xABCD", + "SubsystemVendorId": "0xABCD", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "FunctionProtocol": "CXL", + "Links": { + "Processor": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/Processors/GPU" + }, + "CXLLogicalDevice": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices/1/CXLLogicalDevices/1" + }, + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices/1" + } + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices/1/PCIeFunctions/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/PCIeDevices/1/PCIeFunctions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/PCIeDevices/1/PCIeFunctions/index.json new file mode 100644 index 00000000..9b4ee19b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/PCIeDevices/1/PCIeFunctions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PCIeFunctionCollection.PCIeFunctionCollection", + "Name": "PCIe Function Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices/1/PCIeFunctions/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices/1/PCIeFunctions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/PCIeDevices/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/PCIeDevices/1/index.json new file mode 100644 index 00000000..281d2b0b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/PCIeDevices/1/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#PCIeDevice.v1_23_0.PCIeDevice", + "Id": "1", + "Name": "CXL Device", + "Description": "CXL Physcial Device Type 2", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeInterface": { + "PCIeType": "Gen5", + "MaxPCIeType": "Gen5", + "LanesInUse": 4, + "MaxLanes": 8 + }, + "PCIeFunctions": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices/1/PCIeFunctions" + }, + "CXLDevice": { + "DeviceType": "Type2", + "CurrentProtocolVersion": "CXL2_0", + "CapableProtocolVersions": [ + "CXL1_1", + "CXL2_0" + ], + "EgressPortCongestionSupport": true, + "TemporaryThroughputReductionSupported": true, + "TemporaryThroughputReductionEnabled": true, + "MaxNumberLogicalDevices": 16, + "Timestamp": "2022-09-08T12:25:00-05:00" + }, + "CXLLogicalDevices": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices/1/CXLLogicalDevices" + }, + "StagedVersion": "1.4.2.0", + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/PCIeDevices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/PCIeDevices/index.json new file mode 100644 index 00000000..fcba823b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/PCIeDevices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PCIeDeviceCollection.PCIeDeviceCollection", + "Name": "PCIe Device Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/Processors/GPU/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/Processors/GPU/index.json new file mode 100644 index 00000000..6c0d62a0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/Processors/GPU/index.json @@ -0,0 +1,53 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "GPU", + "Name": "GPU with HBM memory", + "Description": "GPU with cache and HBM memory accessible through CXL fabric", + "ProcessorType": "GPU", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "ProcessorMemory": [ + { + "IntegratedMemory": false, + "MemoryType": "HBM2", + "CapacityMiB": 16384, + "SpeedMHz": 1033 + }, + { + "IntegratedMemory": true, + "MemoryType": "Cache", + "CapacityMiB": 64 + } + ], + "MemorySummary": { + "TotalMemorySizeMiB": 16384, + "TotalCacheSizeMiB": 64 + }, + "Links": { + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices/1/PCIeFunctions/1" + } + ], + "FabricAdapters": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/FabricAdapters/1" + } + ], + "Memory": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/Memory/HBM" + } + ], + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/Processors/GPU", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/Processors/index.json new file mode 100644 index 00000000..cc0f1160 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/Processors/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processor Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/Processors/GPU" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/index.json new file mode 100644 index 00000000..2d323839 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType2/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "PooledCXLType2", + "Name": "Pooled CXL Device Type 2 chassis", + "PowerState": "On", + "ChassisType": "Blade", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeDevices": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices" + }, + "FabricAdapters": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/FabricAdapters" + }, + "Processors": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/Memory" + }, + "MemoryDomains": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/MemoryDomains" + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/FabricAdapters/1/Ports/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/FabricAdapters/1/Ports/1/index.json new file mode 100644 index 00000000..b5ccf444 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/FabricAdapters/1/Ports/1/index.json @@ -0,0 +1,53 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "1", + "Name": "CXL Port 1", + "Description": "CXL Port 1 in Fabric Adapter", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "RemotePortId": "12", + "PortId": "1", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "3.1", + "CapableProtocolVersions": [ + "1.1", + "2.0", + "3.0", + "3.1" + ], + "PortType": "UpstreamPort", + "PortMedium": "Optical", + "CurrentSpeedGbps": 256, + "Width": 8, + "MaxSpeedGbps": 128, + "ActiveWidth": 4, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T4" + } + ], + "ConnectedSwitches": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL" + } + ], + "ConnectedSwitchPorts": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D4" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/FabricAdapters/1/Ports/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/FabricAdapters/1/Ports/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/FabricAdapters/1/Ports/index.json new file mode 100644 index 00000000..d130bd3b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/FabricAdapters/1/Ports/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "CXL Port Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/FabricAdapters/1/Ports/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/FabricAdapters/1/Ports", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/FabricAdapters/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/FabricAdapters/1/index.json new file mode 100644 index 00000000..8a088c12 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/FabricAdapters/1/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#FabricAdapter.v1_5_3.FabricAdapter", + "Id": "1", + "Name": "CXL Fabric Adapter 1", + "Description": "CXL Fabric Adapter for memory system", + "Manufacturer": "Contoso", + "Model": "CXL Fabric Adapter Model X", + "PartNumber": "975999-001", + "SparePartNumber": "152111-A01", + "SKU": "Contoso 2-port CXL Adapter Bridge", + "SerialNumber": "2M220100SL", + "FirmwareVersion": "7.4.10", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Ports": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/FabricAdapters/1/Ports" + }, + "Links": { + "MemoryDomains": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/FabricAdapters/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/FabricAdapters/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/FabricAdapters/index.json new file mode 100644 index 00000000..527e61f7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/FabricAdapters/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#FabricAdapterCollection.FabricAdapterCollection", + "Name": "Fabric Adapter Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/FabricAdapters/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/FabricAdapters", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/Memory/3DXP/InjectPersistentPoisonActionInfo/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/Memory/3DXP/InjectPersistentPoisonActionInfo/index.json new file mode 100644 index 00000000..c627000c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/Memory/3DXP/InjectPersistentPoisonActionInfo/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#ActionInfo.v1_6_0.ActionInfo", + "Id": "InjectPersistentPoisonActionInfo", + "Name": "Inject Persistent Poison Action Info", + "Parameters": [ + { + "Name": "PhysicalAddress", + "Required": true, + "DataType": "String" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/Memory/3DXP/InjectPersistentPoisonActionInfo", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/Memory/3DXP/MemoryMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/Memory/3DXP/MemoryMetrics/index.json new file mode 100644 index 00000000..f45d10e1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/Memory/3DXP/MemoryMetrics/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#MemoryMetrics.v1_8_0.MemoryMetrics", + "Name": "Memory Metrics", + "Id": "Metrics", + "BlockSizeBytes": 4096, + "CurrentPeriod": { + "BlocksRead": 0, + "BlocksWritten": 0 + }, + "LifeTime": { + "BlocksRead": 0, + "BlocksWritten": 0 + }, + "CorrectedVolatileErrorCount": 26, + "CorrectedPersistentErrorCount": 16, + "DirtyShutdownCount": 1, + "CXL": { + "AlertCapabilities": { + "Temperature": true, + "SpareBlock": false, + "UncorrectableECCError": false, + "CorrectableECCError": false + } + }, + "HealthData": { + "RemainingSpareBlockPercentage": 50, + "LastShutdownSuccess": true, + "DataLossDetected": false, + "PerformanceDegraded": false + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/Memory/3DXP/MemoryMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/Memory/3DXP/ScanMediaActionInfo/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/Memory/3DXP/ScanMediaActionInfo/index.json new file mode 100644 index 00000000..8e59f267 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/Memory/3DXP/ScanMediaActionInfo/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#ActionInfo.v1_6_0.ActionInfo", + "Id": "ScanMediaActionInfo", + "Name": "Scan Media Action Info", + "Parameters": [ + { + "Name": "PhysicalAddress", + "Required": true, + "DataType": "String" + }, + { + "Name": "Length", + "Required": true, + "DataType": "Number" + }, + { + "Name": "NoEventLog", + "Required": false, + "DataType": "Boolean" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/Memory/3DXP/ScanMediaActionInfo", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/Memory/3DXP/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/Memory/3DXP/index.json new file mode 100644 index 00000000..e3227e5c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/Memory/3DXP/index.json @@ -0,0 +1,85 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "3DXP", + "Name": "3DXP memory", + "MemoryType": "IntelOptane", + "MemoryMedia": [ + "Intel3DXPoint" + ], + "CapacityMiB": 16384, + "OperatingSpeedMhz": 1333, + "Status": { + "Health": "OK", + "State": "Enabled", + "HealthRollup": "OK" + }, + "PoisonListMaxMediaErrorRecords": 2048, + "CXL": { + "LabelStorageSizeBytes": 1280, + "StagedVolatileSizeMiB": 0, + "StagedNonVolatileSizeMiB": 16384 + }, + "VolatileSizeLimitMiB": 0, + "NonVolatileSizeLimitMiB": 16384, + "Regions": [ + { + "RegionId": "1", + "MemoryClassification": "ByteAccessiblePersistent", + "OffsetMiB": 0, + "SizeMiB": 8192, + "PassphraseEnabled": false, + "MasterPassphraseEnabled": false + }, + { + "RegionId": "2", + "MemoryClassification": "ByteAccessiblePersistent", + "OffsetMiB": 8192, + "SizeMiB": 8192, + "PassphraseEnabled": false, + "MasterPassphraseEnabled": false + } + ], + "SecurityStates": { + "UserPassphraseAttemptCountReached": true, + "MasterPassphraseAttemptCountReached": true + }, + "HealthData": { + "PredictedMediaLifeLeftPercent": 75 + }, + "Actions": { + "#Memory.SetMasterPassphrase": { + "target": "/redfish/v1/Chassis/PooledCXLType3/Memory/3DXP/Actions/Memory.SetMasterPassphrase", + "RegionId@Redfish.AllowableValues": [ + "1", + "2" + ] + }, + "#Memory.DisableMasterPassphrase": { + "target": "/redfish/v1/Chassis/PooledCXLType3/Memory/3DXP/Actions/Memory.DisableMasterPassphrase", + "RegionId@Redfish.AllowableValues": [ + "1", + "2" + ] + }, + "#Memory.SecureEraseUnit": { + "target": "/redfish/v1/Chassis/PooledCXLType3/Memory/3DXP/Actions/Memory.SecureEraseUnit", + "RegionId@Redfish.AllowableValues": [ + "1", + "2" + ] + }, + "#Memory.FreezeSecurityState": { + "target": "/redfish/v1/Chassis/PooledCXLType3/Memory/3DXP/Actions/Memory.FreezeSecurityState" + }, + "#Memory.InjectPersistentPoison": { + "target": "/redfish/v1/Chassis/PooledCXLType3/Memory/3DXP/Actions/Memory.InjectPersistentPoison", + "@Redfish.ActionInfo": "/redfish/v1/Chassis/PooledCXLType3/Memory/3DXP/InjectPersistentPoisonActionInfo" + }, + "#Memory.ScanMedia": { + "target": "/redfish/v1/Chassis/PooledCXLType3/Memory/3DXP/Actions/Memory.ScanMedia", + "@Redfish.ActionInfo": "/redfish/v1/Chassis/PooledCXLType3/Memory/3DXP/ScanMediaActionInfo" + } + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/Memory/3DXP", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/Memory/index.json new file mode 100644 index 00000000..de1448c2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/Memory/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Collection", + "Description": "Memory Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/Memory/3DXP" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/MemoryDomains/1/MemoryChunks/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/MemoryDomains/1/MemoryChunks/1/index.json new file mode 100644 index 00000000..351c6b3e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/MemoryDomains/1/MemoryChunks/1/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#MemoryChunks.v1_7_0.MemoryChunks", + "Id": "1", + "Name": "Memory Chunk 1", + "Description": "Memory chunk accessible through CXL fabric", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MemoryChunkSizeMiB": 16384, + "AddressRangeType": "PMEM", + "AddressRangeOffsetMiB": 0, + "MediaLocation": "Local", + "RequestedOperationalState": "Online", + "Links": { + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/1/MemoryChunks/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/MemoryDomains/1/MemoryChunks/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/MemoryDomains/1/MemoryChunks/index.json new file mode 100644 index 00000000..45326427 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/MemoryDomains/1/MemoryChunks/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryChunksCollection.MemoryChunksCollection", + "Name": "Memory Chunks Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/1/MemoryChunks/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/1/MemoryChunks", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/MemoryDomains/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/MemoryDomains/1/index.json new file mode 100644 index 00000000..a88c4a15 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/MemoryDomains/1/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#MemoryDomain.v1_5_1.MemoryDomain", + "Id": "1", + "Name": "CXL DIMM Memory Domain", + "Description": "DIMM Memory Domain accessible through CXL fabric", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "MemoryChunks": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/1/MemoryChunks" + }, + "AllowsMemoryChunkCreation": true, + "MinMemoryChunkSizeMiB": 64, + "MemoryChunkIncrementMiB": 64, + "MemorySizeMiB": 16384, + "InterleavableMemorySets": [ + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/Memory/3DXP" + } + ] + } + ], + "Links": { + "FabricAdapters": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/FabricAdapters/1" + } + ], + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/1" + } + ], + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions/1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/MemoryDomains/6/MemoryChunks/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/MemoryDomains/6/MemoryChunks/1/index.json new file mode 100644 index 00000000..9c79fb72 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/MemoryDomains/6/MemoryChunks/1/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#MemoryChunks.v1_7_0.MemoryChunks", + "Id": "1", + "Name": "Memory Chunk 1", + "Description": "Memory chunk accessible through CXL fabric", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MemoryChunkSizeMiB": 4096, + "AddressRangeType": "PMEM", + "AddressRangeOffsetMiB": 1024, + "MediaLocation": "Local", + "RequestedOperationalState": "Online", + "Links": { + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/6" + } + ], + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T4" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/6/MemoryChunks/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/MemoryDomains/6/MemoryChunks/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/MemoryDomains/6/MemoryChunks/index.json new file mode 100644 index 00000000..1fbadd8c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/MemoryDomains/6/MemoryChunks/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryChunksCollection.MemoryChunksCollection", + "Name": "Memory Chunks Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/6/MemoryChunks/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/6/MemoryChunks", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/MemoryDomains/6/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/MemoryDomains/6/index.json new file mode 100644 index 00000000..6631544f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/MemoryDomains/6/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#MemoryDomain.v1_5_1.MemoryDomain", + "Id": "6", + "Name": "CXL DIMM Memory Domain 6", + "Description": "DIMM Memory Domain accessible through CXL fabric", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "MemoryChunks": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/6/MemoryChunks" + }, + "AllowsMemoryChunkCreation": true, + "MinMemoryChunkSizeMiB": 64, + "MemoryChunkIncrementMiB": 64, + "MemorySizeMiB": 262144, + "InterleavableMemorySets": [ + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/Memory/3DXP" + } + ] + } + ], + "Links": { + "FabricAdapters": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/FabricAdapters/1" + } + ], + "CXLLogicalDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/6" + } + ], + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions/6" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/6", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/MemoryDomains/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/MemoryDomains/index.json new file mode 100644 index 00000000..7ffcd5e0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/MemoryDomains/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#MemoryDomainCollection.MemoryDomainCollection", + "Name": "Memory Domain Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/6" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/1/MemoryRegions/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/1/MemoryRegions/1/index.json new file mode 100644 index 00000000..07d5a0af --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/1/MemoryRegions/1/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#MemoryRegion.v1_1_0.MemoryRegion", + "Id": "1", + "Name": "Static Memory Region 1", + "Description": "CXL Static Memory Region 1 of LD 1 in Device 1", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "RegionType": "Static", + "RegionNumber": 0, + "NonVolatileRegion": true, + "RegionBaseOffsetMiB": 0, + "RegionSizeMiB": 16384, + "ShareableRegion": false, + "SanitizeOnRelease": true, + "BlockSizeMiB": 128, + "ExtentsCount": 1, + "MemoryExtents": [ + { + "ExtentOffsetMiB": 0, + "ExtentSizeMiB": 16384, + "Tag": "User Defined Tag", + "SequenceNumber": 0 + } + ], + "MemoryChunks": [ + { + "ChunkOffsetMiB": 0, + "ChunkLink": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/1/MemoryChunks/1" + } + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/1/MemoryRegions/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/1/MemoryRegions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/1/MemoryRegions/index.json new file mode 100644 index 00000000..6a854fdf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/1/MemoryRegions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryRegionCollection.MemoryRegionCollection", + "Name": "Memory Region Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/1/MemoryRegions/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/1/MemoryRegions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/1/index.json new file mode 100644 index 00000000..899ad6aa --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/1/index.json @@ -0,0 +1,85 @@ +{ + "@odata.type": "#CXLLogicalDevice.v1_5_0.CXLLogicalDevice", + "Id": "1", + "Name": "CXL Logical Device Type 3", + "Description": "CXL Logical Device Type 3 accessible through CXL fabric", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:0001", + "DurableNameFormat": "GCXLID" + } + ], + "SemanticsSupported": [ + "CXLio", + "CXLmem" + ], + "QoSTelemetryCapabilities": { + "EgressPortBackpressureSupported": true + }, + "QoS": { + "AllocatedBandwidth": 64, + "LimitPercent": 85 + }, + "MemorySizeMiB": 16384, + "MemoryRegions": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/1/MemoryRegions" + }, + "Links": { + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions/1" + } + ], + "MemoryChunks": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/1/MemoryChunks/1" + } + ], + "MemoryDomains": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/1" + } + ], + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3" + } + ] + }, + "Actions": { + "#CXLLogicalDevice.DisablePassphrase": { + "target": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/1/Actions/CXLLogicalDevice.DisablePassphrase", + "PassphraseType@Redfish.AllowableValues": [ + "User", + "Master" + ] + }, + "#CXLLogicalDevice.SetPassphrase": { + "target": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/1/Actions/CXLLogicalDevice.SetPassphrase", + "PassphraseType@Redfish.AllowableValues": [ + "User", + "Master" + ] + }, + "#CXLLogicalDevice.Unlock": { + "target": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/1/Actions/CXLLogicalDevice.Unlock" + }, + "#CXLLogicalDevice.PassphraseSecureErase": { + "target": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/1/Actions/CXLLogicalDevice.PassphraseSecureErase", + "PassphraseType@Redfish.AllowableValues": [ + "User", + "Master" + ] + }, + "#CXLLogicalDevice.FreezeSecurityState": { + "target": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/1/Actions/CXLLogicalDevice.FreezeSecurityState" + } + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/6/MemoryRegions/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/6/MemoryRegions/1/index.json new file mode 100644 index 00000000..c345fc49 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/6/MemoryRegions/1/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#MemoryRegion.v1_1_0.MemoryRegion", + "Id": "1", + "Name": "Static Memory Region 1", + "Description": "CXL Static Memory Region 1 of LD 1 in Device 1", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "RegionType": "Static", + "RegionNumber": 0, + "NonVolatileRegion": true, + "RegionBaseOffsetMiB": 0, + "RegionSizeMiB": 16384, + "ShareableRegion": false, + "SanitizeOnRelease": true, + "BlockSizeMiB": 128, + "ExtentsCount": 1, + "MemoryExtents": [ + { + "ExtentOffsetMiB": 0, + "ExtentSizeMiB": 16384, + "Tag": "User Defined Tag", + "SequenceNumber": 0 + } + ], + "MemoryChunks": [ + { + "ChunkOffsetMiB": 0, + "ChunkLink": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/6/MemoryChunks/1" + } + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/6/MemoryRegions/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/6/MemoryRegions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/6/MemoryRegions/index.json new file mode 100644 index 00000000..13c94298 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/6/MemoryRegions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryRegionCollection.MemoryRegionCollection", + "Name": "Memory Region Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/6/MemoryRegions/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/6/MemoryRegions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/6/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/6/index.json new file mode 100644 index 00000000..1118ea94 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/6/index.json @@ -0,0 +1,85 @@ +{ + "@odata.type": "#CXLLogicalDevice.v1_5_0.CXLLogicalDevice", + "Id": "6", + "Name": "CXL Logical Device Type 3", + "Description": "CXL Logical Device Type 3 accessible through CXL fabric", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:0006", + "DurableNameFormat": "GCXLID" + } + ], + "SemanticsSupported": [ + "CXLio", + "CXLmem" + ], + "QoSTelemetryCapabilities": { + "EgressPortBackpressureSupported": true + }, + "QoS": { + "AllocatedBandwidth": 64, + "LimitPercent": 85 + }, + "MemorySizeMiB": 16384, + "MemoryRegions": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/6/MemoryRegions" + }, + "Links": { + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions/6" + } + ], + "MemoryChunks": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/6/MemoryChunks/1" + } + ], + "MemoryDomains": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/6" + } + ], + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T4" + } + ] + }, + "Actions": { + "#CXLLogicalDevice.DisablePassphrase": { + "target": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/6/Actions/CXLLogicalDevice.DisablePassphrase", + "PassphraseType@Redfish.AllowableValues": [ + "User", + "Master" + ] + }, + "#CXLLogicalDevice.SetPassphrase": { + "target": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/6/Actions/CXLLogicalDevice.SetPassphrase", + "PassphraseType@Redfish.AllowableValues": [ + "User", + "Master" + ] + }, + "#CXLLogicalDevice.Unlock": { + "target": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/6/Actions/CXLLogicalDevice.Unlock" + }, + "#CXLLogicalDevice.PassphraseSecureErase": { + "target": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/6/Actions/CXLLogicalDevice.PassphraseSecureErase", + "PassphraseType@Redfish.AllowableValues": [ + "User", + "Master" + ] + }, + "#CXLLogicalDevice.FreezeSecurityState": { + "target": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/6/Actions/CXLLogicalDevice.FreezeSecurityState" + } + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/6", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/index.json new file mode 100644 index 00000000..188e0ed1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#CXLLogicalDeviceCollection.CXLLogicalDeviceCollection", + "Name": "CXL Logical Device Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/6" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions/1/index.json new file mode 100644 index 00000000..09fa269b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions/1/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#PCIeFunction.v1_7_0.PCIeFunction", + "Id": "1", + "Name": "CXL Function", + "Description": "PCIe Function with CXL extensions representing Memory Controller", + "FunctionId": 1, + "FunctionType": "Physical", + "DeviceClass": "MemoryController", + "DeviceId": "0xABCD", + "VendorId": "0xABCD", + "ClassCode": "0x050210", + "RevisionId": "0x00", + "SubsystemId": "0xABCD", + "SubsystemVendorId": "0xABCD", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "FunctionProtocol": "CXL", + "Links": { + "MemoryDomains": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/1" + } + ], + "CXLLogicalDevice": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/1" + }, + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1" + } + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions/6/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions/6/index.json new file mode 100644 index 00000000..45e373c7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions/6/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#PCIeFunction.v1_7_0.PCIeFunction", + "Id": "6", + "Name": "CXL Function", + "Description": "PCIe Function with CXL extensions representing Memory Controller", + "FunctionId": 1, + "FunctionType": "Physical", + "DeviceClass": "MemoryController", + "DeviceId": "0xABCD", + "VendorId": "0xABCD", + "ClassCode": "0x050210", + "RevisionId": "0x00", + "SubsystemId": "0xABCD", + "SubsystemVendorId": "0xABCD", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "FunctionProtocol": "CXL", + "Links": { + "MemoryDomains": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/6" + } + ], + "CXLLogicalDevice": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/6" + }, + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1" + } + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions/6", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions/index.json new file mode 100644 index 00000000..3565162c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PCIeFunctionCollection.PCIeFunctionCollection", + "Name": "PCIe Function Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/index.json new file mode 100644 index 00000000..1e72e388 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/1/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#PCIeDevice.v1_23_0.PCIeDevice", + "Id": "1", + "Name": "CXL Device", + "Description": "CXL Physcial Device Type 3", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeInterface": { + "PCIeType": "Gen5", + "MaxPCIeType": "Gen5", + "LanesInUse": 8, + "MaxLanes": 16 + }, + "PCIeFunctions": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/PCIeFunctions" + }, + "CXLDevice": { + "DeviceType": "Type3", + "CurrentProtocolVersion": "CXL2_0", + "CapableProtocolVersions": [ + "CXL1_1", + "CXL2_0" + ], + "EgressPortCongestionSupport": true, + "TemporaryThroughputReductionSupported": true, + "TemporaryThroughputReductionEnabled": true, + "MaxNumberLogicalDevices": 16, + "Timestamp": "2022-09-08T12:25:00-05:00" + }, + "CXLLogicalDevices": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices" + }, + "StagedVersion": "1.4.2.0", + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/index.json new file mode 100644 index 00000000..85af5efc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/PCIeDevices/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PCIeDeviceCollection.PCIeDeviceCollection", + "Name": "PCIe Device Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/index.json new file mode 100644 index 00000000..43c74b52 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/PooledCXLType3/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "PooledCXLType3", + "Name": "Pooled CXL Device Type 3 chassis", + "PowerState": "On", + "ChassisType": "Module", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeDevices": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices" + }, + "FabricAdapters": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/FabricAdapters" + }, + "Memory": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/Memory" + }, + "MemoryDomains": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains" + }, + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/index.json new file mode 100644 index 00000000..0b981f75 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Chassis/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#ChassisCollection.ChassisCollection", + "Name": "Chassis Collection", + "Members@odata.count": 7, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXLType1" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXLType2" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXLType3" + }, + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1" + }, + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2" + }, + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3" + } + ], + "@odata.id": "/redfish/v1/Chassis", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Connections/12/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Connections/12/index.json new file mode 100644 index 00000000..0539de63 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Connections/12/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#Connection.v1_4_0.Connection", + "Id": "12", + "Name": "Connection 12", + "Description": "CXL Connection 12 Information", + "ConnectionType": "Memory", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "MemoryChunkInfo": [ + { + "AccessCapabilities": [ + "Read", + "Write" + ], + "MemoryChunk": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/MemoryDomains/1/MemoryChunks/1" + } + } + ], + "Links": { + "InitiatorEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2" + } + ], + "TargetEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/12", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Connections/13/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Connections/13/index.json new file mode 100644 index 00000000..bbcc5460 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Connections/13/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#Connection.v1_4_0.Connection", + "Id": "13", + "Name": "Connection 13", + "Description": "CXL Connection 13 Information", + "ConnectionType": "Memory", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "MemoryChunkInfo": [ + { + "AccessCapabilities": [ + "Read", + "Write" + ], + "MemoryChunk": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/1/MemoryChunks/1" + } + } + ], + "Links": { + "InitiatorEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I3" + } + ], + "TargetEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/13", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Connections/14/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Connections/14/index.json new file mode 100644 index 00000000..e2b2500a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Connections/14/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#Connection.v1_4_0.Connection", + "Id": "14", + "Name": "Connection 14", + "Description": "CXL Connection 14 Information", + "ConnectionType": "Memory", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "MemoryChunkInfo": [ + { + "AccessCapabilities": [ + "Read", + "Write" + ], + "MemoryChunk": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/6/MemoryChunks/1" + } + } + ], + "Links": { + "InitiatorEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I4" + } + ], + "TargetEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T4" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/14", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Connections/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Connections/index.json new file mode 100644 index 00000000..09b6f00f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Connections/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#ConnectionCollection.ConnectionCollection", + "Name": "CXL Connection Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/12" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/13" + } + ], + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/I1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/I1/index.json new file mode 100644 index 00000000..ca5f8b57 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/I1/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Endpoint.v1_8_2.Endpoint", + "Id": "I1", + "Name": "CXL-System Initiator", + "Description": "CXL-System Initiator Endpoint for remote Type 1 CXL device ", + "EndpointProtocol": "CXL", + "ConnectedEntities": [ + { + "EntityType": "Processor", + "EntityRole": "Initiator", + "Identifiers": [ + { + "DurableName": "86D53A7B-D29A-3287-BA23-EF43A27BC6B9", + "DurableNameFormat": "UUID" + } + ], + "EntityLink": { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU" + } + } + ], + "Links": { + "Ports": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports/2" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/1" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/I2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/I2/index.json new file mode 100644 index 00000000..d2cb0379 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/I2/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#Endpoint.v1_8_2.Endpoint", + "Id": "I2", + "Name": "CXL-System Initiator", + "Description": "CXL-System Initiator Endpoint for remote Type 2 CXL device ", + "EndpointProtocol": "CXL", + "ConnectedEntities": [ + { + "EntityType": "Processor", + "EntityRole": "Initiator", + "Identifiers": [ + { + "DurableName": "86D53A7B-D29A-3287-BA23-EF43A27BC6B9", + "DurableNameFormat": "UUID" + } + ], + "EntityLink": { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU" + } + }, + { + "EntityType": "Memory", + "EntityRole": "Initiator", + "EntityLink": { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/RCXL2" + } + } + ], + "Links": { + "Ports": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports/1" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/2" + } + ], + "Connections": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/12" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/I3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/I3/index.json new file mode 100644 index 00000000..d0832214 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/I3/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#Endpoint.v1_8_2.Endpoint", + "Id": "I3", + "Name": "CXL-System Initiator", + "Description": "CXL-System Initiator Endpoint for remote Type 3 CXL device ", + "EndpointProtocol": "CXL", + "ConnectedEntities": [ + { + "EntityType": "Processor", + "EntityRole": "Initiator", + "Identifiers": [ + { + "DurableName": "86D53A7B-D29A-3287-BA23-EF43A27BC6B9", + "DurableNameFormat": "UUID" + } + ], + "EntityLink": { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU" + } + }, + { + "EntityType": "Memory", + "EntityRole": "Initiator", + "EntityLink": { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/RCXL3" + } + } + ], + "Links": { + "Ports": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports/1" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/3" + } + ], + "Connections": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/13" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/I4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/I4/index.json new file mode 100644 index 00000000..0c6b9321 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/I4/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Endpoint.v1_8_2.Endpoint", + "Id": "I4", + "Name": "CXL-System I4 Initiator", + "Description": "CXL-System Initiator Endpoint for remote Type 3 CXL device ", + "EndpointProtocol": "CXL", + "ConnectedEntities": [ + { + "EntityType": "Processor", + "EntityRole": "Initiator", + "Identifiers": [ + { + "DurableName": "86D53A7B-D29A-3287-BA23-EF43A27BC779", + "DurableNameFormat": "UUID" + } + ], + "EntityLink": { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU" + } + } + ], + "Links": { + "Ports": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports/4" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/3" + } + ], + "Connections": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/14" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/S1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/S1/index.json new file mode 100644 index 00000000..88f36cd1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/S1/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#Endpoint.v1_8_2.Endpoint", + "Id": "S1", + "Name": "CXL Switch", + "Description": "CXL Switch endpoint", + "EndpointProtocol": "CXL", + "ConnectedEntities": [ + { + "EntityType": "Switch", + "EntityRole": "Target", + "EntityLink": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL" + } + } + ], + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/S1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/T1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/T1/index.json new file mode 100644 index 00000000..c2495516 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/T1/index.json @@ -0,0 +1,50 @@ +{ + "@odata.type": "#Endpoint.v1_8_2.Endpoint", + "Id": "T1", + "Name": "CXL Device Type 1 endpoint", + "Description": "CXL Device Type 1 target endpoint", + "EndpointProtocol": "CXL", + "ConnectedEntities": [ + { + "EntityType": "CXLDevice", + "EntityRole": "Target", + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:0001", + "DurableNameFormat": "GCXLID" + } + ], + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/PCIeDevices/1/CXLLogicalDevices/1" + } + }, + { + "EntityType": "FabricBridge", + "EntityRole": "Target", + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/FabricAdapters/1" + } + }, + { + "EntityType": "Processor", + "EntityRole": "Target", + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/Processors/FPGA" + } + } + ], + "Links": { + "Ports": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/FabricAdapters/1/Ports/1" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/1" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/T2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/T2/index.json new file mode 100644 index 00000000..4c7f979d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/T2/index.json @@ -0,0 +1,62 @@ +{ + "@odata.type": "#Endpoint.v1_8_2.Endpoint", + "Id": "T2", + "Name": "CXL Device Type 2 endpoint", + "Description": "CXL Device Type 2 target endpoint", + "EndpointProtocol": "CXL", + "ConnectedEntities": [ + { + "EntityType": "CXLDevice", + "EntityRole": "Target", + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:0001", + "DurableNameFormat": "GCXLID" + } + ], + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/PCIeDevices/1/CXLLogicalDevices/1" + } + }, + { + "EntityType": "FabricBridge", + "EntityRole": "Target", + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/FabricAdapters/1" + } + }, + { + "EntityType": "Processor", + "EntityRole": "Target", + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/Processors/GPU" + } + }, + { + "EntityType": "MemoryChunk", + "EntityRole": "Target", + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/MemoryDomains/1/MemoryChunks/1" + } + } + ], + "Links": { + "Ports": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/FabricAdapters/1/Ports/1" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/2" + } + ], + "Connections": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/12" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/T3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/T3/index.json new file mode 100644 index 00000000..76c64144 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/T3/index.json @@ -0,0 +1,55 @@ +{ + "@odata.type": "#Endpoint.v1_8_2.Endpoint", + "Id": "T3", + "Name": "CXL Device Type 3 endpoint", + "Description": "CXL Device Type 3 target endpoint", + "EndpointProtocol": "CXL", + "ConnectedEntities": [ + { + "EntityType": "CXLDevice", + "EntityRole": "Target", + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:0001", + "DurableNameFormat": "GCXLID" + } + ], + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/1" + } + }, + { + "EntityType": "FabricBridge", + "EntityRole": "Target", + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/FabricAdapters/1" + } + }, + { + "EntityType": "MemoryChunk", + "EntityRole": "Target", + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/1/MemoryChunks/1" + } + } + ], + "Links": { + "Ports": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/FabricAdapters/1/Ports/1" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/3" + } + ], + "Connections": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/13" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/T4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/T4/index.json new file mode 100644 index 00000000..4b8eff3c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/T4/index.json @@ -0,0 +1,55 @@ +{ + "@odata.type": "#Endpoint.v1_8_2.Endpoint", + "Id": "T4", + "Name": "CXL Device Type 3 endpoint", + "Description": "CXL Device Type 3 target endpoint", + "EndpointProtocol": "CXL", + "ConnectedEntities": [ + { + "EntityType": "CXLDevice", + "EntityRole": "Target", + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:0006", + "DurableNameFormat": "GCXLID" + } + ], + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/PCIeDevices/1/CXLLogicalDevices/6" + } + }, + { + "EntityType": "FabricBridge", + "EntityRole": "Target", + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/FabricAdapters/1" + } + }, + { + "EntityType": "MemoryChunk", + "EntityRole": "Target", + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/6/MemoryChunks/1" + } + } + ], + "Links": { + "Ports": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/FabricAdapters/1/Ports/1" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/3" + } + ], + "Connections": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections/14" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/T5/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/T5/index.json new file mode 100644 index 00000000..167a7b61 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/T5/index.json @@ -0,0 +1,50 @@ +{ + "@odata.type": "#Endpoint.v1_8_2.Endpoint", + "Id": "T5", + "Name": "CXL Device Type 3 endpoint", + "Description": "CXL Device Type 3 target endpoint", + "EndpointProtocol": "CXL", + "ConnectedEntities": [ + { + "EntityType": "CXLDevice", + "EntityRole": "Target", + "Identifiers": [ + { + "DurableName": "4C-1D-96-FF-FE-DD-D8-35:0007", + "DurableNameFormat": "GCXLID" + } + ], + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1/CXLLogicalDevices/1" + } + }, + { + "EntityType": "FabricBridge", + "EntityRole": "Target", + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/CXLType3/FabricAdapters/1" + } + }, + { + "EntityType": "MemoryChunk", + "EntityRole": "Target", + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/CXLType3/MemoryDomains/1/MemoryChunks/1" + } + } + ], + "Links": { + "Ports": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/FabricAdapters/1/Ports/1" + } + ], + "Zones": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/3" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T5", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/index.json new file mode 100644 index 00000000..907f6f05 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Endpoints/index.json @@ -0,0 +1,39 @@ +{ + "@odata.type": "#EndpointCollection.EndpointCollection", + "Name": "CXL Endpoint Collection", + "Members@odata.count": 10, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I3" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I4" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/S1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T4" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T5" + } + ], + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/D1/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/D1/Metrics/index.json new file mode 100644 index 00000000..2872fa62 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/D1/Metrics/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#PortMetrics.v1_9_1.PortMetrics", + "Id": "Metrics", + "Name": "CXL Port Metrics", + "Description": "CXL Port Metrics", + "CXL": { + "BackpressureAveragePercentage": 17 + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D1/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/D1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/D1/index.json new file mode 100644 index 00000000..ec0944ca --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/D1/index.json @@ -0,0 +1,74 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "D1", + "Name": "CXL Port 1", + "Description": "CXL Downstream Port 1 in switch", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "RemotePortId": "1", + "PortId": "10", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "2.0", + "CapableProtocolVersions": [ + "1.1", + "2.0" + ], + "PortType": "DownstreamPort", + "PortMedium": "Electrical", + "CurrentSpeedGbps": 256, + "Width": 8, + "MaxSpeedGbps": 512, + "ActiveWidth": 16, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "CXL": { + "CurrentPortConfigurationState": "DSP", + "ConnectedDeviceMode": "PBR", + "SupportedCXLModes": [ + "CXL68BFlitAndVH", + "Standard256BFlit", + "CXLLatencyOptimized256BFlit", + "PBR" + ], + "ConnectedDeviceType": "Type2", + "MaxLogicalDeviceCount": 8, + "Congestion": { + "CongestionTelemetryEnabled": true, + "EgressModeratePercentage": 20, + "EgressSeverePercentage": 3, + "BackpressureSampleInterval": 3, + "MaxSustainedRequestCmpBias": 30, + "CompletionCollectionInterval": 2 + }, + "QoSTelemetryCapabilities": { + "EgressPortBackpressureSupported": true + } + }, + "Metrics": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D1/Metrics" + }, + "Actions": { + "#Port.ResetPPB": { + "target": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D1/Actions/Port.ResetPPB" + } + }, + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T1" + } + ], + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType1/FabricAdapters/1/Ports/1" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/D2/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/D2/Metrics/index.json new file mode 100644 index 00000000..d2fbed70 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/D2/Metrics/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#PortMetrics.v1_9_1.PortMetrics", + "Id": "Metrics", + "Name": "CXL Port Metrics", + "Description": "CXL Port Metrics", + "CXL": { + "BackpressureAveragePercentage": 17 + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D2/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/D2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/D2/index.json new file mode 100644 index 00000000..a4e6db4d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/D2/index.json @@ -0,0 +1,74 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "D2", + "Name": "CXL Port 2", + "Description": "CXL Downstream Port 2 in switch", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "RemotePortId": "1", + "PortId": "11", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "2.0", + "CapableProtocolVersions": [ + "1.1", + "2.0" + ], + "PortType": "DownstreamPort", + "PortMedium": "Optical", + "CurrentSpeedGbps": 256, + "Width": 8, + "MaxSpeedGbps": 512, + "ActiveWidth": 16, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "CXL": { + "CurrentPortConfigurationState": "DSP", + "ConnectedDeviceMode": "PBR", + "SupportedCXLModes": [ + "CXL68BFlitAndVH", + "Standard256BFlit", + "CXLLatencyOptimized256BFlit", + "PBR" + ], + "ConnectedDeviceType": "Type3MLD", + "MaxLogicalDeviceCount": 8, + "Congestion": { + "CongestionTelemetryEnabled": true, + "EgressModeratePercentage": 20, + "EgressSeverePercentage": 3, + "BackpressureSampleInterval": 3, + "MaxSustainedRequestCmpBias": 30, + "CompletionCollectionInterval": 2 + }, + "QoSTelemetryCapabilities": { + "EgressPortBackpressureSupported": true + } + }, + "Metrics": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D2/Metrics" + }, + "Actions": { + "#Port.ResetPPB": { + "target": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D2/Actions/Port.ResetPPB" + } + }, + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2" + } + ], + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/FabricAdapters/1/Ports/1" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/D3/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/D3/Metrics/index.json new file mode 100644 index 00000000..2d106d80 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/D3/Metrics/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#PortMetrics.v1_9_1.PortMetrics", + "Id": "Metrics", + "Name": "CXL Port Metrics", + "Description": "CXL Port Metrics", + "CXL": { + "BackpressureAveragePercentage": 17 + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D3/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/D3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/D3/index.json new file mode 100644 index 00000000..83b0c162 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/D3/index.json @@ -0,0 +1,77 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "D3", + "Name": "CXL Port 3", + "Description": "CXL Downstream Port 3 in switch", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "RemotePortId": "1", + "PortId": "12", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "2.0", + "CapableProtocolVersions": [ + "1.1", + "2.0" + ], + "PortType": "DownstreamPort", + "PortMedium": "Optical", + "CurrentSpeedGbps": 256, + "Width": 8, + "MaxSpeedGbps": 512, + "ActiveWidth": 16, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "CXL": { + "CurrentPortConfigurationState": "DSP", + "ConnectedDeviceMode": "PBR", + "SupportedCXLModes": [ + "CXL68BFlitAndVH", + "Standard256BFlit", + "CXLLatencyOptimized256BFlit", + "PBR" + ], + "ConnectedDeviceType": "Type3MLD", + "MaxLogicalDeviceCount": 8, + "Congestion": { + "CongestionTelemetryEnabled": true, + "EgressModeratePercentage": 20, + "EgressSeverePercentage": 3, + "BackpressureSampleInterval": 3, + "MaxSustainedRequestCmpBias": 30, + "CompletionCollectionInterval": 2 + }, + "QoSTelemetryCapabilities": { + "EgressPortBackpressureSupported": true + } + }, + "Metrics": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D3/Metrics" + }, + "Actions": { + "#Port.ResetPPB": { + "target": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D3/Actions/Port.ResetPPB" + } + }, + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T4" + } + ], + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/FabricAdapters/1/Ports/1" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/D4/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/D4/Metrics/index.json new file mode 100644 index 00000000..cc5a2dfa --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/D4/Metrics/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#PortMetrics.v1_9_1.PortMetrics", + "Id": "Metrics", + "Name": "CXL Port Metrics", + "Description": "CXL Port Metrics", + "CXL": { + "BackpressureAveragePercentage": 17 + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D4/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/D4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/D4/index.json new file mode 100644 index 00000000..9a5034ac --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/D4/index.json @@ -0,0 +1,76 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "D4", + "Name": "CXL Downstream Port 4", + "Description": "CXL Downstream Port 4 in this switch", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PortId": "13", + "RemotePortId": "1", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "3.1", + "CapableProtocolVersions": [ + "1.1", + "2.0", + "3.0", + "3.1" + ], + "PortType": "DownstreamPort", + "PortMedium": "Electrical", + "CurrentSpeedGbps": 256, + "Width": 8, + "MaxSpeedGbps": 512, + "ActiveWidth": 16, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "CXL": { + "CurrentPortConfigurationState": "DSP", + "ConnectedDeviceMode": "Standard256BFlit", + "SupportedCXLModes": [ + "CXL68BFlitAndVH", + "Standard256BFlit", + "CXLLatencyOptimized256BFlit", + "PBR" + ], + "ConnectedDeviceType": "Type3MLD", + "MaxLogicalDeviceCount": 8, + "Congestion": { + "CongestionTelemetryEnabled": true, + "EgressModeratePercentage": 20, + "EgressSeverePercentage": 3, + "BackpressureSampleInterval": 3, + "MaxSustainedRequestCmpBias": 30, + "CompletionCollectionInterval": 2 + }, + "QoSTelemetryCapabilities": { + "EgressPortBackpressureSupported": true + } + }, + "Metrics": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D4/Metrics" + }, + "Actions": { + "#Port.ResetPPB": { + "target": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D4/Actions/Port.ResetPPB" + } + }, + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T5" + } + ], + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/FabricAdapters/1/Ports/1" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/U1/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/U1/Metrics/index.json new file mode 100644 index 00000000..d41bf5c1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/U1/Metrics/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#PortMetrics.v1_9_1.PortMetrics", + "Id": "Metrics", + "Name": "CXL Port Metrics", + "Description": "CXL Port Metrics", + "CXL": { + "BackpressureAveragePercentage": 17 + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/U1/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/U1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/U1/index.json new file mode 100644 index 00000000..36a0d6a8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/U1/index.json @@ -0,0 +1,79 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "U1", + "Name": "CXL Port 1", + "Description": "CXL Upstream Port 1 in switch", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "RemotePortId": "1", + "PortId": "1", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "2.0", + "CapableProtocolVersions": [ + "1.1", + "2.0" + ], + "PortType": "UpstreamPort", + "PortMedium": "Optical", + "CurrentSpeedGbps": 512, + "Width": 16, + "MaxSpeedGbps": 512, + "ActiveWidth": 16, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "CXL": { + "CurrentPortConfigurationState": "USP", + "ConnectedDeviceMode": "PBR", + "SupportedCXLModes": [ + "CXL68BFlitAndVH", + "Standard256BFlit", + "CXLLatencyOptimized256BFlit", + "PBR" + ], + "MaxLogicalDeviceCount": 1, + "Congestion": { + "CongestionTelemetryEnabled": true, + "EgressModeratePercentage": 20, + "EgressSeverePercentage": 3, + "BackpressureSampleInterval": 3, + "MaxSustainedRequestCmpBias": 30, + "CompletionCollectionInterval": 2 + }, + "QoSTelemetryCapabilities": { + "EgressPortBackpressureSupported": true + } + }, + "Metrics": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/U1/Metrics" + }, + "Actions": { + "#Port.ResetPPB": { + "target": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/U1/Actions/Port.ResetPPB" + } + }, + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I3" + } + ], + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports/1" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/U1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/U2/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/U2/Metrics/index.json new file mode 100644 index 00000000..04aa36b4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/U2/Metrics/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#PortMetrics.v1_9_1.PortMetrics", + "Id": "Metrics", + "Name": "CXL Port Metrics", + "Description": "CXL Port Metrics", + "CXL": { + "BackpressureAveragePercentage": 5 + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/U2/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/U2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/U2/index.json new file mode 100644 index 00000000..a0e69916 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/U2/index.json @@ -0,0 +1,75 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "U2", + "Name": "CXL Upstream Port 2", + "Description": "CXL Upstream Port 2 in switch", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PortId": "2", + "RemotePortId": "2", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "3.1", + "CapableProtocolVersions": [ + "1.1", + "2.0", + "3.0", + "3.1" + ], + "PortType": "UpstreamPort", + "PortMedium": "Electrical", + "CurrentSpeedGbps": 512, + "Width": 16, + "MaxSpeedGbps": 512, + "ActiveWidth": 16, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "CXL": { + "CurrentPortConfigurationState": "USP", + "ConnectedDeviceMode": "Standard256BFlit", + "SupportedCXLModes": [ + "CXL68BFlitAndVH", + "Standard256BFlit", + "CXLLatencyOptimized256BFlit", + "PBR" + ], + "MaxLogicalDeviceCount": 1, + "Congestion": { + "CongestionTelemetryEnabled": true, + "EgressModeratePercentage": 20, + "EgressSeverePercentage": 3, + "BackpressureSampleInterval": 3, + "MaxSustainedRequestCmpBias": 30, + "CompletionCollectionInterval": 2 + }, + "QoSTelemetryCapabilities": { + "EgressPortBackpressureSupported": true + } + }, + "Metrics": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/U2/Metrics" + }, + "Actions": { + "#Port.ResetPPB": { + "target": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/U2/Actions/Port.ResetPPB" + } + }, + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I1" + } + ], + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports/2" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/U2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/U3/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/U3/Metrics/index.json new file mode 100644 index 00000000..ee5da7ed --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/U3/Metrics/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#PortMetrics.v1_9_1.PortMetrics", + "Id": "Metrics", + "Name": "CXL Port Metrics", + "Description": "CXL Port Metrics", + "CXL": { + "BackpressureAveragePercentage": 11 + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/U3/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/U3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/U3/index.json new file mode 100644 index 00000000..88fc8154 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/U3/index.json @@ -0,0 +1,75 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "U3", + "Name": "CXL Switch Upstream Port 3", + "Description": "CXL Switch Upstream Port 3", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PortId": "3", + "RemotePortId": "4", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "3.1", + "CapableProtocolVersions": [ + "1.1", + "2.0", + "3.0", + "3.1" + ], + "PortType": "UpstreamPort", + "PortMedium": "Electrical", + "CurrentSpeedGbps": 512, + "Width": 16, + "MaxSpeedGbps": 512, + "ActiveWidth": 16, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "CXL": { + "CurrentPortConfigurationState": "USP", + "ConnectedDeviceMode": "Standard256BFlit", + "SupportedCXLModes": [ + "CXL68BFlitAndVH", + "Standard256BFlit", + "CXLLatencyOptimized256BFlit", + "PBR" + ], + "MaxLogicalDeviceCount": 1, + "Congestion": { + "CongestionTelemetryEnabled": true, + "EgressModeratePercentage": 20, + "EgressSeverePercentage": 3, + "BackpressureSampleInterval": 3, + "MaxSustainedRequestCmpBias": 30, + "CompletionCollectionInterval": 2 + }, + "QoSTelemetryCapabilities": { + "EgressPortBackpressureSupported": true + } + }, + "Metrics": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/U3/Metrics" + }, + "Actions": { + "#Port.ResetPPB": { + "target": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/U3/Actions/Port.ResetPPB" + } + }, + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I1" + } + ], + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports/4" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/U3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/index.json new file mode 100644 index 00000000..7430a02c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/Ports/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "CXL Port Collection", + "Members@odata.count": 6, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/U1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/U2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D3" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D4" + } + ], + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/1/VPPBs/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/1/VPPBs/1/index.json new file mode 100644 index 00000000..97ade6f8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/1/VPPBs/1/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#VirtualPCI2PCIBridge.v1_0_0.VirtualPCI2PCIBridge", + "Id": "1", + "Name": "vPPB 1", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "VPPBId": "1", + "BindingStatus": "BoundLD", + "BoundLDId": 6, + "GCXLID": "4C-1D-96-FF-FE-DD-D8-35:0001", + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/S1" + } + ], + "Port": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D3" + } + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/VCSs/1/VPPBs/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/1/VPPBs/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/1/VPPBs/2/index.json new file mode 100644 index 00000000..17f06fad --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/1/VPPBs/2/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#VirtualPCI2PCIBridge.v1_0_0.VirtualPCI2PCIBridge", + "Id": "2", + "Name": "vPPB 2", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "VPPBId": "2", + "BindingStatus": "BoundPhysicalPort", + "GCXLID": "88-99-AA-BB-CC-DD-EE-FF:0001", + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/S1" + } + ], + "Port": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D4" + } + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/VCSs/1/VPPBs/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/1/VPPBs/3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/1/VPPBs/3/index.json new file mode 100644 index 00000000..09175179 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/1/VPPBs/3/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#VirtualPCI2PCIBridge.v1_0_0.VirtualPCI2PCIBridge", + "Id": "3", + "Name": "vPPB 3", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "VPPBId": "3", + "BindingStatus": "BoundPID", + "BoundPBRId": 3, + "GCXLID": "88-99-AA-BB-CC-DD-EE-FF:0001", + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/S1" + } + ], + "Port": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D4" + } + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/VCSs/1/VPPBs/3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/1/VPPBs/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/1/VPPBs/index.json new file mode 100644 index 00000000..59c5e96b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/1/VPPBs/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#VirtualPCI2PCIBridgeCollection.VirtualPCI2PCIBridgeCollection", + "Name": "Virtual PCI 2 PCI Bridge Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/VCSs/1/VPPBs/1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/VCSs/1/VPPBs/2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/VCSs/1/VPPBs/3" + } + ], + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/VCSs/1/VPPBs", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/1/index.json new file mode 100644 index 00000000..0de33be7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/1/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#VirtualCXLSwitch.v1_0_0.VirtualCXLSwitch", + "Id": "1", + "Name": "Virtual CXL Switch 1", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "VCSId": "1", + "HDMDecoders": 12, + "VPPBs": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/VCSs/1/VPPBs" + }, + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/S1" + } + ], + "Port": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/U1" + } + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/VCSs/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/2/VPPBs/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/2/VPPBs/1/index.json new file mode 100644 index 00000000..cc753ddf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/2/VPPBs/1/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#VirtualPCI2PCIBridge.v1_0_0.VirtualPCI2PCIBridge", + "Id": "1", + "Name": "vPPB 1", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "VPPBId": "1", + "BindingStatus": "Unbound", + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/S1" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/VCSs/2/VPPBs/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/2/VPPBs/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/2/VPPBs/2/index.json new file mode 100644 index 00000000..9da16149 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/2/VPPBs/2/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#VirtualPCI2PCIBridge.v1_0_0.VirtualPCI2PCIBridge", + "Id": "2", + "Name": "vPPB 2", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "VPPBId": "2", + "BindingStatus": "BoundPID", + "BoundPortId": 2, + "BoundPBRId": 6, + "GCXLID": "4C-1D-96-FF-FE-DD-D8-35:0006", + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/S1" + } + ], + "Port": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D3" + } + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/VCSs/2/VPPBs/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/2/VPPBs/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/2/VPPBs/index.json new file mode 100644 index 00000000..03ddc7db --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/2/VPPBs/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#VirtualPCI2PCIBridgeCollection.VirtualPCI2PCIBridgeCollection", + "Name": "Virtual PCI 2 PCI Bridge Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/VCSs/2/VPPBs/1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/VCSs/2/VPPBs/2" + } + ], + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/VCSs/2/VPPBs", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/2/index.json new file mode 100644 index 00000000..df24f2e0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/2/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#VirtualCXLSwitch.v1_0_0.VirtualCXLSwitch", + "Id": "2", + "Name": "Virtual CXL Switch 2", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "VCSId": "2", + "HDMDecoders": 12, + "VPPBs": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/VCSs/2/VPPBs" + }, + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/S1" + } + ], + "Port": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/U2" + } + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/VCSs/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/index.json new file mode 100644 index 00000000..d614077e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/VCSs/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#VirtualCXLSwitchCollection.VirtualCXLSwitchCollection", + "Name": "Virtual CXL Switch Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/VCSs/1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/VCSs/2" + } + ], + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/VCSs", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/index.json new file mode 100644 index 00000000..22dd748b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/CXL/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#Switch.v1_11_0.Switch", + "Id": "CXL", + "Name": "CXL Switch", + "SwitchType": "CXL", + "Enabled": true, + "IsManaged": true, + "PowerState": "On", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "UUID": "1ad59fe9-49f9-52fa-9a93-e349f9477fe0", + "Ports": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports" + }, + "CXL": { + "MaxVCSsSupported": 4, + "TotalNumbervPPBs": 12, + "NumberOfBoundvPPBs": 6, + "TotalHDMDecoders": 32, + "PBRCapable": true, + "VirtualCXLSwitches": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/VCSs" + } + }, + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/S1" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/index.json new file mode 100644 index 00000000..c3c2a4db --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Switches/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SwitchCollection.SwitchCollection", + "Name": "Switch Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL" + } + ], + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Zones/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Zones/1/index.json new file mode 100644 index 00000000..693a0fe1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Zones/1/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Zone.v1_6_3.Zone", + "Id": "1", + "Name": "CXL Zone 1", + "Description": "CXL Zone 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ZoneType": "ZoneOfEndpoints", + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/S1" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Zones/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Zones/2/index.json new file mode 100644 index 00000000..102e8506 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Zones/2/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Zone.v1_6_3.Zone", + "Id": "2", + "Name": "CXL Zone 2", + "Description": "CXL Zone 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ZoneType": "ZoneOfEndpoints", + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/S1" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Zones/3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Zones/3/index.json new file mode 100644 index 00000000..e7c7c7e5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Zones/3/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#Zone.v1_6_3.Zone", + "Id": "3", + "Name": "CXL Zone 3", + "Description": "CXL Zone 3", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ZoneType": "ZoneOfEndpoints", + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I3" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T3" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T4" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/T5" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/S1" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Zones/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Zones/index.json new file mode 100644 index 00000000..84ba33e0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/Zones/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#ZoneCollection.ZoneCollection", + "Name": "CXL Fabric Zone Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones/3" + } + ], + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/index.json new file mode 100644 index 00000000..7244b308 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/CXL/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#Fabric.v1_4_0.Fabric", + "Id": "CXL", + "Name": "CXL Fabric", + "Description": "CXL Fabric", + "FabricType": "CXL", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Switches": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches" + }, + "Connections": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Connections" + }, + "Endpoints": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints" + }, + "Zones": { + "@odata.id": "/redfish/v1/Fabrics/CXL/Zones" + }, + "Links": { + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/FM1" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/CXL", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/index.json new file mode 100644 index 00000000..5248df75 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Fabrics/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#FabricCollection.FabricCollection", + "Name": "Fabric Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL" + } + ], + "@odata.id": "/redfish/v1/Fabrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Managers/FM1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Managers/FM1/index.json new file mode 100644 index 00000000..f2663605 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Managers/FM1/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Manager.v1_25_0.Manager", + "Id": "FM1", + "Name": "Manager", + "ManagerType": "FabricManager", + "Description": "Contoso Fabric Manager", + "UUID": "58893887-2492-2487-3860-841168418919", + "DateTime": "2025-01-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PowerState": "On", + "CommandShell": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 4, + "ConnectTypesSupported": [ + "SSH" + ] + }, + "Links": { + "ManagerForFabrics": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL" + } + ] + }, + "@odata.id": "/redfish/v1/Managers/FM1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Managers/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Managers/index.json new file mode 100644 index 00000000..853522f6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Managers/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerCollection.ManagerCollection", + "Name": "Manager Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/FM1" + } + ], + "@odata.id": "/redfish/v1/Managers", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/SessionService/Sessions/1234567890ABCDEF/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/SessionService/Sessions/1234567890ABCDEF/index.json new file mode 100644 index 00000000..90844a1b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/SessionService/Sessions/1234567890ABCDEF/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#Session.v1_9_0.Session", + "Id": "1234567890ABCDEF", + "Name": "User Session", + "Description": "Manager User Session", + "UserName": "Administrator", + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/SessionService/Sessions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/SessionService/Sessions/index.json new file mode 100644 index 00000000..8d8cdf58 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/SessionService/Sessions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SessionCollection.SessionCollection", + "Name": "Session Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF" + } + ], + "@odata.id": "/redfish/v1/SessionService/Sessions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/SessionService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/SessionService/index.json new file mode 100644 index 00000000..62a05690 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/SessionService/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#SessionService.v1_2_0.SessionService", + "Id": "SessionService", + "Name": "Session Service", + "Description": "Session Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "SessionTimeout": 30, + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + }, + "@odata.id": "/redfish/v1/SessionService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Memory/CXL2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Memory/CXL2/index.json new file mode 100644 index 00000000..f4521ad0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Memory/CXL2/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "CXL2", + "Name": "CXL Device memory", + "Description": "Local CXL device memory", + "Status": { + "Health": "OK", + "State": "Enabled", + "HealthRollup": "OK" + }, + "CapacityMiB": 4096, + "MemoryDeviceType": "Logical", + "Links": { + "MemoryMediaSources": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/MemoryDomains/1/MemoryChunks/1" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/CXL2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Memory/CXL3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Memory/CXL3/index.json new file mode 100644 index 00000000..29714a8f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Memory/CXL3/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "CXL3", + "Name": "CXL Device memory", + "Description": "Local CXL device memory", + "Status": { + "Health": "OK", + "State": "Enabled", + "HealthRollup": "OK" + }, + "CapacityMiB": 4096, + "MemoryDeviceType": "Logical", + "Links": { + "MemoryMediaSources": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/MemoryDomains/1/MemoryChunks/1" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/CXL3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Memory/RCXL2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Memory/RCXL2/index.json new file mode 100644 index 00000000..427cea53 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Memory/RCXL2/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "RCXL2", + "Name": "CXL Device memory", + "Description": "Remote CXL device memory", + "Status": { + "Health": "OK", + "State": "Enabled", + "HealthRollup": "OK" + }, + "CapacityMiB": 4096, + "MemoryDeviceType": "Logical", + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2" + } + ], + "MemoryMediaSources": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType2/MemoryDomains/1/MemoryChunks/1" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/RCXL2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Memory/RCXL3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Memory/RCXL3/index.json new file mode 100644 index 00000000..3bc1fafb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Memory/RCXL3/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "RCXL3", + "Name": "CXL Device memory", + "Description": "Remote CXL device memory", + "Status": { + "Health": "OK", + "State": "Enabled", + "HealthRollup": "OK" + }, + "CapacityMiB": 4096, + "MemoryDeviceType": "Logical", + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I3" + } + ], + "MemoryMediaSources": [ + { + "@odata.id": "/redfish/v1/Chassis/PooledCXLType3/MemoryDomains/1/MemoryChunks/1" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/RCXL3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Memory/index.json new file mode 100644 index 00000000..16490e05 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Memory/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Collection", + "Description": "Memory Collection", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/CXL2" + }, + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/CXL3" + }, + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/RCXL2" + }, + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/RCXL3" + } + ], + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks/1/index.json new file mode 100644 index 00000000..403f9828 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks/1/index.json @@ -0,0 +1,39 @@ +{ + "@odata.type": "#MemoryChunks.v1_7_0.MemoryChunks", + "Id": "1", + "Name": "Memory Chunk 1", + "Description": "All CXL Memory chunk", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MemoryChunkSizeMiB": 16384, + "AddressRangeType": "Volatile", + "AddressRangeOffsetMiB": 65536, + "MediaLocation": "Mixed", + "RequestedOperationalState": "Online", + "InterleaveSets": [ + { + "Memory": { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/CXL2" + } + }, + { + "Memory": { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/CXL3" + } + }, + { + "Memory": { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/RCXL2" + } + }, + { + "Memory": { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/RCXL3" + } + } + ], + "@odata.id": "/redfish/v1/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks/index.json new file mode 100644 index 00000000..a6ef3558 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryChunksCollection.MemoryChunksCollection", + "Name": "Memory Chunks Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks/1" + } + ], + "@odata.id": "/redfish/v1/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/MemoryDomains/CXL/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/MemoryDomains/CXL/index.json new file mode 100644 index 00000000..435c5328 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/MemoryDomains/CXL/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#MemoryDomain.v1_5_1.MemoryDomain", + "Id": "CXL", + "Name": "CXL Memory Domain", + "Description": "Local and Remote CXL Memory Domain", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "MemoryChunks": { + "@odata.id": "/redfish/v1/Systems/CXL-System/MemoryDomains/CXL/MemoryChunks" + }, + "AllowsMemoryChunkCreation": true, + "MinMemoryChunkSizeMiB": 64, + "MemoryChunkIncrementMiB": 64, + "InterleavableMemorySets": [ + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/CXL2" + }, + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/CXL3" + }, + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/RCXL2" + }, + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/RCXL3" + } + ] + } + ], + "@odata.id": "/redfish/v1/Systems/CXL-System/MemoryDomains/CXL", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/MemoryDomains/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/MemoryDomains/index.json new file mode 100644 index 00000000..8136bb6d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/MemoryDomains/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryDomainCollection.MemoryDomainCollection", + "Name": "Memory Domain Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/MemoryDomains/CXL" + } + ], + "@odata.id": "/redfish/v1/Systems/CXL-System/MemoryDomains", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Processors/CPU/Ports/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Processors/CPU/Ports/1/index.json new file mode 100644 index 00000000..28702bba --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Processors/CPU/Ports/1/index.json @@ -0,0 +1,54 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "1", + "Name": "CXL Port 1", + "Description": "CXL Port in CPU connected to CXL switch", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "RemotePortId": "1", + "PortId": "1", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "2.0", + "CapableProtocolVersions": [ + "1.1", + "2.0" + ], + "PortType": "DownstreamPort", + "PortMedium": "Optical", + "CurrentSpeedGbps": 512, + "Width": 16, + "MaxSpeedGbps": 512, + "ActiveWidth": 16, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I3" + } + ], + "ConnectedSwitches": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL" + } + ], + "ConnectedSwitchPorts": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/U1" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Processors/CPU/Ports/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Processors/CPU/Ports/2/index.json new file mode 100644 index 00000000..1089ea7b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Processors/CPU/Ports/2/index.json @@ -0,0 +1,53 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "2", + "Name": "CXL Port 2", + "Description": "CXL Port in CPU connected to CXL switch", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "RemotePortId": "2", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "2.0", + "CapableProtocolVersions": [ + "1.1", + "2.0" + ], + "PortType": "DownstreamPort", + "PortMedium": "Optical", + "CurrentSpeedGbps": 512, + "Width": 16, + "MaxSpeedGbps": 512, + "ActiveWidth": 16, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I3" + } + ], + "ConnectedSwitches": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL" + } + ], + "ConnectedSwitchPorts": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/U2" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Processors/CPU/Ports/4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Processors/CPU/Ports/4/index.json new file mode 100644 index 00000000..a4056409 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Processors/CPU/Ports/4/index.json @@ -0,0 +1,53 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "4", + "Name": "CXL Port 4", + "Description": "CXL Port in CPU connected to CXL switch", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "RemotePortId": "3", + "PortProtocol": "CXL", + "CurrentProtocolVersion": "2.0", + "CapableProtocolVersions": [ + "1.1", + "2.0" + ], + "PortType": "DownstreamPort", + "PortMedium": "Optical", + "CurrentSpeedGbps": 512, + "Width": 16, + "MaxSpeedGbps": 512, + "ActiveWidth": 16, + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "LinkNetworkTechnology": "PCIe", + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I3" + } + ], + "ConnectedSwitches": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL" + } + ], + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/U3" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports/4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Processors/CPU/Ports/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Processors/CPU/Ports/index.json new file mode 100644 index 00000000..f8bf11d0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Processors/CPU/Ports/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "CXL Port Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports/1" + }, + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports/2" + }, + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports/4" + } + ], + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Processors/CPU/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Processors/CPU/index.json new file mode 100644 index 00000000..0c1fa442 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Processors/CPU/index.json @@ -0,0 +1,56 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU", + "Name": "CPU with CXL ports", + "Description": "CPU with CXL ports", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "UUID": "86D53A7B-D29A-3287-BA23-EF43A27BC6B9", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "Ports": { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU/Ports" + }, + "Links": { + "ConnectedProcessors": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType1/Processors/FPGA" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/Processors/GPU" + } + ], + "Memory": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/CXL2" + }, + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/CXL3" + }, + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/RCXL2" + }, + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory/RCXL3" + } + ], + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/I3" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Processors/index.json new file mode 100644 index 00000000..3093b96c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/Processors/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processors Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors/CPU" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXLType1/Processors/FPGA" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/Processors/GPU" + } + ], + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/index.json new file mode 100644 index 00000000..bff0d7ba --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/CXL-System/index.json @@ -0,0 +1,60 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "CXL-System", + "Name": "CXL System", + "Description": "CXL System supporting local and remote CXL devices", + "SystemType": "Physical", + "UUID": "68D5E212-165B-4CA0-909B-C86B9CEE0112", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PowerState": "On", + "ProcessorSummary": { + "Count": 3 + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 36 + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/CXL-System/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Systems/CXL-System/Memory" + }, + "MemoryDomains": { + "@odata.id": "/redfish/v1/Systems/CXL-System/MemoryDomains" + }, + "PCIeDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType1/PCIeDevices/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1" + } + ], + "PCIeFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/CXLType1/PCIeDevices/1/PCIeFunctions/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXLType2/PCIeDevices/1/PCIeFunctions/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/CXLType3/PCIeDevices/1/PCIeFunctions/1" + } + ], + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/CXL-Chassis" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/CXL-System", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/index.json new file mode 100644 index 00000000..e36f487d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/Systems/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ComputerSystemCollection.ComputerSystemCollection", + "Name": "Computer System Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/CXL-System" + } + ], + "@odata.id": "/redfish/v1/Systems", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/explorer_config.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/explorer_config.json new file mode 100644 index 00000000..bc7f3c03 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/explorer_config.json @@ -0,0 +1,60 @@ +{ + "name": "CXL", + "description": "This example shows an implementation that contains a set of local and remote CXL devicese and shows their connectivity to other components in the service.", + "navlinks": [ + { + "text": "Main", + "target": "main" + }, + { + "text": "Chassis", + "target": "Chassis", + "navlinks": [ + { + "text": "CXLType1", + "target": "CXLType1" + }, + { + "text": "CXLType2", + "target": "CXLType2" + }, + { + "text": "CXLType3", + "target": "CXLType3" + }, + { + "text": "PooledCXLType1", + "target": "PooledCXLType1" + }, + { + "text": "PooledCXLType2", + "target": "PooledCXLType2" + }, + { + "text": "PooledCXLType3", + "target": "PooledCXLType3" + } + ] + }, + { + "text": "Fabrics", + "target": "Fabrics", + "navlinks": [ + { + "text": "CXL", + "target": "CXL" + } + ] + }, + { + "text": "Systems", + "target": "Systems", + "navlinks": [ + { + "text": "CXL-System", + "target": "CXL-System" + } + ] + } + ] +} diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/index.json new file mode 100644 index 00000000..13f3bced --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/index.json @@ -0,0 +1,47 @@ +{ + "@odata.type": "#ServiceRoot.v1_22_0.ServiceRoot", + "Id": "RootService", + "Name": "Root Service", + "Vendor": "Contoso", + "Product": "WidgetDeluxe 8744", + "RedfishVersion": "1.6.0", + "UUID": "92384634-2938-2342-8820-489239905423", + "ProtocolFeaturesSupported": { + "FilterQuery": false, + "SelectQuery": false, + "ExcerptQuery": true, + "OnlyMemberQuery": true, + "ExpandQuery": { + "Links": false, + "NoLinks": true, + "ExpandAll": true, + "Levels": true, + "MaxLevels": 3 + } + }, + "Systems": { + "@odata.id": "/redfish/v1/Systems" + }, + "Chassis": { + "@odata.id": "/redfish/v1/Chassis" + }, + "Fabrics": { + "@odata.id": "/redfish/v1/Fabrics" + }, + "Managers": { + "@odata.id": "/redfish/v1/Managers" + }, + "AccountService": { + "@odata.id": "/redfish/v1/AccountService" + }, + "SessionService": { + "@odata.id": "/redfish/v1/SessionService" + }, + "Links": { + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + } + }, + "@odata.id": "/redfish/v1/", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-cxl/odata/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/odata/index.json new file mode 100644 index 00000000..9bc72710 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-cxl/odata/index.json @@ -0,0 +1,26 @@ +{ + "@odata.context": "/redfish/v1/$metadata", + "value": [ + { + "name": "Service", + "kind": "Singleton", + "url": "/redfish/v1/" + }, + { + "name": "Systems", + "kind": "Singleton", + "url": "/redfish/v1/Systems" + }, + { + "name": "Chassis", + "kind": "Singleton", + "url": "/redfish/v1/Chassis" + }, + { + "name": "Fabrics", + "kind": "Singleton", + "url": "/redfish/v1/Fabrics" + } + ], + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/$metadata/index.xml b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/$metadata/index.xml new file mode 100644 index 00000000..903932af --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/$metadata/index.xml @@ -0,0 +1,125 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/AccountService/Accounts/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/AccountService/Accounts/1/index.json new file mode 100644 index 00000000..781c45c6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/AccountService/Accounts/1/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#ManagerAccount.v1_14_2.ManagerAccount", + "Id": "1", + "Name": "User Account", + "Description": "User Account", + "Enabled": true, + "Password": null, + "PasswordChangeRequired": false, + "AccountTypes": [ + "Redfish" + ], + "UserName": "Administrator", + "RoleId": "Administrator", + "Locked": false, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + } + }, + "@odata.id": "/redfish/v1/AccountService/Accounts/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/AccountService/Accounts/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/AccountService/Accounts/index.json new file mode 100644 index 00000000..f509d474 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/AccountService/Accounts/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerAccountCollection.ManagerAccountCollection", + "Name": "Accounts Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Accounts/1" + } + ], + "@odata.id": "/redfish/v1/AccountService/Accounts", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/AccountService/Roles/Administrator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/AccountService/Roles/Administrator/index.json new file mode 100644 index 00000000..19d26a98 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/AccountService/Roles/Administrator/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Administrator", + "Name": "User Role", + "Description": "Admin User Role", + "RoleId": "Administrator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureManager", + "ConfigureUsers", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [ + "OemClearLog", + "OemPowerControl" + ], + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/AccountService/Roles/Operator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/AccountService/Roles/Operator/index.json new file mode 100644 index 00000000..90804a6a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/AccountService/Roles/Operator/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Operator", + "Name": "User Role", + "Description": "Operator User Role", + "RoleId": "Operator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/Operator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/AccountService/Roles/ReadOnly/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/AccountService/Roles/ReadOnly/index.json new file mode 100644 index 00000000..1df0cf03 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/AccountService/Roles/ReadOnly/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "ReadOnly", + "Name": "User Role", + "Description": "ReadOnly User Role", + "RoleId": "ReadOnly", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/AccountService/Roles/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/AccountService/Roles/index.json new file mode 100644 index 00000000..ba9ee112 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/AccountService/Roles/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#RoleCollection.RoleCollection", + "Name": "Roles Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/Operator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly" + } + ], + "@odata.id": "/redfish/v1/AccountService/Roles", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/AccountService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/AccountService/index.json new file mode 100644 index 00000000..eb627494 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/AccountService/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#AccountService.v1_19_0.AccountService", + "Id": "AccountService", + "Name": "Account Service", + "Description": "Account Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "AuthFailureLoggingThreshold": 3, + "MinPasswordLength": 8, + "AccountLockoutThreshold": 5, + "AccountLockoutDuration": 30, + "AccountLockoutCounterResetAfter": 30, + "AccountLockoutCounterResetEnabled": true, + "Accounts": { + "@odata.id": "/redfish/v1/AccountService/Accounts" + }, + "Roles": { + "@odata.id": "/redfish/v1/AccountService/Roles" + }, + "@odata.id": "/redfish/v1/AccountService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Chassis/ExpansionEnclosure/Power/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Chassis/ExpansionEnclosure/Power/index.json new file mode 100644 index 00000000..efff36d4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Chassis/ExpansionEnclosure/Power/index.json @@ -0,0 +1,135 @@ +{ + "@odata.type": "#Power.v1_7_3.Power", + "Id": "Power", + "Name": "Expansion Enclosure Power", + "PowerSupplies": [ + { + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure/Power#/PowerSupplies/0", + "MemberId": "0", + "Name": "Power Supply 0", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PowerSupplyType": "AC", + "LineInputVoltageType": "AC240V", + "LineInputVoltage": 220, + "PowerCapacityWatts": 1450, + "InputRanges": [ + { + "InputType": "AC", + "MinimumVoltage": 185, + "MaximumVoltage": 250, + "MinimumFrequencyHz": 47, + "MaximumFrequencyHz": 63, + "OutputWattage": 1450 + } + ], + "LastPowerOutputWatts": 650, + "Model": "325457-A06", + "Manufacturer": "Contoso Power", + "FirmwareVersion": "2.20", + "SerialNumber": "1S0000523", + "PartNumber": "425-591-654", + "SparePartNumber": "425-591-654", + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure/Power#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure" + }, + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray1" + }, + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray2" + }, + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray3" + }, + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray4" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure/Power#/PowerSupplies/1", + "MemberId": "1", + "Name": "Power Supply 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PowerSupplyType": "AC", + "LineInputVoltageType": "AC240V", + "LineInputVoltage": 222, + "PowerCapacityWatts": 1450, + "InputRanges": [ + { + "InputType": "AC", + "MinimumVoltage": 185, + "MaximumVoltage": 250, + "MinimumFrequencyHz": 47, + "MaximumFrequencyHz": 63, + "OutputWattage": 1450 + } + ], + "LastPowerOutputWatts": 635, + "Model": "325457-A06", + "Manufacturer": "Contoso Power", + "FirmwareVersion": "2.20", + "SerialNumber": "1S0000524", + "PartNumber": "425-591-654", + "SparePartNumber": "425-591-654", + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure/Power#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure" + }, + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray1" + }, + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray2" + }, + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray3" + }, + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray4" + } + ] + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure/Power#/Redundancy/0", + "MemberId": "0", + "Name": "Power Supply Redundancy", + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure/Power#/PowerSupplies/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure/Power#/PowerSupplies/1" + } + ], + "Mode": "N+m", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MinNumNeeded": 1, + "MaxNumSupported": 2 + } + ], + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure/Power", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Chassis/ExpansionEnclosure/Thermal/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Chassis/ExpansionEnclosure/Thermal/index.json new file mode 100644 index 00000000..965dd391 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Chassis/ExpansionEnclosure/Thermal/index.json @@ -0,0 +1,220 @@ +{ + "@odata.type": "#Thermal.v1_7_3.Thermal", + "Id": "Thermal", + "Name": "Expansion Enclosure Thermal", + "Temperatures": [ + { + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure/Thermal#/Temperatures/0", + "MemberId": "0", + "Name": "Chassis Intake", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 24, + "UpperThresholdNonCritical": 35, + "UpperThresholdCritical": 42, + "UpperThresholdFatal": 50, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 60, + "PhysicalContext": "Intake", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure" + }, + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray1" + }, + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray2" + }, + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray3" + }, + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray4" + } + ] + } + ], + "Fans": [ + { + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure/Thermal#/Fans/0", + "MemberId": "0", + "Name": "System Fan 0", + "PhysicalContext": "Front", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 15100, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 3000, + "MinReadingRange": 0, + "MaxReadingRange": 16000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure" + }, + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray1" + }, + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray2" + }, + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray3" + }, + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray4" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure/Thermal#/Fans/1", + "MemberId": "1", + "Name": "System Fan 1", + "PhysicalContext": "Front", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 14800, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 3000, + "MinReadingRange": 0, + "MaxReadingRange": 16000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure" + }, + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray1" + }, + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray2" + }, + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray3" + }, + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray4" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure/Thermal#/Fans/2", + "MemberId": "2", + "Name": "System Fan 2", + "PhysicalContext": "Front", + "Status": { + "State": "Enabled", + "Health": "Critical" + }, + "Reading": 0, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 3000, + "MinReadingRange": 0, + "MaxReadingRange": 16000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure" + }, + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray1" + }, + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray2" + }, + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray3" + }, + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray4" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure/Thermal#/Fans/3", + "MemberId": "3", + "Name": "System Fan 3", + "PhysicalContext": "Front", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 15000, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 3000, + "MinReadingRange": 0, + "MaxReadingRange": 16000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure" + }, + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray1" + }, + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray2" + }, + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray3" + }, + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray4" + } + ] + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure/Thermal#/Redundancy/0", + "MemberId": "0", + "Name": "System Fans", + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure/Thermal#/Fans/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure/Thermal#/Fans/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure/Thermal#/Fans/2" + }, + { + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure/Thermal#/Fans/3" + } + ], + "Mode": "N+m", + "Status": { + "State": "Enabled", + "Health": "Warning" + }, + "MinNumNeeded": 3, + "MaxNumSupported": 4 + } + ], + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure/Thermal", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Chassis/ExpansionEnclosure/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Chassis/ExpansionEnclosure/index.json new file mode 100644 index 00000000..e36ae318 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Chassis/ExpansionEnclosure/index.json @@ -0,0 +1,47 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "ExpansionEnclosure", + "Name": "Expansion Enclosure", + "ChassisType": "Enclosure", + "Manufacturer": "Contoso", + "Model": "EXP9000", + "SKU": "159000", + "SerialNumber": "CONTSN85482754", + "PartNumber": "CONTPN009-200", + "AssetTag": "", + "PowerState": "On", + "IndicatorLED": "Off", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure/Thermal" + }, + "Power": { + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure/Power" + }, + "Links": { + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/1" + } + ], + "Contains": [ + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray1" + }, + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray2" + }, + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray3" + }, + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray4" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Chassis/ResourceTray1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Chassis/ResourceTray1/index.json new file mode 100644 index 00000000..9fd3d1d0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Chassis/ResourceTray1/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "ResourceTray1", + "Name": "SAS Resource Tray", + "ChassisType": "Module", + "Manufacturer": "Contoso", + "Model": "EXP9100", + "SKU": "159100", + "SerialNumber": "CONTSN85482755", + "PartNumber": "CONTPN009-210", + "AssetTag": "", + "PowerState": "On", + "IndicatorLED": "Off", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/1" + } + ], + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure" + }, + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray1-SAS" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/ResourceTray1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Chassis/ResourceTray2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Chassis/ResourceTray2/index.json new file mode 100644 index 00000000..1e842ff0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Chassis/ResourceTray2/index.json @@ -0,0 +1,44 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "ResourceTray2", + "Name": "NVMe Resource Tray", + "ChassisType": "Module", + "Manufacturer": "Contoso", + "Model": "EXP9200", + "SKU": "159200", + "SerialNumber": "CONTSN85482756", + "PartNumber": "CONTPN009-220", + "AssetTag": "", + "PowerState": "On", + "IndicatorLED": "Off", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/1" + } + ], + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure" + }, + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray2-Drive1" + }, + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray2-Drive2" + }, + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray2-Drive3" + }, + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray2-Drive4" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/ResourceTray2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Chassis/ResourceTray3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Chassis/ResourceTray3/index.json new file mode 100644 index 00000000..92f018f6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Chassis/ResourceTray3/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "ResourceTray3", + "Name": "Memory Resource Tray", + "ChassisType": "Module", + "Manufacturer": "Contoso", + "Model": "EXP9300", + "SKU": "159300", + "SerialNumber": "CONTSN85482757", + "PartNumber": "CONTPN009-230", + "AssetTag": "", + "PowerState": "On", + "IndicatorLED": "Off", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/1" + } + ], + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure" + }, + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray3-Memory" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/ResourceTray3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Chassis/ResourceTray4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Chassis/ResourceTray4/index.json new file mode 100644 index 00000000..c7ff9fc8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Chassis/ResourceTray4/index.json @@ -0,0 +1,44 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "ResourceTray4", + "Name": "Networking Resource Tray", + "ChassisType": "Module", + "Manufacturer": "Contoso", + "Model": "EXP9400", + "SKU": "159400", + "SerialNumber": "CONTSN85482758", + "PartNumber": "CONTPN009-240", + "AssetTag": "", + "PowerState": "On", + "IndicatorLED": "Off", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/1" + } + ], + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure" + }, + "ResourceBlocks": [ + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray4-NIC1" + }, + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray4-NIC2" + }, + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray4-NIC3" + }, + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray4-NIC4" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/ResourceTray4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Chassis/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Chassis/index.json new file mode 100644 index 00000000..4f2a8735 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Chassis/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#ChassisCollection.ChassisCollection", + "Name": "Chassis Collection", + "Members@odata.count": 5, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure" + }, + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray1" + }, + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray2" + }, + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray3" + }, + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray4" + } + ], + "@odata.id": "/redfish/v1/Chassis", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Managers/1/EthernetInterfaces/Dedicated/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Managers/1/EthernetInterfaces/Dedicated/index.json new file mode 100644 index 00000000..4e2d16ac --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Managers/1/EthernetInterfaces/Dedicated/index.json @@ -0,0 +1,59 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "Dedicated", + "Name": "Manager Ethernet Interface", + "Description": "Management Network Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:33:CF:EA", + "MACAddress": "23:11:8A:33:CF:EA", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "composition-manager", + "FQDN": "composition-manager.dmtf.org", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.0.1" + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred" + } + ], + "NameServers": [ + "names.dmtf.org" + ], + "@odata.id": "/redfish/v1/Managers/1/EthernetInterfaces/Dedicated", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Managers/1/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Managers/1/EthernetInterfaces/index.json new file mode 100644 index 00000000..075a3255 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Managers/1/EthernetInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Network Interface Collection", + "Description": "Collection of EthernetInterfaces for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/1/EthernetInterfaces/Dedicated" + } + ], + "@odata.id": "/redfish/v1/Managers/1/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Managers/1/LogServices/Log/Entries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Managers/1/LogServices/Log/Entries/index.json new file mode 100644 index 00000000..d731a2ba --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Managers/1/LogServices/Log/Entries/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 0, + "Members": [], + "@odata.id": "/redfish/v1/Managers/1/LogServices/Log/Entries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Managers/1/LogServices/Log/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Managers/1/LogServices/Log/index.json new file mode 100644 index 00000000..ce850c44 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Managers/1/LogServices/Log/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#LogService.v1_9_0.LogService", + "Id": "Log", + "Name": "System Log Service", + "MaxNumberOfRecords": 1000, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Managers/1/LogServices/Log/Actions/LogService.ClearLog" + } + }, + "Entries": { + "@odata.id": "/redfish/v1/Managers/1/LogServices/Log/Entries" + }, + "@odata.id": "/redfish/v1/Managers/1/LogServices/Log", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Managers/1/LogServices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Managers/1/LogServices/index.json new file mode 100644 index 00000000..a3276a56 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Managers/1/LogServices/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Description": "Collection of Log Services for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/1/LogServices/Log" + } + ], + "@odata.id": "/redfish/v1/Managers/1/LogServices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Managers/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Managers/1/index.json new file mode 100644 index 00000000..8ac857f7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Managers/1/index.json @@ -0,0 +1,56 @@ +{ + "@odata.type": "#Manager.v1_25_0.Manager", + "Id": "1", + "Name": "Manager", + "ManagerType": "EnclosureManager", + "Description": "Contoso Expansion Manager", + "ServiceEntryPointUUID": "92384634-2938-2342-8820-489239905423", + "UUID": "58893887-8974-2487-2389-841168418919", + "Model": "Contoso Comp9000", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "FirmwareVersion": "1.00", + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/1/EthernetInterfaces" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Managers/1/LogServices" + }, + "Links": { + "ManagerForChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure" + }, + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray1" + }, + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray2" + }, + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray3" + }, + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray4" + } + ], + "ManagerInChassis": { + "@odata.id": "/redfish/v1/Chassis/ExpansionEnclosure" + } + }, + "Actions": { + "#Manager.Reset": { + "target": "/redfish/v1/Managers/1/Actions/Manager.Reset", + "ResetType@Redfish.AllowableValues": [ + "ForceRestart", + "GracefulRestart" + ] + } + }, + "@odata.id": "/redfish/v1/Managers/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Managers/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Managers/index.json new file mode 100644 index 00000000..d91c5f62 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/Managers/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerCollection.ManagerCollection", + "Name": "Manager Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/1" + } + ], + "@odata.id": "/redfish/v1/Managers", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray1-SAS/Drives/Slot0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray1-SAS/Drives/Slot0/index.json new file mode 100644 index 00000000..47ab4ff2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray1-SAS/Drives/Slot0/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "Slot0", + "Name": "SAS Drive Slot 0", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 274877906944, + "Protocol": "SAS", + "MediaType": "SSD", + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ResourceTray1" + } + }, + "@odata.id": "/redfish/v1/ResourceBlocks/Tray1-SAS/Drives/Slot0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray1-SAS/Drives/Slot1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray1-SAS/Drives/Slot1/index.json new file mode 100644 index 00000000..1322e69d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray1-SAS/Drives/Slot1/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "Slot1", + "Name": "SAS Drive Slot 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 274877906944, + "Protocol": "SAS", + "MediaType": "SSD", + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ResourceTray1" + } + }, + "@odata.id": "/redfish/v1/ResourceBlocks/Tray1-SAS/Drives/Slot1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray1-SAS/Drives/Slot2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray1-SAS/Drives/Slot2/index.json new file mode 100644 index 00000000..87f84a82 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray1-SAS/Drives/Slot2/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "Slot2", + "Name": "SAS Drive Slot 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 274877906944, + "Protocol": "SAS", + "MediaType": "SSD", + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ResourceTray1" + } + }, + "@odata.id": "/redfish/v1/ResourceBlocks/Tray1-SAS/Drives/Slot2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray1-SAS/Drives/Slot3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray1-SAS/Drives/Slot3/index.json new file mode 100644 index 00000000..4c3eb252 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray1-SAS/Drives/Slot3/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "Slot3", + "Name": "SAS Drive Slot 3", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 274877906944, + "Protocol": "SAS", + "MediaType": "SSD", + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ResourceTray1" + } + }, + "@odata.id": "/redfish/v1/ResourceBlocks/Tray1-SAS/Drives/Slot3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray1-SAS/Storage/SAS/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray1-SAS/Storage/SAS/index.json new file mode 100644 index 00000000..cac5eab3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray1-SAS/Storage/SAS/index.json @@ -0,0 +1,47 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Id": "SAS", + "Name": "SAS Storage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Drives": [ + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray1-SAS/Drives/Slot0" + }, + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray1-SAS/Drives/Slot1" + }, + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray1-SAS/Drives/Slot2" + }, + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray1-SAS/Drives/Slot3" + } + ], + "StorageControllers": [ + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray1-SAS/Storage/SAS#/StorageControllers/0", + "MemberId": "0", + "Name": "SAS Controller", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Manufacturer": "Contoso", + "Model": "12Gbs SAS", + "SpeedGbps": 12, + "FirmwareVersion": "1.0.0.7", + "SupportedControllerProtocols": [ + "PCIe" + ], + "SupportedDeviceProtocols": [ + "SAS", + "SATA" + ] + } + ], + "@odata.id": "/redfish/v1/ResourceBlocks/Tray1-SAS/Storage/SAS", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray1-SAS/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray1-SAS/index.json new file mode 100644 index 00000000..51b37f7c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray1-SAS/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "Tray1-SAS", + "Name": "Tray 1, SAS", + "ResourceBlockType": [ + "Storage" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Drives": [ + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray1-SAS/Drives/Slot0" + }, + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray1-SAS/Drives/Slot1" + }, + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray1-SAS/Drives/Slot2" + }, + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray1-SAS/Drives/Slot3" + } + ], + "Storage": [ + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray1-SAS/Storage/SAS" + } + ], + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray1" + } + ] + }, + "@odata.id": "/redfish/v1/ResourceBlocks/Tray1-SAS", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray2-Drive1/Drives/Slot0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray2-Drive1/Drives/Slot0/index.json new file mode 100644 index 00000000..15a5136c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray2-Drive1/Drives/Slot0/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "Slot0", + "Name": "NVMe Drive Slot 0", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 274877906944, + "Protocol": "NVMe", + "MediaType": "SSD", + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ResourceTray2" + } + }, + "@odata.id": "/redfish/v1/ResourceBlocks/Tray2-Drive1/Drives/Slot0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray2-Drive1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray2-Drive1/index.json new file mode 100644 index 00000000..6229ea20 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray2-Drive1/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "Tray2-Drive1", + "Name": "Tray 2, Drive 1", + "ResourceBlockType": [ + "Storage" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Drives": [ + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray2-Drive1/Drives/Slot0" + } + ], + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray2" + } + ] + }, + "@odata.id": "/redfish/v1/ResourceBlocks/Tray2-Drive1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray2-Drive2/Drives/Slot1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray2-Drive2/Drives/Slot1/index.json new file mode 100644 index 00000000..a372a94c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray2-Drive2/Drives/Slot1/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "Slot1", + "Name": "NVMe Drive Slot 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 274877906944, + "Protocol": "NVMe", + "MediaType": "SSD", + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ResourceTray2" + } + }, + "@odata.id": "/redfish/v1/ResourceBlocks/Tray2-Drive2/Drives/Slot1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray2-Drive2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray2-Drive2/index.json new file mode 100644 index 00000000..22f6ab87 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray2-Drive2/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "Tray2-Drive2", + "Name": "Tray 2, Drive 2", + "ResourceBlockType": [ + "Storage" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Drives": [ + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray2-Drive2/Drives/Slot1" + } + ], + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray2" + } + ] + }, + "@odata.id": "/redfish/v1/ResourceBlocks/Tray2-Drive2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray2-Drive3/Drives/Slot2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray2-Drive3/Drives/Slot2/index.json new file mode 100644 index 00000000..9349361a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray2-Drive3/Drives/Slot2/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "Slot2", + "Name": "NVMe Drive Slot 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 274877906944, + "Protocol": "NVMe", + "MediaType": "SSD", + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ResourceTray2" + } + }, + "@odata.id": "/redfish/v1/ResourceBlocks/Tray2-Drive3/Drives/Slot2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray2-Drive3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray2-Drive3/index.json new file mode 100644 index 00000000..9a5c78ba --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray2-Drive3/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "Tray2-Drive3", + "Name": "Tray 2, Drive 3", + "ResourceBlockType": [ + "Storage" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Drives": [ + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray2-Drive3/Drives/Slot2" + } + ], + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray2" + } + ] + }, + "@odata.id": "/redfish/v1/ResourceBlocks/Tray2-Drive3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray2-Drive4/Drives/Slot3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray2-Drive4/Drives/Slot3/index.json new file mode 100644 index 00000000..fb51d77c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray2-Drive4/Drives/Slot3/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "Slot3", + "Name": "NVMe Drive Slot 3", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 274877906944, + "Protocol": "NVMe", + "MediaType": "SSD", + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ResourceTray2" + } + }, + "@odata.id": "/redfish/v1/ResourceBlocks/Tray2-Drive4/Drives/Slot3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray2-Drive4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray2-Drive4/index.json new file mode 100644 index 00000000..39e969ef --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray2-Drive4/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "Tray2-Drive4", + "Name": "Tray 2, Drive 4", + "ResourceBlockType": [ + "Storage" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Drives": [ + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray2-Drive4/Drives/Slot3" + } + ], + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray2" + } + ] + }, + "@odata.id": "/redfish/v1/ResourceBlocks/Tray2-Drive4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray3-Memory/Memory/DIMM0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray3-Memory/Memory/DIMM0/index.json new file mode 100644 index 00000000..4c8e9d10 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray3-Memory/Memory/DIMM0/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM0", + "Name": "DIMM Slot 0", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityMiB": 8192, + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "MemoryMedia": [ + "DRAM" + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ResourceTray3" + } + }, + "@odata.id": "/redfish/v1/ResourceBlocks/Tray3-Memory/Memory/DIMM0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray3-Memory/Memory/DIMM1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray3-Memory/Memory/DIMM1/index.json new file mode 100644 index 00000000..d7c2392b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray3-Memory/Memory/DIMM1/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM1", + "Name": "DIMM Slot 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityMiB": 8192, + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "MemoryMedia": [ + "DRAM" + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ResourceTray3" + } + }, + "@odata.id": "/redfish/v1/ResourceBlocks/Tray3-Memory/Memory/DIMM1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray3-Memory/Memory/DIMM2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray3-Memory/Memory/DIMM2/index.json new file mode 100644 index 00000000..50b27e65 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray3-Memory/Memory/DIMM2/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM2", + "Name": "DIMM Slot 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityMiB": 8192, + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "MemoryMedia": [ + "DRAM" + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ResourceTray3" + } + }, + "@odata.id": "/redfish/v1/ResourceBlocks/Tray3-Memory/Memory/DIMM2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray3-Memory/Memory/DIMM3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray3-Memory/Memory/DIMM3/index.json new file mode 100644 index 00000000..50eec150 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray3-Memory/Memory/DIMM3/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM3", + "Name": "DIMM Slot 3", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityMiB": 8192, + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "MemoryMedia": [ + "DRAM" + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ResourceTray3" + } + }, + "@odata.id": "/redfish/v1/ResourceBlocks/Tray3-Memory/Memory/DIMM3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray3-Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray3-Memory/index.json new file mode 100644 index 00000000..06c3fb75 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray3-Memory/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "Tray3-Memory", + "Name": "Tray 3, Memory", + "ResourceBlockType": [ + "Memory" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Memory": [ + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray3-Memory/Memory/DIMM0" + }, + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray3-Memory/Memory/DIMM1" + }, + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray3-Memory/Memory/DIMM2" + }, + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray3-Memory/Memory/DIMM3" + } + ], + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray3" + } + ] + }, + "@odata.id": "/redfish/v1/ResourceBlocks/Tray3-Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC1/EthernetInterfaces/Port0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC1/EthernetInterfaces/Port0/index.json new file mode 100644 index 00000000..19d707a0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC1/EthernetInterfaces/Port0/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "Port0", + "Name": "Ethernet Interface Port 0", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "AA:BB:CC:DD:EE:FF", + "MACAddress": "AA:BB:CC:DD:EE:FF", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "IPv4Addresses": [ + { + "Address": null, + "SubnetMask": null, + "AddressOrigin": "DHCP", + "Gateway": null + } + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ResourceTray4" + } + }, + "@odata.id": "/redfish/v1/ResourceBlocks/Tray4-NIC1/EthernetInterfaces/Port0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC1/EthernetInterfaces/Port1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC1/EthernetInterfaces/Port1/index.json new file mode 100644 index 00000000..b4f242f2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC1/EthernetInterfaces/Port1/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "Port1", + "Name": "Ethernet Interface Port 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "AA:BB:CC:DD:EE:FE", + "MACAddress": "AA:BB:CC:DD:EE:FE", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "IPv4Addresses": [ + { + "Address": null, + "SubnetMask": null, + "AddressOrigin": "DHCP", + "Gateway": null + } + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ResourceTray4" + } + }, + "@odata.id": "/redfish/v1/ResourceBlocks/Tray4-NIC1/EthernetInterfaces/Port1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC1/index.json new file mode 100644 index 00000000..37f5c354 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC1/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "Tray4-NIC1", + "Name": "Tray 4, NIC 1", + "ResourceBlockType": [ + "Network" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "EthernetInterfaces": [ + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray4-NIC1/EthernetInterfaces/Port0" + }, + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray4-NIC1/EthernetInterfaces/Port1" + } + ], + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray4" + } + ] + }, + "@odata.id": "/redfish/v1/ResourceBlocks/Tray4-NIC1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC2/EthernetInterfaces/Port0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC2/EthernetInterfaces/Port0/index.json new file mode 100644 index 00000000..4c91fe62 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC2/EthernetInterfaces/Port0/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "Port0", + "Name": "Ethernet Interface Port 0", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "AA:BB:CC:DD:EE:FF", + "MACAddress": "AA:BB:CC:DD:EE:FF", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "IPv4Addresses": [ + { + "Address": null, + "SubnetMask": null, + "AddressOrigin": "DHCP", + "Gateway": null + } + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ResourceTray4" + } + }, + "@odata.id": "/redfish/v1/ResourceBlocks/Tray4-NIC2/EthernetInterfaces/Port0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC2/EthernetInterfaces/Port1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC2/EthernetInterfaces/Port1/index.json new file mode 100644 index 00000000..9e0c2c53 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC2/EthernetInterfaces/Port1/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "Port1", + "Name": "Ethernet Interface Port 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "AA:BB:CC:DD:EE:FE", + "MACAddress": "AA:BB:CC:DD:EE:FE", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "IPv4Addresses": [ + { + "Address": null, + "SubnetMask": null, + "AddressOrigin": "DHCP", + "Gateway": null + } + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ResourceTray4" + } + }, + "@odata.id": "/redfish/v1/ResourceBlocks/Tray4-NIC2/EthernetInterfaces/Port1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC2/index.json new file mode 100644 index 00000000..3dfa8214 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC2/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "Tray4-NIC2", + "Name": "Tray 4, NIC 2", + "ResourceBlockType": [ + "Network" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "EthernetInterfaces": [ + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray4-NIC2/EthernetInterfaces/Port0" + }, + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray4-NIC2/EthernetInterfaces/Port1" + } + ], + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray4" + } + ] + }, + "@odata.id": "/redfish/v1/ResourceBlocks/Tray4-NIC2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC3/EthernetInterfaces/Port0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC3/EthernetInterfaces/Port0/index.json new file mode 100644 index 00000000..d5984a4e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC3/EthernetInterfaces/Port0/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "Port0", + "Name": "Ethernet Interface Port 0", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "AA:BB:CC:DD:EE:FF", + "MACAddress": "AA:BB:CC:DD:EE:FF", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "IPv4Addresses": [ + { + "Address": null, + "SubnetMask": null, + "AddressOrigin": "DHCP", + "Gateway": null + } + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ResourceTray4" + } + }, + "@odata.id": "/redfish/v1/ResourceBlocks/Tray4-NIC3/EthernetInterfaces/Port0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC3/EthernetInterfaces/Port1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC3/EthernetInterfaces/Port1/index.json new file mode 100644 index 00000000..73aba526 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC3/EthernetInterfaces/Port1/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "Port1", + "Name": "Ethernet Interface Port 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "AA:BB:CC:DD:EE:FE", + "MACAddress": "AA:BB:CC:DD:EE:FE", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "IPv4Addresses": [ + { + "Address": null, + "SubnetMask": null, + "AddressOrigin": "DHCP", + "Gateway": null + } + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ResourceTray4" + } + }, + "@odata.id": "/redfish/v1/ResourceBlocks/Tray4-NIC3/EthernetInterfaces/Port1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC3/index.json new file mode 100644 index 00000000..418ffe6d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC3/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "Tray4-NIC3", + "Name": "Tray 4, NIC 3", + "ResourceBlockType": [ + "Network" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "EthernetInterfaces": [ + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray4-NIC3/EthernetInterfaces/Port0" + }, + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray4-NIC3/EthernetInterfaces/Port1" + } + ], + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray4" + } + ] + }, + "@odata.id": "/redfish/v1/ResourceBlocks/Tray4-NIC3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC4/EthernetInterfaces/Port0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC4/EthernetInterfaces/Port0/index.json new file mode 100644 index 00000000..deebffcc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC4/EthernetInterfaces/Port0/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "Port0", + "Name": "Ethernet Interface Port 0", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "AA:BB:CC:DD:EE:FF", + "MACAddress": "AA:BB:CC:DD:EE:FF", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "IPv4Addresses": [ + { + "Address": null, + "SubnetMask": null, + "AddressOrigin": "DHCP", + "Gateway": null + } + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ResourceTray4" + } + }, + "@odata.id": "/redfish/v1/ResourceBlocks/Tray4-NIC4/EthernetInterfaces/Port0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC4/EthernetInterfaces/Port1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC4/EthernetInterfaces/Port1/index.json new file mode 100644 index 00000000..d91f8451 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC4/EthernetInterfaces/Port1/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "Port1", + "Name": "Ethernet Interface Port 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "AA:BB:CC:DD:EE:FE", + "MACAddress": "AA:BB:CC:DD:EE:FE", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "IPv4Addresses": [ + { + "Address": null, + "SubnetMask": null, + "AddressOrigin": "DHCP", + "Gateway": null + } + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/ResourceTray4" + } + }, + "@odata.id": "/redfish/v1/ResourceBlocks/Tray4-NIC4/EthernetInterfaces/Port1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC4/index.json new file mode 100644 index 00000000..971b6e19 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/Tray4-NIC4/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", + "Id": "Tray4-NIC4", + "Name": "Tray 4, NIC 4", + "ResourceBlockType": [ + "Network" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "EthernetInterfaces": [ + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray4-NIC4/EthernetInterfaces/Port0" + }, + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray4-NIC4/EthernetInterfaces/Port1" + } + ], + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/ResourceTray4" + } + ] + }, + "@odata.id": "/redfish/v1/ResourceBlocks/Tray4-NIC4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/index.json new file mode 100644 index 00000000..f27a61d1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/ResourceBlocks/index.json @@ -0,0 +1,39 @@ +{ + "@odata.type": "#ResourceBlockCollection.ResourceBlockCollection", + "Name": "Resource Container Collection", + "Members@odata.count": 10, + "Members": [ + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray1-SAS" + }, + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray2-Drive1" + }, + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray2-Drive2" + }, + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray2-Drive3" + }, + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray2-Drive4" + }, + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray3-Memory" + }, + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray4-NIC1" + }, + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray4-NIC2" + }, + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray4-NIC3" + }, + { + "@odata.id": "/redfish/v1/ResourceBlocks/Tray4-NIC4" + } + ], + "@odata.id": "/redfish/v1/ResourceBlocks", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/SessionService/Sessions/1234567890ABCDEF/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/SessionService/Sessions/1234567890ABCDEF/index.json new file mode 100644 index 00000000..90844a1b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/SessionService/Sessions/1234567890ABCDEF/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#Session.v1_9_0.Session", + "Id": "1234567890ABCDEF", + "Name": "User Session", + "Description": "Manager User Session", + "UserName": "Administrator", + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/SessionService/Sessions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/SessionService/Sessions/index.json new file mode 100644 index 00000000..8d8cdf58 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/SessionService/Sessions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SessionCollection.SessionCollection", + "Name": "Session Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF" + } + ], + "@odata.id": "/redfish/v1/SessionService/Sessions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/SessionService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/SessionService/index.json new file mode 100644 index 00000000..62a05690 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/SessionService/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#SessionService.v1_2_0.SessionService", + "Id": "SessionService", + "Name": "Session Service", + "Description": "Session Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "SessionTimeout": 30, + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + }, + "@odata.id": "/redfish/v1/SessionService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/explorer_config.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/explorer_config.json new file mode 100644 index 00000000..29144c63 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/explorer_config.json @@ -0,0 +1,58 @@ +{ + "name": "Expansion Enclosure with Resource Blocks", + "description": "This example shows a service with various sets of disaggregated hardware as resources. The service itself provides information about the types of hardware available in the enclosure, but provides no composability functionality. In these circumstances, an external Redfish service might be used to orchestrate how the equipment is provisioned for composability.", + "navlinks": [ + { + "text": "Main", + "target": "main" + }, + { + "text": "Chassis", + "target": "Chassis", + "navlinks": [ + { + "text": "Expansion Enclosure", + "target": "ExpansionEnclosure" + }, + { + "text": "Resource Tray 1", + "target": "ResourceTray1" + }, + { + "text": "Resource Tray 2", + "target": "ResourceTray2" + }, + { + "text": "Resource Tray 3", + "target": "ResourceTray3" + }, + { + "text": "Resource Tray 4", + "target": "ResourceTray4" + } + ] + }, + { + "text": "Resource Blocks", + "target": "ResourceBlocks" + }, + { + "text": "Managers", + "target": "Managers", + "navlinks": [ + { + "text": "1", + "target": "1" + } + ] + }, + { + "text": "Session Service", + "target": "SessionService" + }, + { + "text": "Account Service", + "target": "AccountService" + } + ] +} diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/index.json new file mode 100644 index 00000000..f7dcadcb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/index.json @@ -0,0 +1,42 @@ +{ + "@odata.type": "#ServiceRoot.v1_22_0.ServiceRoot", + "Id": "RootService", + "Name": "Root Service", + "RedfishVersion": "1.15.0", + "ProtocolFeaturesSupported": { + "ExpandQuery": { + "ExpandAll": true, + "Levels": true, + "MaxLevels": 6, + "Links": true, + "NoLinks": true + }, + "SelectQuery": false, + "FilterQuery": false, + "OnlyMemberQuery": true, + "ExcerptQuery": true + }, + "UUID": "92384634-2938-2342-8820-489239905423", + "Chassis": { + "@odata.id": "/redfish/v1/Chassis" + }, + "Managers": { + "@odata.id": "/redfish/v1/Managers" + }, + "SessionService": { + "@odata.id": "/redfish/v1/SessionService" + }, + "AccountService": { + "@odata.id": "/redfish/v1/AccountService" + }, + "ResourceBlocks": { + "@odata.id": "/redfish/v1/ResourceBlocks" + }, + "Links": { + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + } + }, + "@odata.id": "/redfish/v1/", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/odata/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/odata/index.json new file mode 100644 index 00000000..369640c2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-expansion-box/odata/index.json @@ -0,0 +1,41 @@ +{ + "@odata.context": "/redfish/v1/$metadata", + "value": [ + { + "name": "Service", + "kind": "Singleton", + "url": "/redfish/v1/" + }, + { + "name": "Chassis", + "kind": "Singleton", + "url": "/redfish/v1/Chassis" + }, + { + "name": "Managers", + "kind": "Singleton", + "url": "/redfish/v1/Managers" + }, + { + "name": "AccountService", + "kind": "Singleton", + "url": "/redfish/v1/AccountService" + }, + { + "name": "SessionService", + "kind": "Singleton", + "url": "/redfish/v1/SessionService" + }, + { + "name": "Sessions", + "kind": "Singleton", + "url": "/redfish/v1/SessionService/Sessions" + }, + { + "name": "ResourceBlocks", + "kind": "Singleton", + "url": "/redfish/v1/ResourceBlocks" + } + ], + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/$metadata/index.xml b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/$metadata/index.xml new file mode 100644 index 00000000..75bd14c1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/$metadata/index.xml @@ -0,0 +1,213 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AccountService/Accounts/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AccountService/Accounts/1/index.json new file mode 100644 index 00000000..2b94324f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AccountService/Accounts/1/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#ManagerAccount.v1_14_2.ManagerAccount", + "Id": "1", + "Name": "User Account", + "Description": "User Account", + "Enabled": true, + "Password": null, + "UserName": "Administrator", + "RoleId": "Administrator", + "AccountTypes": [ + "Redfish" + ], + "Locked": false, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + } + }, + "@odata.id": "/redfish/v1/AccountService/Accounts/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AccountService/Accounts/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AccountService/Accounts/index.json new file mode 100644 index 00000000..f509d474 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AccountService/Accounts/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerAccountCollection.ManagerAccountCollection", + "Name": "Accounts Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Accounts/1" + } + ], + "@odata.id": "/redfish/v1/AccountService/Accounts", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AccountService/Roles/Administrator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AccountService/Roles/Administrator/index.json new file mode 100644 index 00000000..19d26a98 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AccountService/Roles/Administrator/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Administrator", + "Name": "User Role", + "Description": "Admin User Role", + "RoleId": "Administrator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureManager", + "ConfigureUsers", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [ + "OemClearLog", + "OemPowerControl" + ], + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AccountService/Roles/Operator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AccountService/Roles/Operator/index.json new file mode 100644 index 00000000..90804a6a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AccountService/Roles/Operator/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Operator", + "Name": "User Role", + "Description": "Operator User Role", + "RoleId": "Operator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/Operator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AccountService/Roles/ReadOnly/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AccountService/Roles/ReadOnly/index.json new file mode 100644 index 00000000..1df0cf03 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AccountService/Roles/ReadOnly/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "ReadOnly", + "Name": "User Role", + "Description": "ReadOnly User Role", + "RoleId": "ReadOnly", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AccountService/Roles/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AccountService/Roles/index.json new file mode 100644 index 00000000..ba9ee112 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AccountService/Roles/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#RoleCollection.RoleCollection", + "Name": "Roles Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/Operator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly" + } + ], + "@odata.id": "/redfish/v1/AccountService/Roles", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AccountService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AccountService/index.json new file mode 100644 index 00000000..3d733a5f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AccountService/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#AccountService.v1_19_0.AccountService", + "Id": "AccountService", + "Name": "Account Service", + "Description": "Account Service", + "Status": { + "@odata.type": "#Resource.Status", + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "AuthFailureLoggingThreshold": 3, + "MinPasswordLength": 8, + "AccountLockoutThreshold": 5, + "AccountLockoutDuration": 30, + "AccountLockoutCounterResetAfter": 30, + "Accounts": { + "@odata.id": "/redfish/v1/AccountService/Accounts" + }, + "Roles": { + "@odata.id": "/redfish/v1/AccountService/Roles" + }, + "@odata.id": "/redfish/v1/AccountService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/Sensor1/AutomationInstrumentation/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/Sensor1/AutomationInstrumentation/index.json new file mode 100644 index 00000000..44c1046a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/Sensor1/AutomationInstrumentation/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#AutomationInstrumentation.v1_0_0.AutomationInstrumentation", + "Id": "Instrumentation", + "Name": "Instrumentation for Simple Sensor AutomationNode", + "TemperatureCelsius": { + "Reading": 24, + "DataSourceUri": "/redfish/v1/Chassis/Node4/Sensors/Temperature" + }, + "Voltage": { + "Reading": 12, + "DataSourceUri": "/redfish/v1/Chassis/Node4/Sensors/Voltage" + }, + "CurrentAmps": { + "Reading": 0.1, + "DataSourceUri": "/redfish/v1/Chassis/Node4/Sensors/Current" + }, + "@odata.id": "/redfish/v1/AutomationNodes/Sensor1/AutomationInstrumentation", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/Sensor1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/Sensor1/index.json new file mode 100644 index 00000000..1e9ac7be --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/Sensor1/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#AutomationNode.v1_0_0.AutomationNode", + "Id": "Sensor1", + "Name": "Simple Sensor Node", + "Description": "This resource implements a simple sensor node", + "Actions": { + "@odata.type": "#AutomationNode.v1_0_0.Actions", + "#AutomationNode.Reset": { + "target": "/redfish/v1/AutomationNodes/Sensor1/Actions/AutomationNode.Reset" + }, + "#AutomationNode.SendTrigger": { + "target": "/redfish/v1/AutomationNodes/Sensor1/Actions/AutomationNode.SendTrigger" + } + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Node4" + } + ] + }, + "Instrumentation": { + "@odata.id": "/redfish/v1/AutomationNodes/Sensor1/AutomationInstrumentation" + }, + "NodeType": "Simple", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/AutomationNodes/Sensor1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/Thermostat/AutomationInstrumentation/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/Thermostat/AutomationInstrumentation/index.json new file mode 100644 index 00000000..bd729c21 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/Thermostat/AutomationInstrumentation/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#AutomationInstrumentation.v1_0_0.AutomationInstrumentation", + "Id": "Instrumentation", + "Name": "Instrumentation for PID Thermostat Controller", + "NodeState": "Idle", + "PID": { + "SetPoint": 24, + "Reading": 24, + "ReadingUnits": "Cel", + "ControlLoop": { + "Proportional": 0.5, + "Integral": 0, + "Differential": 0.1 + }, + "DataSourceUri": "/redfish/v1/Chassis/Node5/Controls/Thermostat" + }, + "@odata.id": "/redfish/v1/AutomationNodes/Thermostat/AutomationInstrumentation", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/Thermostat/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/Thermostat/index.json new file mode 100644 index 00000000..a2c27e30 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/Thermostat/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#AutomationNode.v1_0_0.AutomationNode", + "Id": "Thermostat", + "Name": "PID Thermostat Controller", + "Description": "An example PID AutomationNode resource", + "NodeType": "PID", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "NodeState": "Idle", + "Instrumentation": { + "@odata.id": "/redfish/v1/AutomationNodes/Thermostat/AutomationInstrumentation" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Node5" + } + ] + }, + "Actions": { + "#AutomationNode.Reset": { + "target": "/redfish/v1/AutomationNodes/Thermostat/Actions/AutomationNode.Reset" + }, + "#AutomationNode.SendTrigger": { + "target": "/redfish/v1/AutomationNodes/Thermostat/Actions/AutomationNode.SendTrigger" + }, + "#AutomationNode.Start": { + "target": "/redfish/v1/AutomationNodes/Thermostat/Actions/AutomationNode.Start" + }, + "#AutomationNode.Stop": { + "target": "/redfish/v1/AutomationNodes/Thermostat/Actions/AutomationNode.Stop" + } + }, + "@odata.id": "/redfish/v1/AutomationNodes/Thermostat", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/VelocityMover/AutomationInstrumentation/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/VelocityMover/AutomationInstrumentation/index.json new file mode 100644 index 00000000..4af1a218 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/VelocityMover/AutomationInstrumentation/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#AutomationInstrumentation.v1_0_0.AutomationInstrumentation", + "Id": "Instrumentation", + "Name": "Instrumentation for Velocity-based Motion Controller", + "Status": { + "State": "Enabled", + "Health": "Warning", + "Conditions": [ + { + "MessageId": "Power.CurrentAboveUpperCriticalThreshold", + "Message": "Current 'Conveyor' reading of 9.3 amperes is above the 6.0 upper critical threshold.", + "MessageArgs": [ + "Conveyor", + "9.3", + "6.0" + ], + "Severity": "Warning", + "Timestamp": "2024-03-07T14:44:00Z" + } + ] + }, + "NodeState": "ConditionStop", + "NodeControl": { + "DataSourceUri": "/redfish/v1/Chassis/Conveyor/Controls/Output", + "SetPoint": 0.02, + "Reading": 0 + }, + "CurrentAmps": { + "DataSourceUri": "/redfish/v1/Chassis/Conveyor/Sensors/Current", + "Reading": 9.3 + }, + "@odata.id": "/redfish/v1/AutomationNodes/VelocityMover/AutomationInstrumentation", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/VelocityMover/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/VelocityMover/index.json new file mode 100644 index 00000000..36e34874 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/VelocityMover/index.json @@ -0,0 +1,55 @@ +{ + "@odata.type": "#AutomationNode.v1_0_0.AutomationNode", + "Id": "VelocityMover", + "Name": "Conveyor", + "Description": "An example of a velocity-based motion automation node.", + "Status": { + "State": "Enabled", + "Health": "Warning", + "Conditions": [ + { + "MessageId": "Power.CurrentAboveUpperCriticalThreshold", + "Message": "Current 'Conveyor' reading of 9.3 amperes is above the 6.0 upper critical threshold.", + "MessageArgs": [ + "Conveyor", + "9.3", + "6.0" + ], + "Severity": "Warning", + "Timestamp": "2024-03-07T14:44:00Z" + } + ] + }, + "NodeState": "ConditionStop", + "NodeType": "MotionVelocity", + "MotionProfile": "SCurve", + "Instrumentation": { + "@odata.id": "/redfish/v1/AutomationNodes/VelocityMover/AutomationInstrumentation" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Conveyor" + } + ] + }, + "Actions": { + "#AutomationNode.Reset": { + "target": "/redfish/v1/AutomationNodes/VelocityMover/Actions/AutomationNode.Reset" + }, + "#AutomationNode.SendTrigger": { + "target": "/redfish/v1/AutomationNodes/VelocityMover/Actions/AutomationNode.SendTrigger" + }, + "#AutomationNode.Start": { + "target": "/redfish/v1/AutomationNodes/VelocityMover/Actions/AutomationNode.Start" + }, + "#AutomationNode.Stop": { + "target": "/redfish/v1/AutomationNodes/VelocityMover/Actions/AutomationNode.Stop" + }, + "#AutomationNode.Wait": { + "target": "/redfish/v1/AutomationNodes/VelocityMover/Actions/AutomationNode.Wait" + } + }, + "@odata.id": "/redfish/v1/AutomationNodes/VelocityMover", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/XAxisMover/AutomationInstrumentation/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/XAxisMover/AutomationInstrumentation/index.json new file mode 100644 index 00000000..9693c64d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/XAxisMover/AutomationInstrumentation/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#AutomationInstrumentation.v1_0_0.AutomationInstrumentation", + "Id": "Instrumentation", + "Name": "Instrumentation for X-Axis Motion Controller", + "Status": { + "State": "Enabled", + "Health": "OK", + "Conditions": [] + }, + "NodeState": "Running", + "NodeControl": { + "DataSourceUri": "/redfish/v1/Chassis/3AxisMotion/Controls/XOutput", + "SetPoint": 0.75, + "SetPointUnits": "m", + "Reading": 0.51, + "ReadingUnits": "m" + }, + "Voltage": { + "Reading": 24.3 + }, + "TemperatureCelsius": { + "Reading": 39.8 + }, + "@odata.id": "/redfish/v1/AutomationNodes/XAxisMover/AutomationInstrumentation", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/XAxisMover/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/XAxisMover/index.json new file mode 100644 index 00000000..76d07473 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/XAxisMover/index.json @@ -0,0 +1,44 @@ +{ + "@odata.type": "#AutomationNode.v1_0_0.AutomationNode", + "Id": "XAxisMover", + "Name": "X-Axis positioner", + "Description": "The X axis automation node for the machine.", + "Status": { + "State": "Enabled", + "Health": "OK", + "Conditions": [] + }, + "NodeState": "Running", + "NodeType": "MotionPosition", + "MotionProfile": "Trapezoidal", + "MotionAxis": "X", + "Instrumentation": { + "@odata.id": "/redfish/v1/AutomationNodes/XAxisMover/AutomationInstrumentation" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/3AxisMotion" + } + ] + }, + "Actions": { + "#AutomationNode.Reset": { + "target": "/redfish/v1/AutomationNodes/XAxisMover/Actions/AutomationNode.Reset" + }, + "#AutomationNode.SendTrigger": { + "target": "/redfish/v1/AutomationNodes/XAxisMover/Actions/AutomationNode.SendTrigger" + }, + "#AutomationNode.Start": { + "target": "/redfish/v1/AutomationNodes/XAxisMover/Actions/AutomationNode.Start" + }, + "#AutomationNode.Stop": { + "target": "/redfish/v1/AutomationNodes/XAxisMover/Actions/AutomationNode.Stop" + }, + "#AutomationNode.Wait": { + "target": "/redfish/v1/AutomationNodes/XAxisMover/Actions/AutomationNode.Wait" + } + }, + "@odata.id": "/redfish/v1/AutomationNodes/XAxisMover", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/YAxisMover/AutomationInstrumentation/Settings/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/YAxisMover/AutomationInstrumentation/Settings/index.json new file mode 100644 index 00000000..b53c90cb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/YAxisMover/AutomationInstrumentation/Settings/index.json @@ -0,0 +1,10 @@ +{ + "@odata.type": "#AutomationInstrumentation.v1_0_0.AutomationInstrumentation", + "Id": "Settings", + "Name": "Instrumentation for Y-Axis Motion Controller", + "NodeControl": { + "SetPoint": 0.27 + }, + "@odata.id": "/redfish/v1/AutomationNodes/YAxisMover/AutomationInstrumentation/Settings", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/YAxisMover/AutomationInstrumentation/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/YAxisMover/AutomationInstrumentation/index.json new file mode 100644 index 00000000..20acde53 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/YAxisMover/AutomationInstrumentation/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#AutomationInstrumentation.v1_0_0.AutomationInstrumentation", + "Id": "Instrumentation", + "Name": "Instrumentation for Y-Axis Motion Controller", + "Status": { + "State": "Enabled", + "Health": "OK", + "Conditions": [] + }, + "NodeState": "Running", + "NodeControl": { + "DataSourceUri": "/redfish/v1/Chassis/3AxisMotion/Controls/YOutput", + "SetPoint": 0.19, + "SetPointUnits": "m", + "Reading": 0.18, + "ReadingUnits": "m" + }, + "CurrentAmps": { + "Reading": 2.7 + }, + "TemperatureCelsius": { + "Reading": 35.1 + }, + "@Redfish.Settings": { + "SettingsObject": { + "@odata.id": "/redfish/v1/AutomationNodes/YAxisMover/AutomationInstrumentation/Settings" + }, + "Time": "2024-10-18T11:33-05:00" + }, + "@odata.id": "/redfish/v1/AutomationNodes/YAxisMover/AutomationInstrumentation", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/YAxisMover/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/YAxisMover/index.json new file mode 100644 index 00000000..05b6edbb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/YAxisMover/index.json @@ -0,0 +1,44 @@ +{ + "@odata.type": "#AutomationNode.v1_0_0.AutomationNode", + "Id": "YAxisMover", + "Name": "Y-Axis positioner", + "Description": "The Y axis automation node for the machine.", + "Status": { + "State": "Enabled", + "Health": "OK", + "Conditions": [] + }, + "NodeState": "Idle", + "NodeType": "MotionPosition", + "MotionProfile": "Trapezoidal", + "MotionAxis": "Y", + "Instrumentation": { + "@odata.id": "/redfish/v1/AutomationNodes/YAxisMover/AutomationInstrumentation" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/3AxisMotion" + } + ] + }, + "Actions": { + "#AutomationNode.Reset": { + "target": "/redfish/v1/AutomationNodes/YAxisMover/Actions/AutomationNode.Reset" + }, + "#AutomationNode.SendTrigger": { + "target": "/redfish/v1/AutomationNodes/YAxisMover/Actions/AutomationNode.SendTrigger" + }, + "#AutomationNode.Start": { + "target": "/redfish/v1/AutomationNodes/YAxisMover/Actions/AutomationNode.Start" + }, + "#AutomationNode.Stop": { + "target": "/redfish/v1/AutomationNodes/YAxisMover/Actions/AutomationNode.Stop" + }, + "#AutomationNode.Wait": { + "target": "/redfish/v1/AutomationNodes/YAxisMover/Actions/AutomationNode.Wait" + } + }, + "@odata.id": "/redfish/v1/AutomationNodes/YAxisMover", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/ZAxisMover/AutomationInstrumentation/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/ZAxisMover/AutomationInstrumentation/index.json new file mode 100644 index 00000000..d7cd6059 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/ZAxisMover/AutomationInstrumentation/index.json @@ -0,0 +1,23 @@ +{ + "@odata.type": "#AutomationInstrumentation.v1_0_0.AutomationInstrumentation", + "Id": "Instrumentation", + "Name": "Instrumentation for Z-Axis Motion Controller", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "NodeState": "Running", + "NodeControl": { + "DataSourceUri": "/redfish/v1/Chassis/3AxisMotion/Controls/ZOutput", + "SetPoint": 0.39, + "Reading": 0.35 + }, + "CurrentAmps": { + "Reading": 14.3 + }, + "TemperatureCelsius": { + "Reading": 39.8 + }, + "@odata.id": "/redfish/v1/AutomationNodes/ZAxisMover/AutomationInstrumentation", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/ZAxisMover/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/ZAxisMover/index.json new file mode 100644 index 00000000..f65791d5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/ZAxisMover/index.json @@ -0,0 +1,44 @@ +{ + "@odata.type": "#AutomationNode.v1_0_0.AutomationNode", + "Id": "ZAxisMover", + "Name": "Z-Axis positioner", + "Description": "The Z axis automation node for the machine.", + "Status": { + "State": "Enabled", + "Health": "OK", + "Conditions": [] + }, + "NodeState": "Idle", + "NodeType": "MotionPosition", + "MotionProfile": "Trapezoidal", + "MotionAxis": "Z", + "Instrumentation": { + "@odata.id": "/redfish/v1/AutomationNodes/ZAxisMover/AutomationInstrumentation" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/3AxisMotion" + } + ] + }, + "Actions": { + "#AutomationNode.Reset": { + "target": "/redfish/v1/AutomationNodes/ZAxisMover/Actions/AutomationNode.Reset" + }, + "#AutomationNode.SendTrigger": { + "target": "/redfish/v1/AutomationNodes/ZAxisMover/Actions/AutomationNode.SendTrigger" + }, + "#AutomationNode.Start": { + "target": "/redfish/v1/AutomationNodes/ZAxisMover/Actions/AutomationNode.Start" + }, + "#AutomationNode.Stop": { + "target": "/redfish/v1/AutomationNodes/ZAxisMover/Actions/AutomationNode.Stop" + }, + "#AutomationNode.Wait": { + "target": "/redfish/v1/AutomationNodes/ZAxisMover/Actions/AutomationNode.Wait" + } + }, + "@odata.id": "/redfish/v1/AutomationNodes/ZAxisMover", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/index.json new file mode 100644 index 00000000..2167e96e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/AutomationNodes/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#AutomationNodeCollection.AutomationNodeCollection", + "Description": "A collection of Automation Nodes", + "Name": "Automation Node Collection", + "Members@odata.count": 6, + "Members": [ + { + "@odata.id": "/redfish/v1/AutomationNodes/Sensor1" + }, + { + "@odata.id": "/redfish/v1/AutomationNodes/Thermostat" + }, + { + "@odata.id": "/redfish/v1/AutomationNodes/VelocityMover" + }, + { + "@odata.id": "/redfish/v1/AutomationNodes/XAxisMover" + }, + { + "@odata.id": "/redfish/v1/AutomationNodes/YAxisMover" + }, + { + "@odata.id": "/redfish/v1/AutomationNodes/ZAxisMover" + } + ], + "@odata.id": "/redfish/v1/AutomationNodes", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Cables/ComPower1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Cables/ComPower1/index.json new file mode 100644 index 00000000..73232d84 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Cables/ComPower1/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Cable.v1_3_0.Cable", + "Id": "ComPower1", + "Name": "Communication and Power Cable", + "UpstreamName": "USB1", + "DownstreamName": "J1", + "Links": { + "UpstreamChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Aggregator" + } + ], + "DownstreamChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/3AxisMotion" + } + ] + }, + "@odata.id": "/redfish/v1/Cables/ComPower1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Cables/ComPower4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Cables/ComPower4/index.json new file mode 100644 index 00000000..a4bb0599 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Cables/ComPower4/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Cable.v1_3_0.Cable", + "Id": "ComPower4", + "Name": "Communication and Power Cable", + "UpstreamName": "USB4", + "DownstreamName": "J1", + "Links": { + "UpstreamChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Aggregator" + } + ], + "DownstreamChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Node4" + } + ] + }, + "@odata.id": "/redfish/v1/Cables/ComPower4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Cables/ComPower5/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Cables/ComPower5/index.json new file mode 100644 index 00000000..3d2d1b3d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Cables/ComPower5/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Cable.v1_3_0.Cable", + "Id": "ComPower5", + "Name": "Communication and Power Cable", + "UpstreamName": "USB5", + "DownstreamName": "J1", + "Links": { + "UpstreamChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Aggregator" + } + ], + "DownstreamChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Node5" + } + ] + }, + "@odata.id": "/redfish/v1/Cables/ComPower5", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Cables/MainPower/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Cables/MainPower/index.json new file mode 100644 index 00000000..0c3f0f29 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Cables/MainPower/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Cable.v1_3_0.Cable", + "Id": "MainPower", + "Name": "Main Power Cable", + "UserDescription": "Power Cable", + "UpstreamName": "POWER", + "DownstreamName": "Outlet", + "CableType": "Power", + "LengthMeters": 0.5, + "CableClass": "Power", + "UpstreamConnectorTypes": [ + "DCPower" + ], + "DownstreamConnectorTypes": [ + "DCPower" + ], + "Links": { + "UpstreamChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Aggregator" + } + ] + }, + "PartNumber": "60320", + "Manufacturer": "Cables Inc.", + "SerialNumber": "123456", + "Vendor": "Cablestore", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CableStatus": "Normal", + "@odata.id": "/redfish/v1/Cables/MainPower", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Cables/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Cables/index.json new file mode 100644 index 00000000..7a255fcf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Cables/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#CableCollection.CableCollection", + "Description": "A collection of Cables that connect elements of the Automation installation", + "Name": "Cable Collection", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/Cables/MainPower" + }, + { + "@odata.id": "/redfish/v1/Cables/ComPower1" + }, + { + "@odata.id": "/redfish/v1/Cables/ComPower4" + }, + { + "@odata.id": "/redfish/v1/Cables/ComPower5" + } + ], + "@odata.id": "/redfish/v1/Cables", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Controls/XOutput/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Controls/XOutput/index.json new file mode 100644 index 00000000..b49c0c6b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Controls/XOutput/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#Control.v1_8_1.Control", + "Id": "XOutput", + "Name": "Final position", + "ControlType": "LinearPosition", + "SetPointType": "Single", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ControlMode": "Automatic", + "SetPoint": 0.0503, + "SetPointError": 0.03, + "SetPointUnits": "m", + "AllowableMax": 0.06, + "AllowableMin": 0, + "Implementation": "Programmable", + "Sensor": { + "Reading": 0.0504, + "DataSourceUri": "/redfish/v1/Chassis/3AxisMotion/Sensors/XPosition" + }, + "@odata.id": "/redfish/v1/Chassis/3AxisMotion/Controls/XOutput", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Controls/XVelocity/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Controls/XVelocity/index.json new file mode 100644 index 00000000..a375c655 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Controls/XVelocity/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#Control.v1_8_1.Control", + "Id": "XVelocity", + "Name": "Velocity pass-thru sensor", + "ControlType": "LinearVelocity", + "ControlMode": "Automatic", + "SetPointType": "Monitor", + "SetPointUnits": "m/s", + "AllowableMin": 0, + "AllowableMax": 0.1, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Implementation": "Programmable", + "Sensor": { + "Reading": 0.02, + "DataSourceUri": "/redfish/v1/Chassis/3AxisMotion/Sensors/XVelocity" + }, + "@odata.id": "/redfish/v1/Chassis/3AxisMotion/Controls/XVelocity", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Controls/YOutput/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Controls/YOutput/index.json new file mode 100644 index 00000000..5e100e5b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Controls/YOutput/index.json @@ -0,0 +1,23 @@ +{ + "@odata.type": "#Control.v1_8_1.Control", + "Id": "YOutput", + "Name": "Final position", + "ControlType": "LinearPosition", + "SetPointType": "Single", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ControlMode": "Manual", + "SetPoint": 0.0503, + "SetPointUnits": "m", + "AllowableMax": 0.06, + "AllowableMin": 0, + "Implementation": "Programmable", + "Sensor": { + "Reading": 0.0504, + "DataSourceUri": "/redfish/v1/Chassis/3AxisMotion/Sensors/YPosition" + }, + "@odata.id": "/redfish/v1/Chassis/3AxisMotion/Controls/YOutput", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Controls/ZOutput/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Controls/ZOutput/index.json new file mode 100644 index 00000000..21a4dd07 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Controls/ZOutput/index.json @@ -0,0 +1,23 @@ +{ + "@odata.type": "#Control.v1_8_1.Control", + "Id": "ZOutput", + "Name": "Final position", + "ControlType": "LinearPosition", + "SetPointType": "Single", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ControlMode": "Automatic", + "SetPoint": 0.00503, + "SetPointUnits": "m", + "AllowableMax": 0.006, + "AllowableMin": 0, + "Implementation": "Programmable", + "Sensor": { + "Reading": 0.00504, + "DataSourceUri": "/redfish/v1/Chassis/3AxisMotion/Sensors/ZPosition" + }, + "@odata.id": "/redfish/v1/Chassis/3AxisMotion/Controls/ZOutput", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Controls/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Controls/index.json new file mode 100644 index 00000000..d43a0ce2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Controls/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#ControlCollection.ControlCollection", + "Description": "A collection of controls", + "Name": "Control Collection", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/3AxisMotion/Controls/XOutput" + }, + { + "@odata.id": "/redfish/v1/Chassis/3AxisMotion/Controls/YOutput" + }, + { + "@odata.id": "/redfish/v1/Chassis/3AxisMotion/Controls/ZOutput" + }, + { + "@odata.id": "/redfish/v1/Chassis/3AxisMotion/Controls/XVelocity" + } + ], + "@odata.id": "/redfish/v1/Chassis/3AxisMotion/Controls", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Sensors/XPosition/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Sensors/XPosition/index.json new file mode 100644 index 00000000..e86fa35a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Sensors/XPosition/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "XPosition", + "Name": "Current X-axis Position", + "ReadingType": "LinearPosition", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 0.51, + "ReadingUnits": "m", + "@odata.id": "/redfish/v1/Chassis/3AxisMotion/Sensors/XPosition", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Sensors/XVelocity/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Sensors/XVelocity/index.json new file mode 100644 index 00000000..447b9534 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Sensors/XVelocity/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "XVelocity", + "Name": "Current X-axis Velocity", + "ReadingType": "LinearVelocity", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 0.02, + "ReadingUnits": "m/s", + "@odata.id": "/redfish/v1/Chassis/3AxisMotion/Sensors/XVelocity", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Sensors/YPosition/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Sensors/YPosition/index.json new file mode 100644 index 00000000..389c6c83 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Sensors/YPosition/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "YPosition", + "Name": "Current Y-axis Position", + "ReadingType": "LinearPosition", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 0.18, + "ReadingUnits": "m", + "@odata.id": "/redfish/v1/Chassis/3AxisMotion/Sensors/YPosition", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Sensors/ZPosition/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Sensors/ZPosition/index.json new file mode 100644 index 00000000..c0c779b2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Sensors/ZPosition/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "ZPosition", + "Name": "Current Z-axis Position", + "ReadingType": "LinearPosition", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 0.35, + "ReadingUnits": "m", + "@odata.id": "/redfish/v1/Chassis/3AxisMotion/Sensors/ZPosition", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Sensors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Sensors/index.json new file mode 100644 index 00000000..0b8c174c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/Sensors/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#SensorCollection.SensorCollection", + "Description": "A collection of sensors", + "Name": "Sensor Collection", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/3AxisMotion/Sensors/XPosition" + }, + { + "@odata.id": "/redfish/v1/Chassis/3AxisMotion/Sensors/YPosition" + }, + { + "@odata.id": "/redfish/v1/Chassis/3AxisMotion/Sensors/XVelocity" + }, + { + "@odata.id": "/redfish/v1/Chassis/3AxisMotion/Sensors/ZPosition" + } + ], + "@odata.id": "/redfish/v1/Chassis/3AxisMotion/Sensors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/index.json new file mode 100644 index 00000000..d57f80bf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/3AxisMotion/index.json @@ -0,0 +1,44 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "AssetTag": "PICMGNODEASSETTAG", + "Id": "3AxisMotion", + "Name": "3-Axis Positioner", + "ChassisType": "Module", + "SerialNumber": "00000001", + "Manufacturer": "PICMG", + "Model": "PICMG0001", + "PartNumber": "Part-01", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Controls": { + "@odata.id": "/redfish/v1/Chassis/3AxisMotion/Controls" + }, + "Sensors": { + "@odata.id": "/redfish/v1/Chassis/3AxisMotion/Sensors" + }, + "Links": { + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/AutomationManager" + } + ], + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/Aggregator" + }, + "AutomationNodes": [ + { + "@odata.id": "/redfish/v1/AutomationNodes/XAxisMover" + }, + { + "@odata.id": "/redfish/v1/AutomationNodes/YAxisMover" + }, + { + "@odata.id": "/redfish/v1/AutomationNodes/ZAxisMover" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/3AxisMotion", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Aggregator/Sensors/CPUTemp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Aggregator/Sensors/CPUTemp/index.json new file mode 100644 index 00000000..82d79ff4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Aggregator/Sensors/CPUTemp/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CPUTemp", + "Name": "CPU Temperature", + "ReadingType": "Temperature", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 51, + "ReadingUnits": "Cel", + "PhysicalContext": "CPU", + "PhysicalSubContext": "Input", + "MaxAllowableOperatingValue": 100, + "MinAllowableOperatingValue": 0, + "Thresholds": { + "UpperCaution": { + "Reading": 70, + "Activation": "Increasing" + }, + "UpperCritical": { + "Reading": 90, + "Activation": "Increasing" + }, + "UpperFatal": { + "Reading": 90, + "Activation": "Increasing" + } + }, + "@odata.id": "/redfish/v1/Chassis/Aggregator/Sensors/CPUTemp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Aggregator/Sensors/SystemBoard/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Aggregator/Sensors/SystemBoard/index.json new file mode 100644 index 00000000..f66464d4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Aggregator/Sensors/SystemBoard/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "SystemBoard", + "Name": "System Board Temperature", + "ReadingType": "Temperature", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 42, + "ReadingUnits": "Cel", + "PhysicalContext": "SystemBoard", + "PhysicalSubContext": "Input", + "MaxAllowableOperatingValue": 100, + "MinAllowableOperatingValue": 0, + "Thresholds": { + "UpperCaution": { + "Reading": 55, + "Activation": "Increasing" + }, + "UpperCritical": { + "Reading": 65, + "Activation": "Increasing" + }, + "UpperFatal": { + "Reading": 75, + "Activation": "Increasing" + } + }, + "@odata.id": "/redfish/v1/Chassis/Aggregator/Sensors/SystemBoard", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Aggregator/Sensors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Aggregator/Sensors/index.json new file mode 100644 index 00000000..a3937fa8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Aggregator/Sensors/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#SensorCollection.SensorCollection", + "Description": "A collection of sensors", + "Name": "Sensor Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/Aggregator/Sensors/CPUTemp" + }, + { + "@odata.id": "/redfish/v1/Chassis/Aggregator/Sensors/SystemBoard" + } + ], + "@odata.id": "/redfish/v1/Chassis/Aggregator/Sensors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Aggregator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Aggregator/index.json new file mode 100644 index 00000000..c14e3c54 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Aggregator/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "AssetTag": "PICMGAGGREGATORASSETTAG", + "Id": "Aggregator", + "ChassisType": "Enclosure", + "Links": { + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/AutomationManager" + } + ], + "Contains": [ + { + "@odata.id": "/redfish/v1/Chassis/3AxisMotion" + }, + { + "@odata.id": "/redfish/v1/Chassis/Conveyor" + } + ] + }, + "Manufacturer": "PICMG", + "Model": "PICMG Aggregator 00001", + "Name": "PICMG Aggregator 1", + "PartNumber": "224071-J23", + "PowerState": "On", + "SerialNumber": "437XR1138R2", + "UUID": "32354641-4135-4332-4a35-313735303734", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Sensors": { + "@odata.id": "/redfish/v1/Chassis/Aggregator/Sensors" + }, + "@odata.id": "/redfish/v1/Chassis/Aggregator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Conveyor/Controls/Output/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Conveyor/Controls/Output/index.json new file mode 100644 index 00000000..0cd179a5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Conveyor/Controls/Output/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#Control.v1_8_1.Control", + "Id": "Output", + "Name": "Velocity control", + "ControlType": "LinearVelocity", + "SetPointType": "Single", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "SetPoint": 0.02, + "SetPointError": 0, + "Implementation": "Programmable", + "Sensor": { + "Reading": 0, + "DataSourceUri": "/redfish/v1/Chassis/Conveyor/Sensors/Velocity" + }, + "@odata.id": "/redfish/v1/Chassis/Conveyor/Controls/Output", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Conveyor/Controls/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Conveyor/Controls/index.json new file mode 100644 index 00000000..7c1bf276 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Conveyor/Controls/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#ControlCollection.ControlCollection", + "Description": "A collection of controls", + "Name": "Control Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/Conveyor/Controls/Output" + } + ], + "@odata.id": "/redfish/v1/Chassis/Conveyor/Controls", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Conveyor/Sensors/Current/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Conveyor/Sensors/Current/index.json new file mode 100644 index 00000000..6805b690 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Conveyor/Sensors/Current/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "Current", + "Name": "Conveyor Current", + "ReadingType": "Current", + "Status": { + "State": "Enabled", + "Health": "Warning", + "Conditions": [ + { + "MessageId": "Power.CurrentAboveUpperCriticalThreshold", + "Message": "Current 'Conveyor' reading of 9.3 amperes is above the 6.0 upper critical threshold.", + "MessageArgs": [ + "Conveyor", + "9.3", + "6.0" + ], + "Severity": "Warning", + "Timestamp": "2024-03-07T14:44:00Z" + } + ] + }, + "Reading": 9.3, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.25, + "Precision": 2, + "SensingInterval": "PT1S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 6, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 4, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/Conveyor/Sensors/Current", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Conveyor/Sensors/Velocity/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Conveyor/Sensors/Velocity/index.json new file mode 100644 index 00000000..63f86860 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Conveyor/Sensors/Velocity/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "Velocity", + "Name": "Current Velocity", + "ReadingType": "LinearVelocity", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 0, + "ReadingUnits": "m/s", + "@odata.id": "/redfish/v1/Chassis/Conveyor/Sensors/Velocity", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Conveyor/Sensors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Conveyor/Sensors/index.json new file mode 100644 index 00000000..61c34e11 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Conveyor/Sensors/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#SensorCollection.SensorCollection", + "Description": "A collection of sensors", + "Name": "Sensor Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/Conveyor/Sensors/Velocity" + }, + { + "@odata.id": "/redfish/v1/Chassis/Conveyor/Sensors/Current" + } + ], + "@odata.id": "/redfish/v1/Chassis/Conveyor/Sensors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Conveyor/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Conveyor/index.json new file mode 100644 index 00000000..078f01ae --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Conveyor/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "AssetTag": "PICMGNODEASSETTAG", + "Id": "Conveyor", + "Name": "Conveyor", + "ChassisType": "StandAlone", + "SerialNumber": "00000001", + "Manufacturer": "PICMG", + "Model": "PICMG0001", + "PartNumber": "Part-01", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Controls": { + "@odata.id": "/redfish/v1/Chassis/Conveyor/Controls" + }, + "Sensors": { + "@odata.id": "/redfish/v1/Chassis/Conveyor/Sensors" + }, + "Links": { + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/AutomationManager" + } + ], + "AutomationNodes": [ + { + "@odata.id": "/redfish/v1/AutomationNodes/VelocityMover" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/Conveyor", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node4/Sensors/Current/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node4/Sensors/Current/index.json new file mode 100644 index 00000000..ca9d116f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node4/Sensors/Current/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "Current", + "Name": "Current sensor", + "ReadingType": "Current", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 0.1, + "ReadingUnits": "A", + "@odata.id": "/redfish/v1/Chassis/Node4/Sensors/Current", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node4/Sensors/Temperature/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node4/Sensors/Temperature/index.json new file mode 100644 index 00000000..1fb02326 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node4/Sensors/Temperature/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "Temperature", + "Name": "Current Temperature", + "ReadingType": "Temperature", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 24, + "ReadingUnits": "degrees", + "@odata.id": "/redfish/v1/Chassis/Node4/Sensors/Temperature", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node4/Sensors/Voltage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node4/Sensors/Voltage/index.json new file mode 100644 index 00000000..4063531f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node4/Sensors/Voltage/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "Voltage", + "Name": "Voltage sensor", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 12, + "ReadingUnits": "V", + "@odata.id": "/redfish/v1/Chassis/Node4/Sensors/Voltage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node4/Sensors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node4/Sensors/index.json new file mode 100644 index 00000000..8f5d1de9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node4/Sensors/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#SensorCollection.SensorCollection", + "Description": "A collection of sensors", + "Name": "Sensor Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/Node4/Sensors/Voltage" + }, + { + "@odata.id": "/redfish/v1/Chassis/Node4/Sensors/Current" + }, + { + "@odata.id": "/redfish/v1/Chassis/Node4/Sensors/Temperature" + } + ], + "@odata.id": "/redfish/v1/Chassis/Node4/Sensors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node4/index.json new file mode 100644 index 00000000..9a609e98 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node4/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "AssetTag": "PICMGNODEASSETTAG", + "Id": "Node4", + "Name": "Measurements", + "ChassisType": "Module", + "SerialNumber": "00000001", + "Manufacturer": "PICMG", + "Model": "PICMG0001", + "PartNumber": "Part-01", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Sensors": { + "@odata.id": "/redfish/v1/Chassis/Node4/Sensors" + }, + "Links": { + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/AutomationManager" + } + ], + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/Aggregator" + }, + "AutomationNodes": [ + { + "@odata.id": "/redfish/v1/AutomationNodes/Sensor1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/Node4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node5/Controls/Thermostat/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node5/Controls/Thermostat/index.json new file mode 100644 index 00000000..7110c590 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node5/Controls/Thermostat/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#Control.v1_8_1.Control", + "Id": "Thermostat", + "Name": "Thermostat", + "ControlType": "Temperature", + "SetPointType": "Single", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ControlMode": "Automatic", + "SetPoint": 24, + "SetPointUnits": "Cel", + "SetPointError": 0, + "AllowableMax": 80, + "AllowableMin": 0, + "Implementation": "Programmable", + "Sensor": { + "Reading": 24, + "DataSourceUri": "/redfish/v1/Chassis/Node5/Sensors/Temperature" + }, + "ControlLoop": { + "Proportional": 0.5, + "Integral": 0, + "Differential": 0.1 + }, + "@odata.id": "/redfish/v1/Chassis/Node5/Controls/Thermostat", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node5/Controls/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node5/Controls/index.json new file mode 100644 index 00000000..dac307a6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node5/Controls/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#ControlCollection.ControlCollection", + "Description": "A collection of controls", + "Name": "Control Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/Node5/Controls/Thermostat" + } + ], + "@odata.id": "/redfish/v1/Chassis/Node5/Controls", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node5/Sensors/Temperature/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node5/Sensors/Temperature/index.json new file mode 100644 index 00000000..1c4f16d4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node5/Sensors/Temperature/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "Temperature", + "Name": "Current Position", + "ReadingType": "Temperature", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 24, + "ReadingUnits": "degrees", + "@odata.id": "/redfish/v1/Chassis/Node5/Sensors/Temperature", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node5/Sensors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node5/Sensors/index.json new file mode 100644 index 00000000..4e6435ab --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node5/Sensors/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#SensorCollection.SensorCollection", + "Description": "A collection of sensors", + "Name": "Sensor Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/Node5/Sensors/Temperature" + } + ], + "@odata.id": "/redfish/v1/Chassis/Node5/Sensors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node5/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node5/index.json new file mode 100644 index 00000000..dc81cc0d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/Node5/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "AssetTag": "PICMGNODEASSETTAG", + "Id": "Node5", + "Name": "Cooler/Heater", + "ChassisType": "Module", + "SerialNumber": "00000001", + "Manufacturer": "PICMG", + "Model": "PICMG0001", + "PartNumber": "Part-01", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Controls": { + "@odata.id": "/redfish/v1/Chassis/Node5/Controls" + }, + "Sensors": { + "@odata.id": "/redfish/v1/Chassis/Node5/Sensors" + }, + "Links": { + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/AutomationManager" + } + ], + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/Aggregator" + }, + "AutomationNodes": [ + { + "@odata.id": "/redfish/v1/AutomationNodes/Thermostat" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/Node5", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/index.json new file mode 100644 index 00000000..6be9544a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Chassis/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#ChassisCollection.ChassisCollection", + "Description": "A collection of chassis, including Automation Aggregator and Nodes", + "Name": "Chassis Collection", + "Members@odata.count": 6, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/Aggregator" + }, + { + "@odata.id": "/redfish/v1/Chassis/3AxisMotion" + }, + { + "@odata.id": "/redfish/v1/Chassis/Conveyor" + }, + { + "@odata.id": "/redfish/v1/Chassis/3AxisMotion" + }, + { + "@odata.id": "/redfish/v1/Chassis/Node4" + }, + { + "@odata.id": "/redfish/v1/Chassis/Node5" + } + ], + "@odata.id": "/redfish/v1/Chassis", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/EventService/Subscriptions/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/EventService/Subscriptions/1/index.json new file mode 100644 index 00000000..779887a8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/EventService/Subscriptions/1/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#EventDestination.v1_17_1.EventDestination", + "Id": "1", + "Name": "EventSubscription 1", + "Destination": "http://www.dnsname.com/Destination1", + "OriginResources": [ + { + "@odata.id": "/redfish/v1/JobService/Jobs/1" + } + ], + "RegistryPrefixes": [ + "JobEvent" + ], + "ResourceTypes": [ + "Job" + ], + "SubscriptionType": "RedfishEvent", + "Context": "WebUser3", + "Protocol": "Redfish", + "@odata.id": "/redfish/v1/EventService/Subscriptions/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/EventService/Subscriptions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/EventService/Subscriptions/index.json new file mode 100644 index 00000000..50ce173e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/EventService/Subscriptions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#EventDestinationCollection.EventDestinationCollection", + "Name": "Event Subscriptions Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/EventService/Subscriptions/1" + } + ], + "@odata.id": "/redfish/v1/EventService/Subscriptions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/EventService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/EventService/index.json new file mode 100644 index 00000000..33001dda --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/EventService/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#EventService.v1_12_0.EventService", + "Id": "EventService", + "Name": "Event Service", + "Status": { + "@odata.type": "#Resource.Status", + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "DeliveryRetryAttempts": 3, + "DeliveryRetryIntervalSeconds": 60, + "Subscriptions": { + "@odata.id": "/redfish/v1/EventService/Subscriptions" + }, + "Actions": { + "#EventService.SubmitTestEvent": { + "target": "/redfish/v1/EventService/Actions/EventService.SubmitTestEvent", + "EventType@Redfish.AllowableValues": [ + "StatusChange", + "ResourceUpdated", + "ResourceAdded", + "ResourceRemoved", + "Alert" + ] + }, + "Oem": {} + }, + "Oem": {}, + "@odata.id": "/redfish/v1/EventService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/Documents/Recipe1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/Documents/Recipe1/index.json new file mode 100644 index 00000000..6fb7dac5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/Documents/Recipe1/index.json @@ -0,0 +1,66 @@ +{ + "@odata.type": "#JobDocument.v1_0_0.JobDocument", + "Id": "Recipe1", + "Name": "Sweet candy", + "Description": "Produce specified amount of the sweet candies", + "Actions": { + "#JobDocument.SubmitJob": { + "target": "/redfish/v1/JobService/Documents/Recipe1/Actions/JobDocument.SubmitJob" + } + }, + "DocumentType": "Script", + "Version": "1.0.0-20210215", + "CreationTime": "2022-01-16T04:14:33+06:00", + "DocumentDataURI": "https://recipestore.vendor.com/recipes?Action=Download&RecipeId=SweetCandy", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ParameterMetadata": [ + { + "Name": "AmountPieces", + "DataType": "Number", + "MinimumValue": 0, + "Required": true, + "Description": "something", + "ValueHint": "10000" + }, + { + "Name": "Flavors", + "AllowableValues": [ + "Orange", + "Strawberry", + "Lemon", + "Lime", + "Raspberry", + "Vanilla" + ], + "DataType": "String", + "Required": true, + "Description": "The flavors of the candy. One or two choices may be given", + "ValueHint": "Orange" + }, + { + "Name": "Shape", + "AllowableValues": [ + "Cylinder", + "Sphere", + "Dome", + "Cone" + ], + "DataType": "String", + "Required": true, + "Description": "The shape of the candy.", + "ValueHint": "Dome" + } + ], + "Links": { + "SupportedExecutors": [ + { + "@odata.id": "/redfish/v1/JobService/Executors/1" + } + ] + }, + "@odata.id": "/redfish/v1/JobService/Documents/Recipe1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/Documents/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/Documents/index.json new file mode 100644 index 00000000..d8d85f26 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/Documents/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#JobDocumentCollection.JobDocumentCollection", + "Name": "Automation Job Document Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/JobService/Documents/Recipe1" + } + ], + "@odata.id": "/redfish/v1/JobService/Documents", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/Executors/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/Executors/1/index.json new file mode 100644 index 00000000..6e47ce2e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/Executors/1/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#JobExecutor.v1_0_0.JobExecutor", + "Id": "1", + "Name": "Main Job Executor", + "Description": "Executor for Document-based Jobs", + "ExecutorType": "Script", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MaximumConcurrentJobs": 1, + "Links": { + "ExecutingJobs": [ + { + "@odata.id": "/redfish/v1/JobService/Jobs/1" + } + ], + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Aggregator" + } + ], + "ComputerSystem": { + "@odata.id": "/redfish/v1/Systems/1" + } + }, + "@odata.id": "/redfish/v1/JobService/Executors/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/Executors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/Executors/index.json new file mode 100644 index 00000000..906293d3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/Executors/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#JobExecutorCollection.JobExecutorCollection", + "Name": "Automation Job Executor Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/JobService/Executors/1" + } + ], + "@odata.id": "/redfish/v1/JobService/Executors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/Jobs/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/Jobs/1/index.json new file mode 100644 index 00000000..83c0f2b1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/Jobs/1/index.json @@ -0,0 +1,68 @@ +{ + "@odata.type": "#Job.v1_3_0.Job", + "Id": "1", + "Name": "Documnet-based Job", + "Description": "This job was created using a the SubmitJob action on a JobDocument resource", + "JobType": "DocumentBased", + "CreationTime": "2022-01-16T04:14:33+06:00", + "JobPriority": 0, + "JobState": "Pending", + "PercentComplete": 25, + "EstimatedCompletionTime": "2022-01-16T04:18:31+06:00", + "Payload": { + "JsonBody": "{`AmountPieces`: 10000, `Flavor`: `Orange`, `Shape`: `Cylinder`}" + }, + "StartTime": "2022-01-16T04:14:33+06:00", + "JobStatus": "OK", + "Links": { + "ParentJob": { + "@odata.id": "https://192.168.0.1/redfish/v1/JobService/Jobs/1" + }, + "SubsidiaryJobs": [ + { + "@odata.id": "https://192.168.0.3/redfish/v1/JobService/Jobs/1" + } + ], + "JobDocument": { + "@odata.id": "/redfish/v1/JobService/Documents/Recipe1" + }, + "Executor": { + "@odata.id": "/redfish/v1/JobService/Executors/1" + }, + "PreferredExecutors": [ + { + "@odata.id": "/redfish/v1/JobService/Executors/1" + } + ], + "ValidatedExecutors": [ + { + "@odata.id": "/redfish/v1/JobService/Executors/1" + } + ] + }, + "Actions": { + "#Job.Cancel": { + "target": "/redfish/v1/JobService/Jobs/1/Actions/Job.Cancel" + }, + "#Job.Invalidate": { + "target": "/redfish/v1/JobService/Jobs/1/Actions/Job.Invalidate" + }, + "#Job.Resubmit": { + "target": "/redfish/v1/JobService/Jobs/1/Actions/Job.Resubmit" + }, + "#Job.Resume": { + "target": "/redfish/v1/JobService/Jobs/1/Actions/Job.Resume" + }, + "#Job.ForceStart": { + "target": "/redfish/v1/JobService/Jobs/1/Actions/Job.ForceStart" + }, + "#Job.Suspend": { + "target": "/redfish/v1/JobService/Jobs/1/Actions/Job.Suspend" + }, + "#Job.Validate": { + "target": "/redfish/v1/JobService/Jobs/1/Actions/Job.Validate" + } + }, + "@odata.id": "/redfish/v1/JobService/Jobs/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/Jobs/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/Jobs/2/index.json new file mode 100644 index 00000000..fddb6f7d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/Jobs/2/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#Job.v1_3_0.Job", + "Id": "2", + "Name": "User-specified Job", + "Description": "This Job resource was created by a POST operation to the JobCollection resource", + "JobType": "UserSpecified", + "CreationTime": "2022-01-16T06:14:33+06:00", + "JobState": "Running", + "PercentComplete": 99, + "StartTime": "2022-01-16T06:14:33+06:00", + "JobStatus": "OK", + "Links": { + "CreatedResources": [] + }, + "@odata.id": "/redfish/v1/JobService/Jobs/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/Jobs/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/Jobs/index.json new file mode 100644 index 00000000..7492dd34 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/Jobs/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#JobCollection.JobCollection", + "Name": "Job Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/JobService/Jobs/1" + }, + { + "@odata.id": "/redfish/v1/JobService/Jobs/2" + } + ], + "@odata.id": "/redfish/v1/JobService/Jobs", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/Log/Entries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/Log/Entries/index.json new file mode 100644 index 00000000..7d48deca --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/Log/Entries/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members": [], + "Members@odata.count": 0, + "@odata.id": "/redfish/v1/JobService/Log/Entries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/Log/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/Log/index.json new file mode 100644 index 00000000..e92a6e79 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/Log/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#LogService.v1_9_0.LogService", + "Id": "Log", + "Name": "JobService Log Service", + "MaxNumberOfRecords": 1000, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/JobService/Log/Actions/LogService.ClearLog" + } + }, + "Entries": { + "@odata.id": "/redfish/v1/JobService/Log/Entries" + }, + "@odata.id": "/redfish/v1/JobService/Log", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/index.json new file mode 100644 index 00000000..d545b237 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/JobService/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#JobService.v1_1_0.JobService", + "Actions": { + "#JobService.CancelAllJobs": { + "target": "/redfish/v1/JobService/Actions/JobService.CancelAllJobs" + } + }, + "DateTime": "2022-01-01T02:00:00+06:00", + "Id": "JobService", + "JobDocuments": { + "@odata.id": "/redfish/v1/JobService/Documents" + }, + "JobExecutors": { + "@odata.id": "/redfish/v1/JobService/Executors" + }, + "ValidationPolicy": "Bypass", + "Jobs": { + "@odata.id": "/redfish/v1/JobService/Jobs" + }, + "Log": { + "@odata.id": "/redfish/v1/JobService/Log" + }, + "Name": "Job Service", + "ServiceCapabilities": { + "MaxJobs": 60, + "MaxSteps": 5, + "Scheduling": true, + "DocumentBasedJobs": true, + "UserSpecifiedJobs": true + }, + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/JobService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/AutomationManager/EthernetInterfaces/eth0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/AutomationManager/EthernetInterfaces/eth0/index.json new file mode 100644 index 00000000..386497d0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/AutomationManager/EthernetInterfaces/eth0/index.json @@ -0,0 +1,63 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "eth0", + "Name": "AutomationManager Ethernet Interface", + "Description": "Management Network Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:33:CF:EA", + "MACAddress": "23:11:8A:33:CF:EA", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.0.1", + "Oem": {} + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred", + "Oem": {} + } + ], + "NameServers": [ + "names.dmtf.org" + ], + "Oem": {}, + "@odata.id": "/redfish/v1/Managers/AutomationManager/EthernetInterfaces/eth0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/AutomationManager/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/AutomationManager/EthernetInterfaces/index.json new file mode 100644 index 00000000..b7c1f56f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/AutomationManager/EthernetInterfaces/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Network Interface Collection", + "Description": "Collection of EthernetInterfaces for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/AutomationManager/EthernetInterfaces/eth0" + } + ], + "Oem": {}, + "@odata.id": "/redfish/v1/Managers/AutomationManager/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/AutomationManager/LogServices/Log/Entries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/AutomationManager/LogServices/Log/Entries/index.json new file mode 100644 index 00000000..7d89b5c5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/AutomationManager/LogServices/Log/Entries/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 0, + "Members": [], + "@odata.id": "/redfish/v1/Managers/AutomationManager/LogServices/Log/Entries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/AutomationManager/LogServices/Log/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/AutomationManager/LogServices/Log/index.json new file mode 100644 index 00000000..a6e24c8a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/AutomationManager/LogServices/Log/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#LogService.v1_9_0.LogService", + "Id": "Log", + "Name": "System Log Service", + "MaxNumberOfRecords": 1000, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Oem": {}, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Managers/AutomationManager/LogServices/Log/Actions/LogService.ClearLog" + }, + "Oem": {} + }, + "Entries": { + "@odata.id": "/redfish/v1/Managers/AutomationManager/LogServices/Log/Entries" + }, + "@odata.id": "/redfish/v1/Managers/AutomationManager/LogServices/Log", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/AutomationManager/LogServices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/AutomationManager/LogServices/index.json new file mode 100644 index 00000000..4a640df4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/AutomationManager/LogServices/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Description": "Collection of Log Services for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/AutomationManager/LogServices/Log" + } + ], + "@odata.id": "/redfish/v1/Managers/AutomationManager/LogServices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/AutomationManager/NetworkProtocol/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/AutomationManager/NetworkProtocol/index.json new file mode 100644 index 00000000..52686904 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/AutomationManager/NetworkProtocol/index.json @@ -0,0 +1,49 @@ +{ + "@odata.type": "#ManagerNetworkProtocol.v1_14_0.ManagerNetworkProtocol", + "Id": "NetworkProtocol", + "Name": "Manager Network Protocol", + "Description": "Manager Network Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "HTTP": { + "ProtocolEnabled": true, + "Port": 80 + }, + "HTTPS": { + "ProtocolEnabled": true, + "Port": 443 + }, + "SSH": { + "ProtocolEnabled": true, + "Port": 22 + }, + "SNMP": { + "ProtocolEnabled": true, + "Port": 161 + }, + "VirtualMedia": { + "ProtocolEnabled": true, + "Port": 17988 + }, + "SSDP": { + "ProtocolEnabled": true, + "Port": 1900, + "NotifyMulticastIntervalSeconds": 600, + "NotifyTTL": 5, + "NotifyIPv6Scope": "Site" + }, + "Telnet": { + "ProtocolEnabled": true, + "Port": 23 + }, + "KVMIP": { + "ProtocolEnabled": true, + "Port": 5288 + }, + "@odata.id": "/redfish/v1/Managers/AutomationManager/NetworkProtocol", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/AutomationManager/SerialInterfaces/TTY0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/AutomationManager/SerialInterfaces/TTY0/index.json new file mode 100644 index 00000000..2e6bf7ef --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/AutomationManager/SerialInterfaces/TTY0/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#SerialInterface.v1_3_0.SerialInterface", + "Id": "TTY0", + "Name": "Manager Serial Interface 1", + "Description": "Management for Serial Interface", + "InterfaceEnabled": true, + "SignalType": "Rs232", + "BitRate": "115200", + "Parity": "None", + "DataBits": "8", + "StopBits": "1", + "FlowControl": "None", + "ConnectorType": "RJ45", + "PinOut": "Cyclades", + "@odata.id": "/redfish/v1/Managers/AutomationManager/SerialInterfaces/TTY0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/AutomationManager/SerialInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/AutomationManager/SerialInterfaces/index.json new file mode 100644 index 00000000..1ce4e7cd --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/AutomationManager/SerialInterfaces/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#SerialInterfaceCollection.SerialInterfaceCollection", + "Name": "Serial Interface Collection", + "Description": "Collection of Serial Interfaces for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/AutomationManager/SerialInterfaces/TTY0" + } + ], + "Oem": {}, + "@odata.id": "/redfish/v1/Managers/AutomationManager/SerialInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/AutomationManager/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/AutomationManager/index.json new file mode 100644 index 00000000..400a4720 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/AutomationManager/index.json @@ -0,0 +1,72 @@ +{ + "@odata.type": "#Manager.v1_25_0.Manager", + "Id": "AutomationManager", + "Name": "Manager", + "ManagerType": "EnclosureManager", + "Description": "Automation Manager", + "ServiceEntryPointUUID": "92384634-2938-2342-8820-489239905423", + "UUID": "58893887-8974-2487-2389-841168418919", + "Model": "PICMG Automation Manager", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PowerState": "On", + "GraphicalConsole": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 2, + "ConnectTypesSupported": [ + "KVMIP" + ] + }, + "CommandShell": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 4, + "ConnectTypesSupported": [ + "Telnet", + "SSH" + ] + }, + "FirmwareVersion": "1.00", + "NetworkProtocol": { + "@odata.id": "/redfish/v1/Managers/AutomationManager/NetworkProtocol" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/AutomationManager/EthernetInterfaces" + }, + "SerialInterfaces": { + "@odata.id": "/redfish/v1/Managers/AutomationManager/SerialInterfaces" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Managers/AutomationManager/LogServices" + }, + "Links": { + "ManagerForChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Aggregator" + }, + { + "@odata.id": "/redfish/v1/Chassis/3AxisMotion" + }, + { + "@odata.id": "/redfish/v1/Chassis/Conveyor" + }, + { + "@odata.id": "/redfish/v1/Chassis/Node4" + } + ] + }, + "Actions": { + "#Manager.Reset": { + "target": "/redfish/v1/Managers/AutomationManager/Actions/Manager.Reset", + "ResetType@Redfish.AllowableValues": [ + "ForceRestart", + "GracefulRestart" + ] + } + }, + "@odata.id": "/redfish/v1/Managers/AutomationManager", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/index.json new file mode 100644 index 00000000..ec373fe7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Managers/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#ManagerCollection.ManagerCollection", + "Name": "Manager Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/AutomationManager" + } + ], + "Oem": {}, + "@odata.id": "/redfish/v1/Managers", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/SessionService/Sessions/1234567890ABCDEF/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/SessionService/Sessions/1234567890ABCDEF/index.json new file mode 100644 index 00000000..13c4be4c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/SessionService/Sessions/1234567890ABCDEF/index.json @@ -0,0 +1,10 @@ +{ + "@odata.type": "#Session.v1_9_0.Session", + "Id": "1234567890ABCDEF", + "Name": "User Session", + "Description": "Manager User Session", + "UserName": "Administrator", + "Oem": {}, + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/SessionService/Sessions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/SessionService/Sessions/index.json new file mode 100644 index 00000000..8d8cdf58 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/SessionService/Sessions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SessionCollection.SessionCollection", + "Name": "Session Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF" + } + ], + "@odata.id": "/redfish/v1/SessionService/Sessions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/SessionService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/SessionService/index.json new file mode 100644 index 00000000..08afba07 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/SessionService/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#SessionService.v1_2_0.SessionService", + "Id": "SessionService", + "Name": "Session Service", + "Description": "Session Service", + "Status": { + "@odata.type": "#Resource.Status", + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "SessionTimeout": 30, + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + }, + "@odata.id": "/redfish/v1/SessionService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Systems/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Systems/1/index.json new file mode 100644 index 00000000..52e9d06b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Systems/1/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "1", + "Name": "Candy Machine Primary System", + "SystemType": "Physical", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "LastResetTime": "2021-03-13T04:02:57+06:00", + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Aggregator" + } + ] + }, + "Actions": { + "#ComputerSystem.Reset": { + "target": "/redfish/v1/Systems/1/Actions/ComputerSystem.Reset" + } + }, + "@odata.id": "/redfish/v1/Systems/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Systems/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Systems/index.json new file mode 100644 index 00000000..448c2e89 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/Systems/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ComputerSystemCollection.ComputerSystemCollection", + "Name": "Computer System Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/1" + } + ], + "@odata.id": "/redfish/v1/Systems", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/TaskService/Tasks/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/TaskService/Tasks/index.json new file mode 100644 index 00000000..c11b445b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/TaskService/Tasks/index.json @@ -0,0 +1,8 @@ +{ + "@odata.type": "#TaskCollection.TaskCollection", + "Name": "Task Collection", + "Members@odata.count": 0, + "Members": [], + "@odata.id": "/redfish/v1/TaskService/Tasks", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/TaskService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/TaskService/index.json new file mode 100644 index 00000000..b5284c5b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/TaskService/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#TaskService.v1_3_0.TaskService", + "Id": "TaskService", + "Name": "Tasks Service", + "DateTime": "2023-11-11T07:34:00+09:00", + "CompletedTaskOverWritePolicy": "Manual", + "LifeCycleEventOnTaskStateChange": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "Tasks": { + "@odata.id": "/redfish/v1/TaskService/Tasks" + }, + "@odata.id": "/redfish/v1/TaskService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-iiot/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/index.json new file mode 100644 index 00000000..bb30d70b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-iiot/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#ServiceRoot.v1_22_0.ServiceRoot", + "Id": "RootService", + "Name": "Root Service", + "RedfishVersion": "1.1.0", + "UUID": "92384634-2938-2342-8820-489239905423", + "Cables": { + "@odata.id": "/redfish/v1/Cables" + }, + "Chassis": { + "@odata.id": "/redfish/v1/Chassis" + }, + "Managers": { + "@odata.id": "/redfish/v1/Managers" + }, + "SessionService": { + "@odata.id": "/redfish/v1/SessionService" + }, + "AccountService": { + "@odata.id": "/redfish/v1/AccountService" + }, + "EventService": { + "@odata.id": "/redfish/v1/EventService" + }, + "JobService": { + "@odata.id": "/redfish/v1/JobService" + }, + "AutomationNodes": { + "@odata.id": "/redfish/v1/AutomationNodes" + }, + "Systems": { + "@odata.id": "/redfish/v1/Systems" + }, + "Tasks": { + "@odata.id": "/redfish/v1/TaskService" + }, + "Links": { + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + } + }, + "Oem": {}, + "@odata.id": "/redfish/v1/", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/$metadata/index.xml b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/$metadata/index.xml new file mode 100644 index 00000000..1097eb6b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/$metadata/index.xml @@ -0,0 +1,320 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/Accounts/1/Certificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/Accounts/1/Certificates/index.json new file mode 100644 index 00000000..41b0634c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/Accounts/1/Certificates/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificate Collection", + "Members@odata.count": 0, + "Members": [], + "@Redfish.SupportedCertificates": [ + "PEM" + ], + "@odata.id": "/redfish/v1/AccountService/Accounts/1/Certificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/Accounts/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/Accounts/1/index.json new file mode 100644 index 00000000..6cc9e212 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/Accounts/1/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#ManagerAccount.v1_14_2.ManagerAccount", + "Id": "1", + "Name": "User Account", + "Description": "User Account", + "Enabled": true, + "Password": null, + "PasswordChangeRequired": false, + "AccountTypes": [ + "Redfish" + ], + "UserName": "Administrator", + "RoleId": "Administrator", + "Locked": false, + "Certificates": { + "@odata.id": "/redfish/v1/AccountService/Accounts/1/Certificates" + }, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + } + }, + "@odata.id": "/redfish/v1/AccountService/Accounts/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/Accounts/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/Accounts/2/index.json new file mode 100644 index 00000000..c5d00d44 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/Accounts/2/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#ManagerAccount.v1_14_2.ManagerAccount", + "Id": "2", + "Name": "Employee #457", + "Description": "This user is both a Redfish administrator and a SNMPv3 user.", + "Enabled": true, + "Password": null, + "UserName": "contoso_employee457", + "RoleId": "Administrator", + "Locked": false, + "AccountTypes": [ + "Redfish", + "SNMP" + ], + "SNMP": { + "AuthenticationKey": null, + "AuthenticationProtocol": "None", + "EncryptionKey": null, + "EncryptionProtocol": "CFB128_AES128" + }, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + } + }, + "@odata.id": "/redfish/v1/AccountService/Accounts/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/Accounts/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/Accounts/index.json new file mode 100644 index 00000000..f509d474 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/Accounts/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerAccountCollection.ManagerAccountCollection", + "Name": "Accounts Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Accounts/1" + } + ], + "@odata.id": "/redfish/v1/AccountService/Accounts", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/ExternalAccountProviders/ExternalRedfishService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/ExternalAccountProviders/ExternalRedfishService/index.json new file mode 100644 index 00000000..52ded803 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/ExternalAccountProviders/ExternalRedfishService/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#ExternalAccountProvider.v1_9_0.ExternalAccountProvider", + "Id": "ExternalRedfishService", + "Name": "Remote Redfish Service", + "Description": "Remote Redfish Service providing additional Accounts to this Redfish Service", + "AccountProviderType": "RedfishService", + "ServiceAddresses": [ + "https://redfish.contoso.org/redfish/v1/AccountService" + ], + "Authentication": { + "AuthenticationType": "Token", + "Token": null + }, + "RemoteRoleMapping": [ + { + "RemoteGroup": "Admin", + "LocalRole": "Administrator" + }, + { + "RemoteGroup": "Operator", + "LocalRole": "Operator" + }, + { + "RemoteGroup": "ReadOnly", + "LocalRole": "ReadOnly" + } + ], + "@odata.id": "/redfish/v1/AccountService/ExternalAccountProviders/ExternalRedfishService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/ExternalAccountProviders/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/ExternalAccountProviders/index.json new file mode 100644 index 00000000..42e0d845 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/ExternalAccountProviders/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ExternalAccountProviderCollection.ExternalAccountProviderCollection", + "Name": "External Account Provider Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/ExternalAccountProviders/ExternalRedfishService" + } + ], + "@odata.id": "/redfish/v1/AccountService/ExternalAccountProviders", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/Roles/Administrator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/Roles/Administrator/index.json new file mode 100644 index 00000000..19d26a98 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/Roles/Administrator/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Administrator", + "Name": "User Role", + "Description": "Admin User Role", + "RoleId": "Administrator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureManager", + "ConfigureUsers", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [ + "OemClearLog", + "OemPowerControl" + ], + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/Roles/Operator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/Roles/Operator/index.json new file mode 100644 index 00000000..90804a6a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/Roles/Operator/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Operator", + "Name": "User Role", + "Description": "Operator User Role", + "RoleId": "Operator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/Operator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/Roles/ReadOnly/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/Roles/ReadOnly/index.json new file mode 100644 index 00000000..1df0cf03 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/Roles/ReadOnly/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "ReadOnly", + "Name": "User Role", + "Description": "ReadOnly User Role", + "RoleId": "ReadOnly", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/Roles/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/Roles/index.json new file mode 100644 index 00000000..ba9ee112 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/Roles/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#RoleCollection.RoleCollection", + "Name": "Roles Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/Operator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly" + } + ], + "@odata.id": "/redfish/v1/AccountService/Roles", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/index.json new file mode 100644 index 00000000..6fb7c443 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/AccountService/index.json @@ -0,0 +1,116 @@ +{ + "@odata.type": "#AccountService.v1_19_0.AccountService", + "Id": "AccountService", + "Name": "Account Service", + "Description": "Account Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "AuthFailureLoggingThreshold": 3, + "MinPasswordLength": 8, + "AccountLockoutThreshold": 5, + "AccountLockoutDuration": 30, + "AccountLockoutCounterResetAfter": 30, + "AccountLockoutCounterResetEnabled": true, + "Accounts": { + "@odata.id": "/redfish/v1/AccountService/Accounts" + }, + "Roles": { + "@odata.id": "/redfish/v1/AccountService/Roles" + }, + "LocalAccountAuth": "Enabled", + "LDAP": { + "AccountProviderType": "LDAPService", + "ServiceEnabled": false, + "ServiceAddresses": [ + "ldaps://ldap.example.org:636" + ], + "Authentication": { + "AuthenticationType": "UsernameAndPassword", + "Username": "cn=Manager,dc=example,dc=org", + "Password": null + }, + "LDAPService": { + "SearchSettings": { + "BaseDistinguishedNames": [ + "dc=example,dc=org" + ], + "UsernameAttribute": "uid", + "GroupsAttribute": "memberof" + } + }, + "RemoteRoleMapping": [ + { + "RemoteUser": "cn=Manager,dc=example,dc=org", + "LocalRole": "Administrator" + }, + { + "RemoteGroup": "cn=Admins,ou=Groups,dc=example,dc=org", + "LocalRole": "Administrator" + }, + { + "RemoteGroup": "cn=PowerUsers,ou=Groups,dc=example,dc=org", + "LocalRole": "Operator" + }, + { + "RemoteGroup": "(cn=*)", + "LocalRole": "ReadOnly" + } + ] + }, + "ActiveDirectory": { + "AccountProviderType": "ActiveDirectoryService", + "ServiceEnabled": true, + "ServiceAddresses": [ + "ad1.example.org", + "ad2.example.org", + null, + null + ], + "Authentication": { + "AuthenticationType": "KerberosKeytab", + "KerberosKeytab": null + }, + "RemoteRoleMapping": [ + { + "RemoteGroup": "Administrators", + "LocalRole": "Administrator" + }, + { + "RemoteUser": "DOMAIN\\Bob", + "LocalRole": "Operator" + }, + { + "RemoteGroup": "PowerUsers", + "LocalRole": "Operator" + }, + { + "RemoteGroup": "Everybody", + "LocalRole": "ReadOnly" + } + ] + }, + "OAuth2": { + "AccountProviderType": "OAuth2", + "ServiceEnabled": true, + "ServiceAddresses": [ + "https://contoso.org/.well-known/oauth-authorization-server" + ], + "OAuth2Service": { + "Mode": "Discovery", + "Issuer": "https://contoso.org/services/oauth2", + "Audience": [ + "23:11:8A:33:CF:EA", + "92384634-2938-2342-8820-489239905423" + ], + "OAuthServiceSigningKeys": "ewogICAgImtleXMiOiBbCiAgICAgICAgewogICAgICAgICAgICAiZSI6ICJBUUFCIiwKICAgICAgICAgICAgImtpZCI6ICJvV1F2Tl8tRUxnd25HMzFNTEl4Rm5hTVlfNTd0Wk9FSUVQYnpaYlBqS2FBIiwKICAgICAgICAgICAgImt0eSI6ICJSU0EiLAogICAgICAgICAgICAibiI6ICJvYS1Kb2pkSGw2VHQ3N2Vma2h6aW5MMU9XNmZjMGhjQjloOTN2WUZyRVlPakozRjhfTFh1c1ItMW95MUFKdExZcF9KeVI4Q1ZET28yVGNCaTBuSkhKczF1dkN4WWljX202WE5vMHptVm1VQ2hVMnBYSlBGelZKRGV5VVhIWWVONG5yQ1k4XzlTLXlzWnlKa2RRaWJmeHlBRndUMHdpNlZldF9MYTE4N3JNZUFCU0tXdEdIVmpkOWk1UmhELWNGU1JaNk05M0s2bXFPUUpaX0pMXzJKUU93aGk5dFl4Q2drVVpqc1gyWXowMEZpdUVTWDhHcXRGQlI1UzhIT2p0b2FhZUJrTk5hYWZFOFdSUVl6QlVmOHpiNkVobUFMemc0Z0YxTVhRb3dZV25GcGpzYXcwNVRONHk3SWZJUVhLODlqbGxnbWFkWVVjbndaUmRMc1o2VTdBS1EiCiAgICAgICAgfQogICAgXQp9" + } + }, + "AdditionalExternalAccountProviders": { + "@odata.id": "/redfish/v1/AccountService/ExternalAccountProviders" + }, + "@odata.id": "/redfish/v1/AccountService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/CertificateService/CertificateLocations/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/CertificateService/CertificateLocations/index.json new file mode 100644 index 00000000..15a9d8d9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/CertificateService/CertificateLocations/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#CertificateLocations.v1_0_4.CertificateLocations", + "Id": "CertificateLocations", + "Name": "Certificate Locations", + "Links": { + "Certificates": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1" + }, + { + "@odata.id": "/redfish/v1/UpdateService/ClientCertificates/1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/VirtualMedia/CD1/Certificates/1" + } + ] + }, + "@odata.id": "/redfish/v1/CertificateService/CertificateLocations", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/CertificateService/GenerateCSRActionInfo/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/CertificateService/GenerateCSRActionInfo/index.json new file mode 100644 index 00000000..3c0fe90b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/CertificateService/GenerateCSRActionInfo/index.json @@ -0,0 +1,99 @@ +{ + "@odata.type": "#ActionInfo.v1_6_0.ActionInfo", + "Id": "GenerateCSRActionInfo", + "Name": "Generate CSR Action Info", + "Parameters": [ + { + "Name": "CommonName", + "Required": true, + "DataType": "String" + }, + { + "Name": "AlternativeNames", + "Required": false, + "DataType": "StringArray" + }, + { + "Name": "Organization", + "Required": true, + "DataType": "String" + }, + { + "Name": "OrganizationalUnit", + "Required": true, + "DataType": "String" + }, + { + "Name": "City", + "Required": true, + "DataType": "String" + }, + { + "Name": "State", + "Required": true, + "DataType": "String" + }, + { + "Name": "Country", + "Required": true, + "DataType": "String" + }, + { + "Name": "Email", + "Required": false, + "DataType": "String" + }, + { + "Name": "KeyPairAlgorithm", + "Required": true, + "DataType": "String", + "AllowableValues": [ + "TPM_ALG_RSA", + "TPM_ALG_ECDSA" + ] + }, + { + "Name": "KeyBitLength", + "Required": false, + "DataType": "Number" + }, + { + "Name": "KeyCurveId", + "Required": false, + "DataType": "String", + "AllowableValues": [ + "TPM_ECC_NIST_P256", + "TPM_ECC_NIST_P384", + "TPM_ECC_NIST_P521" + ] + }, + { + "Name": "CertificateCollection", + "Required": true, + "DataType": "Object" + }, + { + "Name": "KeyUsage", + "Required": false, + "DataType": "StringArray", + "AllowableValues": [ + "DigitalSignature", + "NonRepudiation", + "KeyEncipherment", + "DataEncipherment", + "KeyAgreement", + "KeyCertSign", + "CRLSigning", + "EncipherOnly", + "DecipherOnly", + "ServerAuthentication", + "ClientAuthentication", + "CodeSigning", + "EmailProtection", + "OCSPSigning" + ] + } + ], + "@odata.id": "/redfish/v1/CertificateService/GenerateCSRActionInfo", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/CertificateService/ReplaceCertificateActionInfo/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/CertificateService/ReplaceCertificateActionInfo/index.json new file mode 100644 index 00000000..4d0724e6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/CertificateService/ReplaceCertificateActionInfo/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#ActionInfo.v1_6_0.ActionInfo", + "Id": "ReplaceCertificateActionInfo", + "Name": "Replace Certificate Action Info", + "Parameters": [ + { + "Name": "CertificateString", + "Required": true, + "DataType": "String" + }, + { + "Name": "CertificateType", + "Required": true, + "DataType": "String", + "AllowableValues": [ + "PEM" + ] + }, + { + "Name": "CertificateUri", + "Required": true, + "DataType": "Object" + } + ], + "@odata.id": "/redfish/v1/CertificateService/ReplaceCertificateActionInfo", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/CertificateService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/CertificateService/index.json new file mode 100644 index 00000000..1af148f5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/CertificateService/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#CertificateService.v1_2_2.CertificateService", + "Id": "CertificateService", + "Name": "Certificate Service", + "Actions": { + "#CertificateService.GenerateCSR": { + "target": "/redfish/v1/CertificateService/Actions/CertificateService.GenerateCSR", + "@Redfish.ActionInfo": "/redfish/v1/CertificateService/GenerateCSRActionInfo" + }, + "#CertificateService.ReplaceCertificate": { + "target": "/redfish/v1/CertificateService/Actions/CertificateService.ReplaceCertificate", + "@Redfish.ActionInfo": "/redfish/v1/CertificateService/ReplaceCertificateActionInfo" + } + }, + "CertificateLocations": { + "@odata.id": "/redfish/v1/CertificateService/CertificateLocations" + }, + "@odata.id": "/redfish/v1/CertificateService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Controls/CPU1Freq/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Controls/CPU1Freq/index.json new file mode 100644 index 00000000..b033f4af --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Controls/CPU1Freq/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Control.v1_8_1.Control", + "Id": "CPU1Freq", + "Name": "CPU #1 Frequency Range", + "PhysicalContext": "CPU", + "ControlType": "Frequency", + "ControlMode": "Automatic", + "SettingMin": 2000, + "SettingMax": 2400, + "SetPointUnits": "Hz", + "AllowableMin": 1500, + "AllowableMax": 3700, + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "@odata.id": "/redfish/v1/Chassis/1U/Controls/CPU1Freq", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Controls/PowerLimit/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Controls/PowerLimit/index.json new file mode 100644 index 00000000..e1f924d4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Controls/PowerLimit/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#Control.v1_8_1.Control", + "Id": "PowerLimit", + "Name": "System Power Limit", + "PhysicalContext": "Chassis", + "ControlType": "Power", + "ControlMode": "Automatic", + "SetPoint": 500, + "SetPointUnits": "W", + "AllowableMax": 1000, + "AllowableMin": 150, + "Sensor": { + "Reading": 374, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/TotalPower" + }, + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "@odata.id": "/redfish/v1/Chassis/1U/Controls/PowerLimit", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Controls/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Controls/index.json new file mode 100644 index 00000000..7411cb6b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Controls/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#ControlCollection.ControlCollection", + "Name": "Chassis controls", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Controls/PowerLimit" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Controls/CPU1Freq" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/Controls", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/EnvironmentMetrics/index.json new file mode 100644 index 00000000..fb8f0f64 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/EnvironmentMetrics/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Chassis Environment Metrics", + "TemperatureCelsius": { + "Reading": 39, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/CPU1Temp" + }, + "PowerWatts": { + "Reading": 374, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/TotalPower" + }, + "PowerLimitWatts": { + "SetPoint": 500, + "AllowableMax": 1000, + "AllowableMin": 150, + "ControlMode": "Automatic", + "DataSourceUri": "/redfish/v1/Chassis/1U/Controls/PowerLimit" + }, + "FanSpeedsPercent": [ + { + "DeviceName": "Chassis Fan #1", + "Reading": 45, + "SpeedRPM": 1900, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/FanBay1" + }, + { + "DeviceName": "Chassis Fan #2", + "Reading": 55, + "SpeedRPM": 2100, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/FanBay2" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/PowerSubsystem/Batteries/Module1/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/PowerSubsystem/Batteries/Module1/Metrics/index.json new file mode 100644 index 00000000..03736eb3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/PowerSubsystem/Batteries/Module1/Metrics/index.json @@ -0,0 +1,64 @@ +{ + "@odata.type": "#BatteryMetrics.v1_1_0.BatteryMetrics", + "Id": "Metrics", + "Name": "Metrics for Battery 1", + "DischargeCycles": 8.67, + "InputVoltage": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/Battery1InputVoltage", + "Reading": 12.22 + }, + "InputCurrentAmps": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/Battery1InputCurrent", + "Reading": 0 + }, + "OutputVoltages": [ + { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/Battery1OutputVoltage", + "Reading": 12.22 + } + ], + "OutputCurrentAmps": [ + { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/Battery1OutputCurrent", + "Reading": 0 + } + ], + "StoredEnergyWattHours": { + "Reading": 19.41 + }, + "TemperatureCelsius": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/Battery1Temp", + "Reading": 33 + }, + "ChargePercent": { + "Reading": 100 + }, + "CellVoltages": [ + { + "Reading": 3.44 + }, + { + "Reading": 3.45 + }, + { + "Reading": 3.43 + }, + { + "Reading": 3.43 + }, + { + "Reading": 3.45 + }, + { + "Reading": 3.44 + }, + { + "Reading": 3.43 + }, + { + "Reading": 3.44 + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/Batteries/Module1/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/PowerSubsystem/Batteries/Module1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/PowerSubsystem/Batteries/Module1/index.json new file mode 100644 index 00000000..b66c6897 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/PowerSubsystem/Batteries/Module1/index.json @@ -0,0 +1,47 @@ +{ + "@odata.type": "#Battery.v1_5_0.Battery", + "Id": "Module1", + "Name": "Battery 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#Battery.SelfTest": { + "target": "/redfish/v1/Chassis/1U/PowerSubsystem/Batteries/Module1/Actions/Battery.SelfTest" + }, + "#Battery.Calibrate": { + "target": "/redfish/v1/Chassis/1U/PowerSubsystem/Batteries/Module1/Actions/Battery.Calibrate" + } + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Battery 1", + "LocationType": "Bay", + "LocationOrdinalValue": 0 + } + }, + "Model": "RKS-440DC", + "Manufacturer": "Contoso Power", + "FirmwareVersion": "1.00", + "Version": "A05", + "ProductionDate": "2019-10-01T06:00:00Z", + "SerialNumber": "3488247", + "PartNumber": "23456-133", + "SparePartNumber": "93284-133", + "LocationIndicatorActive": false, + "HotPluggable": true, + "CapacityRatedWattHours": 20, + "CapacityActualWattHours": 19.41, + "MaxDischargeRateAmps": 10, + "StateOfHealthPercent": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/Battery1StateOfHealth", + "Reading": 91 + }, + "ChargeState": "Idle", + "Metrics": { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/Batteries/Module1/Metrics" + }, + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/Batteries/Module1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/PowerSubsystem/Batteries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/PowerSubsystem/Batteries/index.json new file mode 100644 index 00000000..83620f57 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/PowerSubsystem/Batteries/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#BatteryCollection.BatteryCollection", + "Name": "Battery Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/Batteries/Module1" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/Batteries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Assembly/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Assembly/index.json new file mode 100644 index 00000000..ac3441cf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Assembly/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Assembly.v1_6_1.Assembly", + "Id": "Assembly", + "Name": "Power Supply-related Assembly data", + "Assemblies": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Assembly#/Assemblies/0", + "MemberId": "0", + "Name": "Contoso Power Supply", + "Model": "345TTT", + "PartNumber": "923943", + "SparePartNumber": "55-434", + "SKU": "55ZZATR", + "SerialNumber": "345394834", + "Vendor": "Contoso", + "ProductionDate": "2017-04-01T14:55:33+03:00", + "Producer": "Contoso Supply Co.", + "Version": "1.44B", + "EngineeringChangeLevel": "9", + "BinaryDataURI": "/dumpster/434" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Assembly", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Metrics/index.json new file mode 100644 index 00000000..9b70c742 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Metrics/index.json @@ -0,0 +1,85 @@ +{ + "@odata.type": "#PowerSupplyMetrics.v1_3_0.PowerSupplyMetrics", + "Id": "Metrics", + "Name": "Metrics for Power Supply 1", + "Status": { + "State": "Enabled", + "Health": "Warning" + }, + "InputVoltage": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1InputVoltage", + "Reading": 230.2 + }, + "InputCurrentAmps": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1InputCurrent", + "Reading": 5.19 + }, + "InputPowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1InputPower", + "Reading": 937.4 + }, + "RailVoltage": [ + { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1Out3V", + "Reading": 3.31 + }, + { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1Out5V", + "Reading": 5.03 + }, + { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1Out12V", + "Reading": 12.06 + } + ], + "RailCurrentAmps": [ + { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1Out3VCurrent", + "Reading": 9.84 + }, + { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1Out5VCurrent", + "Reading": 1.25 + }, + { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1Out12VCurrent", + "Reading": 2.58 + } + ], + "OutputPowerWatts": { + "Reading": 937.4 + }, + "RailPowerWatts": [ + { + "Reading": 79.84 + }, + { + "Reading": 26.25 + }, + { + "Reading": 91.58 + } + ], + "EnergykWh": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1Energy", + "Reading": 325675 + }, + "FrequencyHz": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1Frequency", + "Reading": 60 + }, + "TemperatureCelsius": { + "Reading": 43.9 + }, + "FanSpeedPercent": { + "Reading": 68, + "SpeedRPM": 3290 + }, + "Actions": { + "#PowerSupplyMetrics.ResetMetrics": { + "target": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Metrics/Actions/PowerSupplyMetrics.ResetMetrics" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/index.json new file mode 100644 index 00000000..341f8428 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/index.json @@ -0,0 +1,88 @@ +{ + "@odata.type": "#PowerSupply.v1_8_0.PowerSupply", + "Id": "Bay1", + "Name": "Power Supply Bay 1", + "Status": { + "State": "Enabled", + "Health": "Warning" + }, + "LineInputStatus": "Normal", + "Model": "RKS-440DC", + "Manufacturer": "Contoso Power", + "FirmwareVersion": "1.00", + "SerialNumber": "3488247", + "PartNumber": "23456-133", + "SparePartNumber": "93284-133", + "LocationIndicatorActive": false, + "HotPluggable": false, + "PowerCapacityWatts": 400, + "PhaseWiringType": "OnePhase3Wire", + "PlugType": "IEC_60320_C14", + "InputRanges": [ + { + "NominalVoltageType": "AC200To240V", + "CapacityWatts": 400 + }, + { + "NominalVoltageType": "AC120V", + "CapacityWatts": 350 + }, + { + "NominalVoltageType": "DC380V", + "CapacityWatts": 400 + } + ], + "EfficiencyRatings": [ + { + "LoadPercent": 25, + "EfficiencyPercent": 75 + }, + { + "LoadPercent": 50, + "EfficiencyPercent": 85 + }, + { + "LoadPercent": 90, + "EfficiencyPercent": 80 + } + ], + "OutputRails": [ + { + "NominalVoltage": 3.3, + "PhysicalContext": "SystemBoard" + }, + { + "NominalVoltage": 5, + "PhysicalContext": "SystemBoard" + }, + { + "NominalVoltage": 12, + "PhysicalContext": "StorageDevice" + } + ], + "Location": { + "PartLocation": { + "ServiceLabel": "PSU 1", + "LocationType": "Bay", + "LocationOrdinalValue": 0 + } + }, + "Links": { + "Outlet": { + "@odata.id": "https://redfishpdu.contoso.com/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/A4" + } + }, + "Assembly": { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Assembly" + }, + "Metrics": { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Metrics" + }, + "Actions": { + "#PowerSupply.Reset": { + "target": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Actions/PowerSupply.Reset" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/PowerSubsystem/PowerSupplies/Bay2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/PowerSubsystem/PowerSupplies/Bay2/index.json new file mode 100644 index 00000000..b8b4f076 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/PowerSubsystem/PowerSupplies/Bay2/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#PowerSupply.v1_8_0.PowerSupply", + "Id": "Bay2", + "Name": "Power Supply Bay 2", + "Status": { + "State": "Absent" + }, + "PowerSupplyType": "PSU", + "HotPluggable": false, + "Location": { + "PartLocation": { + "ServiceLabel": "PSU 2", + "LocationType": "Bay", + "LocationOrdinalValue": 1 + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/PowerSubsystem/PowerSupplies/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/PowerSubsystem/PowerSupplies/index.json new file mode 100644 index 00000000..9c87502c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/PowerSubsystem/PowerSupplies/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#PowerSupplyCollection.PowerSupplyCollection", + "Name": "Power Supply Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay2" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/PowerSubsystem/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/PowerSubsystem/index.json new file mode 100644 index 00000000..c379e2c7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/PowerSubsystem/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#PowerSubsystem.v1_2_0.PowerSubsystem", + "Id": "PowerSubsystem", + "Name": "Power Subsystem for Chassis", + "CapacityWatts": 2000, + "Allocation": { + "RequestedWatts": 1500, + "AllocatedWatts": 1200 + }, + "PowerSupplyRedundancy": [ + { + "RedundancyType": "Failover", + "MaxSupportedInGroup": 2, + "MinNeededInGroup": 1, + "RedundancyGroup": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay2" + } + ], + "Status": { + "State": "UnavailableOffline", + "Health": "OK" + } + } + ], + "PowerSupplies": { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies" + }, + "Batteries": { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/Batteries" + }, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/AmbientTemp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/AmbientTemp/index.json new file mode 100644 index 00000000..473a4d32 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/AmbientTemp/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "AmbientTemp", + "Name": "Ambient Temperature", + "PhysicalContext": "Room", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 22.5, + "ReadingUnits": "Cel", + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/AmbientTemp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/Battery1InputCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/Battery1InputCurrent/index.json new file mode 100644 index 00000000..5242fe4b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/Battery1InputCurrent/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "Battery1InputCurrent", + "Name": "Battery #1 Input Current", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingType": "Current", + "Reading": 0, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "PhysicalContext": "Battery", + "PhysicalSubContext": "Input", + "Thresholds": { + "UpperCritical": { + "Reading": 60, + "Activation": "Increasing", + "DwellTime": "PT1S" + }, + "UpperCaution": { + "Reading": 55, + "Activation": "Increasing", + "DwellTime": "PT1S" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/Battery1InputCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/Battery1InputVoltage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/Battery1InputVoltage/index.json new file mode 100644 index 00000000..8f2441ea --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/Battery1InputVoltage/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "Battery1InputVoltage", + "Name": "Battery #1 Input Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingType": "Voltage", + "Reading": 12.22, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 15, + "PhysicalContext": "Battery", + "PhysicalSubContext": "Input", + "Thresholds": { + "UpperCritical": { + "Reading": 14, + "Activation": "Increasing", + "DwellTime": "PT1S" + }, + "UpperCaution": { + "Reading": 13, + "Activation": "Increasing", + "DwellTime": "PT1S" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/Battery1InputVoltage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/Battery1OutputCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/Battery1OutputCurrent/index.json new file mode 100644 index 00000000..d4cde449 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/Battery1OutputCurrent/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "Battery1OutputCurrent", + "Name": "Battery #1 Output Current", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingType": "Current", + "Reading": 0, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 15, + "PhysicalContext": "Battery", + "PhysicalSubContext": "Output", + "Thresholds": { + "UpperCritical": { + "Reading": 10, + "Activation": "Increasing", + "DwellTime": "PT1S" + }, + "UpperCaution": { + "Reading": 8, + "Activation": "Increasing", + "DwellTime": "PT1S" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/Battery1OutputCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/Battery1OutputVoltage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/Battery1OutputVoltage/index.json new file mode 100644 index 00000000..02929b72 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/Battery1OutputVoltage/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "Battery1OutputVoltage", + "Name": "Battery #1 Output Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingType": "Voltage", + "Reading": 12.22, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 15, + "PhysicalContext": "Battery", + "PhysicalSubContext": "Output", + "Thresholds": { + "UpperCritical": { + "Reading": 14, + "Activation": "Increasing", + "DwellTime": "PT1S" + }, + "UpperCaution": { + "Reading": 13, + "Activation": "Increasing", + "DwellTime": "PT1S" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/Battery1OutputVoltage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/Battery1StateOfHealth/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/Battery1StateOfHealth/index.json new file mode 100644 index 00000000..8a21e879 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/Battery1StateOfHealth/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "Battery1StateOfHealth", + "Name": "Battery #1 State of Health", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingType": "Percent", + "Reading": 91, + "ReadingUnits": "%", + "ReadingRangeMin": 0, + "ReadingRangeMax": 100, + "PhysicalContext": "Battery", + "Thresholds": { + "LowerCritical": { + "Reading": 30, + "Activation": "Decreasing", + "DwellTime": "PT1S" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/Battery1StateOfHealth", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/Battery1Temp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/Battery1Temp/index.json new file mode 100644 index 00000000..308c21bf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/Battery1Temp/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "Battery1Temp", + "Name": "Battery #1 Temperature", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingType": "Temperature", + "Reading": 33, + "ReadingUnits": "Cel", + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "PhysicalContext": "Battery", + "Thresholds": { + "UpperCritical": { + "Reading": 60, + "DwellTime": "PT15S", + "Activation": "Increasing" + }, + "UpperCaution": { + "Reading": 50, + "Activation": "Increasing", + "DwellTime": "PT15S" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/Battery1Temp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/CPU1Power/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/CPU1Power/index.json new file mode 100644 index 00000000..66aac52a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/CPU1Power/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CPU1Power", + "Name": "Power reading for CPU #1", + "ReadingType": "Power", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 90, + "ReadingUnits": "W", + "Implementation": "Reported", + "ReadingTime": "2019-08-13T04:14:33+06:00", + "ReadingRangeMin": 0, + "ReadingRangeMax": 150, + "Accuracy": 0.2, + "Precision": 1, + "SensingInterval": "PT0.01S", + "PhysicalContext": "CPU", + "Thresholds": { + "UpperCriticalUser": { + "Reading": 115, + "Activation": "Increasing", + "DwellTime": "PT0.03S" + }, + "UpperCautionUser": { + "Reading": 82, + "DwellTime": "PT1S" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/CPU1Power", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/CPU1Temp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/CPU1Temp/index.json new file mode 100644 index 00000000..7a524f68 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/CPU1Temp/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CPU1Temp", + "Name": "CPU #1 Temperature", + "PhysicalContext": "CPU", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 37, + "ReadingUnits": "Cel", + "Thresholds": { + "UpperCaution": { + "Reading": 42, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperCautionUser": { + "Reading": 40 + }, + "UpperCriticalUser": { + "Reading": 45, + "DwellTime": "PT1M" + }, + "UpperCritical": { + "Reading": 45, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperFatal": { + "Reading": 50, + "DwellTime": "PT30S", + "Activation": "Increasing" + } + }, + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/CPU1Temp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/CPUFan1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/CPUFan1/index.json new file mode 100644 index 00000000..59717e59 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/CPUFan1/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CPUFan1", + "Name": "CPU #1 Fan Speed", + "PhysicalContext": "CPU", + "Reading": 80, + "ReadingRangeMax": 100, + "ReadingRangeMin": 0, + "ReadingType": "Percent", + "ReadingUnits": "%", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Thresholds": { + "LowerCaution": { + "Reading": 5 + }, + "LowerCritical": { + "Reading": 0 + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/CPUFan1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/CPUFan2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/CPUFan2/index.json new file mode 100644 index 00000000..8f1d8c9c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/CPUFan2/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CPUFan2", + "Name": "CPU #2 Fan Speed", + "PhysicalContext": "CPU", + "Reading": 60, + "ReadingRangeMax": 100, + "ReadingRangeMin": 0, + "ReadingType": "Percent", + "ReadingUnits": "%", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Thresholds": { + "LowerCaution": { + "Reading": 5 + }, + "LowerCritical": { + "Reading": 0 + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/CPUFan2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/DIMM1Temp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/DIMM1Temp/index.json new file mode 100644 index 00000000..11b64118 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/DIMM1Temp/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "DIMM1Temp", + "Name": "DIMM #1 Temperature", + "PhysicalContext": "Memory", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 44, + "ReadingUnits": "Cel", + "Thresholds": { + "UpperCaution": { + "Reading": 55, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperCautionUser": { + "Reading": 50 + }, + "UpperCriticalUser": { + "Reading": 60, + "DwellTime": "PT1M" + }, + "UpperCritical": { + "Reading": 65, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperFatal": { + "Reading": 75, + "DwellTime": "PT30S", + "Activation": "Increasing" + } + }, + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM1" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/DIMM1Temp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/DIMM2Temp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/DIMM2Temp/index.json new file mode 100644 index 00000000..fe2785ca --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/DIMM2Temp/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "DIMM2Temp", + "Name": "DIMM #2 Temperature", + "PhysicalContext": "Memory", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 44, + "ReadingUnits": "Cel", + "Thresholds": { + "UpperCaution": { + "Reading": 55, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperCautionUser": { + "Reading": 50 + }, + "UpperCriticalUser": { + "Reading": 60, + "DwellTime": "PT1M" + }, + "UpperCritical": { + "Reading": 65, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperFatal": { + "Reading": 75, + "DwellTime": "PT30S", + "Activation": "Increasing" + } + }, + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM2" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/DIMM2Temp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/DIMM3Temp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/DIMM3Temp/index.json new file mode 100644 index 00000000..a1204f57 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/DIMM3Temp/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "DIMM3Temp", + "Name": "DIMM #3 Temperature", + "PhysicalContext": "Memory", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 44, + "ReadingUnits": "Cel", + "Thresholds": { + "UpperCaution": { + "Reading": 55, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperCautionUser": { + "Reading": 50 + }, + "UpperCriticalUser": { + "Reading": 60, + "DwellTime": "PT1M" + }, + "UpperCritical": { + "Reading": 65, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperFatal": { + "Reading": 75, + "DwellTime": "PT30S", + "Activation": "Increasing" + } + }, + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM3" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/DIMM3Temp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/ExhaustTemp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/ExhaustTemp/index.json new file mode 100644 index 00000000..48af5269 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/ExhaustTemp/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "ExhaustTemp", + "Name": "Fan Bay #1 Exhaust Temperature", + "PhysicalContext": "Exhaust", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 40.5, + "ReadingUnits": "Cel", + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/ExhaustTemp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/FanBay1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/FanBay1/index.json new file mode 100644 index 00000000..21c1aaf8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/FanBay1/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "FanBay1", + "Name": "Chassis Fan #1", + "PhysicalContext": "Chassis", + "Reading": 45, + "ReadingRangeMax": 100, + "ReadingRangeMin": 0, + "ReadingType": "Percent", + "ReadingUnits": "%", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Thresholds": { + "LowerCaution": { + "Reading": 5 + }, + "LowerCritical": { + "Reading": 0 + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/FanBay1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/FanBay2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/FanBay2/index.json new file mode 100644 index 00000000..244a1ecb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/FanBay2/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "FanBay2", + "Name": "Chassis Fan #2", + "PhysicalContext": "Chassis", + "Reading": 45, + "ReadingRangeMax": 100, + "ReadingRangeMin": 0, + "ReadingType": "Percent", + "ReadingUnits": "%", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Thresholds": { + "LowerCaution": { + "Reading": 5 + }, + "LowerCritical": { + "Reading": 0 + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/FanBay2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/IntakeTemp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/IntakeTemp/index.json new file mode 100644 index 00000000..123cb985 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/IntakeTemp/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "IntakeTemp", + "Name": "Front Panel Intake Temperature", + "PhysicalContext": "Intake", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 24.8, + "ReadingUnits": "Cel", + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/IntakeTemp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1Energy/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1Energy/index.json new file mode 100644 index 00000000..10796971 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1Energy/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Energy", + "Name": "Power Supply #1 Energy", + "ReadingType": "EnergykWh", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 7855, + "ReadingUnits": "kW.h", + "PhysicalContext": "PowerSupply", + "Actions": { + "#Sensor.ResetMetrics": { + "target": "/redfish/v1/Chassis/1U/Sensors/PS1Energy/Actions/Sensor.ResetMetrics" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Energy", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1Frequency/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1Frequency/index.json new file mode 100644 index 00000000..773b3dd8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1Frequency/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Frequency", + "Name": "Power Supply #1 Frequency", + "ReadingType": "Frequency", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 60.1, + "ReadingUnits": "Hz", + "ReadingRangeMin": 0, + "ReadingRangeMax": 160, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "Thresholds": { + "UpperCritical": { + "Reading": 60.37, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 60.2, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 59.5, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 58.75, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Frequency", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1InputCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1InputCurrent/index.json new file mode 100644 index 00000000..ab8a3880 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1InputCurrent/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1InputCurrent", + "Name": "Power Supply #1 Input Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "Thresholds": { + "UpperCritical": { + "Reading": 10, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 9, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1InputCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1InputPower/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1InputPower/index.json new file mode 100644 index 00000000..aa6a0061 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1InputPower/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1InputPower", + "Name": "Power Supply #1 Input Power", + "ReadingType": "Power", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Total", + "Reading": 374, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 500, + "ApparentVA": 350, + "ReactiveVAR": 29, + "PowerFactor": 0.83, + "Accuracy": 1, + "Precision": 1, + "SensingInterval": "PT0.1S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "Thresholds": { + "UpperCritical": { + "Reading": 525, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 510, + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1InputPower", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1InputVoltage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1InputVoltage/index.json new file mode 100644 index 00000000..49358c14 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1InputVoltage/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1InputVoltage", + "Name": "Power Supply #1 Input Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Total", + "Reading": 119.27, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 260, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "Thresholds": { + "UpperCritical": { + "Reading": 125, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 122, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 118, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 115, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1InputVoltage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1Out12V/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1Out12V/index.json new file mode 100644 index 00000000..4b6f68a9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1Out12V/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Out12V", + "Name": "Power Supply #1 12V Output Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Total", + "Reading": 12.08, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 15, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Output", + "Thresholds": { + "UpperCritical": { + "Reading": 12.5, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 12.35, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 11.85, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 11.5, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out12V", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1Out12VCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1Out12VCurrent/index.json new file mode 100644 index 00000000..8bd2ff72 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1Out12VCurrent/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Out12VCurrent", + "Name": "Power Supply #1 12V Output Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2.79, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 7, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 6, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out12VCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1Out3V/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1Out3V/index.json new file mode 100644 index 00000000..f99f4a56 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1Out3V/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Out3V", + "Name": "Power Supply #1 3V Output Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Total", + "Reading": 3.32, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 5, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Output", + "Thresholds": { + "UpperCritical": { + "Reading": 3.5, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 3.35, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 3.25, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 3.1, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out3V", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1Out3VCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1Out3VCurrent/index.json new file mode 100644 index 00000000..499c19e4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1Out3VCurrent/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Out3VCurrent", + "Name": "Power Supply #1 3V Output Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Output", + "Thresholds": { + "UpperCritical": { + "Reading": 25, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 20, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out3VCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1Out5V/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1Out5V/index.json new file mode 100644 index 00000000..3f70c055 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1Out5V/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Out5V", + "Name": "Power Supply #1 5V Output Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Total", + "Reading": 5.04, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 10, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Output", + "Thresholds": { + "UpperCritical": { + "Reading": 5.5, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 5.35, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 4.9, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 4.5, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out5V", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1Out5VCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1Out5VCurrent/index.json new file mode 100644 index 00000000..d2c5ccda --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS1Out5VCurrent/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Out5VCurrent", + "Name": "Power Supply #1 5V Output Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 3.41, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 10, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "PowerSupply", + "Thresholds": { + "UpperCritical": { + "Reading": 8, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 5, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out5VCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2Energy/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2Energy/index.json new file mode 100644 index 00000000..f6cea81b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2Energy/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Energy", + "Name": "Power Supply #2 Energy", + "ReadingType": "EnergykWh", + "ElectricalContext": "Total", + "Status": { + "State": "Absent" + }, + "PhysicalContext": "PowerSupply", + "Actions": { + "#Sensor.ResetMetrics": { + "target": "/redfish/v1/Chassis/1U/Sensors/PS2Energy/Actions/Sensor.ResetMetrics" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Energy", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2Frequency/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2Frequency/index.json new file mode 100644 index 00000000..b0986644 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2Frequency/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Frequency", + "Name": "Power Supply #2 Frequency", + "ReadingType": "Frequency", + "Status": { + "State": "Absent" + }, + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Frequency", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2InputCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2InputCurrent/index.json new file mode 100644 index 00000000..ce670bfa --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2InputCurrent/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2InputCurrent", + "Name": "Power Supply #2 Input Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Absent" + }, + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2InputCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2InputPower/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2InputPower/index.json new file mode 100644 index 00000000..150218b0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2InputPower/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2InputPower", + "Name": "Power Supply #2 Input Power", + "ReadingType": "Power", + "Status": { + "State": "Absent" + }, + "ElectricalContext": "Total", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2InputPower", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2InputVoltage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2InputVoltage/index.json new file mode 100644 index 00000000..cf7b7422 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2InputVoltage/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2InputVoltage", + "Name": "Power Supply #2 Input Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Absent" + }, + "ElectricalContext": "Total", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2InputVoltage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2Out12V/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2Out12V/index.json new file mode 100644 index 00000000..25345ab7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2Out12V/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Out12V", + "Name": "Power Supply #2 12V Output Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Absent" + }, + "ElectricalContext": "Total", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Output", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out12V", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2Out12VCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2Out12VCurrent/index.json new file mode 100644 index 00000000..3a5397a5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2Out12VCurrent/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Out12VCurrent", + "Name": "Power Supply #2 12V Output Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Absent" + }, + "PhysicalContext": "PowerSupply", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out12VCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2Out3V/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2Out3V/index.json new file mode 100644 index 00000000..ec1763c8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2Out3V/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Out3V", + "Name": "Power Supply #2 3V Output Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Absent" + }, + "ElectricalContext": "Total", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Output", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out3V", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2Out3VCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2Out3VCurrent/index.json new file mode 100644 index 00000000..9c1e555b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2Out3VCurrent/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Out3VCurrent", + "Name": "Power Supply #2 3V Output Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Absent" + }, + "PhysicalContext": "PowerSupply", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out3VCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2Out5V/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2Out5V/index.json new file mode 100644 index 00000000..39ebca0a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2Out5V/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Out5V", + "Name": "Power Supply #2 5V Output Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Absent" + }, + "ElectricalContext": "Total", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Output", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out5V", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2Out5VCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2Out5VCurrent/index.json new file mode 100644 index 00000000..16b75e56 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/PS2Out5VCurrent/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Out5VCurrent", + "Name": "Power Supply #2 5V Output Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Absent" + }, + "PhysicalContext": "PowerSupply", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out5VCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/TotalEnergy/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/TotalEnergy/index.json new file mode 100644 index 00000000..49ebac6b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/TotalEnergy/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "TotalEnergy", + "Name": "Total Energy", + "ReadingType": "EnergykWh", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 325675, + "ReadingUnits": "kW.h", + "PhysicalContext": "Chassis", + "Actions": { + "#Sensor.ResetMetrics": { + "target": "/redfish/v1/Chassis/1U/Sensors/TotalEnergy/Actions/Sensor.ResetMetrics" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/TotalEnergy", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/TotalPower/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/TotalPower/index.json new file mode 100644 index 00000000..f7f9f9ac --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/TotalPower/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "TotalPower", + "Name": "Power reading for the Chassis", + "ReadingType": "Power", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 374, + "ReadingUnits": "W", + "Implementation": "Synthesized", + "ReadingTime": "2019-08-13T04:14:33+06:00", + "ReadingRangeMin": 0, + "ReadingRangeMax": 600, + "ApparentVA": 2749.2, + "ReactiveVAR": 281.4, + "PowerFactor": 0.99, + "Accuracy": 0.2, + "Precision": 1, + "SensingInterval": "PT0.25S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 600, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 580, + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/TotalPower", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/index.json new file mode 100644 index 00000000..df437b82 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/Sensors/index.json @@ -0,0 +1,132 @@ +{ + "@odata.type": "#SensorCollection.SensorCollection", + "Name": "Chassis sensors", + "Members@odata.count": 41, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/AmbientTemp" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/CPUFan1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/CPUFan2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/CPU1Temp" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/DIMM1Temp" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/DIMM2Temp" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/DIMM3Temp" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/ExhaustTemp" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/FanBay1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/FanBay2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/IntakeTemp" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Energy" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Frequency" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1InputCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1InputPower" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1InputVoltage" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out12V" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out12VCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out3V" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out3VCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out5V" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out5VCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Energy" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Frequency" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2InputCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2InputPower" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2InputVoltage" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out12V" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out12VCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out3V" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out3VCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out5V" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out5VCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/TotalEnergy" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/TotalPower" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/Battery1Temp" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/Battery1InputVoltage" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/Battery1InputCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/Battery1OutputVoltage" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/Battery1OutputCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/Battery1StateOfHealth" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/Sensors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/CoolantConnectors/CPU1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/CoolantConnectors/CPU1/index.json new file mode 100644 index 00000000..86f44248 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/CoolantConnectors/CPU1/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#CoolantConnector.v1_5_0.CoolantConnector", + "Id": "CPU1", + "Name": "CPU #1 Cold Plate", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CoolantConnectorType": "Closed", + "RatedFlowLitersPerMinute": 30, + "SupplyTemperatureCelsius": { + "Reading": 14.8 + }, + "ReturnTemperatureCelsius": { + "Reading": 38.2 + }, + "DeltaTemperatureCelsius": { + "Reading": 23.4 + }, + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/CoolantConnectors/CPU1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/CoolantConnectors/CPU2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/CoolantConnectors/CPU2/index.json new file mode 100644 index 00000000..9604c0ee --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/CoolantConnectors/CPU2/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#CoolantConnector.v1_5_0.CoolantConnector", + "Id": "CPU2", + "Name": "CPU #2 Cold Plate", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CoolantConnectorType": "Closed", + "RatedFlowLitersPerMinute": 30, + "SupplyTemperatureCelsius": { + "Reading": 22.4 + }, + "ReturnTemperatureCelsius": { + "Reading": 46.9 + }, + "DeltaTemperatureCelsius": { + "Reading": 24.5 + }, + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/CoolantConnectors/CPU2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/CoolantConnectors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/CoolantConnectors/index.json new file mode 100644 index 00000000..be17a499 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/CoolantConnectors/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#CoolantConnectorCollection.CoolantConnectorCollection", + "Name": "Secondary (CPU loops) Coolant Connector Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/CoolantConnectors/CPU1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/CoolantConnectors/CPU2" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/CoolantConnectors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/Fans/Bay1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/Fans/Bay1/index.json new file mode 100644 index 00000000..8e351dd8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/Fans/Bay1/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#Fan.v1_6_0.Fan", + "Id": "Bay1", + "Name": "Fan Bay 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PhysicalContext": "Chassis", + "Model": "RKS-440DC", + "Manufacturer": "Contoso Fans", + "PartNumber": "23456-133", + "SparePartNumber": "93284-133", + "LocationIndicatorActive": true, + "HotPluggable": true, + "SpeedPercent": { + "Reading": 45, + "SpeedRPM": 2200, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/FanBay1" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Chassis Fan Bay 1", + "LocationType": "Bay", + "LocationOrdinalValue": 0 + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/Bay1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/Fans/Bay2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/Fans/Bay2/index.json new file mode 100644 index 00000000..bc504d14 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/Fans/Bay2/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#Fan.v1_6_0.Fan", + "Id": "Bay2", + "Name": "Fan Bay 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PhysicalContext": "Chassis", + "Model": "RKS-440DC", + "Manufacturer": "Contoso Fans", + "PartNumber": "23456-133", + "SparePartNumber": "93284-133", + "LocationIndicatorActive": false, + "HotPluggable": true, + "SpeedPercent": { + "Reading": 45, + "SpeedRPM": 2400, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/FanBay2" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Chassis Fan Bay 2", + "LocationType": "Bay", + "LocationOrdinalValue": 1 + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/Bay2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/Fans/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/Fans/index.json new file mode 100644 index 00000000..d0ad7d95 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/Fans/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#FanCollection.FanCollection", + "Name": "Fan Club", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/Bay1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/Bay2" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/Pumps/CPU1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/Pumps/CPU1/index.json new file mode 100644 index 00000000..583e1a85 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/Pumps/CPU1/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#Pump.v1_2_0.Pump", + "Id": "CPU1", + "PumpType": "Liquid", + "Name": "CPU #1 Pump", + "Version": "1.03b", + "ProductionDate": "2020-12-24T08:00:00Z", + "Manufacturer": "Contoso", + "Model": "UP-JAM", + "SerialNumber": "29347ZT536", + "PartNumber": "MAARS", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PumpSpeedPercent": { + "Reading": 68, + "SpeedRPM": 300 + }, + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Pumps/CPU1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/Pumps/CPU2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/Pumps/CPU2/index.json new file mode 100644 index 00000000..23e54dc5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/Pumps/CPU2/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#Pump.v1_2_0.Pump", + "Id": "CPU2", + "PumpType": "Liquid", + "Name": "CPU #2 Pump", + "Version": "1.03c", + "ProductionDate": "2021-01-05T14:00:00Z", + "Manufacturer": "Contoso", + "Model": "UP-JAM", + "SerialNumber": "29824ZM342", + "PartNumber": "MAARS", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PumpSpeedPercent": { + "Reading": 55, + "SpeedRPM": 250 + }, + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Pumps/CPU2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/Pumps/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/Pumps/index.json new file mode 100644 index 00000000..9691ee76 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/Pumps/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#PumpCollection.PumpCollection", + "Name": "Server Chassis Liquid Cooling Pump Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Pumps/CPU1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Pumps/CPU2" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Pumps", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/ThermalMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/ThermalMetrics/index.json new file mode 100644 index 00000000..abac31b4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/ThermalMetrics/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#ThermalMetrics.v1_3_3.ThermalMetrics", + "Id": "ThermalMetrics", + "Name": "Chassis Thermal Metrics", + "TemperatureSummaryCelsius": { + "Internal": { + "Reading": 39, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/CPU1Temp" + }, + "Intake": { + "Reading": 24.8, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/IntakeTemp" + }, + "Ambient": { + "Reading": 22.5, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/AmbientTemp" + }, + "Exhaust": { + "Reading": 40.5, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/ExhaustTemp" + } + }, + "TemperatureReadingsCelsius": [ + { + "Reading": 24.8, + "DeviceName": "Intake", + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/IntakeTemp" + }, + { + "Reading": 40.5, + "DeviceName": "Exhaust", + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/ExhaustTemp" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/ThermalMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/index.json new file mode 100644 index 00000000..cd72f035 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/ThermalSubsystem/index.json @@ -0,0 +1,42 @@ +{ + "@odata.type": "#ThermalSubsystem.v1_5_0.ThermalSubsystem", + "Id": "ThermalSubsystem", + "Name": "Thermal Subsystem for Chassis", + "FanRedundancy": [ + { + "RedundancyType": "NPlusM", + "MaxSupportedInGroup": 2, + "MinNeededInGroup": 1, + "RedundancyGroup": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/Bay1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/Bay2" + } + ], + "Status": { + "State": "Enabled", + "Health": "OK" + } + } + ], + "CoolantConnectors": { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/CoolantConnectors" + }, + "Pumps": { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Pumps" + }, + "Fans": { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans" + }, + "ThermalMetrics": { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/ThermalMetrics" + }, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/AC-RoT0/Certificates/DeviceCert/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/AC-RoT0/Certificates/DeviceCert/index.json new file mode 100644 index 00000000..fd1610cb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/AC-RoT0/Certificates/DeviceCert/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "DeviceCert", + "Name": "SPDM Device Certificate", + "CertificateType": "PEM", + "Links": { + "Issuer": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Certificates/contoso-subca" + } + }, + "CertificateUsageTypes": [ + "Device" + ], + "SPDM": { + "SlotId": 0 + }, + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIDvzCCAqegAwIBAgIBATANBgkqhkiG9w0BAQ0FADCBgDELMAkGA1UEBhMCVVMx\nEDAOBgNVBAgMB1JlZGZpc2gxHDAaBgNVBAcME1NvbWV3aGVyZSBJbmJldHdlZW4x\nEDAOBgNVBAoMB0NvbnRvc28xEDAOBgNVBAsMB01vY2t1cHMxHTAbBgNVBAMMFENl\ncnRpZmljYXRlIERpdmlzaW9uMCAXDTIxMTAwNzIwMzExOFoYDzIwOTkxMDA4MjAz\nMTE4WjBnMQswCQYDVQQGEwJVUzEQMA4GA1UECAwHUmVkZmlzaDEQMA4GA1UECgwH\nQ29udG9zbzEZMBcGA1UECwwQU3RvcmFnZSBCdXNpbmVzczEZMBcGA1UEAwwQU3Rv\ncmFnZSBQcm9kdWN0czCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJrI\nfABOA7LBs9eLmWvNqwaZEKHXksvfF7YLqkamROep4AAAdLmLI39yQCmQVdNkHVXf\nMHofF7d+ej8EPil3ORT2Y/Yv3+Cc4ZtvDCOTNyJUD8IRa/O7UcGNrCY/Pv0ZHRca\nG+prcaHibpm7YVW5wNFyZ+Rt9pV5KUQ1hJPtdPZEPkfMF1s6SoYkRQwtXXDVuG3G\nPYSBMiFa51rf0H3EtHWxjTjkp6MKi5maqBiaOOVoYbuWeh1DzgAMs48++8KGDI2T\nkPynhl21gCuLzEUgAI5akGXmlgJ6FrxOXvSCCoD7ghk786CKg933FcYoiwNy167u\nyfMDzrgGugLZXcHDr/sCAwEAAaNaMFgwHQYDVR0OBBYEFK9kV2zMi8Y3xB+1No9K\nyX5+Gqc8MB8GA1UdIwQYMBaAFPzQI/w1tukTiYkEcfcbxMIQyTcWMAkGA1UdEwQC\nMAAwCwYDVR0PBAQDAgWgMA0GCSqGSIb3DQEBDQUAA4IBAQBTWhkRvj2nFP6Pvttk\nqbYwCawCMqn0W//pJ/eVZpYx3OT5315VacMrhUDwePZbJXOKNhuuEiymQxM4iHd0\nfh6Bq7ykonZAYWuYNt1KRA98QI1lZh42TvcZ43HaWkao/R9OoR8uiICGjIGRV987\nAATMKsuZkA3rB06XdNlSlHGehwSZAOPguVG5QWOUE9qA9p1Uu6cot1h4jXYhO/vV\nr1/9zwS01fRnc77lMOTOsBloy+OUj8ibY+BzCXOjhAZfvv0hLszWMAUGfktMGcWc\n3gprFHocW18ReuosiZyffDvxJfo5HQfZM429tTxA7ixozI2F0MRDSFuQ/OATDJpu\npzcr\n-----END CERTIFICATE-----\n", + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/AC-RoT0/Certificates/DeviceCert", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/AC-RoT0/Certificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/AC-RoT0/Certificates/index.json new file mode 100644 index 00000000..80c75db5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/AC-RoT0/Certificates/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "AC-RoT0 Certificates Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/AC-RoT0/Certificates/DeviceCert" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/AC-RoT0/Certificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/AC-RoT0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/AC-RoT0/index.json new file mode 100644 index 00000000..de0a8fad --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/AC-RoT0/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#TrustedComponent.v1_5_0.TrustedComponent", + "Id": "AC-RoT0", + "Name": "CPU1 External Root of Trust", + "UUID": "A3981CF9-576A-4335-A19F-B8CD7EC2821D", + "Description": "Root of trust chip for CPU1", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "TrustedComponentType": "Discrete", + "Certificates": { + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/AC-RoT0/Certificates" + }, + "Links": { + "ComponentsProtected": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1" + } + ], + "ComponentIntegrity": [ + { + "@odata.id": "/redfish/v1/ComponentIntegrity/SS-SPDM-0" + } + ], + "ActiveSoftwareImage": { + "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/AC-RoT0" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/AC-RoT0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/TPM/Certificates/EKCert/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/TPM/Certificates/EKCert/index.json new file mode 100644 index 00000000..4b0f46b1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/TPM/Certificates/EKCert/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "EKCert", + "Name": "EKCert of the TPM of the computer system", + "CertificateType": "PEM", + "Links": { + "Issuer": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Certificates/contoso-subca" + } + }, + "CertificateUsageTypes": [ + "Device" + ], + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIDejCCAmICAQIwDQYJKoZIhvcNAQENBQAwgYAxCzAJBgNVBAYTAlVTMRAwDgYD\nVQQIDAdSZWRmaXNoMRwwGgYDVQQHDBNTb21ld2hlcmUgSW5iZXR3ZWVuMRAwDgYD\nVQQKDAdDb250b3NvMRAwDgYDVQQLDAdNb2NrdXBzMR0wGwYDVQQDDBRDZXJ0aWZp\nY2F0ZSBEaXZpc2lvbjAgFw0yMTEwMDcyMzQxNTNaGA8yMDk5MTAwODIzNDE1M1ow\ngYIxCzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdSZWRmaXNoMR8wHQYDVQQHDBZFdmVy\neXdoZXJlIGFuZCBub3doZXJlMRAwDgYDVQQKDAdDb250b3NvMRYwFAYDVQQLDA1U\nUE0gU29sdXRpb25zMRYwFAYDVQQDDA1EaXNjcmV0ZSBUUE1zMIIBIjANBgkqhkiG\n9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuVZyaRkASJBM9TuAYReCBLGB2NAF1moUBn0q\nH8mUOpO/Iv6Qm1EpAx398L85K/5KwQf0WwNY6wmzAdwJ5aKftnm92krEC0VnXytb\nYQC8D7b/f/Dw2NMWsTwE+NBsoRdj7Cz1pGRMYEJv7BG4t8VXRXe5UiZ9QHCLzMbT\n6y/T32WKCR/9XWtxWjaoqQEIsyGyQfrmYq2i/mAAcSrtFSAntJUwymEBGI9CKBqy\n2V/Ih0YQ3FwItt6mJNwba8fZ8aSXAEmTlIo8pX71eN9pQOnhSDce62naXqfEgz7I\ncW3Z9Ll6j2omYuOdu3EXylIAU/+Hdn31PoV7KOOsA2U9E/P5PwIDAQABMA0GCSqG\nSIb3DQEBDQUAA4IBAQCG4m5j1LUgC18gFDUztShcEmjyxhJ8QuEbDcVHT6UowhST\n/TDAhwgGSAa2kNCefayG/EEur6s7SJ5Qryx97637iz9Icv4uq+Dg6w4vlpCB2E7j\nT2/liiRq0CSOIQ8bpfot+skp68kFPyw+hgLyci2tjYV3FGkZmsfKCV58hh+jkNr+\nIQHpyF/FEd96edWrUqsau6rIBzFk6EsdTncYTcMyVXjAQWva1u1Xygy7CvR2IEae\nBEN7S34RKluP+UKuB56Wi7b2BZQmLCfGbEUVaN3UyjNwZf2BqYT7yjm+B7D6ncvJ\nMoKeFJfWNY1KzDF7HwhHSVfJAKLRimplM2f/ImBZ\n-----END CERTIFICATE-----\n", + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/TPM/Certificates/EKCert", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/TPM/Certificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/TPM/Certificates/index.json new file mode 100644 index 00000000..a7d9ea07 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/TPM/Certificates/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "TPM Certificates Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/TPM/Certificates/EKCert" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/TPM/Certificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/TPM/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/TPM/index.json new file mode 100644 index 00000000..52c3e30f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/TPM/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#TrustedComponent.v1_5_0.TrustedComponent", + "Id": "TPM", + "Name": "Platform TPM", + "UUID": "D0810BE9-EB91-4CE2-BADE-42B42326700C", + "Description": "TPM for computer system", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "TrustedComponentType": "Discrete", + "Certificates": { + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/TPM/Certificates" + }, + "Links": { + "ComponentsProtected": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + } + ], + "ComponentIntegrity": [ + { + "@odata.id": "/redfish/v1/ComponentIntegrity/TPM-0" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/TPM", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/iRoT0/Certificates/DeviceCert/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/iRoT0/Certificates/DeviceCert/index.json new file mode 100644 index 00000000..ac573133 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/iRoT0/Certificates/DeviceCert/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "DeviceCert", + "Name": "SPDM Device Certificate", + "CertificateType": "PEM", + "Links": { + "Issuer": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Certificates/contoso-subca" + } + }, + "CertificateUsageTypes": [ + "Device" + ], + "SPDM": { + "SlotId": 0 + }, + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIDvzCCAqegAwIBAgIBATANBgkqhkiG9w0BAQ0FADCBgDELMAkGA1UEBhMCVVMx\nEDAOBgNVBAgMB1JlZGZpc2gxHDAaBgNVBAcME1NvbWV3aGVyZSBJbmJldHdlZW4x\nEDAOBgNVBAoMB0NvbnRvc28xEDAOBgNVBAsMB01vY2t1cHMxHTAbBgNVBAMMFENl\ncnRpZmljYXRlIERpdmlzaW9uMCAXDTIxMTAwNzIwMzExOFoYDzIwOTkxMDA4MjAz\nMTE4WjBnMQswCQYDVQQGEwJVUzEQMA4GA1UECAwHUmVkZmlzaDEQMA4GA1UECgwH\nQ29udG9zbzEZMBcGA1UECwwQU3RvcmFnZSBCdXNpbmVzczEZMBcGA1UEAwwQU3Rv\ncmFnZSBQcm9kdWN0czCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJrI\nfABOA7LBs9eLmWvNqwaZEKHXksvfF7YLqkamROep4AAAdLmLI39yQCmQVdNkHVXf\nMHofF7d+ej8EPil3ORT2Y/Yv3+Cc4ZtvDCOTNyJUD8IRa/O7UcGNrCY/Pv0ZHRca\nG+prcaHibpm7YVW5wNFyZ+Rt9pV5KUQ1hJPtdPZEPkfMF1s6SoYkRQwtXXDVuG3G\nPYSBMiFa51rf0H3EtHWxjTjkp6MKi5maqBiaOOVoYbuWeh1DzgAMs48++8KGDI2T\nkPynhl21gCuLzEUgAI5akGXmlgJ6FrxOXvSCCoD7ghk786CKg933FcYoiwNy167u\nyfMDzrgGugLZXcHDr/sCAwEAAaNaMFgwHQYDVR0OBBYEFK9kV2zMi8Y3xB+1No9K\nyX5+Gqc8MB8GA1UdIwQYMBaAFPzQI/w1tukTiYkEcfcbxMIQyTcWMAkGA1UdEwQC\nMAAwCwYDVR0PBAQDAgWgMA0GCSqGSIb3DQEBDQUAA4IBAQBTWhkRvj2nFP6Pvttk\nqbYwCawCMqn0W//pJ/eVZpYx3OT5315VacMrhUDwePZbJXOKNhuuEiymQxM4iHd0\nfh6Bq7ykonZAYWuYNt1KRA98QI1lZh42TvcZ43HaWkao/R9OoR8uiICGjIGRV987\nAATMKsuZkA3rB06XdNlSlHGehwSZAOPguVG5QWOUE9qA9p1Uu6cot1h4jXYhO/vV\nr1/9zwS01fRnc77lMOTOsBloy+OUj8ibY+BzCXOjhAZfvv0hLszWMAUGfktMGcWc\n3gprFHocW18ReuosiZyffDvxJfo5HQfZM429tTxA7ixozI2F0MRDSFuQ/OATDJpu\npzcr\n-----END CERTIFICATE-----\n", + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/iRoT0/Certificates/DeviceCert", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/iRoT0/Certificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/iRoT0/Certificates/index.json new file mode 100644 index 00000000..de0645af --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/iRoT0/Certificates/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "iRoT0 Certificates Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/iRoT0/Certificates/DeviceCert" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/iRoT0/Certificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/iRoT0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/iRoT0/index.json new file mode 100644 index 00000000..c5de95a6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/iRoT0/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#TrustedComponent.v1_5_0.TrustedComponent", + "Id": "iRoT0", + "Name": "CPU1 Internal Root of Trust", + "UUID": "A3981CF9-576A-4335-A19F-B8CD7EC2821E", + "Description": "Integrated Root of trust chip for CPU1", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "TrustedComponentType": "Integrated", + "Certificates": { + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/iRoT0/Certificates" + }, + "Links": { + "ComponentsProtected": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1" + } + ], + "IntegratedInto": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1" + }, + "ComponentIntegrity": [ + { + "@odata.id": "/redfish/v1/ComponentIntegrity/SS-SPDM-1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/iRoT0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/index.json new file mode 100644 index 00000000..f91d0777 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/TrustedComponents/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#TrustedComponentCollection.TrustedComponentCollection", + "Name": "Trusted Component Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/AC-RoT0" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/iRoT0" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/TPM" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/index.json new file mode 100644 index 00000000..3455d5e3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/1U/index.json @@ -0,0 +1,76 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "1U", + "Name": "Computer System Chassis", + "ChassisType": "RackMount", + "AssetTag": "Chicago-45Z-2381", + "Manufacturer": "Contoso", + "Model": "3500RX", + "SKU": "8675309", + "SerialNumber": "437XR1138R2", + "PartNumber": "224071-J23", + "PowerState": "On", + "IndicatorLED": "Lit", + "HeightMm": 44.45, + "WidthMm": 431.8, + "DepthMm": 711, + "WeightKg": 15.31, + "Location": { + "PostalAddress": { + "Country": "US", + "Territory": "OR", + "City": "Portland", + "Street": "1001 SW 5th Avenue", + "HouseNumber": 1100, + "Name": "DMTF", + "PostalCode": "97204" + }, + "Placement": { + "Row": "North", + "Rack": "WEB43", + "RackOffsetUnits": "EIA_310", + "RackOffset": 12 + } + }, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ThermalSubsystem": { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem" + }, + "PowerSubsystem": { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem" + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Chassis/1U/EnvironmentMetrics" + }, + "Sensors": { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors" + }, + "Controls": { + "@odata.id": "/redfish/v1/Chassis/1U/Controls" + }, + "TrustedComponents": { + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents" + }, + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ], + "ManagersInChassis": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/1U", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/index.json new file mode 100644 index 00000000..9066a5e8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Chassis/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ChassisCollection.ChassisCollection", + "Name": "Chassis Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ], + "@odata.id": "/redfish/v1/Chassis", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/ComponentIntegrity/SS-SPDM-0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/ComponentIntegrity/SS-SPDM-0/index.json new file mode 100644 index 00000000..bebf5b28 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/ComponentIntegrity/SS-SPDM-0/index.json @@ -0,0 +1,71 @@ +{ + "@odata.type": "#ComponentIntegrity.v1_5_0.ComponentIntegrity", + "Id": "SS-SPDM-0", + "Name": "Integrity of the External RoT for CPU1", + "Description": "SPDM Integrity Information for CPU1 reported by AC-RoT0", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "ComponentIntegrityType": "SPDM", + "ComponentIntegrityTypeVersion": "1.1.0", + "ComponentIntegrityEnabled": true, + "TargetComponentURI": "/redfish/v1/Chassis/1U/TrustedComponents/AC-RoT0", + "LastUpdated": "2021-11-02T14:05:39-07:00", + "SPDM": { + "Requester": { + "@odata.id": "/redfish/v1/Managers/BMC" + }, + "MeasurementSet": { + "MeasurementSpecification": "DMTF", + "MeasurementSummary": "oylHo8JAT1RqtB0Vlx9dCzogavikhSvIZpVEDhI1X1+TKeyZZvwuUb5qF9uWqPVa", + "MeasurementSummaryHashAlgorithm": "TPM_ALG_SHA_384", + "MeasurementSummaryType": "TCB", + "Measurements": [ + { + "MeasurementIndex": 1, + "PartofSummaryHash": false, + "LastUpdated": "2021-10-31T19:08:02-07:00", + "Measurement": "K0zqzG/MFbeV7OVAhvDugxEzc7nMnRvdoKy8g2zU5JovPrUNSeFJxibTZE+0kOR9QhDR5RzumnomFECF8zI/Lw==", + "MeasurementHashAlgorithm": "TPM_ALG_SHA_512" + }, + { + "MeasurementIndex": 3, + "PartofSummaryHash": true, + "LastUpdated": "2021-10-31T19:08:02-07:00", + "Measurement": "4wEF1nnub2ozuYTWyjyvFGrYnSn0eidy54uaIYXjp/HKRByaco9UtCZeyNfA3rQ3YsRD/6csLcqGw9Nd9/HPAw==", + "MeasurementHashAlgorithm": "TPM_ALG_SHA_512", + "MeasurementType": "ImmutableROM" + }, + { + "MeasurementIndex": 150, + "PartofSummaryHash": true, + "LastUpdated": "2021-10-31T19:08:02-07:00", + "Measurement": "dZyksxnM/LZbSUY8INpp4wqcCM8m6XOKoy8cLaXOjUzqYYJT92AmEp7hKVFULNz1aCpKk69VULMyaDIv9hmJSQ==", + "MeasurementHashAlgorithm": "TPM_ALG_SHA_512" + } + ] + }, + "IdentityAuthentication": { + "ResponderAuthentication": { + "ComponentCertificate": { + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/AC-RoT0/Certificates/DeviceCert" + } + } + }, + "ComponentCommunication": { + "Sessions": [ + { + "SessionId": 15999129, + "SessionType": "EncryptedAuthenticated" + }, + { + "SessionId": 1193013, + "SessionType": "EncryptedAuthenticated" + } + ] + } + }, + "@odata.id": "/redfish/v1/ComponentIntegrity/SS-SPDM-0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/ComponentIntegrity/SS-SPDM-1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/ComponentIntegrity/SS-SPDM-1/index.json new file mode 100644 index 00000000..a0b498e4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/ComponentIntegrity/SS-SPDM-1/index.json @@ -0,0 +1,67 @@ +{ + "@odata.type": "#ComponentIntegrity.v1_5_0.ComponentIntegrity", + "Id": "SS-SPDM-1", + "Name": "Integrity of the Internal RoT for CPU1", + "Description": "SPDM Integrity Information for CPU1", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "ComponentIntegrityType": "SPDM", + "ComponentIntegrityTypeVersion": "1.1.0", + "ComponentIntegrityEnabled": true, + "TargetComponentURI": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1", + "LastUpdated": "2021-11-02T14:06:39-07:00", + "SPDM": { + "Requester": { + "@odata.id": "/redfish/v1/Managers/BMC" + }, + "MeasurementSet": { + "MeasurementSpecification": "DMTF", + "MeasurementSummary": "oylHo8JAT1RqtB0Vlx9dCzogavikhSvIZpVEDhI1X1+TKeyZZvwuUb5qF9uWqPVa", + "MeasurementSummaryHashAlgorithm": "TPM_ALG_SHA_384", + "MeasurementSummaryType": "TCB", + "Measurements": [ + { + "MeasurementIndex": 1, + "PartofSummaryHash": false, + "LastUpdated": "2021-10-31T19:08:02-07:00", + "Measurement": "K0zqzG/MFbeV7OVAhvDugxEzc7nMnRvdoKy8g2zU5JovPrUNSeFJxibTZE+0kOR9QhDR5RzumnomFECF8zI/Lw==", + "MeasurementHashAlgorithm": "TPM_ALG_SHA_512" + }, + { + "MeasurementIndex": 3, + "PartofSummaryHash": true, + "LastUpdated": "2021-10-31T19:08:02-07:00", + "Measurement": "4wEF1nnub2ozuYTWyjyvFGrYnSn0eidy54uaIYXjp/HKRByaco9UtCZeyNfA3rQ3YsRD/6csLcqGw9Nd9/HPAw==", + "MeasurementHashAlgorithm": "TPM_ALG_SHA_512", + "MeasurementType": "ImmutableROM" + }, + { + "MeasurementIndex": 150, + "PartofSummaryHash": true, + "LastUpdated": "2021-10-31T19:08:02-07:00", + "Measurement": "dZyksxnM/LZbSUY8INpp4wqcCM8m6XOKoy8cLaXOjUzqYYJT92AmEp7hKVFULNz1aCpKk69VULMyaDIv9hmJSQ==", + "MeasurementHashAlgorithm": "TPM_ALG_SHA_512" + } + ] + }, + "IdentityAuthentication": { + "ResponderAuthentication": { + "ComponentCertificate": { + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/iRoT0/Certificates/DeviceCert" + } + } + }, + "ComponentCommunication": { + "Sessions": [ + { + "SessionId": 15999130, + "SessionType": "Plain" + } + ] + } + }, + "@odata.id": "/redfish/v1/ComponentIntegrity/SS-SPDM-1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/ComponentIntegrity/TPM-0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/ComponentIntegrity/TPM-0/index.json new file mode 100644 index 00000000..c0943ae6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/ComponentIntegrity/TPM-0/index.json @@ -0,0 +1,61 @@ +{ + "@odata.type": "#ComponentIntegrity.v1_5_0.ComponentIntegrity", + "Id": "TPM-0", + "Name": "Integrity of the Platform TPM", + "Description": "This TPM is physically attached to a GPU and thus this TPM provides integrity protection for the GPU.", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "ComponentIntegrityType": "TPM", + "ComponentIntegrityTypeVersion": "1.2.0", + "ComponentIntegrityEnabled": true, + "LastUpdated": "2021-11-02T14:09:54-07:00", + "TargetComponentURI": "/redfish/v1/Chassis/1U/TrustedComponents/TPM", + "TPM": { + "MeasurementSet": { + "Measurements": [ + { + "PCR": 1, + "Measurement": "h6spEuxbyOtGhP35UoGhTcVX3iRaZQGDw4Yk5oQcabw=", + "LastUpdated": "2021-10-31T20:14:27-07:00", + "MeasurementHashAlgorithm": "TPM_ALG_SHA256" + }, + { + "PCR": 3, + "Measurement": "GnbzS4ToNQb+Y7SxXw4AvRDTf4SzO5eeAlAlDca28AA=", + "LastUpdated": "2021-10-31T20:14:27-07:00", + "MeasurementHashAlgorithm": "TPM_ALG_SHA256" + }, + { + "PCR": 1, + "Measurement": "pLJa5Dyh8CDYFZ1WNOrsiSG1eyCPBlre42CD7CTywg7VkcC4afw4ZG3gQxi2XEFCt5jxz6tN1/cbx/DNx2/tOg==", + "LastUpdated": "2021-10-31T20:14:27-07:00", + "MeasurementHashAlgorithm": "TPM_ALG_SHA512" + }, + { + "PCR": 3, + "Measurement": "GBgEucATV8omirTmYqY+vvbbisHR1jBKfVAEK1XSifBHnnIYXopsc0NExURDSSyPjO21NrPqnwiq5LhI1p6rzQ==", + "LastUpdated": "2021-10-31T20:14:27-07:00", + "MeasurementHashAlgorithm": "TPM_ALG_SHA512" + } + ] + }, + "IdentityAuthentication": { + "VerificationStatus": "Success", + "ComponentCertificate": { + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/TPM/Certificates/EKCert" + } + }, + "ComponentCommunication": { + "Sessions": [ + { + "SessionId": 4556, + "SessionType": "Plain" + } + ] + } + }, + "@odata.id": "/redfish/v1/ComponentIntegrity/TPM-0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/ComponentIntegrity/USB-Integrity/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/ComponentIntegrity/USB-Integrity/index.json new file mode 100644 index 00000000..18a051ee --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/ComponentIntegrity/USB-Integrity/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#ComponentIntegrity.v1_5_0.ComponentIntegrity", + "Id": "USB-Integrity", + "Name": "Integrity of the USB Controller", + "Description": "SPDM Integrity Information for a USB controller. The SPDM protocol to this USB controller is completely disabled.", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "ComponentIntegrityType": "SPDM", + "ComponentIntegrityTypeVersion": "", + "ComponentIntegrityEnabled": false, + "TargetComponentURI": "/redfish/v1/Systems/437XR1138R2/USBControllers/USB1", + "@odata.id": "/redfish/v1/ComponentIntegrity/USB-Integrity", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/ComponentIntegrity/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/ComponentIntegrity/index.json new file mode 100644 index 00000000..889a0b59 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/ComponentIntegrity/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#ComponentIntegrityCollection.ComponentIntegrityCollection", + "Name": "ComponentIntegrity Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/ComponentIntegrity/SS-SPDM-0" + }, + { + "@odata.id": "/redfish/v1/ComponentIntegrity/USB-Integrity" + }, + { + "@odata.id": "/redfish/v1/ComponentIntegrity/TPM-0" + } + ], + "@odata.id": "/redfish/v1/ComponentIntegrity", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/EventService/SubmitTestEventActionInfo/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/EventService/SubmitTestEventActionInfo/index.json new file mode 100644 index 00000000..44abc4f3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/EventService/SubmitTestEventActionInfo/index.json @@ -0,0 +1,62 @@ +{ + "@odata.type": "#ActionInfo.v1_6_0.ActionInfo", + "Id": "SubmitTestEventActionInfo", + "Name": "SubmitTestEvent Action Info", + "Parameters": [ + { + "Name": "EventType", + "Required": false, + "DataType": "String", + "AllowableValues": [ + "StatusChange", + "ResourceUpdated", + "ResourceAdded", + "ResourceRemoved", + "Alert", + "Other" + ] + }, + { + "Name": "EventId", + "Required": false, + "DataType": "String" + }, + { + "Name": "EventTimestamp", + "Required": false, + "DataType": "String" + }, + { + "Name": "Severity", + "Required": false, + "DataType": "String" + }, + { + "Name": "Message", + "Required": false, + "DataType": "String" + }, + { + "Name": "MessageId", + "Required": true, + "DataType": "String" + }, + { + "Name": "MessageArgs", + "Required": false, + "DataType": "StringArray" + }, + { + "Name": "OriginOfCondition", + "Required": false, + "DataType": "String" + }, + { + "Name": "EventGroupId", + "Required": false, + "DataType": "Number" + } + ], + "@odata.id": "/redfish/v1/EventService/SubmitTestEventActionInfo", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/EventService/Subscriptions/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/EventService/Subscriptions/1/index.json new file mode 100644 index 00000000..4cf433da --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/EventService/Subscriptions/1/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#EventDestination.v1_17_1.EventDestination", + "Id": "1", + "Name": "EventSubscription 1", + "Destination": "http://www.dnsname.com/Destination1", + "EventTypes": [ + "Alert" + ], + "Context": "WebUser3", + "Protocol": "Redfish", + "SubscriptionType": "RedfishEvent", + "@odata.id": "/redfish/v1/EventService/Subscriptions/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/EventService/Subscriptions/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/EventService/Subscriptions/2/index.json new file mode 100644 index 00000000..4c065265 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/EventService/Subscriptions/2/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#EventDestination.v1_17_1.EventDestination", + "Id": "2", + "Name": "SNMPv3 EventSubscription", + "Destination": "contoso_user@snmp_server.contoso.com", + "ResourceTypes": [ + "Certificate", + "Volume", + "Thermal", + "VirtualMedia", + "Power" + ], + "Context": "My_SNMPv3_Events", + "Protocol": "SNMPv3", + "SubscriptionType": "SNMPInform", + "SNMP": { + "TrapCommunity": null, + "AuthenticationKey": null, + "AuthenticationProtocol": "HMAC_SHA96", + "EncryptionKey": null, + "EncryptionProtocol": "CFB128_AES128" + }, + "@odata.id": "/redfish/v1/EventService/Subscriptions/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/EventService/Subscriptions/3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/EventService/Subscriptions/3/index.json new file mode 100644 index 00000000..4e356433 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/EventService/Subscriptions/3/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#EventDestination.v1_17_1.EventDestination", + "Id": "3", + "Name": "EventSubscription for SMTP", + "Destination": "mailto:spam@contoso.com", + "ResourceTypes": [ + "Certificates", + "Systems" + ], + "Context": "EmailUser3", + "Protocol": "SMTP", + "SubscriptionType": "OEM", + "@odata.id": "/redfish/v1/EventService/Subscriptions/3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/EventService/Subscriptions/4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/EventService/Subscriptions/4/index.json new file mode 100644 index 00000000..6fce42bb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/EventService/Subscriptions/4/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#EventDestination.v1_17_1.EventDestination", + "Id": "4", + "Name": "EventSubscription for Remote syslog", + "Destination": "syslog://123.45.10:514", + "Context": "Syslog-Mockup", + "Protocol": "SyslogTCP", + "SyslogFilters": [ + { + "LogFacilities": [ + "Kern", + "User" + ], + "LowestSeverity": "Warning" + } + ], + "SubscriptionType": "Syslog", + "@odata.id": "/redfish/v1/EventService/Subscriptions/4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/EventService/Subscriptions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/EventService/Subscriptions/index.json new file mode 100644 index 00000000..e58d455c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/EventService/Subscriptions/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#EventDestinationCollection.EventDestinationCollection", + "Name": "Event Subscriptions Collection", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/EventService/Subscriptions/1" + }, + { + "@odata.id": "/redfish/v1/EventService/Subscriptions/2" + }, + { + "@odata.id": "/redfish/v1/EventService/Subscriptions/3" + }, + { + "@odata.id": "/redfish/v1/EventService/Subscriptions/4" + } + ], + "@odata.id": "/redfish/v1/EventService/Subscriptions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/EventService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/EventService/index.json new file mode 100644 index 00000000..0676aea7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/EventService/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#EventService.v1_12_0.EventService", + "Id": "EventService", + "Name": "Event Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "DeliveryRetryAttempts": 3, + "DeliveryRetryIntervalSeconds": 60, + "EventTypesForSubscription": [ + "StatusChange", + "ResourceUpdated", + "ResourceAdded", + "ResourceRemoved", + "Alert" + ], + "Subscriptions": { + "@odata.id": "/redfish/v1/EventService/Subscriptions" + }, + "Actions": { + "#EventService.SubmitTestEvent": { + "target": "/redfish/v1/EventService/Actions/EventService.SubmitTestEvent", + "@Redfish.ActionInfo": "/redfish/v1/EventService/SubmitTestEventActionInfo" + } + }, + "SMTP": { + "ServiceEnabled": true, + "Port": 25, + "ServerAddress": "smtp.contoso.com", + "FromAddress": "no_reply@contoso.com", + "ConnectionProtocol": "AutoDetect", + "Authentication": "AutoDetect", + "Username": "employee123", + "Password": null + }, + "@odata.id": "/redfish/v1/EventService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/KeyService/NVMeoFKeyPolicies/0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/KeyService/NVMeoFKeyPolicies/0/index.json new file mode 100644 index 00000000..3884d260 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/KeyService/NVMeoFKeyPolicies/0/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#KeyPolicy.v1_0_1.KeyPolicy", + "Id": "0", + "Name": "Default NVMeoF Key Policy", + "IsDefault": true, + "KeyPolicyType": "NVMeoF", + "NVMeoF": { + "SecurityTransportAllowList": [ + "TLSv2", + "TLSv3" + ], + "CipherSuiteAllowList": [ + "TLS_AES_128_GCM_SHA256", + "TLS_AES_256_GCM_SHA384" + ], + "SecurityProtocolAllowList": [ + "DHHC", + "TLS_PSK" + ], + "DHGroupAllowList": [ + "FFDHE2048", + "FFDHE3072", + "FFDHE4096", + "FFDHE6144", + "FFDHE8192" + ], + "SecureHashAllowList": [ + "SHA384", + "SHA512" + ] + }, + "@odata.id": "/redfish/v1/KeyService/NVMeoFKeyPolicies/0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/KeyService/NVMeoFKeyPolicies/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/KeyService/NVMeoFKeyPolicies/index.json new file mode 100644 index 00000000..071a5acb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/KeyService/NVMeoFKeyPolicies/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#KeyPolicyCollection.KeyPolicyCollection", + "Name": "Key Policy Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/KeyService/NVMeoFKeyPolicies/0" + } + ], + "@odata.id": "/redfish/v1/KeyService/NVMeoFKeyPolicies", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/KeyService/NVMeoFSecrets/0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/KeyService/NVMeoFSecrets/0/index.json new file mode 100644 index 00000000..2efc8959 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/KeyService/NVMeoFSecrets/0/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#Key.v1_4_1.Key", + "Id": "0", + "Name": "NVMeoF key 0, target subsystem", + "KeyType": "NVMeoF", + "KeyString": "DHHC-1:00:ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n:", + "NVMeoF": { + "NQN": "nqn.corp.com:nvme:target-subsystem-0001", + "SecurityProtocolType": "DHHC", + "HostKeyId": "1", + "SecureHashAllowList": [ + "SHA384", + "SHA512" + ] + }, + "@odata.id": "/redfish/v1/KeyService/NVMeoFSecrets/0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/KeyService/NVMeoFSecrets/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/KeyService/NVMeoFSecrets/1/index.json new file mode 100644 index 00000000..2a7d5b11 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/KeyService/NVMeoFSecrets/1/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#Key.v1_4_1.Key", + "Id": "1", + "Name": "NVMeoF key 1, host subsystem", + "KeyType": "NVMeoF", + "KeyString": "DHHC-1:00:ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n:", + "NVMeoF": { + "NQN": "nqn.corp.com:nvme:host-subsystem-0001", + "SecurityProtocolType": "DHHC", + "SecureHashAllowList": [ + "SHA384", + "SHA512" + ] + }, + "@odata.id": "/redfish/v1/KeyService/NVMeoFSecrets/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/KeyService/NVMeoFSecrets/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/KeyService/NVMeoFSecrets/index.json new file mode 100644 index 00000000..c5d28ddd --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/KeyService/NVMeoFSecrets/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#KeyCollection.KeyCollection", + "Name": "Key Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/KeyService/NVMeoFSecrets/0" + }, + { + "@odata.id": "/redfish/v1/KeyService/NVMeoFSecrets/1" + } + ], + "@odata.id": "/redfish/v1/KeyService/NVMeoFSecrets", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/KeyService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/KeyService/index.json new file mode 100644 index 00000000..f235b3df --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/KeyService/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#KeyService.v1_0_1.KeyService", + "Id": "KeyService", + "Name": "Key Service", + "NVMeoFSecrets": { + "@odata.id": "/redfish/v1/KeyService/NVMeoFSecrets" + }, + "NVMeoFKeyPolicies": { + "@odata.id": "/redfish/v1/KeyService/NVMeoFKeyPolicies" + }, + "@odata.id": "/redfish/v1/KeyService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/DedicatedNetworkPorts/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/DedicatedNetworkPorts/1/index.json new file mode 100644 index 00000000..cf8b4615 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/DedicatedNetworkPorts/1/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "1", + "Name": "Dedicated BMC Port", + "CurrentSpeedGbps": 0.1, + "Ethernet": { + "FlowControlConfiguration": "TX_RX", + "FlowControlStatus": "TX_RX", + "SupportedEthernetCapabilities": [ + "WakeOnLAN" + ], + "LLDPEnabled": true, + "LLDPTransmit": {}, + "LLDPReceive": {} + }, + "LinkConfiguration": [ + { + "AutoSpeedNegotiationCapable": true, + "AutoSpeedNegotiationEnabled": true, + "CapableLinkSpeedGbps": [ + 0.1 + ] + } + ], + "LinkNetworkTechnology": "Ethernet", + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "MaxFrameSize": 1500, + "MaxSpeedGbps": 0.1, + "PortMedium": "Electrical", + "PortType": "UpstreamPort", + "Links": { + "EthernetInterfaces": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/eth0" + } + ] + }, + "@odata.id": "/redfish/v1/Managers/BMC/DedicatedNetworkPorts/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/DedicatedNetworkPorts/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/DedicatedNetworkPorts/index.json new file mode 100644 index 00000000..95475b50 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/DedicatedNetworkPorts/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "Port Collection", + "Description": "Collection of dedicated network ports for this manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/DedicatedNetworkPorts/1" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/DedicatedNetworkPorts", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/EthernetInterfaces/ToHost/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/EthernetInterfaces/ToHost/index.json new file mode 100644 index 00000000..9b3cffd1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/EthernetInterfaces/ToHost/index.json @@ -0,0 +1,57 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "ToHost", + "Name": "Manager Ethernet Interface", + "Description": "Management Network Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "AA:BB:CC:DD:EE:FF", + "MACAddress": "AA:BB:CC:DD:EE:FF", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "bmc-host-interface", + "FQDN": "bmc-host-interface.dmtf.org", + "MaxIPv6StaticAddresses": 1, + "IPv4Addresses": [ + { + "Address": "192.168.20.55", + "SubnetMask": "255.255.255.0", + "AddressOrigin": "Static", + "Gateway": "192.168.20.1" + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "Static", + "AddressState": "Preferred" + } + ], + "Links": { + "HostInterface": { + "@odata.id": "/redfish/v1/Managers/BMC/HostInterfaces/1" + } + }, + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/ToHost", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/EthernetInterfaces/eth0/SD/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/EthernetInterfaces/eth0/SD/index.json new file mode 100644 index 00000000..bd5602c8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/EthernetInterfaces/eth0/SD/index.json @@ -0,0 +1,60 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "SD", + "Name": "Manager Ethernet Interface", + "Description": "Management network interface on a dedicated port", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:33:CF:EA", + "MACAddress": "23:11:8A:33:CF:EA", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.0.1" + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred" + } + ], + "NameServers": [ + "names.dmtf.org" + ], + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/eth0/SD", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/EthernetInterfaces/eth0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/EthernetInterfaces/eth0/index.json new file mode 100644 index 00000000..e74eba62 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/EthernetInterfaces/eth0/index.json @@ -0,0 +1,83 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "eth0", + "Name": "Manager Ethernet Interface", + "Description": "Management network interface on a dedicated port", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:33:CF:EA", + "MACAddress": "23:11:8A:33:CF:EA", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.0.1" + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred" + } + ], + "NameServers": [ + "names.dmtf.org" + ], + "Links": { + "Ports": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/DedicatedNetworkPorts/1" + } + ] + }, + "@Redfish.Settings": { + "@odata.type": "#Settings.v1_5_0.Settings", + "SettingsObject": { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/eth0/SD" + }, + "Time": "2012-03-07T14:44.30-05:00", + "ETag": "84ffcbb050ddc7fa9cddb59014546e59", + "Messages": [ + { + "MessageId": "Base.1.0.SettingsFailed", + "RelatedProperties": [ + "/IPv6Addresses/PrefixLength" + ] + } + ] + }, + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/eth0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/EthernetInterfaces/index.json new file mode 100644 index 00000000..bfd84db3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/EthernetInterfaces/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Network Interface Collection", + "Description": "Collection of EthernetInterfaces for this Manager", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/eth0" + }, + { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/ToHost" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/HostInterfaces/1/HostEthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/HostInterfaces/1/HostEthernetInterfaces/index.json new file mode 100644 index 00000000..dcbe4e0d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/HostInterfaces/1/HostEthernetInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Network Interface Collection", + "Description": "Collection of EthernetInterfaces hosts connected to this HostInterface on the Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/ToManager" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/HostInterfaces/1/HostEthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/HostInterfaces/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/HostInterfaces/1/index.json new file mode 100644 index 00000000..961c7788 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/HostInterfaces/1/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#HostInterface.v1_4_0.HostInterface", + "Id": "1", + "Name": "Host Interface", + "Description": "Management Host Interface", + "HostInterfaceType": "NetworkHostInterface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "ExternallyAccessible": false, + "AuthenticationModes": [ + "AuthNone", + "BasicAuth", + "RedfishSessionAuth", + "OemAuth" + ], + "CredentialBootstrapping": { + "RoleId": "Administrator", + "Enabled": true, + "EnableAfterReset": true + }, + "HostEthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/BMC/HostInterfaces/1/HostEthernetInterfaces" + }, + "ManagerEthernetInterface": { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/ToHost" + }, + "NetworkProtocol": { + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol" + }, + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + } + ], + "CredentialBootstrappingRole": { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + } + }, + "@odata.id": "/redfish/v1/Managers/BMC/HostInterfaces/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/HostInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/HostInterfaces/index.json new file mode 100644 index 00000000..4e95dcd1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/HostInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#HostInterfaceCollection.HostInterfaceCollection", + "Name": "Host Interface Collection", + "Description": "Collection of HostInterfaces for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/HostInterfaces/1" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/HostInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/LogServices/Log/Entries/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/LogServices/Log/Entries/1/index.json new file mode 100644 index 00000000..c2e2d0ca --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/LogServices/Log/Entries/1/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "Event", + "Severity": "Critical", + "Created": "2012-03-07T14:44:00Z", + "SensorNumber": 1, + "Message": "System May be Melting", + "MessageId": "Event.1.0.TempWayTooHot", + "MessageArgs": [ + "88" + ], + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem" + } + }, + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/LogServices/Log/Entries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/LogServices/Log/Entries/index.json new file mode 100644 index 00000000..25899540 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/LogServices/Log/Entries/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries/1", + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "Event", + "Severity": "Critical", + "Created": "2012-03-07T14:44:00Z", + "SensorNumber": 1, + "Message": "System May be Melting", + "MessageId": "Event.1.0.TempWayTooHot", + "MessageArgs": [ + "88" + ], + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem" + } + } + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/LogServices/Log/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/LogServices/Log/index.json new file mode 100644 index 00000000..6d2dbdfe --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/LogServices/Log/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#LogService.v1_9_0.LogService", + "Id": "Log", + "Name": "System Log Service", + "MaxNumberOfRecords": 1000, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Managers/BMC/LogServices/Log/Actions/LogService.ClearLog" + } + }, + "Entries": { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries" + }, + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/LogServices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/LogServices/index.json new file mode 100644 index 00000000..0de6f42a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/LogServices/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Description": "Collection of Log Services for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/LogServices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1/RekeyActionInfo/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1/RekeyActionInfo/index.json new file mode 100644 index 00000000..5b47f8da --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1/RekeyActionInfo/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#ActionInfo.v1_6_0.ActionInfo", + "Id": "RekeyActionInfo", + "Name": "Rekey Action Info", + "Parameters": [ + { + "Name": "KeyPairAlgorithm", + "Required": true, + "DataType": "String", + "AllowableValues": [ + "TPM_ALG_RSA", + "TPM_ALG_ECDSA" + ] + }, + { + "Name": "KeyBitLength", + "Required": false, + "DataType": "Number" + }, + { + "Name": "KeyCurveId", + "Required": false, + "DataType": "String", + "AllowableValues": [ + "TPM_ECC_NIST_P256", + "TPM_ECC_NIST_P384", + "TPM_ECC_NIST_P521" + ] + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1/RekeyActionInfo", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1/index.json new file mode 100644 index 00000000..fc4af6a8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1/index.json @@ -0,0 +1,44 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "1", + "Name": "HTTPS Certificate", + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIFsTCCA5mgAwIBAgIJAMusGfV8beSJMA0GCSqGSIb3DQEBCwUAMG8xCzAJBgNV\nBAYTAlVTMQ8wDQYDVQQIDAZPcmVnb24xETAPBgNVBAcMCFBvcnRsYW5kMRAwDgYD\nVQQKDAdDb250b3NvMQwwCgYDVQQLDANBQkMxHDAaBgNVBAMME21hbmFnZXIuY29u\ndG9zby5vcmcwHhcNMTgwOTA3MTMyMjA1WhcNMTkwOTA3MTMyMjA1WjBvMQswCQYD\nVQQGEwJVUzEPMA0GA1UECAwGT3JlZ29uMREwDwYDVQQHDAhQb3J0bGFuZDEQMA4G\nA1UECgwHQ29udG9zbzEMMAoGA1UECwwDQUJDMRwwGgYDVQQDDBNtYW5hZ2VyLmNv\nbnRvc28ub3JnMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAw39VGz5K\n9bD8UUmyUxH+s+IaYsd3rd8V3R6g3bzttGOW52nopt3ZQD4COHPePBcCBh2+xRFk\n0Wd6oJUECXKNYhoFRJAhyz2fmkO5I37D40iY8/Ihqnt0Kmt/8hETL2VMKbALnR+4\nAUNNGSomRD24FQDlK1Vs6urZHvTsEL5Z+CNdbKY6Yn1ksxR8vmze4hdxnzrQCua1\no7zNVzudLdhVpfeC3BvmflMjszPOjlo5dSkXeRWqQ1LikgcHyEf3hYWq3WXMUpkV\nm2nlM3Tzeaz2nO1quQ/HJ/DUuvHHvWIIZdExL1RABzSN8Sr3ZkMShmTNN4QWmrEX\nEADN8g8OXrRKrup+R6nbUT55Getn5jPesI5fNDHk0KRBUG0ALY73l9+ZlAdRTesq\naV6AL2hUYrb1SNjh50i15s4yPOytspF4B9LaqsG1w3PGjgLaUtWHTXwGAMdHVhWs\nym//6zFv3Ri5tbjThpeYv+UIkreyb0yAFlx/Kz62EFbkFcnaGPATqVd4yLtVdYu0\nz5O8JWhOuybmWMe6ifO97X8w7/Nr9QyzkB64wXSqsNpRiuZraErqa+hBqvPkz8KE\nFEwiclRvZ9OrNk/iKr1FO1HNs1byvNyJ3S9Bu4bMwMnxzrdNzaB5Ti0IywIvQ/qw\nJ8icHIn+3EM5g+DmvQTZIXNKOryrndjIUA0CAwEAAaNQME4wHQYDVR0OBBYEFLLG\niNCud7LYUKojqRVNhKBWoApFMB8GA1UdIwQYMBaAFLLGiNCud7LYUKojqRVNhKBW\noApFMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggIBAG+NJSRv1S0K4KjE\nwzAIlEsmYs65vPxKLg0a07EW8xO4m7AKtty9dyc3+xh0ftwosTmXp2GL3RbNFqpc\nqDjS/XLDGS7DCb5T/g2vZusfUCz6WXpJCZMBLNyNaVyhTHeV9f8sCWXAODwx8ED2\nIHADWI9EqYg3HovYJNP4iUXfivBkFdq6ptOwgMVLGpeMvt/VwBilOklL/+xrhiMD\n1SwZ+sPdWfgcIaeQ+Y3h0cbHzCeYlZDXjDR41zGrEb1lhSAj5n/BEQDjXsiIY386\n/czYW7Zz2ZxOK67ENaABUxg5w8iqu8wkF0pVHbjBThkEPvvdwWKAFLDC55q1KO4H\nsZLx8U/usUdHW9pz+/C7QW7UEJjKP7LfUWnosz7NJYtb7lXJ6pyLkstlA35/aXv3\nxS4eHxHFExl7hiTPgWuFYZUfhdTYSoUTO7WHI7IIZvAh05I/akrE7RpPXviMdIrI\nluKOGwMDHuKSUX93BfFcm9WyMx2cGvbORAXPonGadkPbNsuSK1YkalZ27x5Aq10T\nwJ6/u29+BMDIRB1qJPf5gm4itQpX0hLKXRAdSPKQgvA2gDN5fIlPDEAlWt3oo5JI\n6aWKaL1zAwSFcV2XE6c0r9ZrQPQw1cTzeAMDzMQ7MnEb6kt/YNdGfzTL/5b+vF+e\nHApck5WMN3G/8qlI5rFGXG5zljlu\n-----END CERTIFICATE-----", + "CertificateType": "PEM", + "Issuer": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "manager.contoso.org" + }, + "Subject": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "manager.contoso.org" + }, + "ValidNotBefore": "2018-09-07T13:22:05Z", + "ValidNotAfter": "2019-09-07T13:22:05Z", + "KeyUsage": [ + "KeyEncipherment", + "ServerAuthentication" + ], + "SerialNumber": "5d:7a:d8:df:f6:fc:c1:b3:ca:fe:fb:cc:38:f3:01:64:51:ea:05:cb", + "Fingerprint": "A6:E9:D2:5C:DC:52:DA:4B:3B:14:97:F3:A4:53:D9:99:A1:0B:56:41", + "FingerprintHashAlgorithm": "TPM_ALG_SHA1", + "SignatureAlgorithm": "sha256WithRSAEncryption", + "Actions": { + "#Certificate.Rekey": { + "target": "/redfish/v1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1/Actions/Certificate.Rekey", + "@Redfish.ActionInfo": "/redfish/v1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1/RekeyActionInfo" + }, + "#Certificate.Renew": { + "target": "/redfish/v1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1/Actions/Certificate.Renew" + } + }, + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/NetworkProtocol/HTTPS/Certificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/NetworkProtocol/HTTPS/Certificates/index.json new file mode 100644 index 00000000..1ee534fa --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/NetworkProtocol/HTTPS/Certificates/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificate Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1" + } + ], + "@Redfish.SupportedCertificates": [ + "PEM" + ], + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol/HTTPS/Certificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/NetworkProtocol/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/NetworkProtocol/index.json new file mode 100644 index 00000000..0444ca24 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/NetworkProtocol/index.json @@ -0,0 +1,87 @@ +{ + "@odata.type": "#ManagerNetworkProtocol.v1_14_0.ManagerNetworkProtocol", + "Id": "NetworkProtocol", + "Name": "Manager Network Protocol", + "Description": "Manager Network Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "HTTP": { + "ProtocolEnabled": true, + "Port": 80 + }, + "HTTPS": { + "ProtocolEnabled": true, + "Port": 443, + "Certificates": { + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol/HTTPS/Certificates" + } + }, + "Proxy": { + "Enabled": true, + "ProxyServerURI": "https://proxy.intranet.contoso.com:9900", + "Username": "proxy", + "Password": null, + "PasswordSet": true, + "ExcludeAddresses": [], + "ProxyAutoConfigURI": "proxy.intranet.contoso.com/proxy.pac" + }, + "IPMI": { + "ProtocolEnabled": true, + "Port": 623 + }, + "SSH": { + "ProtocolEnabled": true, + "Port": 22 + }, + "SNMP": { + "ProtocolEnabled": true, + "EnableSNMPv1": true, + "EnableSNMPv2c": false, + "EnableSNMPv3": true, + "Port": 161, + "CommunityStrings": [ + { + "Name": "Read-only community", + "CommunityString": null, + "AccessMode": "Limited" + }, + { + "Name": "Full access community", + "CommunityString": null, + "AccessMode": "Full" + } + ], + "EngineId": { + "PrivateEnterpriseId": "00 00 01 9C", + "EnterpriseSpecificMethod": "00 11 22 33 44 55 66 77" + }, + "HideCommunityStrings": true, + "AuthenticationProtocol": "HMAC_SHA96", + "EncryptionProtocol": "CFB128_AES128" + }, + "VirtualMedia": { + "ProtocolEnabled": true, + "Port": 17988 + }, + "SSDP": { + "ProtocolEnabled": true, + "Port": 1900, + "NotifyMulticastIntervalSeconds": 600, + "NotifyTTL": 5, + "NotifyIPv6Scope": "Site" + }, + "Telnet": { + "ProtocolEnabled": true, + "Port": 23 + }, + "KVMIP": { + "ProtocolEnabled": true, + "Port": 5288 + }, + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SecurityPolicy/SPDM/RevokedCertificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SecurityPolicy/SPDM/RevokedCertificates/index.json new file mode 100644 index 00000000..0d9f9d88 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SecurityPolicy/SPDM/RevokedCertificates/index.json @@ -0,0 +1,8 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificates Collection", + "Members@odata.count": 0, + "Members": [], + "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy/SPDM/RevokedCertificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SecurityPolicy/SPDM/TrustedCertificates/contoso-root/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SecurityPolicy/SPDM/TrustedCertificates/contoso-root/index.json new file mode 100644 index 00000000..cd0a95c5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SecurityPolicy/SPDM/TrustedCertificates/contoso-root/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "contoso-root", + "Name": "Contoso Root CA", + "CertificateType": "PEM", + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIFPjCCAyYCCQCSFsIudUer0DANBgkqhkiG9w0BAQsFADBgMQswCQYDVQQGEwJV\nUzEQMA4GA1UECAwHUmVkZmlzaDEbMBkGA1UEBwwSTm90LUhlcmUtTm90LVRoZXJl\nMRAwDgYDVQQKDAdDb250b3NvMRAwDgYDVQQLDAdSZWRmaXNoMCAXDTIxMTAwNzE4\nNTkwN1oYDzIwOTkxMDA4MTg1OTA3WjBgMQswCQYDVQQGEwJVUzEQMA4GA1UECAwH\nUmVkZmlzaDEbMBkGA1UEBwwSTm90LUhlcmUtTm90LVRoZXJlMRAwDgYDVQQKDAdD\nb250b3NvMRAwDgYDVQQLDAdSZWRmaXNoMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A\nMIICCgKCAgEAwK877tRnOqMACIu/fpN1BD0nZWhy0l5s/gtcuGTM3WhlvQr1/j1D\nj5J8/gCFWNWtGNlLUNdqCUgE/Mki4zdkc4RGqlW9SpdIq+3Wn/lnNmTzjWPfsNaM\n7GMW+gYxDuQf/Pw/h6qXMBZ6JIy/ilAwzV6qJCuJhmSm6O9V+KENoKPWNUYyWnsb\nEJdTYmf58opMgSxdi032hML5gAdMWlIXQcQjX0crr0Ey9VC5WyDSm9/SKY9x6uMM\nTEGBl5NAFa3J05AGrmsgpA8QU4WzKe77DqWeTx9ZKHkqqRUK0onbXGDL8KDOXJr8\nvQSFgiAa3bnVNhUjsDik0xq2QrmHcy72i9xd9AlH3yC/2EMNHnVeJ8Sbhz9rHaSj\nPVxXvorMM650ZDCocVgIBqf3TwxDzC+aBRkXQVLadvnwpg54AHKoIGA0djvROgrZ\nZp7Au+wxy6OzYT6+hGe3I7mPPmRgz9D1BV9M4QdvbKVJPSMcWIEEd6ENrXP97H4j\ngpvql+zTJcZ5kF/RwVLRwxIPyN49gwJP8MMdWp+jvItO8obmdDLZFhGXyF5f19jt\nMWCHybucvLJml7jFJYqNqi5rr1ShAYdV9WbS3hYfBz1xytYP0Rb/5xaBFMvRUBzt\nvU8V1AOLNb8TfbNaqZx1XJTL1NhrKebtBSAtRRcTiD8p8wmDjSZcV0cCAwEAATAN\nBgkqhkiG9w0BAQsFAAOCAgEAOABtLDFso1UBwas4l+LZt0f2OxJWMRNLtNDwOy22\na3diIO3WaX6qD5oy9aj+cANZ15k1UZ3idW0hIVYvz5YESKqP8VW0QW2G/2fWGFlB\nRp+mfd0rW++2uFzKlQjfqRUllG17tfy+zUixWubgkqL39/FFRP0HRUt9cm9qfXys\nvM0VzlXxrlP0Y00onXoqlvGRcmSUOU+Kt5KJkXSSaGAfouPpWEU6qwl+qTAqHMf7\nAXhcsHEFJZe+iVr2cR5GTjGiNbQG0bjgnuSRHCFR9+E8mOoiVfZ5cRy4njGkSUi0\nD/KCpoIiSrxqyaHeSyFA81q8Co2aELirS8bpg38b3IZW6U7ITZH/IcvqBCvpOdXi\n43vVgruJlclqtjoPMYQLTbP2bsiNRdqG+xQF2jOVqrN3Kpmvm+4HDaKUN4TlPVOs\n25z7JTGn0i6fSlv7Gg+4Cox0FPrbSmX1OON61pDGfUJs343EBQ0AQwU4qVYkWFqb\nMd1/YMhYIJVRsIX8XXF7hSmA614um+vvc8TlfJwfUIl54I9m8Uu11GeUceL1Ts75\n97yFurEMLmR9sJSzuM3Sez96LNb0LeYwJRdpI6ttc2/v8hfRXOlRPRJAoJkdRQDh\nH++X8r/eTIWoZT/vOAY+CdFsJ10MCcjndA4AwDmQ1AWXvbuFV5ByO53mjNn4xRpu\nwUo=\n-----END CERTIFICATE-----", + "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy/SPDM/TrustedCertificates/contoso-root", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SecurityPolicy/SPDM/TrustedCertificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SecurityPolicy/SPDM/TrustedCertificates/index.json new file mode 100644 index 00000000..8f11d168 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SecurityPolicy/SPDM/TrustedCertificates/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificates Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy/SPDM/TrustedCertificates/contoso-root" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy/SPDM/TrustedCertificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SecurityPolicy/TLS/Client/RevokedCertificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SecurityPolicy/TLS/Client/RevokedCertificates/index.json new file mode 100644 index 00000000..8e5fc3d6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SecurityPolicy/TLS/Client/RevokedCertificates/index.json @@ -0,0 +1,8 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificates Collection", + "Members@odata.count": 0, + "Members": [], + "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy/TLS/Client/RevokedCertificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SecurityPolicy/TLS/Client/TrustedCertificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SecurityPolicy/TLS/Client/TrustedCertificates/index.json new file mode 100644 index 00000000..693cd742 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SecurityPolicy/TLS/Client/TrustedCertificates/index.json @@ -0,0 +1,8 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificates Collection", + "Members@odata.count": 0, + "Members": [], + "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy/TLS/Client/TrustedCertificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SecurityPolicy/TLS/Server/RevokedCertificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SecurityPolicy/TLS/Server/RevokedCertificates/index.json new file mode 100644 index 00000000..375b5ecf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SecurityPolicy/TLS/Server/RevokedCertificates/index.json @@ -0,0 +1,8 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificates Collection", + "Members@odata.count": 0, + "Members": [], + "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy/TLS/Server/RevokedCertificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SecurityPolicy/TLS/Server/TrustedCertificates/contoso-root/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SecurityPolicy/TLS/Server/TrustedCertificates/contoso-root/index.json new file mode 100644 index 00000000..812ea408 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SecurityPolicy/TLS/Server/TrustedCertificates/contoso-root/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "contoso-root", + "Name": "Contoso Root CA", + "CertificateType": "PEM", + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIFPjCCAyYCCQCSFsIudUer0DANBgkqhkiG9w0BAQsFADBgMQswCQYDVQQGEwJV\nUzEQMA4GA1UECAwHUmVkZmlzaDEbMBkGA1UEBwwSTm90LUhlcmUtTm90LVRoZXJl\nMRAwDgYDVQQKDAdDb250b3NvMRAwDgYDVQQLDAdSZWRmaXNoMCAXDTIxMTAwNzE4\nNTkwN1oYDzIwOTkxMDA4MTg1OTA3WjBgMQswCQYDVQQGEwJVUzEQMA4GA1UECAwH\nUmVkZmlzaDEbMBkGA1UEBwwSTm90LUhlcmUtTm90LVRoZXJlMRAwDgYDVQQKDAdD\nb250b3NvMRAwDgYDVQQLDAdSZWRmaXNoMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A\nMIICCgKCAgEAwK877tRnOqMACIu/fpN1BD0nZWhy0l5s/gtcuGTM3WhlvQr1/j1D\nj5J8/gCFWNWtGNlLUNdqCUgE/Mki4zdkc4RGqlW9SpdIq+3Wn/lnNmTzjWPfsNaM\n7GMW+gYxDuQf/Pw/h6qXMBZ6JIy/ilAwzV6qJCuJhmSm6O9V+KENoKPWNUYyWnsb\nEJdTYmf58opMgSxdi032hML5gAdMWlIXQcQjX0crr0Ey9VC5WyDSm9/SKY9x6uMM\nTEGBl5NAFa3J05AGrmsgpA8QU4WzKe77DqWeTx9ZKHkqqRUK0onbXGDL8KDOXJr8\nvQSFgiAa3bnVNhUjsDik0xq2QrmHcy72i9xd9AlH3yC/2EMNHnVeJ8Sbhz9rHaSj\nPVxXvorMM650ZDCocVgIBqf3TwxDzC+aBRkXQVLadvnwpg54AHKoIGA0djvROgrZ\nZp7Au+wxy6OzYT6+hGe3I7mPPmRgz9D1BV9M4QdvbKVJPSMcWIEEd6ENrXP97H4j\ngpvql+zTJcZ5kF/RwVLRwxIPyN49gwJP8MMdWp+jvItO8obmdDLZFhGXyF5f19jt\nMWCHybucvLJml7jFJYqNqi5rr1ShAYdV9WbS3hYfBz1xytYP0Rb/5xaBFMvRUBzt\nvU8V1AOLNb8TfbNaqZx1XJTL1NhrKebtBSAtRRcTiD8p8wmDjSZcV0cCAwEAATAN\nBgkqhkiG9w0BAQsFAAOCAgEAOABtLDFso1UBwas4l+LZt0f2OxJWMRNLtNDwOy22\na3diIO3WaX6qD5oy9aj+cANZ15k1UZ3idW0hIVYvz5YESKqP8VW0QW2G/2fWGFlB\nRp+mfd0rW++2uFzKlQjfqRUllG17tfy+zUixWubgkqL39/FFRP0HRUt9cm9qfXys\nvM0VzlXxrlP0Y00onXoqlvGRcmSUOU+Kt5KJkXSSaGAfouPpWEU6qwl+qTAqHMf7\nAXhcsHEFJZe+iVr2cR5GTjGiNbQG0bjgnuSRHCFR9+E8mOoiVfZ5cRy4njGkSUi0\nD/KCpoIiSrxqyaHeSyFA81q8Co2aELirS8bpg38b3IZW6U7ITZH/IcvqBCvpOdXi\n43vVgruJlclqtjoPMYQLTbP2bsiNRdqG+xQF2jOVqrN3Kpmvm+4HDaKUN4TlPVOs\n25z7JTGn0i6fSlv7Gg+4Cox0FPrbSmX1OON61pDGfUJs343EBQ0AQwU4qVYkWFqb\nMd1/YMhYIJVRsIX8XXF7hSmA614um+vvc8TlfJwfUIl54I9m8Uu11GeUceL1Ts75\n97yFurEMLmR9sJSzuM3Sez96LNb0LeYwJRdpI6ttc2/v8hfRXOlRPRJAoJkdRQDh\nH++X8r/eTIWoZT/vOAY+CdFsJ10MCcjndA4AwDmQ1AWXvbuFV5ByO53mjNn4xRpu\nwUo=\n-----END CERTIFICATE-----", + "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy/TLS/Server/TrustedCertificates/contoso-root", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SecurityPolicy/TLS/Server/TrustedCertificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SecurityPolicy/TLS/Server/TrustedCertificates/index.json new file mode 100644 index 00000000..f88e055c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SecurityPolicy/TLS/Server/TrustedCertificates/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificates Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy/TLS/Server/TrustedCertificates/contoso-root" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy/TLS/Server/TrustedCertificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SecurityPolicy/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SecurityPolicy/index.json new file mode 100644 index 00000000..0f1c0ddc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SecurityPolicy/index.json @@ -0,0 +1,129 @@ +{ + "@odata.type": "#SecurityPolicy.v1_1_0.SecurityPolicy", + "Id": "SecurityPolicy", + "Name": "Manager's Global Security Policy", + "Description": "This is the global security policy for all components and communications managed by this Manager.", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "OverrideParentManager": true, + "SPDM": { + "Enabled": true, + "SecureSessionEnabled": true, + "VerifyCertificate": true, + "TrustedCertificates": { + "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy/SPDM/TrustedCertificates" + }, + "RevokedCertificates": { + "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy/SPDM/RevokedCertificates" + }, + "Allowed": { + "Versions": [ + "ALL" + ], + "Algorithms": { + "AEAD": [ + "AES-GCM-256", + "AES-GCM-128" + ], + "BaseAsym": [ + "TPM_ALG_RSASSA_2048", + "TPM_ALG_ECDSA_ECC_NIST_P384", + "TPM_ALG_SM2_ECC_SM2_P256" + ], + "BaseHash": [ + "TPM_ALG_SHA_512", + "TPM_ALG_SHA3_512" + ] + } + }, + "Denied": { + "Versions": [ + "NONE" + ], + "Algorithms": { + "AEAD": [], + "BaseAsym": [ + "EdDSA ed25519" + ], + "BaseHash": [ + "TPM_ALG_SHA_256" + ] + } + }, + "AllowExtendedAlgorithms": false + }, + "TLS": { + "Client": { + "VerifyCertificate": true, + "TrustedCertificates": { + "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy/TLS/Server/TrustedCertificates" + }, + "RevokedCertificates": { + "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy/TLS/Server/RevokedCertificates" + }, + "Allowed": { + "Versions": [ + "1.2", + "1.3" + ], + "Algorithms": { + "CipherSuites": [ + "TLS_AES_128_GCM_SHA256", + "TLS_AES_128_GCM_SHA384" + ], + "SignatureAlgorithms": [] + } + }, + "Denied": { + "Versions": [ + "1.1" + ], + "Algorithms": { + "CipherSuites": [], + "SignatureAlgorithms": [ + "rsa_pkcs1_sha1", + "ecdsa_sha1" + ] + } + } + }, + "Server": { + "VerifyCertificate": false, + "TrustedCertificates": { + "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy/TLS/Client/TrustedCertificates" + }, + "RevokedCertificates": { + "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy/TLS/Client/RevokedCertificates" + }, + "Allowed": { + "Versions": [ + "1.3" + ], + "Algorithms": { + "CipherSuites": [ + "TLS_AES_128_GCM_SHA256", + "TLS_AES_128_GCM_SHA384" + ], + "SignatureAlgorithms": [] + } + }, + "Denied": { + "Versions": [ + "1.1", + "1.2" + ], + "Algorithms": { + "CipherSuites": [], + "SignatureAlgorithms": [ + "rsa_pkcs1_sha1", + "ecdsa_sha1" + ] + } + } + } + }, + "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SerialInterfaces/TTY0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SerialInterfaces/TTY0/index.json new file mode 100644 index 00000000..2cae0a79 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SerialInterfaces/TTY0/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#SerialInterface.v1_3_0.SerialInterface", + "Id": "TTY0", + "Name": "Manager Serial Interface 1", + "Description": "Management for Serial Interface", + "InterfaceEnabled": true, + "SignalType": "Rs232", + "BitRate": "115200", + "Parity": "None", + "DataBits": "8", + "StopBits": "1", + "FlowControl": "None", + "ConnectorType": "RJ45", + "PinOut": "Cyclades", + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces/TTY0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SerialInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SerialInterfaces/index.json new file mode 100644 index 00000000..249de7d4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/SerialInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#SerialInterfaceCollection.SerialInterfaceCollection", + "Name": "Serial Interface Collection", + "Description": "Collection of Serial Interfaces for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces/TTY0" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/index.json new file mode 100644 index 00000000..4f2f967c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/BMC/index.json @@ -0,0 +1,99 @@ +{ + "@odata.type": "#Manager.v1_25_0.Manager", + "Id": "BMC", + "Name": "Manager", + "ManagerType": "BMC", + "Description": "Contoso BMC", + "ServiceEntryPointUUID": "92384634-2938-2342-8820-489239905423", + "UUID": "58893887-8974-2487-2389-841168418919", + "Model": "Joo Janta 200", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PowerState": "On", + "GraphicalConsole": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 2, + "ConnectTypesSupported": [ + "KVMIP" + ] + }, + "SerialConsole": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 1, + "ConnectTypesSupported": [ + "Telnet", + "SSH", + "IPMI" + ] + }, + "CommandShell": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 4, + "ConnectTypesSupported": [ + "Telnet", + "SSH" + ] + }, + "FirmwareVersion": "1.45.455b66-rev4", + "AdditionalFirmwareVersions": { + "Bootloader": "v2022.01", + "Kernel": "Linux 5.13.0-30-generic arm71", + "Oem": { + "Contoso": { + "@odata.type": "#ContosoSoftwareInventory.v1_0_0.AdditionalVersions", + "ManagementApp": "1.30" + } + } + }, + "NetworkProtocol": { + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces" + }, + "HostInterfaces": { + "@odata.id": "/redfish/v1/Managers/BMC/HostInterfaces" + }, + "SerialInterfaces": { + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices" + }, + "DedicatedNetworkPorts": { + "@odata.id": "/redfish/v1/Managers/BMC/DedicatedNetworkPorts" + }, + "SecurityPolicy": { + "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy" + }, + "Links": { + "ManagerForServers": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + } + ], + "ManagerForChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ], + "ManagerInChassis": { + "@odata.id": "/redfish/v1/Chassis/1U" + } + }, + "Actions": { + "#Manager.Reset": { + "target": "/redfish/v1/Managers/BMC/Actions/Manager.Reset", + "ResetType@Redfish.AllowableValues": [ + "ForceRestart", + "GracefulRestart" + ] + } + }, + "@odata.id": "/redfish/v1/Managers/BMC", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/index.json new file mode 100644 index 00000000..2de83743 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Managers/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerCollection.ManagerCollection", + "Name": "Manager Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ], + "@odata.id": "/redfish/v1/Managers", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Registries/Base.1.5.0.json/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Registries/Base.1.5.0.json/index.json new file mode 100644 index 00000000..88e4ced8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Registries/Base.1.5.0.json/index.json @@ -0,0 +1,558 @@ +{ + "@odata.type": "#MessageRegistry.v1_0_0.MessageRegistry", + "Id": "Base.1.5.0", + "Name": "Base Message Registry", + "Language": "en", + "Description": "This registry defines the base messages for Redfish", + "RegistryPrefix": "Base", + "RegistryVersion": "1.5.0", + "OwningEntity": "DMTF", + "Messages": { + "Success": { + "Description": "Indicates that all conditions of a successful operation have been met.", + "Message": "Successfully Completed Request", + "Severity": "OK", + "NumberOfArgs": 0, + "Resolution": "None" + }, + "GeneralError": { + "Description": "Indicates that a general error has occurred. Use in ExtendedInfo is discouraged. When used in ExtendedInfo, implementations are expected to include a Resolution property with this error to indicate how to resolve the problem.", + "Message": "A general error has occurred. See Resolution for information on how to resolve the error.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "None." + }, + "Created": { + "Description": "Indicates that all conditions of a successful creation operation have been met.", + "Message": "The resource has been created successfully", + "Severity": "OK", + "NumberOfArgs": 0, + "Resolution": "None" + }, + "NoOperation": { + "Description": "Indicates that the requested operation will not perform any changes on the service.", + "Message": "The request body submitted contain no data to act upon and no changes to the resource took place.", + "Severity": "Warning", + "NumberOfArgs": 0, + "Resolution": "Add properties in the JSON object and resubmit the request." + }, + "PropertyDuplicate": { + "Description": "Indicates that a duplicate property was included in the request body.", + "Message": "The property %1 was duplicated in the request.", + "Severity": "Warning", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Remove the duplicate property from the request body and resubmit the request if the operation failed." + }, + "PropertyUnknown": { + "Description": "Indicates that an unknown property was included in the request body.", + "Message": "The property %1 is not in the list of valid properties for the resource.", + "Severity": "Warning", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Remove the unknown property from the request body and resubmit the request if the operation failed." + }, + "PropertyValueTypeError": { + "Description": "Indicates that a property was given the wrong value type, such as when a number is supplied for a property that requires a string.", + "Message": "The value %1 for the property %2 is of a different type than the property can accept.", + "Severity": "Warning", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Correct the value for the property in the request body and resubmit the request if the operation failed." + }, + "PropertyValueFormatError": { + "Description": "Indicates that a property was given the correct value type but the value of that property was not supported.", + "Message": "The value %1 for the property %2 is of a different format than the property can accept.", + "Severity": "Warning", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Correct the value for the property in the request body and resubmit the request if the operation failed." + }, + "PropertyValueNotInList": { + "Description": "Indicates that a property was given the correct value type but the value of that property was not supported. This values not in an enumeration", + "Message": "The value %1 for the property %2 is not in the list of acceptable values.", + "Severity": "Warning", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Choose a value from the enumeration list that the implementation can support and resubmit the request if the operation failed." + }, + "PropertyNotWritable": { + "Description": "Indicates that a property was given a value in the request body, but the property is a readonly property.", + "Message": "The property %1 is a read only property and cannot be assigned a value.", + "Severity": "Warning", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Remove the property from the request body and resubmit the request if the operation failed." + }, + "PropertyMissing": { + "Description": "Indicates that a required property was not supplied as part of the request.", + "Message": "The property %1 is a required property and must be included in the request.", + "Severity": "Warning", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Ensure that the property is in the request body and has a valid value and resubmit the request if the operation failed." + }, + "MalformedJSON": { + "Description": "Indicates that the request body was malformed JSON. Could be duplicate, syntax error,etc.", + "Message": "The request body submitted was malformed JSON and could not be parsed by the receiving service.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Ensure that the request body is valid JSON and resubmit the request." + }, + "EmptyJSON": { + "Description": "Indicates that the request body contained an empty JSON object when one or more properties are expected in the body.", + "Message": "The request body submitted contained an empty JSON object and the service is unable to process it.", + "Severity": "Warning", + "NumberOfArgs": 0, + "Resolution": "Add properties in the JSON object and resubmit the request." + }, + "ActionNotSupported": { + "Description": "Indicates that the action supplied with the POST operation is not supported by the resource.", + "Message": "The action %1 is not supported by the resource.", + "Severity": "Critical", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "The action supplied cannot be resubmitted to the implementation. Perhaps the action was invalid, the wrong resource was the target or the implementation documentation may be of assistance." + }, + "ActionParameterMissing": { + "Description": "Indicates that the action requested was missing a parameter that is required to process the action.", + "Message": "The action %1 requires the parameter %2 to be present in the request body.", + "Severity": "Critical", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Supply the action with the required parameter in the request body when the request is resubmitted." + }, + "ActionParameterDuplicate": { + "Description": "Indicates that the action was supplied with a duplicated parameter in the request body.", + "Message": "The action %1 was submitted with more than one value for the parameter %2.", + "Severity": "Warning", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Resubmit the action with only one instance of the parameter in the request body if the operation failed." + }, + "ActionParameterUnknown": { + "Description": "Indicates that an action was submitted but a parameter supplied did not match any of the known parameters.", + "Message": "The action %1 was submitted with the invalid parameter %2.", + "Severity": "Warning", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Correct the invalid parameter and resubmit the request if the operation failed." + }, + "ActionParameterValueTypeError": { + "Description": "Indicates that a parameter was given the wrong value type, such as when a number is supplied for a parameter that requires a string.", + "Message": "The value %1 for the parameter %2 in the action %3 is of a different type than the parameter can accept.", + "Severity": "Warning", + "NumberOfArgs": 3, + "ParamTypes": [ + "string", + "string", + "string" + ], + "Resolution": "Correct the value for the parameter in the request body and resubmit the request if the operation failed." + }, + "ActionParameterValueFormatError": { + "Description": "Indicates that a parameter was given the correct value type but the value of that parameter was not supported. This includes value size/length exceeded.", + "Message": "The value %1 for the parameter %2 in the action %3 is of a different format than the parameter can accept.", + "Severity": "Warning", + "NumberOfArgs": 3, + "ParamTypes": [ + "string", + "string", + "string" + ], + "Resolution": "Correct the value for the parameter in the request body and resubmit the request if the operation failed." + }, + "ActionParameterNotSupported": { + "Description": "Indicates that the parameter supplied for the action is not supported on the resource.", + "Message": "The parameter %1 for the action %2 is not supported on the target resource.", + "Severity": "Warning", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Remove the parameter supplied and resubmit the request if the operation failed." + }, + "QueryParameterValueTypeError": { + "Description": "Indicates that a query parameter was given the wrong value type, such as when a number is supplied for a query parameter that requires a string.", + "Message": "The value %1 for the query parameter %2 is of a different type than the parameter can accept.", + "Severity": "Warning", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Correct the value for the query parameter in the request and resubmit the request if the operation failed." + }, + "QueryParameterValueFormatError": { + "Description": "Indicates that a query parameter was given the correct value type but the value of that parameter was not supported. This includes value size/length exceeded.", + "Message": "The value %1 for the parameter %2 is of a different format than the parameter can accept.", + "Severity": "Warning", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Correct the value for the query parameter in the request and resubmit the request if the operation failed." + }, + "QueryParameterOutOfRange": { + "Description": "Indicates that a query parameter was supplied that is out of range for the given resource. This can happen with values that are too low or beyond that possible for the supplied resource, such as when a page is requested that is beyond the last page.", + "Message": "The value %1 for the query parameter %2 is out of range %3.", + "Severity": "Warning", + "NumberOfArgs": 3, + "ParamTypes": [ + "string", + "string", + "string" + ], + "Resolution": "Reduce the value for the query parameter to a value that is within range, such as a start or count value that is within bounds of the number of resources in a collection or a page that is within the range of valid pages." + }, + "QueryNotSupportedOnResource": { + "Description": "Indicates that query is not supported on the given resource, such as when a start/count query is attempted on a resource that is not a collection.", + "Message": "Querying is not supported on the requested resource.", + "Severity": "Warning", + "NumberOfArgs": 0, + "Resolution": "Remove the query parameters and resubmit the request if the operation failed." + }, + "QueryNotSupported": { + "Description": "Indicates that query is not supported on the implementation.", + "Message": "Querying is not supported by the implementation.", + "Severity": "Warning", + "NumberOfArgs": 0, + "Resolution": "Remove the query parameters and resubmit the request if the operation failed." + }, + "SessionLimitExceeded": { + "Description": "Indicates that a session establishment has been requested but the operation failed due to the number of simultaneous sessions exceeding the limit of the implementation.", + "Message": "The session establishment failed due to the number of simultaneous sessions exceeding the limit of the implementation.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Reduce the number of other sessions before trying to establish the session or increase the limit of simultaneous sessions (if supported)." + }, + "EventSubscriptionLimitExceeded": { + "Description": "Indicates that a event subscription establishment has been requested but the operation failed due to the number of simultaneous connection exceeding the limit of the implementation.", + "Message": "The event subscription failed due to the number of simultaneous subscriptions exceeding the limit of the implementation.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Reduce the number of other subscriptions before trying to establish the event subscription or increase the limit of simultaneous subscriptions (if supported)." + }, + "ResourceCannotBeDeleted": { + "Description": "Indicates that a delete operation was attempted on a resource that cannot be deleted.", + "Message": "The delete request failed because the resource requested cannot be deleted.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Do not attempt to delete a non-deletable resource." + }, + "ResourceInUse": { + "Description": "Indicates that a change was requested to a resource but the change was rejected due to the resource being in use or transition.", + "Message": "The change to the requested resource failed because the resource is in use or in transition.", + "Severity": "Warning", + "NumberOfArgs": 0, + "Resolution": "Remove the condition and resubmit the request if the operation failed." + }, + "ResourceAlreadyExists": { + "Description": "Indicates that a resource change or creation was attempted but that the operation cannot proceed because the resource already exists.", + "Message": "The requested resource of type %1 with the property %2 with the value %3 already exists.", + "Severity": "Critical", + "NumberOfArgs": 3, + "ParamTypes": [ + "string", + "string", + "string" + ], + "Resolution": "Do not repeat the create operation as the resource has already been created." + }, + "ResourceNotFound": { + "Description": "Indicates that the operation expected a resource identifier that corresponds to an existing resource but one was not found.", + "Message": "The requested resource of type %1 named %2 was not found.", + "Severity": "Critical", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Provide a valid resource identifier and resubmit the request." + }, + "CreateFailedMissingReqProperties": { + "Description": "Indicates that a create was attempted on a resource but that properties that are required for the create operation were missing from the request.", + "Message": "The create operation failed because the required property %1 was missing from the request.", + "Severity": "Critical", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Correct the body to include the required property with a valid value and resubmit the request if the operation failed." + }, + "CreateLimitReachedForResource": { + "Description": "Indicates that no more resources can be created on the resource as it has reached its create limit.", + "Message": "The create operation failed because the resource has reached the limit of possible resources.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Either delete resources and resubmit the request if the operation failed or do not resubmit the request." + }, + "ServiceShuttingDown": { + "Description": "Indicates that the operation failed as the service is shutting down, such as when the service reboots.", + "Message": "The operation failed because the service is shutting down and can no longer take incoming requests.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "When the service becomes available, resubmit the request if the operation failed." + }, + "ServiceInUnknownState": { + "Description": "Indicates that the operation failed because the service is in an unknown state and cannot accept additional requests.", + "Message": "The operation failed because the service is in an unknown state and can no longer take incoming requests.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Restart the service and resubmit the request if the operation failed." + }, + "NoValidSession": { + "Description": "Indicates that the operation failed because a valid session is required in order to access any resources.", + "Message": "There is no valid session established with the implementation.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Establish as session before attempting any operations." + }, + "InsufficientPrivilege": { + "Description": "Indicates that the credentials associated with the established session do not have sufficient privileges for the requested operation", + "Message": "There are insufficient privileges for the account or credentials associated with the current session to perform the requested operation.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Either abandon the operation or change the associated access rights and resubmit the request if the operation failed." + }, + "AccountModified": { + "Description": "Indicates that the account was successfully modified.", + "Message": "The account was successfully modified.", + "Severity": "OK", + "NumberOfArgs": 0, + "Resolution": "No resolution is required." + }, + "AccountNotModified": { + "Description": "Indicates that the modification requested for the account was not successful.", + "Message": "The account modification request failed.", + "Severity": "Warning", + "NumberOfArgs": 0, + "Resolution": "The modification may have failed due to permission issues or issues with the request body." + }, + "AccountRemoved": { + "Description": "Indicates that the account was successfully removed.", + "Message": "The account was successfully removed.", + "Severity": "OK", + "NumberOfArgs": 0, + "Resolution": "No resolution is required." + }, + "AccountForSessionNoLongerExists": { + "Description": "Indicates that the account for the session has been removed, thus the session has been removed as well.", + "Message": "The account for the current session has been removed, thus the current session has been removed as well.", + "Severity": "OK", + "NumberOfArgs": 0, + "Resolution": "Attempt to connect with a valid account." + }, + "InvalidObject": { + "Description": "Indicates that the object in question is invalid according to the implementation. Examples include a firmware update malformed URI.", + "Message": "The object at %1 is invalid.", + "Severity": "Critical", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Either the object is malformed or the URI is not correct. Correct the condition and resubmit the request if it failed." + }, + "InternalError": { + "Description": "Indicates that the request failed for an unknown internal error but that the service is still operational.", + "Message": "The request failed due to an internal service error. The service is still operational.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Resubmit the request. If the problem persists, consider resetting the service." + }, + "UnrecognizedRequestBody": { + "Description": "Indicates that the service encountered an unrecognizable request body that could not even be interpreted as malformed JSON.", + "Message": "The service detected a malformed request body that it was unable to interpret.", + "Severity": "Warning", + "NumberOfArgs": 0, + "Resolution": "Correct the request body and resubmit the request if it failed." + }, + "ResourceMissingAtURI": { + "Description": "Indicates that the operation expected an image or other resource at the provided URI but none was found. Examples of this are in requests that require URIs like Firmware Update.", + "Message": "The resource at the URI %1 was not found.", + "Severity": "Critical", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Place a valid resource at the URI or correct the URI and resubmit the request." + }, + "ResourceAtUriInUnknownFormat": { + "Description": "Indicates that the URI was valid but the resource or image at that URI was in a format not supported by the service.", + "Message": "The resource at %1 is in a format not recognized by the service.", + "Severity": "Critical", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Place an image or resource or file that is recognized by the service at the URI." + }, + "ResourceAtUriUnauthorized": { + "Description": "Indicates that the attempt to access the resource/file/image at the URI was unauthorized.", + "Message": "While accessing the resource at %1, the service received an authorization error %2.", + "Severity": "Critical", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Ensure that the appropriate access is provided for the service in order for it to access the URI." + }, + "CouldNotEstablishConnection": { + "Description": "Indicates that the attempt to access the resource/file/image at the URI was unsuccessful because a session could not be established.", + "Message": "The service failed to establish a connection with the URI %1.", + "Severity": "Critical", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Ensure that the URI contains a valid and reachable node name, protocol information and other URI components." + }, + "SourceDoesNotSupportProtocol": { + "Description": "Indicates that while attempting to access, connect to or transfer a resource/file/image from another location that the other end of the connection did not support the protocol", + "Message": "The other end of the connection at %1 does not support the specified protocol %2.", + "Severity": "Critical", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Change protocols or URIs. " + }, + "AccessDenied": { + "Description": "Indicates that while attempting to access, connect to or transfer to/from another resource, the service denied access.", + "Message": "While attempting to establish a connection to %1, the service denied access.", + "Severity": "Critical", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Attempt to ensure that the URI is correct and that the service has the appropriate credentials." + }, + "ServiceTemporarilyUnavailable": { + "Description": "Indicates the service is temporarily unavailable.", + "Message": "The service is temporarily unavailable. Retry in %1 seconds.", + "Severity": "Critical", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Wait for the indicated retry duration and retry the operation." + }, + "InvalidIndex": { + "Description": "The Index is not valid.", + "Message": "The Index %1 is not a valid offset into the array.", + "Severity": "Warning", + "NumberOfArgs": 1, + "ParamTypes": [ + "number" + ], + "Resolution": "Verify the index value provided is within the bounds of the array." + }, + "PropertyValueModified": { + "Description": "Indicates that a property was given the correct value type but the value of that property was modified. Examples are truncated or rounded values.", + "Message": "The property %1 was assigned the value %2 due to modification by the service.", + "Severity": "Warning", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "No resolution is required." + }, + "ResourceInStandby": { + "Description": "Indicates that the request could not be performed because the resource is in standby.", + "Message": "The request could not be performed because the resource is in standby.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Ensure that the resource is in the correct power state and resubmit the request." + }, + "ResourceExhaustion": { + "Description": "Indicates that a resource could not satisfy the request due to some unavailability of resources. An example is that available capacity has been allocated.", + "Message": "The resource %1 was unable to satisfy the request due to unavailability of resources.", + "Severity": "Critical", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Ensure that the resources are available and resubmit the request." + }, + "StringValueTooLong": { + "Description": "Indicates that a string value passed to the given resource exceeded its length limit. An example is when a shorter limit is imposed by an implementation than that allowed by the specification.", + "Message": "The string %1 exceeds the length limit %2.", + "Severity": "Warning", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "number" + ], + "Resolution": "Resubmit the request with an appropriate string length." + }, + "SessionTerminated": { + "Description": "Indicates that the DELETE operation on the Session resource resulted in the successful termination of the session.", + "Message": "The session was successfully terminated.", + "Severity": "OK", + "NumberOfArgs": 0, + "Resolution": "No resolution is required." + }, + "SubscriptionTerminated": { + "Description": "An event subscription has been terminated by the Service. No further events will be delivered.", + "Message": "The event subscription has been terminated.", + "Severity": "OK", + "NumberOfArgs": 0, + "Resolution": "No resolution is required." + }, + "ResourceTypeIncompatible": { + "Description": "Indicates that the resource type of the operation does not match that for the operation destination. Examples of when this can happen include during a POST to a collection using the wrong resource type, an update where the @odata.types do not match or on a major version incompatability.", + "Message": "The @odata.type of the request body %1 is incompatible with the @odata.type of the resource which is %2.", + "Severity": "Critical", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Resubmit the request with a payload compatible with the resource's schema." + }, + "PasswordChangeRequired": { + "Description": "Indicates that the password for the account provided must be changed before accessing the service. The password can be changed with a PATCH to the 'Password' property in the ManagerAccount resource instance. Implementations that provide a default password for an account may require a password change prior to first access to the service.", + "Message": "The password provided for this account must be changed before access is granted. PATCH the 'Password' property for this account located at the target URI '%1' to complete this process.", + "Severity": "Critical", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Change the password for this account using a PATCH to the 'Password' property at the URI provided." + } + }, + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Registries/Base.1.5.0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Registries/Base.1.5.0/index.json new file mode 100644 index 00000000..e9ef0c72 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Registries/Base.1.5.0/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#MessageRegistryFile.v1_1_5.MessageRegistryFile", + "Id": "Base.1.5.0", + "Name": "Base Message Registry File", + "Description": "Base Message Registry File locations", + "Languages": [ + "en" + ], + "Registry": "Base.1.5.0", + "Location": [ + { + "Language": "en", + "PublicationUri": "https://redfish.contoso.org/registries/Base.1.5.0.json", + "Uri": "/redfish/v1/Registries/Base.1.5.0.json" + } + ], + "@odata.id": "/redfish/v1/Registries/Base.1.5.0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Registries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Registries/index.json new file mode 100644 index 00000000..1b82fd5d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Registries/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#MessageRegistryFileCollection.MessageRegistryFileCollection", + "Name": "Registry File Collection", + "Description": "Registry Repository", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Registries/Base.1.5.0" + } + ], + "@odata.id": "/redfish/v1/Registries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/SessionService/Sessions/1234567890ABCDEF/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/SessionService/Sessions/1234567890ABCDEF/index.json new file mode 100644 index 00000000..90844a1b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/SessionService/Sessions/1234567890ABCDEF/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#Session.v1_9_0.Session", + "Id": "1234567890ABCDEF", + "Name": "User Session", + "Description": "Manager User Session", + "UserName": "Administrator", + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/SessionService/Sessions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/SessionService/Sessions/index.json new file mode 100644 index 00000000..8d8cdf58 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/SessionService/Sessions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SessionCollection.SessionCollection", + "Name": "Session Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF" + } + ], + "@odata.id": "/redfish/v1/SessionService/Sessions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/SessionService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/SessionService/index.json new file mode 100644 index 00000000..62a05690 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/SessionService/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#SessionService.v1_2_0.SessionService", + "Id": "SessionService", + "Name": "Session Service", + "Description": "Session Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "SessionTimeout": 30, + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + }, + "@odata.id": "/redfish/v1/SessionService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Bios/Settings/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Bios/Settings/index.json new file mode 100644 index 00000000..2768ab90 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Bios/Settings/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#Bios.v1_3_0.Bios", + "Id": "Settings", + "Name": "BIOS Configuration Pending Settings", + "AttributeRegistry": "BiosAttributeRegistryP89.v1_0_0", + "Attributes": { + "AdminPhone": "(404) 555-1212", + "BootMode": "Uefi", + "EmbeddedSata": "Ahci", + "NicBoot1": "NetworkBoot", + "NicBoot2": "NetworkBoot", + "PowerProfile": "MaxPerf", + "ProcCoreDisable": 0, + "ProcHyperthreading": "Enabled", + "ProcTurboMode": "Disabled", + "UsbControl": "UsbEnabled" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Bios/Settings", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Bios/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Bios/index.json new file mode 100644 index 00000000..5ae4df5a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Bios/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#Bios.v1_3_0.Bios", + "Id": "Bios", + "Name": "BIOS Configuration Current Settings", + "AttributeRegistry": "BiosAttributeRegistryP89.v1_0_0", + "Attributes": { + "AdminPhone": "", + "BootMode": "Uefi", + "EmbeddedSata": "Raid", + "NicBoot1": "NetworkBoot", + "NicBoot2": "Disabled", + "PowerProfile": "MaxPerf", + "ProcCoreDisable": 0, + "ProcHyperthreading": "Enabled", + "ProcTurboMode": "Enabled", + "UsbControl": "UsbEnabled" + }, + "ResetBiosToDefaultsPending": true, + "@Redfish.Settings": { + "@odata.type": "#Settings.v1_5_0.Settings", + "ETag": "9234ac83b9700123cc32", + "Messages": [ + { + "MessageId": "Base.1.0.SettingsFailed", + "RelatedProperties": [ + "/Attributes/ProcTurboMode" + ] + } + ], + "SettingsObject": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Bios/Settings" + }, + "Time": "2016-03-07T14:44.30-05:00" + }, + "Actions": { + "#Bios.ResetBios": { + "target": "/redfish/v1/Systems/437XR1138R2/Bios/Actions/Bios.ResetBios" + }, + "#Bios.ChangePassword": { + "target": "/redfish/v1/Systems/437XR1138R2/Bios/Actions/Bios.ChangePassword" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Bios", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Certificates/contoso-root/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Certificates/contoso-root/index.json new file mode 100644 index 00000000..ee31c887 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Certificates/contoso-root/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "contoso-root", + "Name": "Contoso Root CA", + "CertificateType": "PEM", + "Links": { + "Subjects": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Certificates/contoso-subca" + } + ] + }, + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIFPjCCAyYCCQCSFsIudUer0DANBgkqhkiG9w0BAQsFADBgMQswCQYDVQQGEwJV\nUzEQMA4GA1UECAwHUmVkZmlzaDEbMBkGA1UEBwwSTm90LUhlcmUtTm90LVRoZXJl\nMRAwDgYDVQQKDAdDb250b3NvMRAwDgYDVQQLDAdSZWRmaXNoMCAXDTIxMTAwNzE4\nNTkwN1oYDzIwOTkxMDA4MTg1OTA3WjBgMQswCQYDVQQGEwJVUzEQMA4GA1UECAwH\nUmVkZmlzaDEbMBkGA1UEBwwSTm90LUhlcmUtTm90LVRoZXJlMRAwDgYDVQQKDAdD\nb250b3NvMRAwDgYDVQQLDAdSZWRmaXNoMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A\nMIICCgKCAgEAwK877tRnOqMACIu/fpN1BD0nZWhy0l5s/gtcuGTM3WhlvQr1/j1D\nj5J8/gCFWNWtGNlLUNdqCUgE/Mki4zdkc4RGqlW9SpdIq+3Wn/lnNmTzjWPfsNaM\n7GMW+gYxDuQf/Pw/h6qXMBZ6JIy/ilAwzV6qJCuJhmSm6O9V+KENoKPWNUYyWnsb\nEJdTYmf58opMgSxdi032hML5gAdMWlIXQcQjX0crr0Ey9VC5WyDSm9/SKY9x6uMM\nTEGBl5NAFa3J05AGrmsgpA8QU4WzKe77DqWeTx9ZKHkqqRUK0onbXGDL8KDOXJr8\nvQSFgiAa3bnVNhUjsDik0xq2QrmHcy72i9xd9AlH3yC/2EMNHnVeJ8Sbhz9rHaSj\nPVxXvorMM650ZDCocVgIBqf3TwxDzC+aBRkXQVLadvnwpg54AHKoIGA0djvROgrZ\nZp7Au+wxy6OzYT6+hGe3I7mPPmRgz9D1BV9M4QdvbKVJPSMcWIEEd6ENrXP97H4j\ngpvql+zTJcZ5kF/RwVLRwxIPyN49gwJP8MMdWp+jvItO8obmdDLZFhGXyF5f19jt\nMWCHybucvLJml7jFJYqNqi5rr1ShAYdV9WbS3hYfBz1xytYP0Rb/5xaBFMvRUBzt\nvU8V1AOLNb8TfbNaqZx1XJTL1NhrKebtBSAtRRcTiD8p8wmDjSZcV0cCAwEAATAN\nBgkqhkiG9w0BAQsFAAOCAgEAOABtLDFso1UBwas4l+LZt0f2OxJWMRNLtNDwOy22\na3diIO3WaX6qD5oy9aj+cANZ15k1UZ3idW0hIVYvz5YESKqP8VW0QW2G/2fWGFlB\nRp+mfd0rW++2uFzKlQjfqRUllG17tfy+zUixWubgkqL39/FFRP0HRUt9cm9qfXys\nvM0VzlXxrlP0Y00onXoqlvGRcmSUOU+Kt5KJkXSSaGAfouPpWEU6qwl+qTAqHMf7\nAXhcsHEFJZe+iVr2cR5GTjGiNbQG0bjgnuSRHCFR9+E8mOoiVfZ5cRy4njGkSUi0\nD/KCpoIiSrxqyaHeSyFA81q8Co2aELirS8bpg38b3IZW6U7ITZH/IcvqBCvpOdXi\n43vVgruJlclqtjoPMYQLTbP2bsiNRdqG+xQF2jOVqrN3Kpmvm+4HDaKUN4TlPVOs\n25z7JTGn0i6fSlv7Gg+4Cox0FPrbSmX1OON61pDGfUJs343EBQ0AQwU4qVYkWFqb\nMd1/YMhYIJVRsIX8XXF7hSmA614um+vvc8TlfJwfUIl54I9m8Uu11GeUceL1Ts75\n97yFurEMLmR9sJSzuM3Sez96LNb0LeYwJRdpI6ttc2/v8hfRXOlRPRJAoJkdRQDh\nH++X8r/eTIWoZT/vOAY+CdFsJ10MCcjndA4AwDmQ1AWXvbuFV5ByO53mjNn4xRpu\nwUo=\n-----END CERTIFICATE-----", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Certificates/contoso-root", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Certificates/contoso-subca/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Certificates/contoso-subca/index.json new file mode 100644 index 00000000..26e20862 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Certificates/contoso-subca/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "contoso-subca", + "Name": "Contoso Intermediate CA - Level 1", + "CertificateType": "PEM", + "Links": { + "Issuer": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Certificates/contoso-root" + }, + "Subjects": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/AC-RoT0/Certificates/DeviceCert" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/iRoT0/Certificates/DeviceCert" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/TPM/Certificates/EKCert" + } + ] + }, + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIFFTCCAv2gAwIBAgIBATANBgkqhkiG9w0BAQ0FADBgMQswCQYDVQQGEwJVUzEQ\nMA4GA1UECAwHUmVkZmlzaDEbMBkGA1UEBwwSTm90LUhlcmUtTm90LVRoZXJlMRAw\nDgYDVQQKDAdDb250b3NvMRAwDgYDVQQLDAdSZWRmaXNoMCAXDTIxMTAwNzE5Mzcx\nNFoYDzIwOTkxMDA4MTkzNzE0WjCBgDELMAkGA1UEBhMCVVMxEDAOBgNVBAgMB1Jl\nZGZpc2gxHDAaBgNVBAcME1NvbWV3aGVyZSBJbmJldHdlZW4xEDAOBgNVBAoMB0Nv\nbnRvc28xEDAOBgNVBAsMB01vY2t1cHMxHTAbBgNVBAMMFENlcnRpZmljYXRlIERp\ndmlzaW9uMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAywVlS8JJShc/\n81nnNBVMlv2jZvwUGWET2pRzayBsDSuotCuHFRexslsHZhHZygIGn6JTxlw24Bt7\nB4NVHrwCfy+yMPbcqo3fyaNz7bEWBHfzh4vbSqwvfd8A0N8z/Nz6nXcUFM1o5ajI\nN8pVODJZsS4oXDFi0BEyto4EEYGpZgGwi/S9k+vi3BDS5Fplo9RGuCcVnf7Iq6RL\nlU/uu6+sleBfjKPty8VIOnLX+4YuA32BPZjbeBnsdDHq1cu0QTGWQLXQisC8TPYt\n1lRkiNqD7/4E8k07SRHPs/XxWLIqZKDQe4XQC1I0CkEyOceW7BWp3/Z2kXJT4zR/\nLZunbX3FsQIDAQABo4G2MIGzMB0GA1UdDgQWBBT80CP8NbbpE4mJBHH3G8TCEMk3\nFjB6BgNVHSMEczBxoWSkYjBgMQswCQYDVQQGEwJVUzEQMA4GA1UECAwHUmVkZmlz\naDEbMBkGA1UEBwwSTm90LUhlcmUtTm90LVRoZXJlMRAwDgYDVQQKDAdDb250b3Nv\nMRAwDgYDVQQLDAdSZWRmaXNoggkAkhbCLnVHq9AwCQYDVR0TBAIwADALBgNVHQ8E\nBAMCBaAwDQYJKoZIhvcNAQENBQADggIBABMdLmvS2fjYhlJGBIfmht5HDL829ORG\n4LnLqtDOzY4LkWE9ri14unaWmqeD0tfq5cy2un9C30LFvwMxb0O+UlLdpcuxR74B\n8Oq97VCRiwdlVt4YxWRxfVbA9D/YjOZFjumnHebMz6EOpl0HgsaQ95QmF8Hdb6Wg\n6j0m/7WZFED3thfw2SAel+B/OlJkUSN4zsPC2w2e7Gy4VpSpP8BYvsnQ9nE6TEyA\nOCj1VNQJsVGqu1g21CStDWOb6mqQDM8Ns1VMrHKRbZQRaugdvrRtTJ74wnV+YOFl\n/IhM5JIDs2cyiM4NepMfIzbgQG28IyuP8l4U7y+cZCf7p5+SWJgfzCQOMVGZhgsI\n8pKZqWIRmwl+nLFAXAa+RDcyI8DWh2y01Jk+7+9QgWhfvmFsPm7/qTOEhi79PU9H\nIAMkL9Xi1OcPEeAMk4Xfh578e0Xleq2cZVtYxZl71HJ0s39huyVNSKbsljA9S2rv\nSgczNruYDIIjniTkbWkebY1kbPBTjbSOUS1WT60iFRFgNbJ06gpz3yCpMnny7vVg\nVMPUq1m9AfVw3s6x1db3B0TCoNLUK16bmterp0CZe69azzK111scNlM0jFV0R2Kl\nsIZ5E0vmKzfg2XAgEY0rb7S0O363ASINOgAQSJVB9aXkJeNt68SC0UsTwy6x0ikX\n4kvr+YAqTSOA\n-----END CERTIFICATE-----", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Certificates/contoso-subca", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Certificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Certificates/index.json new file mode 100644 index 00000000..7fc7b968 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Certificates/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificates Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Certificates/contoso-root" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Certificates/contoso-subca" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Certificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/index.json new file mode 100644 index 00000000..a86a9db1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "12446A3B0411", + "Name": "Ethernet Interface", + "Description": "System NIC 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "EthernetInterfaceType": "Physical", + "LinkStatus": "LinkUp", + "PermanentMACAddress": "12:44:6A:3B:04:11", + "MACAddress": "12:44:6A:3B:04:11", + "SpeedMbps": 1000, + "FullDuplex": true, + "HostName": "web483", + "FQDN": "web483.contoso.com", + "IPv6DefaultGateway": "fe80::3ed9:2bff:fe34:600", + "NameServers": [ + "names.contoso.com" + ], + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "Static", + "Gateway": "192.168.0.1" + } + ], + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "Static", + "AddressState": "Preferred" + } + ], + "VLAN": { + "VLANEnable": false, + "VLANId": 101 + }, + "TeamMode": "None", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890/index.json new file mode 100644 index 00000000..89fff151 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "12446A3B8890", + "Name": "Ethernet Interface", + "Description": "System NIC 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "EthernetInterfaceType": "Physical", + "LinkStatus": "LinkUp", + "PermanentMACAddress": "12:44:6A:3B:88:90", + "MACAddress": "AA:BB:CC:DD:EE:00", + "SpeedMbps": 1000, + "FullDuplex": true, + "HostName": "backup-web483", + "FQDN": "backup-web483.contoso.com", + "IPv6DefaultGateway": "fe80::3ed9:2bff:fe34:600", + "NameServers": [ + "names.contoso.com" + ], + "IPv4Addresses": [ + { + "Address": "192.168.0.11", + "SubnetMask": "255.255.255.0", + "AddressOrigin": "Static", + "Gateway": "192.168.0.1" + } + ], + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e33", + "PrefixLength": 64, + "AddressOrigin": "Static", + "AddressState": "Preferred" + } + ], + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "TeamMode": "None", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/EthernetInterfaces/ToManager/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/EthernetInterfaces/ToManager/index.json new file mode 100644 index 00000000..7638f53b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/EthernetInterfaces/ToManager/index.json @@ -0,0 +1,55 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "ToManager", + "Name": "Host Ethernet Interface", + "Description": "Host Network Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "AA:BB:CC:DD:EE:FE", + "MACAddress": "AA:BB:CC:DD:EE:FE", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "MaxIPv6StaticAddresses": 1, + "IPv4Addresses": [ + { + "Address": "192.168.20.56", + "SubnetMask": "255.255.255.0", + "AddressOrigin": "Static", + "Gateway": "192.168.20.1" + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e25", + "PrefixLength": 64 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e25", + "PrefixLength": 64, + "AddressOrigin": "Static", + "AddressState": "Preferred" + } + ], + "Links": { + "HostInterface": { + "@odata.id": "/redfish/v1/Managers/BMC/HostInterfaces/1" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/ToManager", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/EthernetInterfaces/VLAN1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/EthernetInterfaces/VLAN1/index.json new file mode 100644 index 00000000..473450c7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/EthernetInterfaces/VLAN1/index.json @@ -0,0 +1,52 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "VLAN1", + "Name": "Ethernet Interface", + "Description": "VLAN from System NIC 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "EthernetInterfaceType": "Virtual", + "LinkStatus": "LinkUp", + "PermanentMACAddress": "12:44:6A:3B:04:11", + "MACAddress": "12:44:6A:3B:04:11", + "SpeedMbps": 1000, + "FullDuplex": true, + "HostName": "web483", + "FQDN": "web483.contoso.com", + "IPv6DefaultGateway": "fe80::3ed9:2bff:fe34:600", + "NameServers": [ + "names.contoso.com" + ], + "IPv4Addresses": [ + { + "Address": "192.168.150.236", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "Static", + "Gateway": "192.168.150.1" + } + ], + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "Static", + "AddressState": "Preferred" + } + ], + "VLAN": { + "VLANEnable": true, + "VLANId": 1000 + }, + "TeamMode": "None", + "Links": { + "RelatedInterfaces": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/VLAN1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/EthernetInterfaces/index.json new file mode 100644 index 00000000..ccf3551c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/EthernetInterfaces/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Interface Collection", + "Description": "System NICs on Contoso Servers", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/VLAN1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/ToManager" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/GraphicsControllers/GPU1/Ports/DisplayPort/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/GraphicsControllers/GPU1/Ports/DisplayPort/index.json new file mode 100644 index 00000000..430c9ea3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/GraphicsControllers/GPU1/Ports/DisplayPort/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "DisplayPort", + "Name": "Display Port", + "Description": "Display Port", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "1", + "PortProtocol": "DisplayPort", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 21.6, + "Width": 4, + "MaxSpeedGbps": 32.4, + "CurrentProtocolVersion": "1.2", + "CapableProtocolVersions": [ + "1.0", + "1.1", + "1.1a", + "1.2", + "1.2a", + "1.3" + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/GraphicsControllers/GPU1/Ports/DisplayPort", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/GraphicsControllers/GPU1/Ports/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/GraphicsControllers/GPU1/Ports/index.json new file mode 100644 index 00000000..106513b7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/GraphicsControllers/GPU1/Ports/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "Port Collection", + "Description": "GPU Port Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/GraphicsControllers/GPU1/Ports/DisplayPort" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/GraphicsControllers/GPU1/Ports", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/GraphicsControllers/GPU1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/GraphicsControllers/GPU1/index.json new file mode 100644 index 00000000..d278b970 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/GraphicsControllers/GPU1/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#GraphicsController.v1_0_2.GraphicsController", + "Id": "GPU1", + "Name": "Contoso Graphics Controller 1", + "AssetTag": "", + "Manufacturer": "Contoso", + "Model": "GPU1", + "SKU": "80937", + "SerialNumber": "2M220100SL", + "PartNumber": "G37891", + "SparePartNumber": "G37890", + "BiosVersion": "90.02.17.00.7D", + "DriverVersion": "27.21.14.6079 (Contoso 460.79) DCH / Win 10 64", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Slot 1", + "LocationOrdinalValue": 1, + "LocationType": "Slot", + "Orientation": "LeftToRight", + "Reference": "Rear" + } + }, + "Ports": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/GraphicsControllers/GPU1/Ports" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/GraphicsControllers/GPU1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/GraphicsControllers/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/GraphicsControllers/index.json new file mode 100644 index 00000000..d3a24227 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/GraphicsControllers/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#GraphicsControllerCollection.GraphicsControllerCollection", + "Name": "GraphicsControllers", + "Description": "Redfish Graphics Controllers", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/GraphicsControllers/GPU1" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/GraphicsControllers", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json new file mode 100644 index 00000000..0576452a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "Event", + "Severity": "Warning", + "Created": "2012-03-07T14:45:00Z", + "Message": "Temperature '%1' reading of %2 degrees (C) is above the %3 upper caution threshold.", + "MessageArgs": [ + "CPU#1 Coolant", + "47", + "45" + ], + "MessageId": "Thermal.1.0.TemperatureAboveUpperCautionThreshold", + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Pumps/CPU1" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/LogServices/Log1/Entries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/LogServices/Log1/Entries/index.json new file mode 100644 index 00000000..6210c68c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/LogServices/Log1/Entries/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "Event", + "Severity": "Warning", + "Created": "2012-03-07T14:45:00Z", + "Message": "Temperature '%1' reading of %2 degrees (C) is above the %3 upper caution threshold.", + "MessageArgs": [ + "CPU#1 Coolant", + "47", + "45" + ], + "MessageId": "Thermal.1.0.TemperatureAboveUpperCautionThreshold", + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Pumps/CPU1" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries/1" + } + ], + "@odata.nextLink": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries?$skiptoken=2", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/LogServices/Log1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/LogServices/Log1/index.json new file mode 100644 index 00000000..4a80e140 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/LogServices/Log1/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#LogService.v1_9_0.LogService", + "Id": "Log1", + "Name": "System Log Service", + "MaxNumberOfRecords": 1000, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Actions/LogService.ClearLog" + } + }, + "Entries": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/LogServices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/LogServices/index.json new file mode 100644 index 00000000..fb9f6518 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/LogServices/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Memory/DIMM1/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Memory/DIMM1/EnvironmentMetrics/index.json new file mode 100644 index 00000000..2cfb6925 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Memory/DIMM1/EnvironmentMetrics/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Memory Environment Metrics", + "TemperatureCelsius": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/DIMM1Temp", + "Reading": 44 + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM1/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Memory/DIMM1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Memory/DIMM1/index.json new file mode 100644 index 00000000..14ddedcf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Memory/DIMM1/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM1", + "Name": "DIMM Slot 1", + "RankCount": 2, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 32768, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM1/EnvironmentMetrics" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Memory/DIMM2/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Memory/DIMM2/EnvironmentMetrics/index.json new file mode 100644 index 00000000..71b80223 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Memory/DIMM2/EnvironmentMetrics/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Memory Environment Metrics", + "TemperatureCelsius": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/DIMM1Temp", + "Reading": 44 + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM2/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Memory/DIMM2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Memory/DIMM2/index.json new file mode 100644 index 00000000..997ade45 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Memory/DIMM2/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM2", + "Name": "DIMM Slot 2", + "RankCount": 2, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 32768, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 2 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM2/EnvironmentMetrics" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Memory/DIMM3/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Memory/DIMM3/EnvironmentMetrics/index.json new file mode 100644 index 00000000..3d088ec0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Memory/DIMM3/EnvironmentMetrics/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Memory Environment Metrics", + "TemperatureCelsius": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/DIMM1Temp", + "Reading": 44 + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM3/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Memory/DIMM3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Memory/DIMM3/index.json new file mode 100644 index 00000000..5f3703ef --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Memory/DIMM3/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM3", + "Name": "DIMM Slot 3", + "RankCount": 2, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 32768, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 2, + "MemoryController": 2, + "Channel": 1, + "Slot": 3 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM3/EnvironmentMetrics" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Memory/DIMM4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Memory/DIMM4/index.json new file mode 100644 index 00000000..60a64276 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Memory/DIMM4/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM4", + "Name": "DIMM Slot 4", + "MemoryLocation": { + "Socket": 2, + "MemoryController": 2, + "Channel": 1, + "Slot": 4 + }, + "Status": { + "State": "Absent" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Memory/index.json new file mode 100644 index 00000000..0abde074 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Memory/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Module Collection", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM2" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM3" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM4" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Processors/CPU1/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Processors/CPU1/EnvironmentMetrics/index.json new file mode 100644 index 00000000..fbd9af54 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Processors/CPU1/EnvironmentMetrics/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Processor Environment Metrics", + "TemperatureCelsius": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/CPU1Temp", + "Reading": 44 + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/CPU1Power", + "Reading": 12.87 + }, + "FanSpeedsPercent": [ + { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/CPUFan1", + "DeviceName": "CPU #1 Fan Speed", + "Reading": 80 + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Processors/CPU1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Processors/CPU1/index.json new file mode 100644 index 00000000..67366103 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Processors/CPU1/index.json @@ -0,0 +1,43 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU1", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Multi-Core Intel(R) Xeon(R) processor 7xxx Series", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "AdditionalFirmwareVersions": { + "Microcode": "0x46" + }, + "MaxSpeedMHz": 3700, + "OperatingSpeedMHz": 2333, + "OperatingSpeedRangeMHz": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Controls/CPU1Freq", + "ControlMode": "Automatic", + "AllowableMin": 1200, + "SettingMin": 2000, + "SettingMax": 2400, + "AllowableMax": 3700 + }, + "TotalCores": 8, + "TotalThreads": 16, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1/EnvironmentMetrics" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Processors/CPU2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Processors/CPU2/index.json new file mode 100644 index 00000000..24eec3f5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Processors/CPU2/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU2", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "CPU", + "Status": { + "State": "Absent" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Processors/FPGA1/AccelerationFunctions/Compression/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Processors/FPGA1/AccelerationFunctions/Compression/index.json new file mode 100644 index 00000000..ad25bbff --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Processors/FPGA1/AccelerationFunctions/Compression/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#AccelerationFunction.v1_0_5.AccelerationFunction", + "Id": "Compression", + "Name": "Compression Accelerator", + "Description": "Compression Acceleration Function", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "UUID": "00000000-0000-0000-0000-000000000000", + "FpgaReconfigurationSlots": [ + "AFU0" + ], + "AccelerationFunctionType": "Compression", + "Manufacturer": "Intel (R) Corporation", + "Version": "Green Compression Type 1 v.1.00.86", + "PowerWatts": 15, + "Links": { + "Endpoints": [], + "PCIeFunctions": [] + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/FPGA1/AccelerationFunctions/Compression", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Processors/FPGA1/AccelerationFunctions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Processors/FPGA1/AccelerationFunctions/index.json new file mode 100644 index 00000000..c4c0370b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Processors/FPGA1/AccelerationFunctions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#AccelerationFunctionCollection.AccelerationFunctionCollection", + "Name": "Acceleration Function Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/FPGA1/AccelerationFunctions/Compression" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/FPGA1/AccelerationFunctions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Processors/FPGA1/ProcessorMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Processors/FPGA1/ProcessorMetrics/index.json new file mode 100644 index 00000000..4b4cb3ea --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Processors/FPGA1/ProcessorMetrics/index.json @@ -0,0 +1,69 @@ +{ + "@odata.type": "#ProcessorMetrics.v1_7_1.ProcessorMetrics", + "Id": "Metrics", + "Description": "Processor Metrics", + "Name": "Processor Metrics", + "BandwidthPercent": 62, + "AverageFrequencyMHz": 2400, + "ThrottlingCelsius": 65, + "TemperatureCelsius": 41, + "ConsumedPowerWatt": 82, + "FrequencyRatio": 0.00432, + "Cache": [ + { + "Level": "3", + "CacheMiss": 0.12, + "HitRatio": 0.719, + "CacheMissesPerInstruction": 0.00088, + "OccupancyBytes": 3030144, + "OccupancyPercent": 90.1 + } + ], + "LocalMemoryBandwidthBytes": 18253611008, + "RemoteMemoryBandwidthBytes": 81788928, + "KernelPercent": 2.3, + "UserPercent": 34.7, + "CoreMetrics": [ + { + "CoreId": "core0", + "InstructionsPerCycle": 1.16, + "UnhaltedCycles": 6254383746, + "MemoryStallCount": 58372, + "IOStallCount": 2634872, + "CoreCache": [ + { + "Level": "2", + "CacheMiss": 0.472, + "HitRatio": 0.57, + "CacheMissesPerInstruction": 0.00346, + "OccupancyBytes": 198231, + "OccupancyPercent": 77.4 + } + ], + "CStateResidency": [ + { + "Level": "C0", + "ResidencyPercent": 1.13 + }, + { + "Level": "C1", + "ResidencyPercent": 26 + }, + { + "Level": "C3", + "ResidencyPercent": 0.00878 + }, + { + "Level": "C6", + "ResidencyPercent": 0.361 + }, + { + "Level": "C7", + "ResidencyPercent": 72.5 + } + ] + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/FPGA1/ProcessorMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Processors/FPGA1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Processors/FPGA1/index.json new file mode 100644 index 00000000..c5824bfd --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Processors/FPGA1/index.json @@ -0,0 +1,81 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "FPGA1", + "Name": "FPGA", + "ProcessorType": "FPGA", + "ProcessorArchitecture": "OEM", + "InstructionSet": "OEM", + "Manufacturer": "Intel(R) Corporation", + "Model": "Stratix 10", + "UUID": "00000000-0000-0000-0000-000000000000", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Metrics": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/FPGA1/ProcessorMetrics" + }, + "TDPWatts": 120, + "MaxTDPWatts": 150, + "ProcessorMemory": [ + { + "IntegratedMemory": true, + "MemoryType": "HBM2", + "CapacityMiB": 512, + "SpeedMHz": 1066 + } + ], + "FPGA": { + "FpgaType": "Discrete", + "Model": "Stratix10", + "FirmwareId": "0x6400002fc614bb9", + "FirmwareManufacturer": "Intel(R) Corporation", + "FirmwareVersion": "Blue v.1.00.86", + "HostInterface": { + "InterfaceType": "PCIe", + "PCIe": { + "MaxPCIeType": "Gen4", + "MaxLanes": 8 + } + }, + "ExternalInterfaces": [ + { + "InterfaceType": "Ethernet", + "Ethernet": { + "MaxSpeedMbps": 10240, + "MaxLanes": 4 + } + } + ], + "PCIeVirtualFunctions": 1, + "ProgrammableFromHost": true, + "ReconfigurationSlots": [ + { + "SlotId": "AFU0", + "UUID": "00000000-0000-0000-0000-000000000000", + "ProgrammableFromHost": true, + "AccelerationFunction": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/FPGA1/AccelerationFunctions/Compression" + } + } + ] + }, + "AccelerationFunctions": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/FPGA1/AccelerationFunctions" + }, + "Links": { + "Endpoints": [], + "ConnectedProcessors": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1" + } + ] + }, + "Actions": { + "#Processor.Reset": { + "target": "/redfish/v1/Systems/437XR1138R2/Processors/FPGA1/Actions/Processor.Reset" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/FPGA1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Processors/index.json new file mode 100644 index 00000000..56997dde --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/Processors/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processors Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU2" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/FPGA1" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/Certificates/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/Certificates/1/index.json new file mode 100644 index 00000000..01819493 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/Certificates/1/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "1", + "Name": "Contoso KEK Certificate", + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIDbzCCAlegAwIBAgIUf2b1tKa8CXy2saePf6i1mIwnRTcwDQYJKoZIhvcNAQEL\nBQAwVzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdo\nMQ8wDQYDVQQKEwZMZW5vdm8xGDAWBgNVBAMTD0xlbm92byBVRUZJIEtFSzAeFw0x\nNzA1MjcwMzU0NDJaFw00MTA1MjcwMzU0NDJaMFcxCzAJBgNVBAYTAlVTMQswCQYD\nVQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEPMA0GA1UEChMGTGVub3ZvMRgwFgYD\nVQQDEw9MZW5vdm8gVUVGSSBLRUswggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\nAoIBAQDCu6lcSg/MmtcXRGPmxSaMRuFUa/Hoge40OnklJ936OYqPTTZGPZMld0mq\nzrfW/jZ7YYbtbS2vLTU4uzKo6YHRgp+IlAalmXZNh+D1MsJpJ1zqbxkcBW/ohPZY\nTgNPugYeVw+kbcunxQPqa6dvgidGu6qo3uLCJ0kWmZeCqGLgJ8NkKyGpiALALCcK\njVHNd87WUVnf9V1VsaeGytIOk42VbxBjuP1yS/nW1yJ+9wmftYtDy6/MuFT7DIM7\n1cVsRZGlM0WZbfVxHVAd8KGOvsXMOu7vgfKrLd/ZOWwtk+Iqthg23+Cc7aY2tc9q\nS1pa378idhbY8beJIyjCQgdheL8vAgMBAAGjMzAxMA8GA1UdEwEB/wQFMAMBAf8w\nDgYDVR0PAQH/BAQDAgIEMA4GA1UdDwEB/wQEAwIHgDANBgkqhkiG9w0BAQsFAAOC\nAQEAtcTQVLt/t8ijoB6Na4pvdtG0c11ZG9vJvx0mZEgp30VUwgWPqnlAmkA5RNhh\nate/fGNvwAuyJZjiHJ4nqtJ9/pEDc+RMnPiGZDzKZcZlYiqOwod6nZklGw6X3f45\nxmiM+YYfeY1vlptTnm2FyuFtgqiJ6lAVJ4c17KyrsDBw79G/3hsB9H3E8YeyA0kq\nXELejPl9JSAEvY6+KtO/BFRR36Q1Xwz9lUWI+tLkAiOLIgLsJBu4ADX276pCGGTw\nIj9pRcFEjGwp3iwXid4323b36iLiUDyQTkBGjzZlIZekSS+BMEyZ9RKoIyrxyUjC\npmPlF6edID9hg2iv9pPjGfFfKQ==\n-----END CERTIFICATE-----", + "CertificateType": "PEM", + "Issuer": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "KEK.contoso.org" + }, + "Subject": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "Contoso UEFI KEK" + }, + "ValidNotBefore": "2018-09-07T13:22:05Z", + "ValidNotAfter": "2041-09-07T13:22:05Z", + "KeyUsage": [ + "KeyCertSign", + "DigitalSignature", + "CRLSigning" + ], + "UefiSignatureOwner": "5491316d-9694-4639-b72d-b8630ffa7dab", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/Certificates/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/Certificates/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/Certificates/2/index.json new file mode 100644 index 00000000..48b440f2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/Certificates/2/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "2", + "Name": "Microsoft Corporation KEK Certificate", + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIDbzCCAlegAwIBAgIUf2b1tKa8CXy2shrPf6i1mIwnRTcwDQYJKoZIhvcNAQEL\nBQAwVzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdo\nMQ8wDQYDVQQKEwZMZW5vdm8xGDAWBgNVBAMTD0xlbm92byBVRUZJIEtFSzAeFw0x\nNzA1MjcwMzU0NDJaFw00MTA1MjcwMzU0NDJaMFcxCzAJBgNVBAYTAlVTMQswCQYD\nVQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEPMA0GA1UEChMGTGVub3ZvMRgwFgYD\nVQQDEw9MZW5vdm8gVUVGSSBLRUswggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\nAoIBAQDCu6lcSg/MmtcXRGPmxSaMRuFUa/Hoge40OnklJ936OYqPTTZGPZMld0mq\nzrfW/jZ7YYbtbS2vLTU4uzKo6YHRgp+IlAalmXZNh+D1MsJpJ1zqbxkcBW/ohPZY\nTgNPugYeVw+kbcunxQPqa6dvgidGu6qo3uLCJ0kWmZeCqGLgJ8NkKyGpiALALCcK\njVHNd87WUVnf9V1VsqRGytIOk42VbxBjuP1yS/nW1yJ+9wmftYtDy6/MuFT7DIM7\n1cVsRZGlM0WZbfVxHVAd8KGOvsXMOu7vgfKrLd/ZOWwtk+Iqthg23+Cc7aY2tc9q\nS1pa378idhbY8beJIyjCQgdheL8vAgMBAAGjMzAxMA8GA1UdEwEB/wQFMAMBAf8w\nDgYDVR0PAQH/BAQDAgIEMA4GA1UdDwEB/wQEAwIHgDANBgkqhkiG9w0BAQsFAAOC\nAQEAtcTQVLt/t8ijoB6Na4pvdtG0c11ZG9vJvx0mZEgp30VUwgWPqnlAmkA5RNhh\nate/fGNvwAuyJZjiHJ4nqtJ9/pEDc+RMnPiGZDzKZcZlYiqOwod6nZklGw6X3f45\nxmiM+YYfeY1vlptTnm2FyuFtgqiJ6lAVJ4c17KyrsDBw79G/3hsB9H3E8YeyA0kq\nXELejPl9JSSCvY6+KtO/BFRR36Q1Xwz9lUWI+tLkAiOLIgLsJBu4ADX276pCGGTw\nIj9pRcFEjGwp3iwXid4323b36iLiUDyQTkBGjzZlIZekSS+BMEyZ9RKoIyrxyUjC\npmPlF6edID9hg2iv9pPjGfFfKQ==\n-----END CERTIFICATE-----", + "CertificateType": "PEM", + "Issuer": { + "Country": "US", + "State": "Washington", + "City": "Redmond", + "Organization": "Microsoft Corporation", + "CommonName": "Microsoft Corporation Third Party Marketplace Root" + }, + "Subject": { + "Country": "US", + "State": "Washington", + "City": "Redmond", + "Organization": "Microsoft Corporation", + "CommonName": "Microsoft Corporation KEK CA 2011" + }, + "ValidNotBefore": "2011-06-24T13:41:29Z", + "ValidNotAfter": "2026-06-24T13:51:29Z", + "KeyUsage": [ + "KeyCertSign", + "DigitalSignature", + "CRLSigning" + ], + "UefiSignatureOwner": "77fa9abd-0359-4d32-bd60-28f4e78f784b", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/Certificates/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/Certificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/Certificates/index.json new file mode 100644 index 00000000..f03b08e8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/Certificates/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificate Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/Certificates/1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/Certificates/2" + } + ], + "@Redfish.SupportedCertificates": [ + "PEM" + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/Certificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/index.json new file mode 100644 index 00000000..c5979ab2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#SecureBootDatabase.v1_0_3.SecureBootDatabase", + "Id": "KEK", + "Name": "KEK - Key Exchange Key Database", + "Description": "UEFI KEK Secure Boot Database", + "DatabaseId": "KEK", + "Certificates": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/Certificates/" + }, + "Actions": { + "#SecureBootDatabase.ResetKeys": { + "target": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/Actions/SecureBootDatabase.ResetKeys", + "ResetKeysType@Redfish.AllowableValues": [ + "ResetAllKeysToDefault", + "DeleteAllKeys" + ] + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/1/index.json new file mode 100644 index 00000000..80d16a8a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/1/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "1", + "Name": "Contoso KEK Certificate", + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIDbzCCAlegAwIBAgIUf2b1tKa8CXy2saePf6i1mIwnRTcwDQYJKoZIhvcNAQEL\nBQAwVzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdo\nMQ8wDQYDVQQKEwZMZW5vdm8xGDAWBgNVBAMTD0xlbm92byBVRUZJIEtFSzAeFw0x\nNzA1MjcwMzU0NDJaFw00MTA1MjcwMzU0NDJaMFcxCzAJBgNVBAYTAlVTMQswCQYD\nVQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEPMA0GA1UEChMGTGVub3ZvMRgwFgYD\nVQQDEw9MZW5vdm8gVUVGSSBLRUswggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\nAoIBAQDCu6lcSg/MmtcXRGPmxSaMRuFUa/Hoge40OnklJ936OYqPTTZGPZMld0mq\nzrfW/jZ7YYbtbS2vLTU4uzKo6YHRgp+IlAalmXZNh+D1MsJpJ1zqbxkcBW/ohPZY\nTgNPugYeVw+kbcunxQPqa6dvgidGu6qo3uLCJ0kWmZeCqGLgJ8NkKyGpiALALCcK\njVHNd87WUVnf9V1VsaeGytIOk42VbxBjuP1yS/nW1yJ+9wmftYtDy6/MuFT7DIM7\n1cVsRZGlM0WZbfVxHVAd8KGOvsXMOu7vgfKrLd/ZOWwtk+Iqthg23+Cc7aY2tc9q\nS1pa378idhbY8beJIyjCQgdheL8vAgMBAAGjMzAxMA8GA1UdEwEB/wQFMAMBAf8w\nDgYDVR0PAQH/BAQDAgIEMA4GA1UdDwEB/wQEAwIHgDANBgkqhkiG9w0BAQsFAAOC\nAQEAtcTQVLt/t8ijoB6Na4pvdtG0c11ZG9vJvx0mZEgp30VUwgWPqnlAmkA5RNhh\nate/fGNvwAuyJZjiHJ4nqtJ9/pEDc+RMnPiGZDzKZcZlYiqOwod6nZklGw6X3f45\nxmiM+YYfeY1vlptTnm2FyuFtgqiJ6lAVJ4c17KyrsDBw79G/3hsB9H3E8YeyA0kq\nXELejPl9JSAEvY6+KtO/BFRR36Q1Xwz9lUWI+tLkAiOLIgLsJBu4ADX276pCGGTw\nIj9pRcFEjGwp3iwXid4323b36iLiUDyQTkBGjzZlIZekSS+BMEyZ9RKoIyrxyUjC\npmPlF6edID9hg2iv9pPjGfFfKQ==\n-----END CERTIFICATE-----", + "CertificateType": "PEM", + "Issuer": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "KEK.contoso.org" + }, + "Subject": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "Contoso UEFI KEK" + }, + "ValidNotBefore": "2018-09-07T13:22:05Z", + "ValidNotAfter": "2041-09-07T13:22:05Z", + "KeyUsage": [ + "KeyCertSign", + "DigitalSignature", + "CRLSigning" + ], + "UefiSignatureOwner": "5491316d-9694-4639-b72d-b8630ffa7dab", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/2/index.json new file mode 100644 index 00000000..b54709c8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/2/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "2", + "Name": "Microsoft Corporation KEK Certificate", + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIDbzCCAlegAwIBAgIUf2b1tKa8CXy2shrPf6i1mIwnRTcwDQYJKoZIhvcNAQEL\nBQAwVzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdo\nMQ8wDQYDVQQKEwZMZW5vdm8xGDAWBgNVBAMTD0xlbm92byBVRUZJIEtFSzAeFw0x\nNzA1MjcwMzU0NDJaFw00MTA1MjcwMzU0NDJaMFcxCzAJBgNVBAYTAlVTMQswCQYD\nVQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEPMA0GA1UEChMGTGVub3ZvMRgwFgYD\nVQQDEw9MZW5vdm8gVUVGSSBLRUswggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\nAoIBAQDCu6lcSg/MmtcXRGPmxSaMRuFUa/Hoge40OnklJ936OYqPTTZGPZMld0mq\nzrfW/jZ7YYbtbS2vLTU4uzKo6YHRgp+IlAalmXZNh+D1MsJpJ1zqbxkcBW/ohPZY\nTgNPugYeVw+kbcunxQPqa6dvgidGu6qo3uLCJ0kWmZeCqGLgJ8NkKyGpiALALCcK\njVHNd87WUVnf9V1VsqRGytIOk42VbxBjuP1yS/nW1yJ+9wmftYtDy6/MuFT7DIM7\n1cVsRZGlM0WZbfVxHVAd8KGOvsXMOu7vgfKrLd/ZOWwtk+Iqthg23+Cc7aY2tc9q\nS1pa378idhbY8beJIyjCQgdheL8vAgMBAAGjMzAxMA8GA1UdEwEB/wQFMAMBAf8w\nDgYDVR0PAQH/BAQDAgIEMA4GA1UdDwEB/wQEAwIHgDANBgkqhkiG9w0BAQsFAAOC\nAQEAtcTQVLt/t8ijoB6Na4pvdtG0c11ZG9vJvx0mZEgp30VUwgWPqnlAmkA5RNhh\nate/fGNvwAuyJZjiHJ4nqtJ9/pEDc+RMnPiGZDzKZcZlYiqOwod6nZklGw6X3f45\nxmiM+YYfeY1vlptTnm2FyuFtgqiJ6lAVJ4c17KyrsDBw79G/3hsB9H3E8YeyA0kq\nXELejPl9JSSCvY6+KtO/BFRR36Q1Xwz9lUWI+tLkAiOLIgLsJBu4ADX276pCGGTw\nIj9pRcFEjGwp3iwXid4323b36iLiUDyQTkBGjzZlIZekSS+BMEyZ9RKoIyrxyUjC\npmPlF6edID9hg2iv9pPjGfFfKQ==\n-----END CERTIFICATE-----", + "CertificateType": "PEM", + "Issuer": { + "Country": "US", + "State": "Washington", + "City": "Redmond", + "Organization": "Microsoft Corporation", + "CommonName": "Microsoft Corporation Third Party Marketplace Root" + }, + "Subject": { + "Country": "US", + "State": "Washington", + "City": "Redmond", + "Organization": "Microsoft Corporation", + "CommonName": "Microsoft Corporation KEK CA 2011" + }, + "ValidNotBefore": "2011-06-24T13:41:29Z", + "ValidNotAfter": "2026-06-24T13:51:29Z", + "KeyUsage": [ + "KeyCertSign", + "DigitalSignature", + "CRLSigning" + ], + "UefiSignatureOwner": "77fa9abd-0359-4d32-bd60-28f4e78f784b", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/index.json new file mode 100644 index 00000000..f01bee6a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificate Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/2" + } + ], + "@Redfish.SupportedCertificates": [ + "PEM" + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/index.json new file mode 100644 index 00000000..13185afd --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SecureBootDatabase.v1_0_3.SecureBootDatabase", + "Id": "KEKDefault", + "Name": "KEKDefault - Default Key Exchange Key Database", + "Description": "UEFI KEKDefault Secure Boot Database", + "DatabaseId": "KEKDefault", + "Certificates": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PK/Certificates/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PK/Certificates/1/index.json new file mode 100644 index 00000000..415e1fed --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PK/Certificates/1/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "1", + "Name": "PK Certificate", + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIDbTCCAlWgAwIBAgIUAZjZIHcy1np+3qP8RaHzTWaghuQwDQYJKoZIhvcNAQEL\nBQAwVjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdo\nMQ8wDQYDVQQKEwZMZW5vdm8xFzAVBgNVBAMTDkxlbm92byBVRUZJIFBLMB4XDTE3\nMDUyNzAzNTMzN1oXDTQxMDUyNzAzNTMzN1owVjELMAkGA1UEBhMCVVMxCzAJBgNV\nBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMQ8wDQYDVQQKEwZMZW5vdm8xFzAVBgNV\nBAMTDkxlbm92byBVRUZJIFBLMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC\nAQEA62pJedCNMZbqqqOfvpQb091Ov1SUZaAhIZl1GsaeZ9P0xHH1H93UdQSTA918\nqSHIxp31WLHdI+LiYEnJbXZgnJ2RhEPVXE55VvzUTI6zEV5elo5adnxXmXH7oz6x\n35nIBYCKGayfM+jg/S1oJr5s5H9/67M88nijZS/8dDg29UTVcu+YM4IgbNhY48Gi\nrPG+iIQ4kh4PcdPY+SAEHIxD94HhlTQHnrLrWjF9hdepVty48KrqcQYfKmsUAJ6M\nzyxYIyIEJSG61Lv49DlbPppC7uVjVV+laPwJyzoqg5c1lkhz0HaODy0OI7i8gTiH\nAe2vGt6liKQbsDvXS/Xy8kmn8wIDAQABozMwMTAPBgNVHRMBAf8EBTADAQH/MA4G\nA1UdDwEB/wQEAwICBDAOBgNVHQ8BAf8EBAMCB4AwDQYJKoZIhvcNAQELBQADggEB\nAAl2n3X/rZSKQju2AbBcmuRnPUXwqih5Qql+oOYzsE3XaZC1vILAAJLBUcHvbGkL\n40JQ9NaUAzxsaeERoMl7vneyNTutY03tmIDdC0nYzN9eEZO0GSEAVKoxgxLZ+od3\na2yGZ9htjCvaqUNniOlXCKQ0T595Z24mwY20F/ras1j8WXAYjyiCBUDpWi70VAdB\n0aCpZzterITmo7ymx7zK2hHIaYbRlXIXLMesdfSS/4hSLR49SvfVbOcnajdfmcI/\nXIWNRE/Xvg17lrgjMZ0vdU4wCVe2sAh6ckB45tJM/v97ICCZZld0Ee8IH1ayabmo\njSgtuHs9sxviahyMDv3gEGk=\n-----END CERTIFICATE-----", + "CertificateType": "PEM", + "Issuer": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "PK.contoso.org" + }, + "Subject": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "Contoso UEFI PK" + }, + "ValidNotBefore": "2018-09-07T13:22:05Z", + "ValidNotAfter": "2041-09-07T13:22:05Z", + "KeyUsage": [ + "KeyCertSign", + "DigitalSignature" + ], + "UefiSignatureOwner": "5491316d-9694-4639-b72d-b8630ffa7dab", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PK/Certificates/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PK/Certificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PK/Certificates/index.json new file mode 100644 index 00000000..1a94a783 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PK/Certificates/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificate Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PK/Certificates/1" + } + ], + "@Redfish.SupportedCertificates": [ + "PEM" + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PK/Certificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PK/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PK/index.json new file mode 100644 index 00000000..bd716697 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PK/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#SecureBootDatabase.v1_0_3.SecureBootDatabase", + "Id": "PK", + "Name": "PK - Platform Key", + "Description": "UEFI PK Secure Boot Database", + "DatabaseId": "PK", + "Certificates": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PK/Certificates/" + }, + "Actions": { + "#SecureBootDatabase.ResetKeys": { + "target": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PK/Actions/SecureBootDatabase.ResetKeys", + "ResetKeysType@Redfish.AllowableValues": [ + "ResetAllKeysToDefault", + "DeleteAllKeys" + ] + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PK", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PKDefault/Certificates/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PKDefault/Certificates/1/index.json new file mode 100644 index 00000000..1a760b4e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PKDefault/Certificates/1/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "1", + "Name": "PKDefault Certificate", + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIDbTCCAlWgAwIBAgIUAZjZIHcy1np+3qP8RaHzTWaghuQwDQYJKoZIhvcNAQEL\nBQAwVjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdo\nMQ8wDQYDVQQKEwZMZW5vdm8xFzAVBgNVBAMTDkxlbm92byBVRUZJIFBLMB4XDTE3\nMDUyNzAzNTMzN1oXDTQxMDUyNzAzNTMzN1owVjELMAkGA1UEBhMCVVMxCzAJBgNV\nBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMQ8wDQYDVQQKEwZMZW5vdm8xFzAVBgNV\nBAMTDkxlbm92byBVRUZJIFBLMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC\nAQEA62pJedCNMZbqqqOfvpQb091Ov1SUZaAhIZl1GsaeZ9P0xHH1H93UdQSTA918\nqSHIxp31WLHdI+LiYEnJbXZgnJ2RhEPVXE55VvzUTI6zEV5elo5adnxXmXH7oz6x\n35nIBYCKGayfM+jg/S1oJr5s5H9/67M88nijZS/8dDg29UTVcu+YM4IgbNhY48Gi\nrPG+iIQ4kh4PcdPY+SAEHIxD94HhlTQHnrLrWjF9hdepVty48KrqcQYfKmsUAJ6M\nzyxYIyIEJSG61Lv49DlbPppC7uVjVV+laPwJyzoqg5c1lkhz0HaODy0OI7i8gTiH\nAe2vGt6liKQbsDvXS/Xy8kmn8wIDAQABozMwMTAPBgNVHRMBAf8EBTADAQH/MA4G\nA1UdDwEB/wQEAwICBDAOBgNVHQ8BAf8EBAMCB4AwDQYJKoZIhvcNAQELBQADggEB\nAAl2n3X/rZSKQju2AbBcmuRnPUXwqih5Qql+oOYzsE3XaZC1vILAAJLBUcHvbGkL\n40JQ9NaUAzxsaeERoMl7vneyNTutY03tmIDdC0nYzN9eEZO0GSEAVKoxgxLZ+od3\na2yGZ9htjCvaqUNniOlXCKQ0T595Z24mwY20F/ras1j8WXAYjyiCBUDpWi70VAdB\n0aCpZzterITmo7ymx7zK2hHIaYbRlXIXLMesdfSS/4hSLR49SvfVbOcnajdfmcI/\nXIWNRE/Xvg17lrgjMZ0vdU4wCVe2sAh6ckB45tJM/v97ICCZZld0Ee8IH1ayabmo\njSgtuHs9sxviahyMDv3gEGk=\n-----END CERTIFICATE-----", + "CertificateType": "PEM", + "Issuer": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "PK.contoso.org" + }, + "Subject": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "Contoso UEFI PK" + }, + "ValidNotBefore": "2018-09-07T13:22:05Z", + "ValidNotAfter": "2041-09-07T13:22:05Z", + "KeyUsage": [ + "KeyCertSign", + "DigitalSignature" + ], + "UefiSignatureOwner": "5491316d-9694-4639-b72d-b8630ffa7dab", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PKDefault/Certificates/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PKDefault/Certificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PKDefault/Certificates/index.json new file mode 100644 index 00000000..336a16dc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PKDefault/Certificates/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificate Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PKDefault/Certificates/1" + } + ], + "@Redfish.SupportedCertificates": [ + "PEM" + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PKDefault/Certificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PKDefault/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PKDefault/index.json new file mode 100644 index 00000000..5b65aaa0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PKDefault/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SecureBootDatabase.v1_0_3.SecureBootDatabase", + "Id": "PKDefault", + "Name": "PKDefault - Default Platform Key", + "Description": "UEFI PKDefault Secure Boot Database", + "DatabaseId": "PKDefault", + "Certificates": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PKDefault/Certificates/" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PKDefault", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/1/index.json new file mode 100644 index 00000000..d9c24126 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/1/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "1", + "Name": "Contoso db Certificate", + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIDbTCCAlWgAwIBAgIUO2MdJt2cTCGr0eO4PiBV5Uk0b/IwDQYJKoZIhvcNAQEL\nBQAwVjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdo\nMQ8wDQYDVQQKEwZMZW5vdm8xFzAVBgNVBAMTDkxlbm92byBVRUZJIERCMB4XDTE3\nMDMxNTIxMTYzNFoXDTQxMDMxNTIxMTYzNFowVjELMAkGA1UEBhMCVVMxCzAJBgNV\nBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMQ8wDQYDVQQKEwZMZW5vdm8xFzAVBgNV\nBAMTDkxlbm92byBVRUZJIERCMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC\nAQEA1ezmdoBlk5yDVuXw8F774CvllhMz9bT0/TpH3kmRpPAizSRDzbHLUuBMC6SE\nW4zjdLxTqOlwZt6UUcWxlyzKcoDPe43cE6YH1kM/rscvm3AaVL+4GcyGgS9DL6qe\nQFHWER25xCTokMsCdKB42Ty7hWW5FBPepgAS+GDfqQfb/4hoonIlen5X+dqVIsE/\nRM1DIVBUiIbJdgERYeoGjY/Rh4A1VWl6ErzyzokYnf63JjSFR2kVV0apbr4ISOTM\n7qBd1RNHwQrCAryRADX1XGvRZURzwQdEXfOqZOkVjNKr1fD761qvPE8TQWWJ9Q8r\nmciMocIXqoqWKPAkgbMwKmcsFQIDAQABozMwMTAPBgNVHRMBAf8EBTADAQH/MA4G\nA1UdDwEB/wQEAwICBDAOBgNVHQ8BAf8EBAMCB4AwDQYJKoZIhvcNAQELBQADggEB\nAJ2U0UjB+sxF/HE5sY56vJbdFITl8o0Yf7XJImL0VTgpYjfeqiE768G2uTUbzCKy\nhDOps3+4w4p8FUSO6StzCz6UuUyxlUjQzpkxZ97Ouq1sGhjy7dZybTEByJD6LpI7\nl1EpJSfBiwxTdm7svJoABKs8Hs7e9f3XX5PK76SxllMbDaxAm7UvCppYBBR1SeyC\ngWt3rGRiO3W6pfd07ioCD03kgGzYNOZeU2S+maE1Xt4kUoYs3HXyrhJGfN26gM8h\n4w5LfCKrlxi+3KMf+vXxEBfGYBvjwcA7KCW92GnUQGVjZbEGs6EaTBx7i9gA2+te\noWS/500qiwNRp2xqdBxg1d0=\n-----END CERTIFICATE-----", + "CertificateType": "PEM", + "Issuer": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "db.contoso.org" + }, + "Subject": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "Contoso UEFI db" + }, + "ValidNotBefore": "2018-09-07T13:22:05Z", + "ValidNotAfter": "2041-09-07T13:22:05Z", + "KeyUsage": [ + "KeyCertSign", + "DigitalSignature" + ], + "UefiSignatureOwner": "5491316d-9694-4639-b72d-b8630ffa7dab", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/2/index.json new file mode 100644 index 00000000..6038a08b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/2/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "2", + "Name": "Microsoft Corporation UEFI CA Certificate", + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIDbzCCAlegAwIBAgIUf2b1tKa8CXy2shrPf6i1mIwnRTcwDQYJKoZIhvcNAQEL\nBQAwVzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdo\nMQ8wDQYDVQQKEwZMZW5vdm8xGDAWBgNVBAMTD0xlbm92byBVRUZJIEtFSzAeFw0x\nNzA1MjcwMzU0NDJaFw00MTA1MjcwMzU0NDJaMFcxCzAJBgNVBAYTAlVTMQswCQYD\nVQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEPMA0GA1UEChMGTGVub3ZvMRgwFgYD\nVQQDEw9MZW5vdm8gVUVGSSBLRUswggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\nAoIBAQDCu6lcSg/MmtcXRGPmxSaMRuFUa/Hoge40OnklJ936OYqPTTZGPZMld0mq\nzrfW/jZ7YYbtbS2vLTU4uzKo6YHRgp+IlAalmXZNh+D1MsJpJ1zqbxkcBW/ohPZY\nTgNPugYeVw+kbcunxQPqa6dvgidGu6qo3uLCJ0kWmZeCqGLgJ8NkKyGpiALALCcK\njVHNd87WUVnf9V1VsqRGytIOk42VbxBjuP1yS/nW1yJ+9wmftYtDy6/MuFT7DIM7\n1cVsRZGlM0WZbfVxHVAd8KGOvsXMOu7vgfKrLd/ZOWwtk+Iqthg23+Cc7aY2tc9q\nS1pa378idhbY8beJIyjCQgdheL8vAgMBAAGjMzAxMA8GA1UdEwEB/wQFMAMBAf8w\nDgYDVR0PAQH/BAQDAgIEMA4GA1UdDwEB/wQEAwIHgDANBgkqhkiG9w0BAQsFAAOC\nAQEAtcTQVLt/t8ijoB6Na4pvdtG0c11ZG9vJvx0mZEgp30VUwgWPqnlAmkA5RNhh\nate/fGNvwAuyJZjiHJ4nqtJ9/pEDc+RMnPiGZDzKZcZlYiqOwod6nZklGw6X3f45\nxmiM+YYfeY1vlptTnm2FyuFtgqiJ6lAVJ4c17KyrsDBw79G/3hsB9H3E8YeyA0kq\nXELejPl9JSSCvY6+KtO/BFRR36Q1Xwz9lUWI+tLkAiOLIgLsJBu4ADX276pCGGTw\nIj9pRcFEjGwp3iwXid4323b36iLiUDyQTkBGjzZlIZekSS+BMEyZ9RKoIyrxyUjC\npmPlF6edID9hg2iv9pPjGfFfKQ==\n-----END CERTIFICATE-----", + "CertificateType": "PEM", + "Issuer": { + "Country": "US", + "State": "Washington", + "City": "Redmond", + "Organization": "Microsoft Corporation", + "CommonName": "Microsoft Corporation Third Party Marketplace Root" + }, + "Subject": { + "Country": "US", + "State": "Washington", + "City": "Redmond", + "Organization": "Microsoft Corporation", + "CommonName": "Microsoft Corporation UEFI CA 2011" + }, + "ValidNotBefore": "2011-06-27T14:22:45Z", + "ValidNotAfter": "2026-06-27T14:32:45Z", + "KeyUsage": [ + "KeyCertSign", + "DigitalSignature", + "CRLSigning" + ], + "UefiSignatureOwner": "77fa9abd-0359-4d32-bd60-28f4e78f784b", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/3/index.json new file mode 100644 index 00000000..d5265d78 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/3/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "3", + "Name": "Microsoft Corporation Windows Production Certificate", + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIF1zCCA7+gAwIBAgIKYQd2VgAAAAAACDANBgkqhkiG9w0BAQsFADCBiDELMAkG\nA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx\nHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9z\nb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTAwHhcNMTExMDE5MTg0\nMTQyWhcNMjYxMDE5MTg1MTQyWjCBhDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldh\nc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBD\nb3Jwb3JhdGlvbjEuMCwGA1UEAxMlTWljcm9zb2Z0IFdpbmRvd3MgUHJvZHVjdGlv\nbiBQQ0EgMjAxMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAN0Mu6Lk\nLgnj58X3lmm8ACG9aTMz760Ey1SA7gaDu8UghNn30ovzOLCrpK0tfGJ5Bf/jSj8E\nNSBw48Tna+CcwDZ16Yox3Y1w5dw3tXRGlihbh2AjLL/cR6Vn91EnnnLrB6bJuR47\nUzV85dPsJ7mHHP65ySMJb6hGkcFuljxB08ujP10Cak3saR8lKFw2//1DFQqU4Bm0\nz9/CEuLCWyfuJ3gwi1sqCWsiiVNgFizAaB1TuuxJ851hjIVoCXNEXX2iVCvdefcV\nzzVdbBwrXM68nCOLb261Jtk2E8NP1ieuuTI7QZIs4cfNd+iqVE73XAsEh2W0Qxio\nsuBtGXfsWiT6SAMCAwEAAaOCAUMwggE/MBAGCSsGAQQBgjcVAQQDAgEAMB0GA1Ud\nDgQWBBSpKQI5jhbEl3jNkPmeT5rhfFWvUzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\nAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTV\n9lbLj+iiXGJo0T2UkFvXzpoYxDBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8vY3Js\nLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXRfMjAx\nMC0wNi0yMy5jcmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5odHRwOi8v\nd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dF8yMDEwLTA2\nLTIzLmNydDANBgkqhkiG9w0BAQsFAAOCAgEAFPx8cVGlecJusu85Prw8Ug9uKz8Q\nE3P+qGjQSKY0TYqWBSbuMUaQYXnW/zguRWv0wOUouNodj4rbCdcax0wKNmZqjOwb\n1wSQqBgXpJu54kAyNnbEwVrGv+QEwOoW06zDaO9irN1UbFAwWKbrfP6Up06O9Ox8\nhnNXwlIhczRa86OKVsgE2gcJ7fiL4870fo6u8PYLigj7P8kdcn9TuOu+Y+DjPTFl\nsIHl8qzNFqSfPaixm8JC0JCEX1Qd/4nquh1HkG+wc05Bn0CfX+WhKrIRkXOKISjw\nzt5zOV8+q1xg7N8DEKjTCen09paFtn9RiGZHGY2isBI9gSpoBXe7kUxie7bBB8e6\neoc0Aw5LYnqZ6cr8zko3yS2kV3wc/j3cuA9a+tbEswKFAjrqs9lu5GkhN96B0fZ1\nGQVn05NXXikbOcjuLeHN5EVzW9DSznqrFhmCRljQXp2Bs2evbDXyvOU/JOI1ogp1\nBvYYVpnUeCzRBRvr0IgBnaoQ8QXfun4sY7cGmyMhxPl4bOJYFwY2K5ESA8yk2fIt\nuvmUnUDtGEXxzopcaz6rA9NwGCoKauBfR9HVYwoy8q/XNh8qcFrlQlkIcUtXun6D\ngfAhPPQcwcW5kJMOiEWThumxIJm+mMvFlaRdYtagYwggvXUQd30980W5n5efy1eA\nbzOpBM93pGIcWX4=\n-----END CERTIFICATE-----", + "CertificateType": "PEM", + "Issuer": { + "Country": "US", + "State": "Washington", + "City": "Redmond", + "Organization": "Microsoft Corporation", + "CommonName": "Microsoft Root Certificate Authority 2010" + }, + "Subject": { + "Country": "US", + "State": "Washington", + "City": "Redmond", + "Organization": "Microsoft Corporation", + "CommonName": "Microsoft Windows Production PCA 2011" + }, + "ValidNotBefore": "2011-10-19T11:41:42Z", + "ValidNotAfter": "2026-10-19T11:51:42Z", + "KeyUsage": [ + "KeyCertSign", + "DigitalSignature", + "CRLSigning" + ], + "UefiSignatureOwner": "77fa9abd-0359-4d32-bd60-28f4e78f784b", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/index.json new file mode 100644 index 00000000..f7e927ff --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificate Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/2" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/3" + } + ], + "@Redfish.SupportedCertificates": [ + "PEM" + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Signatures/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Signatures/1/index.json new file mode 100644 index 00000000..82f5dabe --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Signatures/1/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#Signature.v1_0_3.Signature", + "Id": "1", + "Name": "SHA256 Signature", + "SignatureString": "80B4D96931BF0D02FD91A61E19D14F1DA452E66DB2408CA8604D411F92659F0A", + "SignatureTypeRegistry": "UEFI", + "SignatureType": "EFI_CERT_SHA256_GUID", + "UefiSignatureOwner": "28d5e212-165b-4ca0-909b-c86b9cee0112", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Signatures/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Signatures/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Signatures/index.json new file mode 100644 index 00000000..fdb6a0ba --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Signatures/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SignatureCollection.SignatureCollection", + "Name": "Signature Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Signatures/1" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Signatures", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/index.json new file mode 100644 index 00000000..cb53738f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#SecureBootDatabase.v1_0_3.SecureBootDatabase", + "Id": "db", + "Name": "db - Authorized Signature Database", + "Description": "UEFI db Secure Boot Database", + "DatabaseId": "db", + "Certificates": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/" + }, + "Signatures": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Signatures/" + }, + "Actions": { + "#SecureBootDatabase.ResetKeys": { + "target": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Actions/SecureBootDatabase.ResetKeys", + "ResetKeysType@Redfish.AllowableValues": [ + "ResetAllKeysToDefault", + "DeleteAllKeys" + ] + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbDefault/Signatures/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbDefault/Signatures/1/index.json new file mode 100644 index 00000000..d6b9b05f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbDefault/Signatures/1/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#Signature.v1_0_3.Signature", + "Id": "1", + "Name": "SHA256 Signature", + "SignatureString": "80B4D96931BF0D02FD91A61E19D14F1DA452E66DB2408CA8604D411F92659F0A", + "SignatureTypeRegistry": "UEFI", + "SignatureType": "EFI_CERT_SHA256_GUID", + "UefiSignatureOwner": "28d5e212-165b-4ca0-909b-c86b9cee0112", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbDefault/Signatures/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbDefault/Signatures/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbDefault/Signatures/index.json new file mode 100644 index 00000000..979fc3ac --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbDefault/Signatures/index.json @@ -0,0 +1,8 @@ +{ + "@odata.type": "#SignatureCollection.SignatureCollection", + "Name": "Signature Collection", + "Members@odata.count": 0, + "Members": [], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbDefault/Signatures", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbDefault/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbDefault/index.json new file mode 100644 index 00000000..850713c4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbDefault/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SecureBootDatabase.v1_0_3.SecureBootDatabase", + "Id": "dbDefault", + "Name": "dbDefault - Default Authorized Signature Database", + "Description": "UEFI dbDefault Secure Boot Database", + "DatabaseId": "dbDefault", + "Signatures": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbDefault/Signatures/" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbDefault", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Certificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Certificates/index.json new file mode 100644 index 00000000..f56acf3c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Certificates/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificate Collection", + "Members@odata.count": 0, + "Members": [], + "@Redfish.SupportedCertificates": [ + "PEM" + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Certificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/1/index.json new file mode 100644 index 00000000..66410106 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/1/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#Signature.v1_0_3.Signature", + "Id": "1", + "Name": "SHA256 Signature", + "SignatureString": "0000000000000000000000000000000000000000000000000000000000000000", + "SignatureTypeRegistry": "UEFI", + "SignatureType": "EFI_CERT_SHA256_GUID", + "UefiSignatureOwner": "00000000-0000-0000-0000-000000000000", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/2/index.json new file mode 100644 index 00000000..160d0640 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/2/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#Signature.v1_0_3.Signature", + "Id": "2", + "Name": "SHA256 Signature", + "SignatureString": "AF460B2C71D4BA303980B38CD9A09A9FC092D9B0DDBC9ADF824BF6C72CD980AB", + "SignatureTypeRegistry": "UEFI", + "SignatureType": "EFI_CERT_SHA256_GUID", + "UefiSignatureOwner": "b30f32b3-eca0-41a6-3777-a22bcf62cab2", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/3/index.json new file mode 100644 index 00000000..609e6642 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/3/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#Signature.v1_0_3.Signature", + "Id": "3", + "Name": "SHA256 Signature", + "SignatureString": "ACD161952F7B443BF2E83F9AFC7E0F972CB4448DA3814A7F8047584F2102E7B7", + "SignatureTypeRegistry": "UEFI", + "SignatureType": "EFI_CERT_SHA256_GUID", + "UefiSignatureOwner": "b30f32b3-eca0-41a6-3777-a22bcf62cab2", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/index.json new file mode 100644 index 00000000..ae69615d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#SignatureCollection.SignatureCollection", + "Name": "Signature Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/2" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/3" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/index.json new file mode 100644 index 00000000..b2ea94ba --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#SecureBootDatabase.v1_0_3.SecureBootDatabase", + "Id": "dbx", + "Name": "dbx - Forbidden Signature Database", + "Description": "UEFI dbx Secure Boot Database", + "DatabaseId": "dbx", + "Certificates": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Certificates/" + }, + "Signatures": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/" + }, + "Actions": { + "#SecureBootDatabase.ResetKeys": { + "target": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Actions/SecureBootDatabase.ResetKeys", + "ResetKeysType@Redfish.AllowableValues": [ + "ResetAllKeysToDefault", + "DeleteAllKeys" + ] + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbxDefault/Signatures/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbxDefault/Signatures/1/index.json new file mode 100644 index 00000000..4de68b67 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbxDefault/Signatures/1/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#Signature.v1_0_3.Signature", + "Id": "1", + "Name": "SHA256 Signature", + "SignatureString": "0000000000000000000000000000000000000000000000000000000000000000", + "SignatureTypeRegistry": "UEFI", + "SignatureType": "EFI_CERT_SHA256_GUID", + "UefiSignatureOwner": "00000000-0000-0000-0000-000000000000", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbxDefault/Signatures/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbxDefault/Signatures/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbxDefault/Signatures/index.json new file mode 100644 index 00000000..8db7ff0a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbxDefault/Signatures/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SignatureCollection.SignatureCollection", + "Name": "Signature Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Signatures/1" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbxDefault/Signatures", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbxDefault/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbxDefault/index.json new file mode 100644 index 00000000..723a4088 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbxDefault/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SecureBootDatabase.v1_0_3.SecureBootDatabase", + "Id": "dbxDefault", + "Name": "dbxDefault - Default Forbidden Signature Database", + "Description": "UEFI dbxDefault Secure Boot Database", + "DatabaseId": "dbxDefault", + "Signatures": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbxDefault/Signatures/" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbxDefault", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/index.json new file mode 100644 index 00000000..b755d26c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#SecureBootDatabaseCollection.SecureBootDatabaseCollection", + "Name": "UEFI SecureBoot Database Collection", + "Members@odata.count": 8, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PK" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PKDefault" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbDefault" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbxDefault" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/index.json new file mode 100644 index 00000000..86fe0a1f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SecureBoot/index.json @@ -0,0 +1,23 @@ +{ + "@odata.type": "#SecureBoot.v1_2_1.SecureBoot", + "Id": "SecureBoot", + "Name": "UEFI Secure Boot", + "Actions": { + "#SecureBoot.ResetKeys": { + "target": "/redfish/v1/Systems/437XR1138R2/SecureBoot/Actions/SecureBoot.ResetKeys", + "ResetKeysType@Redfish.AllowableValues": [ + "ResetAllKeysToDefault", + "DeleteAllKeys", + "DeletePK" + ] + } + }, + "SecureBootEnable": false, + "SecureBootCurrentBoot": "Disabled", + "SecureBootMode": "UserMode", + "SecureBootDatabases": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SimpleStorage/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SimpleStorage/1/index.json new file mode 100644 index 00000000..b126769d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SimpleStorage/1/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#SimpleStorage.v1_3_2.SimpleStorage", + "Id": "1", + "Name": "Simple Storage Controller", + "Description": "System SATA", + "UefiDevicePath": "Acpi(PNP0A03,0)/Pci(1F|1)/Ata(Primary,Master)/HD(Part3, Sig00110011)", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "Warning" + }, + "Devices": [ + { + "Name": "SATA Bay 1", + "Manufacturer": "Contoso", + "Model": "3000GT8", + "CapacityBytes": 8000000000000, + "Status": { + "State": "Enabled", + "Health": "OK" + } + }, + { + "Name": "SATA Bay 2", + "Manufacturer": "Contoso", + "Model": "3000GT7", + "CapacityBytes": 4000000000000, + "Status": { + "State": "Enabled", + "Health": "Warning" + } + }, + { + "Name": "SATA Bay 3", + "Status": { + "State": "Absent" + } + }, + { + "Name": "SATA Bay 4", + "Status": { + "State": "Absent" + } + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SimpleStorage/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SimpleStorage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SimpleStorage/index.json new file mode 100644 index 00000000..c876f426 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/SimpleStorage/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SimpleStorageCollection.SimpleStorageCollection", + "Name": "Simple Storage Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SimpleStorage/1" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SimpleStorage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/USBControllers/USB1/Ports/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/USBControllers/USB1/Ports/1/index.json new file mode 100644 index 00000000..97083d32 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/USBControllers/USB1/Ports/1/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "1", + "Name": "USB Port 1", + "Description": "USB Port 1", + "Enabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "1", + "PortProtocol": "USB", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 0.12, + "Width": 1, + "MaxSpeedGbps": 10, + "CurrentProtocolVersion": "2.0", + "CapableProtocolVersions": [ + "1.0", + "1.1", + "2.0", + "3.0", + "3.1" + ], + "Location": { + "PartLocation": { + "ServiceLabel": "USB 1", + "LocationOrdinalValue": 1, + "LocationType": "Connector", + "Orientation": "TopToBottom", + "Reference": "Front" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/USBControllers/USB1/Ports/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/USBControllers/USB1/Ports/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/USBControllers/USB1/Ports/2/index.json new file mode 100644 index 00000000..47d3efa9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/USBControllers/USB1/Ports/2/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "2", + "Name": "USB Port 2", + "Description": "USB Port 2", + "Enabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "2", + "PortProtocol": "USB", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 0, + "Width": 1, + "MaxSpeedGbps": 10, + "CurrentProtocolVersion": null, + "CapableProtocolVersions": [ + "1.0", + "1.1", + "2.0", + "3.0", + "3.1" + ], + "Location": { + "PartLocation": { + "ServiceLabel": "USB 2", + "LocationOrdinalValue": 2, + "LocationType": "Connector", + "Orientation": "TopToBottom", + "Reference": "Front" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/USBControllers/USB1/Ports/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/USBControllers/USB1/Ports/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/USBControllers/USB1/Ports/index.json new file mode 100644 index 00000000..9ced2a02 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/USBControllers/USB1/Ports/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "Port Collection", + "Description": "USB Port Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/USBControllers/USB1/Ports/1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/USBControllers/USB1/Ports/2" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/USBControllers/USB1/Ports", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/USBControllers/USB1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/USBControllers/USB1/index.json new file mode 100644 index 00000000..c622bce7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/USBControllers/USB1/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#USBController.v1_0_1.USBController", + "Id": "USB1", + "Name": "Contoso USB Controller 1", + "Manufacturer": "Contoso", + "Model": "USBv3", + "SKU": "80937", + "SerialNumber": "2M220100SL", + "PartNumber": "G37891", + "SparePartNumber": "G37890", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Ports": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/USBControllers/USB1/Ports" + }, + "Links": { + "Processors": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU2" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/USBControllers/USB1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/USBControllers/USB2/Ports/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/USBControllers/USB2/Ports/1/index.json new file mode 100644 index 00000000..e86fc23c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/USBControllers/USB2/Ports/1/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "1", + "Name": "USB Port 3", + "Description": "USB Port 3", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "3", + "PortProtocol": "USB", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 0.12, + "Width": 1, + "MaxSpeedGbps": 0.48, + "CurrentProtocolVersion": "2.0", + "CapableProtocolVersions": [ + "1.0", + "1.1", + "2.0" + ], + "Location": { + "PartLocation": { + "ServiceLabel": "USB 3", + "LocationOrdinalValue": 3, + "LocationType": "Connector", + "Orientation": "TopToBottom", + "Reference": "Front" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/USBControllers/USB2/Ports/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/USBControllers/USB2/Ports/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/USBControllers/USB2/Ports/2/index.json new file mode 100644 index 00000000..fcddd53a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/USBControllers/USB2/Ports/2/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "2", + "Name": "USB Port 4", + "Description": "USB Port 4", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "4", + "PortProtocol": "USB", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 0, + "Width": 1, + "MaxSpeedGbps": 0.48, + "CurrentProtocolVersion": null, + "CapableProtocolVersions": [ + "1.0", + "1.1", + "2.0" + ], + "Location": { + "PartLocation": { + "ServiceLabel": "USB 4", + "LocationOrdinalValue": 4, + "LocationType": "Connector", + "Orientation": "TopToBottom", + "Reference": "Front" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/USBControllers/USB2/Ports/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/USBControllers/USB2/Ports/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/USBControllers/USB2/Ports/index.json new file mode 100644 index 00000000..6dde9faf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/USBControllers/USB2/Ports/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "Port Collection", + "Description": "USB Port Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/USBControllers/USB2/Ports/1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/USBControllers/USB2/Ports/2" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/USBControllers/USB2/Ports", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/USBControllers/USB2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/USBControllers/USB2/index.json new file mode 100644 index 00000000..6fda74e3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/USBControllers/USB2/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#USBController.v1_0_1.USBController", + "Id": "USB2", + "Name": "Contoso USB Controller 2", + "Manufacturer": "Contoso", + "Model": "USBv2", + "SKU": "80937", + "SerialNumber": "2M220100SL", + "PartNumber": "G37891", + "SparePartNumber": "G37890", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Ports": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/USBControllers/USB2/Ports" + }, + "Links": { + "Processors": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU2" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/USBControllers/USB2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/USBControllers/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/USBControllers/index.json new file mode 100644 index 00000000..9ad1a365 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/USBControllers/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#USBControllerCollection.USBControllerCollection", + "Name": "USBControllers", + "Description": "Redfish USB Controllers", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/USBControllers/USB1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/USBControllers/USB2" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/USBControllers", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/VirtualMedia/CD1/Certificates/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/VirtualMedia/CD1/Certificates/1/index.json new file mode 100644 index 00000000..83610528 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/VirtualMedia/CD1/Certificates/1/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "1", + "Name": "HTTPS Certificate", + "CertificateString": "------BEGIN CERTIFICATE-----\nMIIFvzCCA6egAwIBAgIJAIkDi2/oWYwhMA0GCSqGSIb3DQEBCwUAMHYxCzAJBgNV\nBAYTAlVTMQ8wDQYDVQQIDAZPcmVnb24xETAPBgNVBAcMCFBvcnRsYW5kMRAwDgYD\nVQQKDAdDb250b3NvMRYwFAYDVQQLDA1JbWFnZSBIb3N0aW5nMRkwFwYDVQQDDBBy\nZWRmaXNoLmRtdGYub3JnMB4XDTIxMDkyMjIwNTAwOFoXDTIyMDkyMjIwNTAwOFow\ndjELMAkGA1UEBhMCVVMxDzANBgNVBAgMBk9yZWdvbjERMA8GA1UEBwwIUG9ydGxh\nbmQxEDAOBgNVBAoMB0NvbnRvc28xFjAUBgNVBAsMDUltYWdlIEhvc3RpbmcxGTAX\nBgNVBAMMEHJlZGZpc2guZG10Zi5vcmcwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw\nggIKAoICAQCwxEYgPsHZSjY9FRcJRIB/EkUqHSOXoMlSSM250Ju6Fd3TY3yl3G1a\nccUskvQS1iYQbasPvyi8hOJE4rKIz/4CKPvZjMun+flHGktIb33wjIuxenzj8UoK\nuPYsEQc5HNB9NUwqrPT1PHob75CdYOZSJoqQqSX4LZpiYNKHRgI/njaLzzn8HRBI\nxk/pUj23i11uZtriQKBUY8lQuDiDr7MyuFOOk3x6+vdgzWSkJD6NA/tUAchy5SwQ\n8P368KT7ZM9KCirzWgNCKG51aNzrc8qY/Y7180/Emca2JQR3jPuI/HTp9C8cril/\nb1bFIWgVHJivehjLjBhA+HS8hk0j76RyqfKr/emRshW/2ch3LOsa2G8Bv8qD2BBX\naJ/zfS+WuN1T/ekOOEdP9G1HNxVGdr+WV4zDyFQxDJnKCLIQxc4RMX9iNIIa1w9z\n8ZMCtzb4Fwtkan0Pf/VP7zjBo1V3WgVs/2LSy0+cKMUTUUJTDUo4NQFt+cbArDqR\nGYoChCc/0foaaZUOmZ7pMWg4MeVr3eh9ZrSofhEFiS+SWNzdlUf2XXKa+xXOmUw4\n+yB3+zW4FBduKqBVL04XS4ruVxl0dYP7h2n9Qjp6N7eYBGsfPIFFKvHCTNeZuFrX\nEJNheFrJwBTre9Any7FtRESS+MzqmDSX4ErBuR6iwQtVTp59LN8gzwIDAQABo1Aw\nTjAdBgNVHQ4EFgQUzSniTsBoaxfcA+IL+bVV+9GS9OYwHwYDVR0jBBgwFoAUzSni\nTsBoaxfcA+IL+bVV+9GS9OYwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOC\nAgEAaX0gqlyvn7iFfD9YR+frnBwcKDC85gQULTc1JlV3ybWl63fEb/SD7EGYp8kU\n/4LkO3Ig/qqSMIkMp+IHvjkhCFW6BP3j4NwBRmXWwDK/AjVODGpucu6HjhJ4cT1c\n2dxNz+TYgghuArdnBxKObcrgOmSzB0j3fcFqXJB5YJNWMd/K0MpdCGwwH4J2GM+2\nxH4Sf/48txQ0bkVqBzT1QstWCF4ZEoStSfTviw6XnqOvXlGoBEn2Yw7RnGUitHwd\nK+g77V/ReFkJ/SJimYUCt1h04Bt7BsFLICOPmZ+YsDtr5D6NxOvh+ixtQ//MfXTl\n6REiSugnJ7hxymfmF8GIiXxJ05aXTFZfSah3P+77L6Vtfabjnzdq7elHP3lPKSBz\nQZr5AK/TiPO+RbMGK54vhiaEHgTVJ8YNNxrTugknwx6jd2jPmjXJreBfj1WfsX8i\npbIcipdfJfeH7QsTkaiTq78Cxx/nHARKpF0dh/YwgYvLbDYHz1h3nxrH95VemOAK\nrWe1MGZx8bO0w87qKsMAexo313MhssUgRr8gzUQfkGTlYCbAwXu1JOWxHaXtDBRE\n/u7mvf2qSQiYokPhBAm26VHPv8gyb6XowcPI6ZSxKTEidgwDkyWUzlvCa3k9hdLm\nKFN7+DYh2oeVCrbxsXM1U/35/Is7+Pu8TOvJY5uQsO3+w9M=\n-----END CERTIFICATE-----", + "CertificateType": "PEM", + "Issuer": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "Image Hosting", + "CommonName": "redfish.dmtf.org" + }, + "Subject": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "Image Hosting", + "CommonName": "redfish.dmtf.org" + }, + "ValidNotBefore": "2021-09-22T20:50:08Z", + "ValidNotAfter": "2022-09-22T20:50:08Z", + "KeyUsage": [ + "KeyEncipherment", + "ServerAuthentication" + ], + "SerialNumber": "89:03:8B:6F:E8:59:8C:21", + "Fingerprint": "5C:58:1E:1E:11:17:A1:03:68:3C:12:8A:D4:F2:DD:10:45:15:93:61", + "FingerprintHashAlgorithm": "TPM_ALG_SHA1", + "SignatureAlgorithm": "sha256WithRSAEncryption", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/VirtualMedia/CD1/Certificates/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/VirtualMedia/CD1/Certificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/VirtualMedia/CD1/Certificates/index.json new file mode 100644 index 00000000..db512fed --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/VirtualMedia/CD1/Certificates/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificate Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/VirtualMedia/CD1/Certificates/1" + } + ], + "@Redfish.SupportedCertificates": [ + "PEM" + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/VirtualMedia/CD1/Certificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/VirtualMedia/CD1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/VirtualMedia/CD1/index.json new file mode 100644 index 00000000..b27992eb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/VirtualMedia/CD1/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#VirtualMedia.v1_7_0.VirtualMedia", + "Id": "CD1", + "Name": "Virtual CD", + "MediaTypes": [ + "CD", + "DVD" + ], + "Image": "redfish.dmtf.org/freeImages/freeOS.1.1.iso", + "ImageName": "mymedia-read-only", + "ConnectedVia": "Applet", + "Inserted": true, + "WriteProtected": false, + "VerifyCertificate": true, + "Certificates": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/VirtualMedia/CD1/Certificates" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/VirtualMedia/CD1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/VirtualMedia/Floppy1/Certificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/VirtualMedia/Floppy1/Certificates/index.json new file mode 100644 index 00000000..2f8168cf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/VirtualMedia/Floppy1/Certificates/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificate Collection", + "Members@odata.count": 0, + "Members": [], + "@Redfish.SupportedCertificates": [ + "PEM" + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/VirtualMedia/Floppy1/Certificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/VirtualMedia/Floppy1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/VirtualMedia/Floppy1/index.json new file mode 100644 index 00000000..f73f1d35 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/VirtualMedia/Floppy1/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#VirtualMedia.v1_7_0.VirtualMedia", + "Id": "Floppy1", + "Name": "Virtual Removable Media", + "MediaTypes": [ + "Floppy", + "USBStick" + ], + "Image": "https://www.dmtf.org/freeImages/Sardine.img", + "ImageName": "Sardine2.1.43.35.6a", + "ConnectedVia": "URI", + "Inserted": true, + "WriteProtected": false, + "VerifyCertificate": false, + "Certificates": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/VirtualMedia/Floppy1/Certificates" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/VirtualMedia/Floppy1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/VirtualMedia/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/VirtualMedia/index.json new file mode 100644 index 00000000..7f5d887a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/VirtualMedia/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#VirtualMediaCollection.VirtualMediaCollection", + "Name": "Virtual Media Services", + "Description": "Virtual Media Service Settings", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/VirtualMedia/Floppy1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/VirtualMedia/CD1" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/VirtualMedia", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/index.json new file mode 100644 index 00000000..bffa15be --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/437XR1138R2/index.json @@ -0,0 +1,162 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "437XR1138R2", + "Name": "WebFrontEnd483", + "SystemType": "Physical", + "AssetTag": "Chicago-45Z-2381", + "Manufacturer": "Contoso", + "Model": "3500", + "SubModel": "RX", + "SKU": "8675309", + "SerialNumber": "437XR1138R2", + "PartNumber": "224071-J23", + "Description": "Web Front End node", + "UUID": "38947555-7742-3448-3784-823347823834", + "HostName": "web483", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "HostingRoles": [ + "ApplicationServer" + ], + "IndicatorLED": "Off", + "PowerState": "On", + "Boot": { + "BootSourceOverrideEnabled": "Once", + "BootSourceOverrideTarget": "Pxe", + "BootSourceOverrideTarget@Redfish.AllowableValues": [ + "None", + "Pxe", + "Cd", + "Usb", + "Hdd", + "BiosSetup", + "Utilities", + "Diags", + "SDCard", + "UefiTarget" + ], + "BootSourceOverrideMode": "UEFI", + "UefiTargetBootSourceOverride": "/0x31/0x33/0x01/0x01" + }, + "TrustedModules": [ + { + "FirmwareVersion": "1.13b", + "InterfaceType": "TPM1_2", + "Status": { + "State": "Enabled", + "Health": "OK" + } + } + ], + "Oem": { + "Contoso": { + "@odata.type": "#Contoso.ComputerSystem", + "ProductionLocation": { + "FacilityName": "PacWest Production Facility", + "Country": "USA" + } + }, + "Chipwise": { + "@odata.type": "#Chipwise.ComputerSystem", + "Style": "Executive" + } + }, + "BootProgress": { + "LastState": "OSRunning", + "LastStateTime": "2021-03-13T04:14:13+06:00", + "LastBootTimeSeconds": 676 + }, + "LastResetTime": "2021-03-13T04:02:57+06:00", + "BiosVersion": "P79 v1.45 (12/06/2017)", + "ProcessorSummary": { + "Count": 2, + "Model": "Multi-Core Intel(R) Xeon(R) processor 7xxx Series", + "LogicalProcessorCount": 16, + "CoreCount": 8, + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + } + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 96, + "TotalSystemPersistentMemoryGiB": 0, + "MemoryMirroring": "None", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + } + }, + "Bios": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Bios" + }, + "SecureBoot": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot" + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces" + }, + "SimpleStorage": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SimpleStorage" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices" + }, + "GraphicsControllers": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/GraphicsControllers" + }, + "USBControllers": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/USBControllers" + }, + "Certificates": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Certificates" + }, + "VirtualMedia": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/VirtualMedia" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ] + }, + "Actions": { + "#ComputerSystem.Reset": { + "target": "/redfish/v1/Systems/437XR1138R2/Actions/ComputerSystem.Reset", + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "GracefulRestart", + "ForceRestart", + "Nmi", + "ForceOn", + "PushPowerButton" + ] + }, + "Oem": { + "#Contoso.Reset": { + "target": "/redfish/v1/Systems/437XR1138R2/Oem/Contoso/Actions/Contoso.Reset" + } + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/index.json new file mode 100644 index 00000000..af7ef3f8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/Systems/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ComputerSystemCollection.ComputerSystemCollection", + "Name": "Computer System Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + } + ], + "@odata.id": "/redfish/v1/Systems", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/TaskService/Tasks/545/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/TaskService/Tasks/545/index.json new file mode 100644 index 00000000..6a98ba02 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/TaskService/Tasks/545/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#Task.v1_7_4.Task", + "Id": "545", + "Name": "Task 545", + "TaskState": "Completed", + "StartTime": "2012-03-07T14:44:00+06:00", + "EndTime": "2012-03-07T14:45:00+06:00", + "TaskStatus": "OK", + "Messages": [ + { + "MessageId": "Base.1.0.PropertyNotWriteable", + "RelatedProperties": [ + "/SKU" + ], + "Message": "The property SKU is a read only property and cannot be assigned a value", + "MessageArgs": [ + "SKU" + ], + "Severity": "Warning" + } + ], + "@odata.id": "/redfish/v1/TaskService/Tasks/545", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/TaskService/Tasks/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/TaskService/Tasks/index.json new file mode 100644 index 00000000..cf1c32c8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/TaskService/Tasks/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#TaskCollection.TaskCollection", + "Name": "Task Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/TaskService/Tasks/545" + } + ], + "@odata.id": "/redfish/v1/TaskService/Tasks", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/TaskService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/TaskService/index.json new file mode 100644 index 00000000..d04a90b5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/TaskService/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#TaskService.v1_3_0.TaskService", + "Id": "TaskService", + "Name": "Tasks Service", + "DateTime": "2015-03-13T04:14:33+06:00", + "CompletedTaskOverWritePolicy": "Manual", + "LifeCycleEventOnTaskStateChange": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "Tasks": { + "@odata.id": "/redfish/v1/TaskService/Tasks" + }, + "@odata.id": "/redfish/v1/TaskService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/ClientCertificates/1/RekeyActionInfo/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/ClientCertificates/1/RekeyActionInfo/index.json new file mode 100644 index 00000000..76cd5214 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/ClientCertificates/1/RekeyActionInfo/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#ActionInfo.v1_6_0.ActionInfo", + "Id": "RekeyActionInfo", + "Name": "Rekey Action Info", + "Parameters": [ + { + "Name": "KeyPairAlgorithm", + "Required": true, + "DataType": "String", + "AllowableValues": [ + "TPM_ALG_RSA", + "TPM_ALG_ECDSA" + ] + }, + { + "Name": "KeyBitLength", + "Required": false, + "DataType": "Number" + }, + { + "Name": "KeyCurveId", + "Required": false, + "DataType": "String", + "AllowableValues": [ + "TPM_ECC_NIST_P256", + "TPM_ECC_NIST_P384", + "TPM_ECC_NIST_P521" + ] + } + ], + "@odata.id": "/redfish/v1/UpdateService/ClientCertificates/1/RekeyActionInfo", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/ClientCertificates/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/ClientCertificates/1/index.json new file mode 100644 index 00000000..83ef638f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/ClientCertificates/1/index.json @@ -0,0 +1,44 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "1", + "Name": "Client Certificate", + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIFsTCCA5mgAwIBAgIJAMusGfV8beSJMA0GCSqGSIb3DQEBCwUAMG8xCzAJBgNV\nBAYTAlVTMQ8wDQYDVQQIDAZPcmVnb24xETAPBgNVBAcMCFBvcnRsYW5kMRAwDgYD\nVQQKDAdDb250b3NvMQwwCgYDVQQLDANBQkMxHDAaBgNVBAMME21hbmFnZXIuY29u\ndG9zby5vcmcwHhcNMTgwOTA3MTMyMjA1WhcNMTkwOTA3MTMyMjA1WjBvMQswCQYD\nVQQGEwJVUzEPMA0GA1UECAwGT3JlZ29uMREwDwYDVQQHDAhQb3J0bGFuZDEQMA4G\nA1UECgwHQ29udG9zbzEMMAoGA1UECwwDQUJDMRwwGgYDVQQDDBNtYW5hZ2VyLmNv\nbnRvc28ub3JnMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAw39VGz5K\n9bD8UUmyUxH+s+IaYsd3rd8V3R6g3bzttGOW52nopt3ZQD4COHPePBcCBh2+xRFk\n0Wd6oJUECXKNYhoFRJAhyz2fmkO5I37D40iY8/Ihqnt0Kmt/8hETL2VMKbALnR+4\nAUNNGSomRD24FQDlK1Vs6urZHvTsEL5Z+CNdbKY6Yn1ksxR8vmze4hdxnzrQCua1\no7zNVzudLdhVpfeC3BvmflMjszPOjlo5dSkXeRWqQ1LikgcHyEf3hYWq3WXMUpkV\nm2nlM3Tzeaz2nO1quQ/HJ/DUuvHHvWIIZdExL1RABzSN8Sr3ZkMShmTNN4QWmrEX\nEADN8g8OXrRKrup+R6nbUT55Getn5jPesI5fNDHk0KRBUG0ALY73l9+ZlAdRTesq\naV6AL2hUYrb1SNjh50i15s4yPOytspF4B9LaqsG1w3PGjgLaUtWHTXwGAMdHVhWs\nym//6zFv3Ri5tbjThpeYv+UIkreyb0yAFlx/Kz62EFbkFcnaGPATqVd4yLtVdYu0\nz5O8JWhOuybmWMe6ifO97X8w7/Nr9QyzkB64wXSqsNpRiuZraErqa+hBqvPkz8KE\nFEwiclRvZ9OrNk/iKr1FO1HNs1byvNyJ3S9Bu4bMwMnxzrdNzaB5Ti0IywIvQ/qw\nJ8icHIn+3EM5g+DmvQTZIXNKOryrndjIUA0CAwEAAaNQME4wHQYDVR0OBBYEFLLG\niNCud7LYUKojqRVNhKBWoApFMB8GA1UdIwQYMBaAFLLGiNCud7LYUKojqRVNhKBW\noApFMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggIBAG+NJSRv1S0K4KjE\nwzAIlEsmYs65vPxKLg0a07EW8xO4m7AKtty9dyc3+xh0ftwosTmXp2GL3RbNFqpc\nqDjS/XLDGS7DCb5T/g2vZusfUCz6WXpJCZMBLNyNaVyhTHeV9f8sCWXAODwx8ED2\nIHADWI9EqYg3HovYJNP4iUXfivBkFdq6ptOwgMVLGpeMvt/VwBilOklL/+xrhiMD\n1SwZ+sPdWfgcIaeQ+Y3h0cbHzCeYlZDXjDR41zGrEb1lhSAj5n/BEQDjXsiIY386\n/czYW7Zz2ZxOK67ENaABUxg5w8iqu8wkF0pVHbjBThkEPvvdwWKAFLDC55q1KO4H\nsZLx8U/usUdHW9pz+/C7QW7UEJjKP7LfUWnosz7NJYtb7lXJ6pyLkstlA35/aXv3\nxS4eHxHFExl7hiTPgWuFYZUfhdTYSoUTO7WHI7IIZvAh05I/akrE7RpPXviMdIrI\nluKOGwMDHuKSUX93BfFcm9WyMx2cGvbORAXPonGadkPbNsuSK1YkalZ27x5Aq10T\nwJ6/u29+BMDIRB1qJPf5gm4itQpX0hLKXRAdSPKQgvA2gDN5fIlPDEAlWt3oo5JI\n6aWKaL1zAwSFcV2XE6c0r9ZrQPQw1cTzeAMDzMQ7MnEb6kt/YNdGfzTL/5b+vF+e\nHApck5WMN3G/8qlI5rFGXG5zljlu\n-----END CERTIFICATE-----", + "CertificateType": "PEM", + "Issuer": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "manager.contoso.org" + }, + "Subject": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "manager.contoso.org" + }, + "ValidNotBefore": "2018-09-07T13:22:05Z", + "ValidNotAfter": "2019-09-07T13:22:05Z", + "KeyUsage": [ + "KeyEncipherment", + "ServerAuthentication" + ], + "SerialNumber": "5d:7a:d8:df:f6:fc:c1:b3:ca:fe:fb:cc:38:f3:01:64:51:ea:05:cb", + "Fingerprint": "A6:E9:D2:5C:DC:52:DA:4B:3B:14:97:F3:A4:53:D9:99:A1:0B:56:41", + "FingerprintHashAlgorithm": "TPM_ALG_SHA1", + "SignatureAlgorithm": "sha256WithRSAEncryption", + "Actions": { + "#Certificate.Rekey": { + "target": "/redfish/v1/UpdateService/ClientCertificates/1/Actions/Certificate.Rekey", + "@Redfish.ActionInfo": "/redfish/v1/UpdateService/ClientCertificates/1/RekeyActionInfo" + }, + "#Certificate.Renew": { + "target": "/redfish/v1/UpdateService/ClientCertificates/1/Actions/Certificate.Renew" + } + }, + "@odata.id": "/redfish/v1/UpdateService/ClientCertificates/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/ClientCertificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/ClientCertificates/index.json new file mode 100644 index 00000000..9b7b8bd3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/ClientCertificates/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificate Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/UpdateService/ClientCertificates/1" + } + ], + "@odata.id": "/redfish/v1/UpdateService/ClientCertificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/FirmwareInventory/AC-RoT0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/FirmwareInventory/AC-RoT0/index.json new file mode 100644 index 00000000..0f204d67 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/FirmwareInventory/AC-RoT0/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#SoftwareInventory.v1_15_0.SoftwareInventory", + "Id": "AC-RoT0", + "Name": "AC-RoT0 firmware", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Updateable": true, + "Version": "1.11", + "SoftwareId": "6FC0A31C-FD11-4803-8A35-F3BA2F0E2B6B", + "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/AC-RoT0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/FirmwareInventory/BIOS/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/FirmwareInventory/BIOS/index.json new file mode 100644 index 00000000..b9a113ab --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/FirmwareInventory/BIOS/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#SoftwareInventory.v1_15_0.SoftwareInventory", + "Id": "BIOS", + "Name": "Contoso BIOS Firmware", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Updateable": true, + "Manufacturer": "Contoso", + "ReleaseDate": "2017-12-06T12:00:00Z", + "Version": "P79 v1.45", + "SoftwareId": "FEE82A67-6CE2-4625-9F44-237AD2402C28", + "LowestSupportedVersion": "P79 v1.10", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + } + ], + "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/BIOS", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/FirmwareInventory/BMC/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/FirmwareInventory/BMC/index.json new file mode 100644 index 00000000..55f55a49 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/FirmwareInventory/BMC/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#SoftwareInventory.v1_15_0.SoftwareInventory", + "Id": "BMC", + "Name": "Contoso BMC Firmware", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Updateable": true, + "Manufacturer": "Contoso", + "ReleaseDate": "2017-08-22T12:00:00Z", + "Version": "1.45.455b66-rev4", + "SoftwareId": "1624A9DF-5E13-47FC-874A-DF3AFF143089", + "LowestSupportedVersion": "1.30.367a12-rev1", + "UefiDevicePaths": [ + "BMC(0x1,0x0ABCDEF)" + ], + "AdditionalVersions": { + "Bootloader": "v2022.01", + "Kernel": "Linux 5.13.0-30-generic arm71", + "Oem": { + "Contoso": { + "@odata.type": "#ContosoSoftwareInventory.v1_0_0.AdditionalVersions", + "ManagementApp": "1.30" + } + } + }, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ], + "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/BMC", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/FirmwareInventory/SS/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/FirmwareInventory/SS/index.json new file mode 100644 index 00000000..542ce9ba --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/FirmwareInventory/SS/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#SoftwareInventory.v1_15_0.SoftwareInventory", + "Id": "SS", + "Name": "Contoso Simple Storage Firmware", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Updateable": true, + "Manufacturer": "Contoso", + "ReleaseDate": "2021-10-18T12:00:00Z", + "Version": "2.50", + "LowestSupportedVersion": "2.30.rev1", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SimpleStorage/1" + } + ], + "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/SS", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/FirmwareInventory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/FirmwareInventory/index.json new file mode 100644 index 00000000..c30be388 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/FirmwareInventory/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#SoftwareInventoryCollection.SoftwareInventoryCollection", + "Name": "Firmware Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/BMC" + }, + { + "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/SS" + }, + { + "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/BIOS" + } + ], + "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/SimpleUpdateActionInfo/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/SimpleUpdateActionInfo/index.json new file mode 100644 index 00000000..68871f2f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/SimpleUpdateActionInfo/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#ActionInfo.v1_6_0.ActionInfo", + "Id": "SimpleUpdateActionInfo", + "Name": "Simple Update Action Info", + "Parameters": [ + { + "Name": "ImageURI", + "Required": true, + "DataType": "String" + }, + { + "Name": "TransferProtocol", + "Required": false, + "DataType": "String", + "AllowableValues": [ + "FTP", + "SFTP", + "HTTP", + "HTTPS", + "SCP", + "TFTP" + ] + }, + { + "Name": "Username", + "Required": false, + "DataType": "String" + }, + { + "Name": "Password", + "Required": false, + "DataType": "String" + } + ], + "@odata.id": "/redfish/v1/UpdateService/SimpleUpdateActionInfo", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/index.json new file mode 100644 index 00000000..12adbe3e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/UpdateService/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#UpdateService.v1_17_1.UpdateService", + "Id": "UpdateService", + "Name": "Update service", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "ServiceEnabled": true, + "HttpPushUri": "/FWUpdate", + "HttpPushUriOptions": { + "HttpPushUriApplyTime": { + "ApplyTime": "Immediate", + "ApplyTime@Redfish.AllowableValues": [ + "Immediate", + "OnReset", + "AtMaintenanceWindowStart", + "InMaintenanceWindowOnReset" + ], + "MaintenanceWindowStartTime": "2018-12-01T03:00:00+06:00", + "MaintenanceWindowDurationInSeconds": 600 + } + }, + "HttpPushUriOptionsBusy": false, + "FirmwareInventory": { + "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory" + }, + "ClientCertificates": { + "@odata.id": "/redfish/v1/UpdateService/ClientCertificates" + }, + "Actions": { + "#UpdateService.SimpleUpdate": { + "target": "/redfish/v1/UpdateService/Actions/UpdateService.SimpleUpdate", + "@Redfish.ActionInfo": "/redfish/v1/UpdateService/SimpleUpdateActionInfo" + } + }, + "@odata.id": "/redfish/v1/UpdateService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/explorer_config.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/explorer_config.json new file mode 100644 index 00000000..8c0e38b7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/explorer_config.json @@ -0,0 +1,66 @@ +{ + "name": "Simple Rack-mounted Server", + "description": "This illustration of a Redfish service implementation shows a typical rack-mount server, as commonly used in scale-out data centers. It depicts the types of information that can be expected, but does not represent an actual implementation.", + "navlinks": [ + { + "text": "Main", + "target": "main" + }, + { + "text": "Systems", + "target": "Systems", + "navlinks": [ + { + "text": "437XR1138R2", + "target": "437XR1138R2" + } + ] + }, + { + "text": "Chassis", + "target": "Chassis", + "navlinks": [ + { + "text": "1U", + "target": "1U" + } + ] + }, + { + "text": "Managers", + "target": "Managers", + "navlinks": [ + { + "text": "BMC", + "target": "BMC" + } + ] + }, + { + "text": "Task Service", + "target": "TaskService" + }, + { + "text": "Session Service", + "target": "SessionService" + }, + { + "target": "AccountService", + "text": "Account Service" + }, + { + "target": "EventService", + "text": "Event Service", + "navlinks": [ + { + "text": "Subscriptions", + "target": "Subscriptions" + } + ] + }, + { + "target": "UpdateService", + "text": "Update Service" + } + ] +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/index.json new file mode 100644 index 00000000..250b8ac1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/index.json @@ -0,0 +1,63 @@ +{ + "@odata.type": "#ServiceRoot.v1_22_0.ServiceRoot", + "Id": "RootService", + "Name": "Root Service", + "RedfishVersion": "1.15.0", + "UUID": "92384634-2938-2342-8820-489239905423", + "ProtocolFeaturesSupported": { + "ExpandQuery": { + "ExpandAll": true, + "Levels": true, + "MaxLevels": 6, + "Links": true, + "NoLinks": true + }, + "SelectQuery": false, + "FilterQuery": false, + "OnlyMemberQuery": true, + "ExcerptQuery": true + }, + "Systems": { + "@odata.id": "/redfish/v1/Systems" + }, + "Chassis": { + "@odata.id": "/redfish/v1/Chassis" + }, + "Managers": { + "@odata.id": "/redfish/v1/Managers" + }, + "Tasks": { + "@odata.id": "/redfish/v1/TaskService" + }, + "SessionService": { + "@odata.id": "/redfish/v1/SessionService" + }, + "AccountService": { + "@odata.id": "/redfish/v1/AccountService" + }, + "EventService": { + "@odata.id": "/redfish/v1/EventService" + }, + "Registries": { + "@odata.id": "/redfish/v1/Registries" + }, + "UpdateService": { + "@odata.id": "/redfish/v1/UpdateService" + }, + "CertificateService": { + "@odata.id": "/redfish/v1/CertificateService" + }, + "KeyService": { + "@odata.id": "/redfish/v1/KeyService" + }, + "Links": { + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + } + }, + "ComponentIntegrity": { + "@odata.id": "/redfish/v1/ComponentIntegrity" + }, + "@odata.id": "/redfish/v1/", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/odata/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/odata/index.json new file mode 100644 index 00000000..d655bd44 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-liquid-cooled-server/odata/index.json @@ -0,0 +1,71 @@ +{ + "@odata.context": "/redfish/v1/$metadata", + "value": [ + { + "name": "Service", + "kind": "Singleton", + "url": "/redfish/v1/" + }, + { + "name": "Systems", + "kind": "Singleton", + "url": "/redfish/v1/Systems" + }, + { + "name": "Chassis", + "kind": "Singleton", + "url": "/redfish/v1/Chassis" + }, + { + "name": "Managers", + "kind": "Singleton", + "url": "/redfish/v1/Managers" + }, + { + "name": "TaskService", + "kind": "Singleton", + "url": "/redfish/v1/TaskService" + }, + { + "name": "AccountService", + "kind": "Singleton", + "url": "/redfish/v1/AccountService" + }, + { + "name": "SessionService", + "kind": "Singleton", + "url": "/redfish/v1/SessionService" + }, + { + "name": "EventService", + "kind": "Singleton", + "url": "/redfish/v1/EventService" + }, + { + "name": "Registries", + "kind": "Singleton", + "url": "/redfish/v1/Registries" + }, + { + "name": "CertificateService", + "kind": "Singleton", + "url": "/redfish/v1/CertificateService" + }, + { + "name": "KeyService", + "kind": "Singleton", + "url": "/redfish/v1/KeyService" + }, + { + "name": "UpdateService", + "kind": "Singleton", + "url": "/redfish/v1/UpdateService" + }, + { + "name": "Sessions", + "kind": "Singleton", + "url": "/redfish/v1/SessionService/Sessions" + } + ], + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/$metadata/index.xml b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/$metadata/index.xml new file mode 100644 index 00000000..34a57102 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/$metadata/index.xml @@ -0,0 +1,195 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/AccountService/Accounts/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/AccountService/Accounts/1/index.json new file mode 100644 index 00000000..781c45c6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/AccountService/Accounts/1/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#ManagerAccount.v1_14_2.ManagerAccount", + "Id": "1", + "Name": "User Account", + "Description": "User Account", + "Enabled": true, + "Password": null, + "PasswordChangeRequired": false, + "AccountTypes": [ + "Redfish" + ], + "UserName": "Administrator", + "RoleId": "Administrator", + "Locked": false, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + } + }, + "@odata.id": "/redfish/v1/AccountService/Accounts/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/AccountService/Accounts/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/AccountService/Accounts/index.json new file mode 100644 index 00000000..f509d474 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/AccountService/Accounts/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerAccountCollection.ManagerAccountCollection", + "Name": "Accounts Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Accounts/1" + } + ], + "@odata.id": "/redfish/v1/AccountService/Accounts", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/AccountService/Roles/Administrator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/AccountService/Roles/Administrator/index.json new file mode 100644 index 00000000..19d26a98 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/AccountService/Roles/Administrator/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Administrator", + "Name": "User Role", + "Description": "Admin User Role", + "RoleId": "Administrator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureManager", + "ConfigureUsers", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [ + "OemClearLog", + "OemPowerControl" + ], + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/AccountService/Roles/Operator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/AccountService/Roles/Operator/index.json new file mode 100644 index 00000000..90804a6a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/AccountService/Roles/Operator/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Operator", + "Name": "User Role", + "Description": "Operator User Role", + "RoleId": "Operator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/Operator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/AccountService/Roles/ReadOnly/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/AccountService/Roles/ReadOnly/index.json new file mode 100644 index 00000000..1df0cf03 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/AccountService/Roles/ReadOnly/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "ReadOnly", + "Name": "User Role", + "Description": "ReadOnly User Role", + "RoleId": "ReadOnly", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/AccountService/Roles/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/AccountService/Roles/index.json new file mode 100644 index 00000000..ba9ee112 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/AccountService/Roles/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#RoleCollection.RoleCollection", + "Name": "Roles Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/Operator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly" + } + ], + "@odata.id": "/redfish/v1/AccountService/Roles", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/AccountService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/AccountService/index.json new file mode 100644 index 00000000..eb627494 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/AccountService/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#AccountService.v1_19_0.AccountService", + "Id": "AccountService", + "Name": "Account Service", + "Description": "Account Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "AuthFailureLoggingThreshold": 3, + "MinPasswordLength": 8, + "AccountLockoutThreshold": 5, + "AccountLockoutDuration": 30, + "AccountLockoutCounterResetAfter": 30, + "AccountLockoutCounterResetEnabled": true, + "Accounts": { + "@odata.id": "/redfish/v1/AccountService/Accounts" + }, + "Roles": { + "@odata.id": "/redfish/v1/AccountService/Roles" + }, + "@odata.id": "/redfish/v1/AccountService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Chassis/1U/Drives/32ADF365C6C1B7BD/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Chassis/1U/Drives/32ADF365C6C1B7BD/index.json new file mode 100644 index 00000000..25c69444 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Chassis/1U/Drives/32ADF365C6C1B7BD/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "32ADF365C6C1B7BD", + "Name": "Drive Sample", + "IndicatorLED": "Lit", + "Model": "C123", + "Revision": "100A", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 899527000064, + "FailurePredicted": false, + "Protocol": "SAS", + "MediaType": "HDD", + "Manufacturer": "Contoso", + "SerialNumber": "1234570", + "PartNumber": "C123-1111", + "Identifiers": [ + { + "DurableNameFormat": "NAA", + "DurableName": "32ADF365C6C1B7BD" + } + ], + "HotspareType": "Global", + "HotspareReplacementMode": "Revertible", + "EncryptionAbility": "SelfEncryptingDrive", + "EncryptionStatus": "Unlocked", + "RotationSpeedRPM": 15000, + "BlockSizeBytes": 512, + "CapableSpeedGbs": 12, + "NegotiatedSpeedGbs": 12, + "Actions": { + "#Drive.SecureErase": { + "target": "/redfish/v1/Chassis/1U/Drives/32ADF365C6C1B7BD/Actions/Drive.SecureErase" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Drives/32ADF365C6C1B7BD", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Chassis/1U/Drives/35D38F11ACEF7BD3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Chassis/1U/Drives/35D38F11ACEF7BD3/index.json new file mode 100644 index 00000000..aef25362 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Chassis/1U/Drives/35D38F11ACEF7BD3/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "35D38F11ACEF7BD3", + "Name": "Drive Sample", + "IndicatorLED": "Lit", + "Model": "C123", + "Revision": "100A", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 899527000064, + "FailurePredicted": false, + "Protocol": "SAS", + "MediaType": "HDD", + "Manufacturer": "Contoso", + "SerialNumber": "1234567", + "PartNumber": "C123-1111", + "Identifiers": [ + { + "DurableNameFormat": "NAA", + "DurableName": "35D38F11ACEF7BD3" + } + ], + "HotspareType": "None", + "EncryptionAbility": "SelfEncryptingDrive", + "EncryptionStatus": "Unlocked", + "RotationSpeedRPM": 15000, + "BlockSizeBytes": 512, + "CapableSpeedGbs": 12, + "NegotiatedSpeedGbs": 12, + "Links": { + "Volumes": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/1" + } + ] + }, + "Actions": { + "#Drive.SecureErase": { + "target": "/redfish/v1/Chassis/1U/Drives/35D38F11ACEF7BD3/Actions/Drive.SecureErase" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Drives/35D38F11ACEF7BD3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Chassis/1U/Drives/3D58ECBC375FD9F2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Chassis/1U/Drives/3D58ECBC375FD9F2/index.json new file mode 100644 index 00000000..02a626bc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Chassis/1U/Drives/3D58ECBC375FD9F2/index.json @@ -0,0 +1,49 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "3D58ECBC375FD9F2", + "Name": "Drive Sample", + "IndicatorLED": "Lit", + "Model": "C123", + "Revision": "100A", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 899527000064, + "FailurePredicted": false, + "Protocol": "SAS", + "MediaType": "HDD", + "Manufacturer": "Contoso", + "SerialNumber": "1234568", + "PartNumber": "C123-1111", + "Identifiers": [ + { + "DurableNameFormat": "NAA", + "DurableName": "32ADF365C6C1B7BD" + } + ], + "HotspareType": "None", + "EncryptionAbility": "SelfEncryptingDrive", + "EncryptionStatus": "Unlocked", + "RotationSpeedRPM": 15000, + "BlockSizeBytes": 512, + "CapableSpeedGbs": 12, + "NegotiatedSpeedGbs": 12, + "Links": { + "Volumes": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/2" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/3" + } + ] + }, + "Actions": { + "#Drive.SecureErase": { + "target": "/redfish/v1/Chassis/1U/Drives/3D58ECBC375FD9F2/Actions/Drive.SecureErase" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Drives/3D58ECBC375FD9F2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Chassis/1U/Drives/3F5A8C54207B7233/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Chassis/1U/Drives/3F5A8C54207B7233/index.json new file mode 100644 index 00000000..571eae41 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Chassis/1U/Drives/3F5A8C54207B7233/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "3F5A8C54207B7233", + "Name": "Drive Sample", + "IndicatorLED": "Lit", + "Model": "C123", + "Revision": "100A", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 899527000064, + "FailurePredicted": false, + "Protocol": "SAS", + "MediaType": "HDD", + "Manufacturer": "Contoso", + "SerialNumber": "1234569", + "PartNumber": "C123-1111", + "Identifiers": [ + { + "DurableNameFormat": "NAA", + "DurableName": "3F5A8C54207B7233" + } + ], + "HotspareType": "None", + "EncryptionAbility": "SelfEncryptingDrive", + "EncryptionStatus": "Unlocked", + "RotationSpeedRPM": 15000, + "BlockSizeBytes": 512, + "CapableSpeedGbs": 12, + "NegotiatedSpeedGbs": 12, + "Links": { + "Volumes": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/1" + } + ] + }, + "Actions": { + "#Drive.SecureErase": { + "target": "/redfish/v1/Chassis/1U/Drives/3F5A8C54207B7233/Actions/Drive.SecureErase" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Drives/3F5A8C54207B7233", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Chassis/1U/Drives/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Chassis/1U/Drives/index.json new file mode 100644 index 00000000..f5e8e1e9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Chassis/1U/Drives/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#DriveCollection.DriveCollection", + "Name": "Drive Collection", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Drives/35D38F11ACEF7BD3" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Drives/3F5A8C54207B7233" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Drives/32ADF365C6C1B7BD" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Drives/3D58ECBC375FD9F2" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/Drives", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Chassis/1U/Power/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Chassis/1U/Power/index.json new file mode 100644 index 00000000..c0862b32 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Chassis/1U/Power/index.json @@ -0,0 +1,139 @@ +{ + "@odata.type": "#Power.v1_7_3.Power", + "Id": "Power", + "Name": "Power", + "PowerControl": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Power#/PowerControl/0", + "MemberId": "0", + "Name": "Server Power Control", + "PowerConsumedWatts": 344, + "PowerRequestedWatts": 800, + "PowerAvailableWatts": 0, + "PowerCapacityWatts": 800, + "PowerAllocatedWatts": 800, + "PowerMetrics": { + "IntervalInMin": 30, + "MinConsumedWatts": 271, + "MaxConsumedWatts": 489, + "AverageConsumedWatts": 319 + }, + "PowerLimit": { + "LimitInWatts": 500, + "LimitException": "LogEventOnly", + "CorrectionInMs": 50 + }, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ], + "Status": { + "State": "Enabled", + "Health": "OK" + } + } + ], + "Voltages": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Power#/Voltages/0", + "MemberId": "0", + "Name": "VRM1 Voltage", + "SensorNumber": 11, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingVolts": 12, + "UpperThresholdNonCritical": 12.5, + "UpperThresholdCritical": 13, + "UpperThresholdFatal": 15, + "LowerThresholdNonCritical": 11.5, + "LowerThresholdCritical": 11, + "LowerThresholdFatal": 10, + "MinReadingRange": 0, + "MaxReadingRange": 20, + "PhysicalContext": "VoltageRegulator", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Power#/Voltages/1", + "MemberId": "1", + "Name": "VRM2 Voltage", + "SensorNumber": 12, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingVolts": 5, + "UpperThresholdNonCritical": 5.5, + "UpperThresholdCritical": 7, + "LowerThresholdNonCritical": 4.75, + "LowerThresholdCritical": 4.5, + "MinReadingRange": 0, + "MaxReadingRange": 20, + "PhysicalContext": "VoltageRegulator", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ] + } + ], + "PowerSupplies": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Power#/PowerSupplies/0", + "MemberId": "0", + "Name": "Power Supply Bay", + "Status": { + "State": "Enabled", + "Health": "Warning" + }, + "PowerSupplyType": "AC", + "LineInputVoltageType": "ACWideRange", + "LineInputVoltage": 120, + "PowerCapacityWatts": 800, + "LastPowerOutputWatts": 325, + "Model": "499253-B21", + "Manufacturer": "ManufacturerName", + "FirmwareVersion": "1.00", + "SerialNumber": "1Z0000001", + "PartNumber": "0000001A3A", + "SparePartNumber": "0000001A3A", + "InputRanges": [ + { + "InputType": "AC", + "MinimumVoltage": 100, + "MaximumVoltage": 120, + "OutputWattage": 800 + }, + { + "InputType": "AC", + "MinimumVoltage": 200, + "MaximumVoltage": 240, + "OutputWattage": 1300 + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ] + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/Power", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Chassis/1U/Thermal/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Chassis/1U/Thermal/index.json new file mode 100644 index 00000000..db748c50 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Chassis/1U/Thermal/index.json @@ -0,0 +1,159 @@ +{ + "@odata.type": "#Thermal.v1_7_3.Thermal", + "Id": "Thermal", + "Name": "Thermal", + "Temperatures": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Temperatures/0", + "MemberId": "0", + "Name": "CPU1 Temp", + "SensorNumber": 5, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 41, + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 45, + "UpperThresholdFatal": 48, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 60, + "PhysicalContext": "CPU", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Temperatures/1", + "MemberId": "1", + "Name": "CPU2 Temp", + "SensorNumber": 6, + "Status": { + "State": "Disabled" + }, + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 45, + "UpperThresholdFatal": 48, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 60, + "PhysicalContext": "CPU", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU2" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Temperatures/2", + "MemberId": "2", + "Name": "Chassis Intake Temp", + "SensorNumber": 9, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 25, + "UpperThresholdNonCritical": 30, + "UpperThresholdCritical": 40, + "UpperThresholdFatal": 50, + "LowerThresholdNonCritical": 10, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 0, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 60, + "PhysicalContext": "Intake", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + } + ] + } + ], + "Fans": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Fans/0", + "MemberId": "0", + "Name": "BaseBoard System Fan", + "PhysicalContext": "Backplane", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2100, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 0, + "MinReadingRange": 0, + "MaxReadingRange": 5000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Fans/1", + "MemberId": "1", + "Name": "BaseBoard System Fan Backup", + "PhysicalContext": "Backplane", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2050, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 0, + "MinReadingRange": 0, + "MaxReadingRange": 5000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ] + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Redundancy/0", + "MemberId": "0", + "Name": "BaseBoard System Fans", + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Fans/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Fans/1" + } + ], + "Mode": "N+m", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MinNumNeeded": 1, + "MaxNumSupported": 2 + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/Thermal", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Chassis/1U/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Chassis/1U/index.json new file mode 100644 index 00000000..c6212583 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Chassis/1U/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "1U", + "Name": "Computer System Chassis", + "ChassisType": "RackMount", + "AssetTag": "Chicago-45Z-2381", + "Manufacturer": "Contoso", + "Model": "3500RX", + "SKU": "8675309", + "SerialNumber": "437XR1138R2", + "PartNumber": "224071-J23", + "PowerState": "On", + "IndicatorLED": "Lit", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + }, + "Power": { + "@odata.id": "/redfish/v1/Chassis/1U/Power" + }, + "Drives": { + "@odata.id": "/redfish/v1/Chassis/1U/Drives" + }, + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ], + "ManagersInChassis": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/1U", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Chassis/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Chassis/index.json new file mode 100644 index 00000000..9066a5e8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Chassis/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ChassisCollection.ChassisCollection", + "Name": "Chassis Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ], + "@odata.id": "/redfish/v1/Chassis", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/EventService/SubmitTestEventActionInfo/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/EventService/SubmitTestEventActionInfo/index.json new file mode 100644 index 00000000..44abc4f3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/EventService/SubmitTestEventActionInfo/index.json @@ -0,0 +1,62 @@ +{ + "@odata.type": "#ActionInfo.v1_6_0.ActionInfo", + "Id": "SubmitTestEventActionInfo", + "Name": "SubmitTestEvent Action Info", + "Parameters": [ + { + "Name": "EventType", + "Required": false, + "DataType": "String", + "AllowableValues": [ + "StatusChange", + "ResourceUpdated", + "ResourceAdded", + "ResourceRemoved", + "Alert", + "Other" + ] + }, + { + "Name": "EventId", + "Required": false, + "DataType": "String" + }, + { + "Name": "EventTimestamp", + "Required": false, + "DataType": "String" + }, + { + "Name": "Severity", + "Required": false, + "DataType": "String" + }, + { + "Name": "Message", + "Required": false, + "DataType": "String" + }, + { + "Name": "MessageId", + "Required": true, + "DataType": "String" + }, + { + "Name": "MessageArgs", + "Required": false, + "DataType": "StringArray" + }, + { + "Name": "OriginOfCondition", + "Required": false, + "DataType": "String" + }, + { + "Name": "EventGroupId", + "Required": false, + "DataType": "Number" + } + ], + "@odata.id": "/redfish/v1/EventService/SubmitTestEventActionInfo", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/EventService/Subscriptions/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/EventService/Subscriptions/1/index.json new file mode 100644 index 00000000..4cf433da --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/EventService/Subscriptions/1/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#EventDestination.v1_17_1.EventDestination", + "Id": "1", + "Name": "EventSubscription 1", + "Destination": "http://www.dnsname.com/Destination1", + "EventTypes": [ + "Alert" + ], + "Context": "WebUser3", + "Protocol": "Redfish", + "SubscriptionType": "RedfishEvent", + "@odata.id": "/redfish/v1/EventService/Subscriptions/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/EventService/Subscriptions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/EventService/Subscriptions/index.json new file mode 100644 index 00000000..50ce173e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/EventService/Subscriptions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#EventDestinationCollection.EventDestinationCollection", + "Name": "Event Subscriptions Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/EventService/Subscriptions/1" + } + ], + "@odata.id": "/redfish/v1/EventService/Subscriptions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/EventService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/EventService/index.json new file mode 100644 index 00000000..ebb7d2fb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/EventService/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#EventService.v1_12_0.EventService", + "Id": "EventService", + "Name": "Event Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "DeliveryRetryAttempts": 3, + "DeliveryRetryIntervalSeconds": 60, + "EventTypesForSubscription": [ + "StatusChange", + "ResourceUpdated", + "ResourceAdded", + "ResourceRemoved", + "Alert" + ], + "Subscriptions": { + "@odata.id": "/redfish/v1/EventService/Subscriptions" + }, + "Actions": { + "#EventService.SubmitTestEvent": { + "target": "/redfish/v1/EventService/Actions/EventService.SubmitTestEvent", + "@Redfish.ActionInfo": "/redfish/v1/EventService/SubmitTestEventActionInfo" + } + }, + "@odata.id": "/redfish/v1/EventService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/EthernetInterfaces/Dedicated/SD/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/EthernetInterfaces/Dedicated/SD/index.json new file mode 100644 index 00000000..a951bc17 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/EthernetInterfaces/Dedicated/SD/index.json @@ -0,0 +1,60 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "SD", + "Name": "Manager Ethernet Interface", + "Description": "Management Network Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:33:CF:EA", + "MACAddress": "23:11:8A:33:CF:EA", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.0.1" + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred" + } + ], + "NameServers": [ + "names.dmtf.org" + ], + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/Dedicated/SD", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/EthernetInterfaces/Dedicated/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/EthernetInterfaces/Dedicated/index.json new file mode 100644 index 00000000..bd71dce8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/EthernetInterfaces/Dedicated/index.json @@ -0,0 +1,76 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "Dedicated", + "Name": "Manager Ethernet Interface", + "Description": "Management Network Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:33:CF:EA", + "MACAddress": "23:11:8A:33:CF:EA", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.0.1" + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred" + } + ], + "NameServers": [ + "names.dmtf.org" + ], + "@Redfish.Settings": { + "@odata.type": "#Settings.v1_5_0.Settings", + "SettingsObject": { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/Dedicated/SD" + }, + "Time": "2012-03-07T14:44.30-05:00", + "ETag": "84ffcbb050ddc7fa9cddb59014546e59", + "Messages": [ + { + "MessageId": "Base.1.0.SettingsFailed", + "RelatedProperties": [ + "/IPv6Addresses/PrefixLength" + ] + } + ] + }, + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/Dedicated", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/EthernetInterfaces/index.json new file mode 100644 index 00000000..c373a6af --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/EthernetInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Network Interface Collection", + "Description": "Collection of EthernetInterfaces for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/Dedicated" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/LogServices/Log/Entries/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/LogServices/Log/Entries/1/index.json new file mode 100644 index 00000000..4845e486 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/LogServices/Log/Entries/1/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "Event", + "Severity": "Critical", + "Created": "2012-03-07T14:44:00Z", + "SensorNumber": 1, + "Message": "System May be Melting", + "MessageId": "Event.1.0.TempWayTooHot", + "MessageArgs": [ + "88" + ], + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + } + }, + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/LogServices/Log/Entries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/LogServices/Log/Entries/index.json new file mode 100644 index 00000000..83b2e539 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/LogServices/Log/Entries/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries/1", + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "Event", + "Severity": "Critical", + "Created": "2012-03-07T14:44:00Z", + "SensorNumber": 1, + "Message": "System May be Melting", + "MessageId": "Event.1.0.TempWayTooHot", + "MessageArgs": [ + "88" + ], + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + } + } + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/LogServices/Log/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/LogServices/Log/index.json new file mode 100644 index 00000000..6d2dbdfe --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/LogServices/Log/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#LogService.v1_9_0.LogService", + "Id": "Log", + "Name": "System Log Service", + "MaxNumberOfRecords": 1000, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Managers/BMC/LogServices/Log/Actions/LogService.ClearLog" + } + }, + "Entries": { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries" + }, + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/LogServices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/LogServices/index.json new file mode 100644 index 00000000..0de6f42a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/LogServices/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Description": "Collection of Log Services for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/LogServices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/NetworkProtocol/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/NetworkProtocol/index.json new file mode 100644 index 00000000..37fbbcea --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/NetworkProtocol/index.json @@ -0,0 +1,53 @@ +{ + "@odata.type": "#ManagerNetworkProtocol.v1_14_0.ManagerNetworkProtocol", + "Id": "NetworkProtocol", + "Name": "Manager Network Protocol", + "Description": "Manager Network Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "HTTP": { + "ProtocolEnabled": true, + "Port": 80 + }, + "HTTPS": { + "ProtocolEnabled": true, + "Port": 443 + }, + "IPMI": { + "ProtocolEnabled": true, + "Port": 623 + }, + "SSH": { + "ProtocolEnabled": true, + "Port": 22 + }, + "SNMP": { + "ProtocolEnabled": true, + "Port": 161 + }, + "VirtualMedia": { + "ProtocolEnabled": true, + "Port": 17988 + }, + "SSDP": { + "ProtocolEnabled": true, + "Port": 1900, + "NotifyMulticastIntervalSeconds": 600, + "NotifyTTL": 5, + "NotifyIPv6Scope": "Site" + }, + "Telnet": { + "ProtocolEnabled": true, + "Port": 23 + }, + "KVMIP": { + "ProtocolEnabled": true, + "Port": 5288 + }, + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/SerialInterfaces/TTY0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/SerialInterfaces/TTY0/index.json new file mode 100644 index 00000000..2cae0a79 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/SerialInterfaces/TTY0/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#SerialInterface.v1_3_0.SerialInterface", + "Id": "TTY0", + "Name": "Manager Serial Interface 1", + "Description": "Management for Serial Interface", + "InterfaceEnabled": true, + "SignalType": "Rs232", + "BitRate": "115200", + "Parity": "None", + "DataBits": "8", + "StopBits": "1", + "FlowControl": "None", + "ConnectorType": "RJ45", + "PinOut": "Cyclades", + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces/TTY0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/SerialInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/SerialInterfaces/index.json new file mode 100644 index 00000000..249de7d4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/SerialInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#SerialInterfaceCollection.SerialInterfaceCollection", + "Name": "Serial Interface Collection", + "Description": "Collection of Serial Interfaces for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces/TTY0" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/VirtualMedia/CD1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/VirtualMedia/CD1/index.json new file mode 100644 index 00000000..f91e066b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/VirtualMedia/CD1/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#VirtualMedia.v1_7_0.VirtualMedia", + "Id": "CD1", + "Name": "Virtual CD", + "MediaTypes": [ + "CD", + "DVD" + ], + "Image": "redfish.dmtf.org/freeImages/freeOS.1.1.iso", + "ImageName": "mymedia-read-only", + "ConnectedVia": "Applet", + "Inserted": true, + "WriteProtected": false, + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/CD1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/VirtualMedia/Floppy1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/VirtualMedia/Floppy1/index.json new file mode 100644 index 00000000..15191be4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/VirtualMedia/Floppy1/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#VirtualMedia.v1_7_0.VirtualMedia", + "Id": "Floppy1", + "Name": "Virtual Removable Media", + "MediaTypes": [ + "Floppy", + "USBStick" + ], + "Image": "https://www.dmtf.org/freeImages/Sardine.img", + "ImageName": "Sardine2.1.43.35.6a", + "ConnectedVia": "URI", + "Inserted": true, + "WriteProtected": false, + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/Floppy1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/VirtualMedia/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/VirtualMedia/index.json new file mode 100644 index 00000000..116eb0b0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/VirtualMedia/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#VirtualMediaCollection.VirtualMediaCollection", + "Name": "Virtual Media Services", + "Description": "Redfish-BMC Virtual Media Service Settings", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/Floppy1" + }, + { + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/CD1" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/index.json new file mode 100644 index 00000000..a9131231 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/BMC/index.json @@ -0,0 +1,83 @@ +{ + "@odata.type": "#Manager.v1_25_0.Manager", + "Id": "BMC", + "Name": "Manager", + "ManagerType": "BMC", + "Description": "Contoso BMC", + "ServiceEntryPointUUID": "92384634-2938-2342-8820-489239905423", + "UUID": "58893887-8974-2487-2389-841168418919", + "Model": "Joo Janta 200", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PowerState": "On", + "GraphicalConsole": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 2, + "ConnectTypesSupported": [ + "KVMIP" + ] + }, + "SerialConsole": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 1, + "ConnectTypesSupported": [ + "Telnet", + "SSH", + "IPMI" + ] + }, + "CommandShell": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 4, + "ConnectTypesSupported": [ + "Telnet", + "SSH" + ] + }, + "FirmwareVersion": "1.00", + "NetworkProtocol": { + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces" + }, + "SerialInterfaces": { + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices" + }, + "VirtualMedia": { + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia" + }, + "Links": { + "ManagerForServers": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + } + ], + "ManagerForChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ], + "ManagerInChassis": { + "@odata.id": "/redfish/v1/Chassis/1U" + } + }, + "Actions": { + "#Manager.Reset": { + "target": "/redfish/v1/Managers/BMC/Actions/Manager.Reset", + "ResetType@Redfish.AllowableValues": [ + "ForceRestart", + "GracefulRestart" + ] + } + }, + "@odata.id": "/redfish/v1/Managers/BMC", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/index.json new file mode 100644 index 00000000..2de83743 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Managers/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerCollection.ManagerCollection", + "Name": "Manager Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ], + "@odata.id": "/redfish/v1/Managers", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/SessionService/Sessions/1234567890ABCDEF/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/SessionService/Sessions/1234567890ABCDEF/index.json new file mode 100644 index 00000000..90844a1b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/SessionService/Sessions/1234567890ABCDEF/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#Session.v1_9_0.Session", + "Id": "1234567890ABCDEF", + "Name": "User Session", + "Description": "Manager User Session", + "UserName": "Administrator", + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/SessionService/Sessions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/SessionService/Sessions/index.json new file mode 100644 index 00000000..8d8cdf58 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/SessionService/Sessions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SessionCollection.SessionCollection", + "Name": "Session Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF" + } + ], + "@odata.id": "/redfish/v1/SessionService/Sessions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/SessionService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/SessionService/index.json new file mode 100644 index 00000000..62a05690 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/SessionService/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#SessionService.v1_2_0.SessionService", + "Id": "SessionService", + "Name": "Session Service", + "Description": "Session Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "SessionTimeout": 30, + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + }, + "@odata.id": "/redfish/v1/SessionService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Bios/Settings/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Bios/Settings/index.json new file mode 100644 index 00000000..2768ab90 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Bios/Settings/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#Bios.v1_3_0.Bios", + "Id": "Settings", + "Name": "BIOS Configuration Pending Settings", + "AttributeRegistry": "BiosAttributeRegistryP89.v1_0_0", + "Attributes": { + "AdminPhone": "(404) 555-1212", + "BootMode": "Uefi", + "EmbeddedSata": "Ahci", + "NicBoot1": "NetworkBoot", + "NicBoot2": "NetworkBoot", + "PowerProfile": "MaxPerf", + "ProcCoreDisable": 0, + "ProcHyperthreading": "Enabled", + "ProcTurboMode": "Disabled", + "UsbControl": "UsbEnabled" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Bios/Settings", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Bios/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Bios/index.json new file mode 100644 index 00000000..59435f81 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Bios/index.json @@ -0,0 +1,44 @@ +{ + "@odata.type": "#Bios.v1_3_0.Bios", + "Id": "Bios", + "Name": "BIOS Configuration Current Settings", + "AttributeRegistry": "BiosAttributeRegistryP89.v1_0_0", + "Attributes": { + "AdminPhone": "", + "BootMode": "Uefi", + "EmbeddedSata": "Raid", + "NicBoot1": "NetworkBoot", + "NicBoot2": "Disabled", + "PowerProfile": "MaxPerf", + "ProcCoreDisable": 0, + "ProcHyperthreading": "Enabled", + "ProcTurboMode": "Enabled", + "UsbControl": "UsbEnabled" + }, + "@Redfish.Settings": { + "@odata.type": "#Settings.v1_5_0.Settings", + "ETag": "9234ac83b9700123cc32", + "Messages": [ + { + "MessageId": "Base.1.0.SettingsFailed", + "RelatedProperties": [ + "/Attributes/ProcTurboMode" + ] + } + ], + "SettingsObject": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Bios/Settings" + }, + "Time": "2016-03-07T14:44.30-05:00" + }, + "Actions": { + "#Bios.ResetBios": { + "target": "/redfish/v1/Systems/437XR1138R2/Bios/Actions/Bios.ResetBios" + }, + "#Bios.ChangePassword": { + "target": "/redfish/v1/Systems/437XR1138R2/Bios/Actions/Bios.ChangePassword" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Bios", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/1/index.json new file mode 100644 index 00000000..37d0376a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/1/index.json @@ -0,0 +1,10 @@ +{ + "@odata.type": "#VLanNetworkInterface.v1_3_1.VLanNetworkInterface", + "Id": "1", + "Name": "VLAN Network Interface", + "Description": "System NIC 1 VLAN", + "VLANEnable": true, + "VLANId": 101, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/2/index.json new file mode 100644 index 00000000..afcfc204 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/2/index.json @@ -0,0 +1,10 @@ +{ + "@odata.type": "#VLanNetworkInterface.v1_3_1.VLanNetworkInterface", + "Id": "2", + "Name": "VLAN Network Interface", + "Description": "System NIC 1 VLAN", + "VLANEnable": true, + "VLANId": 199, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/index.json new file mode 100644 index 00000000..4ab6efa6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#VLanNetworkInterfaceCollection.VLanNetworkInterfaceCollection", + "Name": "VLAN Network Interface Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/2" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/index.json new file mode 100644 index 00000000..c78d0da6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/index.json @@ -0,0 +1,42 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "12446A3B0411", + "Name": "Ethernet Interface", + "Description": "System NIC 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "LinkStatus": "LinkUp", + "PermanentMACAddress": "12:44:6A:3B:04:11", + "MACAddress": "12:44:6A:3B:04:11", + "SpeedMbps": 1000, + "FullDuplex": true, + "HostName": "web483", + "FQDN": "web483.contoso.com", + "IPv6DefaultGateway": "fe80::3ed9:2bff:fe34:600", + "NameServers": [ + "names.contoso.com" + ], + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "Static", + "Gateway": "192.168.0.1" + } + ], + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "Static", + "AddressState": "Preferred" + } + ], + "VLANs": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890/index.json new file mode 100644 index 00000000..023617f6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890/index.json @@ -0,0 +1,43 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "12446A3B8890", + "Name": "Ethernet Interface", + "Description": "System NIC 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "LinkStatus": "LinkUp", + "PermanentMACAddress": "12:44:6A:3B:88:90", + "MACAddress": "AA:BB:CC:DD:EE:00", + "SpeedMbps": 1000, + "FullDuplex": true, + "HostName": "backup-web483", + "FQDN": "backup-web483.contoso.com", + "IPv6DefaultGateway": "fe80::3ed9:2bff:fe34:600", + "NameServers": [ + "names.contoso.com" + ], + "IPv4Addresses": [ + { + "Address": "192.168.0.11", + "SubnetMask": "255.255.255.0", + "AddressOrigin": "Static", + "Gateway": "192.168.0.1" + } + ], + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e33", + "PrefixLength": 64, + "AddressOrigin": "Static", + "AddressState": "Preferred" + } + ], + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/EthernetInterfaces/index.json new file mode 100644 index 00000000..b5c55816 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/EthernetInterfaces/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Interface Collection", + "Description": "System NICs on Contoso Servers", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json new file mode 100644 index 00000000..1fda6c42 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "SEL", + "Severity": "Critical", + "Created": "2012-03-07T14:44:00Z", + "EntryCode": "Upper Critical - going high", + "SensorType": "Temperature", + "SensorNumber": 1, + "Message": "Temperature threshold exceeded", + "MessageId": "0x592A28", + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/LogServices/Log1/Entries/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/LogServices/Log1/Entries/2/index.json new file mode 100644 index 00000000..b7585da8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/LogServices/Log1/Entries/2/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "2", + "Name": "Log Entry 2", + "EntryType": "SEL", + "Severity": "Critical", + "Created": "2012-03-07T14:45:00Z", + "EntryCode": "Upper Critical - going high", + "SensorType": "Temperature", + "SensorNumber": 2, + "Message": "Temperature threshold exceeded", + "MessageId": "0x592E28", + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/LogServices/Log1/Entries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/LogServices/Log1/Entries/index.json new file mode 100644 index 00000000..50c62a57 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/LogServices/Log1/Entries/index.json @@ -0,0 +1,49 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries/1", + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "SEL", + "Severity": "Critical", + "Created": "2012-03-07T14:44:00Z", + "EntryCode": "Upper Critical - going high", + "SensorType": "Temperature", + "SensorNumber": 1, + "Message": "Temperature threshold exceeded", + "MessageId": "0x592A28", + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + } + } + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries/2", + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "2", + "Name": "Log Entry 2", + "EntryType": "SEL", + "Severity": "Critical", + "Created": "2012-03-07T14:45:00Z", + "EntryCode": "Upper Critical - going high", + "SensorType": "Temperature", + "SensorNumber": 2, + "Message": "Temperature threshold exceeded", + "MessageId": "0x592E28", + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + } + } + } + ], + "@odata.nextLink": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries?$skiptoken=2", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/LogServices/Log1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/LogServices/Log1/index.json new file mode 100644 index 00000000..4a80e140 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/LogServices/Log1/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#LogService.v1_9_0.LogService", + "Id": "Log1", + "Name": "System Log Service", + "MaxNumberOfRecords": 1000, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Actions/LogService.ClearLog" + } + }, + "Entries": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/LogServices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/LogServices/index.json new file mode 100644 index 00000000..fb9f6518 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/LogServices/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Memory/DIMM1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Memory/DIMM1/index.json new file mode 100644 index 00000000..8f9264d0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Memory/DIMM1/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM1", + "Name": "DIMM Slot 1", + "RankCount": 2, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 32768, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Memory/DIMM2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Memory/DIMM2/index.json new file mode 100644 index 00000000..9255c961 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Memory/DIMM2/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM2", + "Name": "DIMM Slot 2", + "RankCount": 2, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 32768, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 2 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Memory/DIMM3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Memory/DIMM3/index.json new file mode 100644 index 00000000..ce273aac --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Memory/DIMM3/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM3", + "Name": "DIMM Slot 3", + "RankCount": 2, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 32768, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 2, + "MemoryController": 2, + "Channel": 1, + "Slot": 3 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Memory/DIMM4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Memory/DIMM4/index.json new file mode 100644 index 00000000..60a64276 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Memory/DIMM4/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM4", + "Name": "DIMM Slot 4", + "MemoryLocation": { + "Socket": 2, + "MemoryController": 2, + "Channel": 1, + "Slot": 4 + }, + "Status": { + "State": "Absent" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Memory/index.json new file mode 100644 index 00000000..0abde074 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Memory/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Module Collection", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM2" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM3" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM4" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Processors/CPU1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Processors/CPU1/index.json new file mode 100644 index 00000000..5e66fc65 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Processors/CPU1/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU1", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Multi-Core Intel(R) Xeon(R) processor 7xxx Series", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 3700, + "TotalCores": 8, + "TotalThreads": 16, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Processors/CPU2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Processors/CPU2/index.json new file mode 100644 index 00000000..24eec3f5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Processors/CPU2/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU2", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "CPU", + "Status": { + "State": "Absent" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Processors/index.json new file mode 100644 index 00000000..693c88d6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Processors/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processors Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU2" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Storage/1/Volumes/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Storage/1/Volumes/1/index.json new file mode 100644 index 00000000..e57646a9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Storage/1/Volumes/1/index.json @@ -0,0 +1,39 @@ +{ + "@odata.type": "#Volume.v1_11_0.Volume", + "Id": "1", + "Name": "Virtual Disk 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Encrypted": false, + "RAIDType": "RAID1", + "CapacityBytes": 899527000064, + "Identifiers": [ + { + "DurableNameFormat": "UUID", + "DurableName": "38f1818b-111e-463a-aa19-fa54f792e468" + } + ], + "Links": { + "Drives": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Drives/3F5A8C54207B7233" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Drives/35D38F11ACEF7BD3" + } + ] + }, + "Actions": { + "#Volume.Initialize": { + "target": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/1/Actions/Volume.Initialize", + "InitializeType@Redfish.AllowableValues": [ + "Fast", + "Slow" + ] + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Storage/1/Volumes/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Storage/1/Volumes/2/index.json new file mode 100644 index 00000000..d868ecf0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Storage/1/Volumes/2/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Volume.v1_11_0.Volume", + "Id": "2", + "Name": "Virtual Disk 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Encrypted": false, + "RAIDType": "RAID0", + "CapacityBytes": 107374182400, + "Identifiers": [ + { + "DurableNameFormat": "UUID", + "DurableName": "0324c96c-8031-4f5e-886c-50cd90aca854" + } + ], + "Links": { + "Drives": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Drives/3D58ECBC375FD9F2" + } + ] + }, + "Actions": { + "#Volume.Initialize": { + "target": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/2/Actions/Volume.Initialize", + "InitializeType@Redfish.AllowableValues": [ + "Fast", + "Slow" + ] + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Storage/1/Volumes/3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Storage/1/Volumes/3/index.json new file mode 100644 index 00000000..956c80a6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Storage/1/Volumes/3/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Volume.v1_11_0.Volume", + "Id": "3", + "Name": "Virtual Disk 3", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Encrypted": false, + "RAIDType": "RAID0", + "CapacityBytes": 107374182400, + "Identifiers": [ + { + "DurableNameFormat": "UUID", + "DurableName": "eb179a30-6f87-4fdb-8f92-639eb7aaabcb" + } + ], + "Links": { + "Drives": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Drives/3D58ECBC375FD9F2" + } + ] + }, + "Actions": { + "#Volume.Initialize": { + "target": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/3/Actions/Volume.Initialize", + "InitializeType@Redfish.AllowableValues": [ + "Fast", + "Slow" + ] + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Storage/1/Volumes/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Storage/1/Volumes/index.json new file mode 100644 index 00000000..f1071759 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Storage/1/Volumes/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#VolumeCollection.VolumeCollection", + "Name": "Storage Volume Collection", + "Description": "Storage Volume Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/2" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/3" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Storage/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Storage/1/index.json new file mode 100644 index 00000000..695a1e68 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Storage/1/index.json @@ -0,0 +1,73 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Id": "1", + "Name": "Local Storage Controller", + "Description": "Integrated RAID Controller", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "StorageControllers": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1#/StorageControllers/0", + "MemberId": "0", + "Name": "Contoso Integrated RAID", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Identifiers": [ + { + "DurableNameFormat": "NAA", + "DurableName": "345C59DBD970859C" + } + ], + "Manufacturer": "Contoso", + "Model": "12Gbs Integrated RAID", + "SerialNumber": "2M220100SL", + "PartNumber": "CT18754", + "SpeedGbps": 12, + "FirmwareVersion": "1.0.0.7", + "SupportedControllerProtocols": [ + "PCIe" + ], + "SupportedDeviceProtocols": [ + "SAS", + "SATA" + ], + "CacheSummary": { + "TotalCacheSizeMiB": 1024, + "PersistentCacheSizeMiB": 1024, + "Status": { + "State": "Enabled", + "Health": "OK" + } + } + } + ], + "Drives": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Drives/35D38F11ACEF7BD3" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Drives/3F5A8C54207B7233" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Drives/32ADF365C6C1B7BD" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Drives/3D58ECBC375FD9F2" + } + ], + "Volumes": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes" + }, + "Actions": { + "#Storage.SetEncryptionKey": { + "target": "/redfish/v1/Systems/437XR1138R2/Storage/1/Actions/Storage.SetEncryptionKey" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Storage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Storage/index.json new file mode 100644 index 00000000..096299f5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/Storage/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#StorageCollection.StorageCollection", + "Name": "Storage Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/index.json new file mode 100644 index 00000000..4493f64b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/437XR1138R2/index.json @@ -0,0 +1,138 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "437XR1138R2", + "Name": "WebFrontEnd483", + "SystemType": "Physical", + "AssetTag": "Chicago-45Z-2381", + "Manufacturer": "Contoso", + "Model": "3500RX", + "SKU": "8675309", + "SerialNumber": "437XR1138R2", + "PartNumber": "224071-J23", + "Description": "Web Front End node", + "UUID": "38947555-7742-3448-3784-823347823834", + "HostName": "web483", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "HostingRoles": [ + "ApplicationServer" + ], + "IndicatorLED": "Off", + "PowerState": "On", + "Boot": { + "BootSourceOverrideEnabled": "Once", + "BootSourceOverrideTarget": "Pxe", + "BootSourceOverrideTarget@Redfish.AllowableValues": [ + "None", + "Pxe", + "Cd", + "Usb", + "Hdd", + "BiosSetup", + "Utilities", + "Diags", + "SDCard", + "UefiTarget" + ], + "BootSourceOverrideMode": "UEFI", + "UefiTargetBootSourceOverride": "/0x31/0x33/0x01/0x01" + }, + "TrustedModules": [ + { + "FirmwareVersion": "1.13b", + "InterfaceType": "TPM1_2", + "Status": { + "State": "Enabled", + "Health": "OK" + } + } + ], + "Oem": { + "Contoso": { + "@odata.type": "#Contoso.ComputerSystem", + "ProductionLocation": { + "FacilityName": "PacWest Production Facility", + "Country": "USA" + } + }, + "Chipwise": { + "@odata.type": "#Chipwise.ComputerSystem", + "Style": "Executive" + } + }, + "BiosVersion": "P79 v1.33 (02/28/2015)", + "ProcessorSummary": { + "Count": 2, + "Model": "Multi-Core Intel(R) Xeon(R) processor 7xxx Series", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + } + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 96, + "TotalSystemPersistentMemoryGiB": 0, + "MemoryMirroring": "None", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + } + }, + "Bios": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Bios" + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces" + }, + "Storage": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ] + }, + "Actions": { + "#ComputerSystem.Reset": { + "target": "/redfish/v1/Systems/437XR1138R2/Actions/ComputerSystem.Reset", + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "GracefulRestart", + "ForceRestart", + "Nmi", + "ForceOn", + "PushPowerButton" + ] + }, + "Oem": { + "#Contoso.Reset": { + "target": "/redfish/v1/Systems/437XR1138R2/Oem/Contoso/Actions/Contoso.Reset" + } + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/index.json new file mode 100644 index 00000000..af7ef3f8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/Systems/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ComputerSystemCollection.ComputerSystemCollection", + "Name": "Computer System Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + } + ], + "@odata.id": "/redfish/v1/Systems", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/TaskService/Tasks/545/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/TaskService/Tasks/545/index.json new file mode 100644 index 00000000..ef4dfe19 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/TaskService/Tasks/545/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#Task.v1_7_4.Task", + "Id": "545", + "Name": "Task 545", + "TaskState": "Completed", + "StartTime": "2012-03-07T14:44:00+06:00", + "EndTime": "2012-03-07T14:45:00+06:00", + "TaskStatus": "OK", + "Messages": [ + { + "MessageId": "Base.1.0.PropertyNotWritable", + "RelatedProperties": [ + "/SKU" + ], + "Message": "The property SKU is a read only property and cannot be assigned a value", + "MessageArgs": [ + "SKU" + ], + "Severity": "Warning" + } + ], + "@odata.id": "/redfish/v1/TaskService/Tasks/545", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/TaskService/Tasks/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/TaskService/Tasks/index.json new file mode 100644 index 00000000..cf1c32c8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/TaskService/Tasks/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#TaskCollection.TaskCollection", + "Name": "Task Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/TaskService/Tasks/545" + } + ], + "@odata.id": "/redfish/v1/TaskService/Tasks", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/TaskService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/TaskService/index.json new file mode 100644 index 00000000..d04a90b5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/TaskService/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#TaskService.v1_3_0.TaskService", + "Id": "TaskService", + "Name": "Tasks Service", + "DateTime": "2015-03-13T04:14:33+06:00", + "CompletedTaskOverWritePolicy": "Manual", + "LifeCycleEventOnTaskStateChange": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "Tasks": { + "@odata.id": "/redfish/v1/TaskService/Tasks" + }, + "@odata.id": "/redfish/v1/TaskService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/explorer_config.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/explorer_config.json new file mode 100644 index 00000000..0e024a83 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/explorer_config.json @@ -0,0 +1,62 @@ +{ + "name": "Simple Rack-mounted Server with Local Storage", + "description": "This example shows a server with an implementation of the Redfish storage resources, showing an integrated RAID controller with four attached drives.", + "navlinks": [ + { + "text": "Main", + "target": "main" + }, + { + "text": "Systems", + "target": "Systems", + "navlinks": [ + { + "text": "437XR1138R2", + "target": "437XR1138R2" + } + ] + }, + { + "text": "Chassis", + "target": "Chassis", + "navlinks": [ + { + "text": "1U", + "target": "1U" + } + ] + }, + { + "text": "Managers", + "target": "Managers", + "navlinks": [ + { + "text": "BMC", + "target": "BMC" + } + ] + }, + { + "text": "Task Service", + "target": "TaskService" + }, + { + "text": "Session Service", + "target": "SessionService" + }, + { + "target": "AccountService", + "text": "Account Service" + }, + { + "target": "EventService", + "text": "Event Service", + "navlinks": [ + { + "text": "Subscriptions", + "target": "Subscriptions" + } + ] + } + ] +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/index.json new file mode 100644 index 00000000..4e98badf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#ServiceRoot.v1_22_0.ServiceRoot", + "Id": "RootService", + "Name": "Root Service", + "RedfishVersion": "1.15.0", + "UUID": "92384634-2938-2342-8820-489239905423", + "ProtocolFeaturesSupported": { + "ExpandQuery": { + "ExpandAll": true, + "Levels": true, + "MaxLevels": 6, + "Links": true, + "NoLinks": true + }, + "SelectQuery": false, + "FilterQuery": false, + "OnlyMemberQuery": true, + "ExcerptQuery": true + }, + "Systems": { + "@odata.id": "/redfish/v1/Systems" + }, + "Chassis": { + "@odata.id": "/redfish/v1/Chassis" + }, + "Managers": { + "@odata.id": "/redfish/v1/Managers" + }, + "Tasks": { + "@odata.id": "/redfish/v1/TaskService" + }, + "SessionService": { + "@odata.id": "/redfish/v1/SessionService" + }, + "AccountService": { + "@odata.id": "/redfish/v1/AccountService" + }, + "EventService": { + "@odata.id": "/redfish/v1/EventService" + }, + "Links": { + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + } + }, + "@odata.id": "/redfish/v1/", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/odata/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/odata/index.json new file mode 100644 index 00000000..cbb4560b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-localstorage/odata/index.json @@ -0,0 +1,51 @@ +{ + "@odata.context": "/redfish/v1/$metadata", + "value": [ + { + "name": "Service", + "kind": "Singleton", + "url": "/redfish/v1/" + }, + { + "name": "Systems", + "kind": "Singleton", + "url": "/redfish/v1/Systems" + }, + { + "name": "Chassis", + "kind": "Singleton", + "url": "/redfish/v1/Chassis" + }, + { + "name": "Managers", + "kind": "Singleton", + "url": "/redfish/v1/Managers" + }, + { + "name": "TaskService", + "kind": "Singleton", + "url": "/redfish/v1/TaskService" + }, + { + "name": "AccountService", + "kind": "Singleton", + "url": "/redfish/v1/AccountService" + }, + { + "name": "SessionService", + "kind": "Singleton", + "url": "/redfish/v1/SessionService" + }, + { + "name": "EventService", + "kind": "Singleton", + "url": "/redfish/v1/EventService" + }, + { + "name": "Sessions", + "kind": "Singleton", + "url": "/redfish/v1/SessionService/Sessions" + } + ], + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/$metadata/index.xml b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/$metadata/index.xml new file mode 100644 index 00000000..34a57102 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/$metadata/index.xml @@ -0,0 +1,195 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/AccountService/Accounts/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/AccountService/Accounts/1/index.json new file mode 100644 index 00000000..781c45c6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/AccountService/Accounts/1/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#ManagerAccount.v1_14_2.ManagerAccount", + "Id": "1", + "Name": "User Account", + "Description": "User Account", + "Enabled": true, + "Password": null, + "PasswordChangeRequired": false, + "AccountTypes": [ + "Redfish" + ], + "UserName": "Administrator", + "RoleId": "Administrator", + "Locked": false, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + } + }, + "@odata.id": "/redfish/v1/AccountService/Accounts/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/AccountService/Accounts/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/AccountService/Accounts/index.json new file mode 100644 index 00000000..f509d474 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/AccountService/Accounts/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerAccountCollection.ManagerAccountCollection", + "Name": "Accounts Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Accounts/1" + } + ], + "@odata.id": "/redfish/v1/AccountService/Accounts", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/AccountService/Roles/Administrator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/AccountService/Roles/Administrator/index.json new file mode 100644 index 00000000..19d26a98 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/AccountService/Roles/Administrator/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Administrator", + "Name": "User Role", + "Description": "Admin User Role", + "RoleId": "Administrator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureManager", + "ConfigureUsers", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [ + "OemClearLog", + "OemPowerControl" + ], + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/AccountService/Roles/Operator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/AccountService/Roles/Operator/index.json new file mode 100644 index 00000000..90804a6a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/AccountService/Roles/Operator/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Operator", + "Name": "User Role", + "Description": "Operator User Role", + "RoleId": "Operator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/Operator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/AccountService/Roles/ReadOnly/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/AccountService/Roles/ReadOnly/index.json new file mode 100644 index 00000000..1df0cf03 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/AccountService/Roles/ReadOnly/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "ReadOnly", + "Name": "User Role", + "Description": "ReadOnly User Role", + "RoleId": "ReadOnly", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/AccountService/Roles/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/AccountService/Roles/index.json new file mode 100644 index 00000000..ba9ee112 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/AccountService/Roles/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#RoleCollection.RoleCollection", + "Name": "Roles Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/Operator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly" + } + ], + "@odata.id": "/redfish/v1/AccountService/Roles", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/AccountService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/AccountService/index.json new file mode 100644 index 00000000..eb627494 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/AccountService/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#AccountService.v1_19_0.AccountService", + "Id": "AccountService", + "Name": "Account Service", + "Description": "Account Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "AuthFailureLoggingThreshold": 3, + "MinPasswordLength": 8, + "AccountLockoutThreshold": 5, + "AccountLockoutDuration": 30, + "AccountLockoutCounterResetAfter": 30, + "AccountLockoutCounterResetEnabled": true, + "Accounts": { + "@odata.id": "/redfish/v1/AccountService/Accounts" + }, + "Roles": { + "@odata.id": "/redfish/v1/AccountService/Roles" + }, + "@odata.id": "/redfish/v1/AccountService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Chassis/1U/Drives/32ADF365C6C1B7BD/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Chassis/1U/Drives/32ADF365C6C1B7BD/index.json new file mode 100644 index 00000000..25c69444 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Chassis/1U/Drives/32ADF365C6C1B7BD/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "32ADF365C6C1B7BD", + "Name": "Drive Sample", + "IndicatorLED": "Lit", + "Model": "C123", + "Revision": "100A", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 899527000064, + "FailurePredicted": false, + "Protocol": "SAS", + "MediaType": "HDD", + "Manufacturer": "Contoso", + "SerialNumber": "1234570", + "PartNumber": "C123-1111", + "Identifiers": [ + { + "DurableNameFormat": "NAA", + "DurableName": "32ADF365C6C1B7BD" + } + ], + "HotspareType": "Global", + "HotspareReplacementMode": "Revertible", + "EncryptionAbility": "SelfEncryptingDrive", + "EncryptionStatus": "Unlocked", + "RotationSpeedRPM": 15000, + "BlockSizeBytes": 512, + "CapableSpeedGbs": 12, + "NegotiatedSpeedGbs": 12, + "Actions": { + "#Drive.SecureErase": { + "target": "/redfish/v1/Chassis/1U/Drives/32ADF365C6C1B7BD/Actions/Drive.SecureErase" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Drives/32ADF365C6C1B7BD", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Chassis/1U/Drives/35D38F11ACEF7BD3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Chassis/1U/Drives/35D38F11ACEF7BD3/index.json new file mode 100644 index 00000000..aef25362 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Chassis/1U/Drives/35D38F11ACEF7BD3/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "35D38F11ACEF7BD3", + "Name": "Drive Sample", + "IndicatorLED": "Lit", + "Model": "C123", + "Revision": "100A", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 899527000064, + "FailurePredicted": false, + "Protocol": "SAS", + "MediaType": "HDD", + "Manufacturer": "Contoso", + "SerialNumber": "1234567", + "PartNumber": "C123-1111", + "Identifiers": [ + { + "DurableNameFormat": "NAA", + "DurableName": "35D38F11ACEF7BD3" + } + ], + "HotspareType": "None", + "EncryptionAbility": "SelfEncryptingDrive", + "EncryptionStatus": "Unlocked", + "RotationSpeedRPM": 15000, + "BlockSizeBytes": 512, + "CapableSpeedGbs": 12, + "NegotiatedSpeedGbs": 12, + "Links": { + "Volumes": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/1" + } + ] + }, + "Actions": { + "#Drive.SecureErase": { + "target": "/redfish/v1/Chassis/1U/Drives/35D38F11ACEF7BD3/Actions/Drive.SecureErase" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Drives/35D38F11ACEF7BD3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Chassis/1U/Drives/3D58ECBC375FD9F2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Chassis/1U/Drives/3D58ECBC375FD9F2/index.json new file mode 100644 index 00000000..02a626bc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Chassis/1U/Drives/3D58ECBC375FD9F2/index.json @@ -0,0 +1,49 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "3D58ECBC375FD9F2", + "Name": "Drive Sample", + "IndicatorLED": "Lit", + "Model": "C123", + "Revision": "100A", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 899527000064, + "FailurePredicted": false, + "Protocol": "SAS", + "MediaType": "HDD", + "Manufacturer": "Contoso", + "SerialNumber": "1234568", + "PartNumber": "C123-1111", + "Identifiers": [ + { + "DurableNameFormat": "NAA", + "DurableName": "32ADF365C6C1B7BD" + } + ], + "HotspareType": "None", + "EncryptionAbility": "SelfEncryptingDrive", + "EncryptionStatus": "Unlocked", + "RotationSpeedRPM": 15000, + "BlockSizeBytes": 512, + "CapableSpeedGbs": 12, + "NegotiatedSpeedGbs": 12, + "Links": { + "Volumes": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/2" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/3" + } + ] + }, + "Actions": { + "#Drive.SecureErase": { + "target": "/redfish/v1/Chassis/1U/Drives/3D58ECBC375FD9F2/Actions/Drive.SecureErase" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Drives/3D58ECBC375FD9F2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Chassis/1U/Drives/3F5A8C54207B7233/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Chassis/1U/Drives/3F5A8C54207B7233/index.json new file mode 100644 index 00000000..571eae41 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Chassis/1U/Drives/3F5A8C54207B7233/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "3F5A8C54207B7233", + "Name": "Drive Sample", + "IndicatorLED": "Lit", + "Model": "C123", + "Revision": "100A", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 899527000064, + "FailurePredicted": false, + "Protocol": "SAS", + "MediaType": "HDD", + "Manufacturer": "Contoso", + "SerialNumber": "1234569", + "PartNumber": "C123-1111", + "Identifiers": [ + { + "DurableNameFormat": "NAA", + "DurableName": "3F5A8C54207B7233" + } + ], + "HotspareType": "None", + "EncryptionAbility": "SelfEncryptingDrive", + "EncryptionStatus": "Unlocked", + "RotationSpeedRPM": 15000, + "BlockSizeBytes": 512, + "CapableSpeedGbs": 12, + "NegotiatedSpeedGbs": 12, + "Links": { + "Volumes": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/1" + } + ] + }, + "Actions": { + "#Drive.SecureErase": { + "target": "/redfish/v1/Chassis/1U/Drives/3F5A8C54207B7233/Actions/Drive.SecureErase" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Drives/3F5A8C54207B7233", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Chassis/1U/Drives/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Chassis/1U/Drives/index.json new file mode 100644 index 00000000..f5e8e1e9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Chassis/1U/Drives/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#DriveCollection.DriveCollection", + "Name": "Drive Collection", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Drives/35D38F11ACEF7BD3" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Drives/3F5A8C54207B7233" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Drives/32ADF365C6C1B7BD" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Drives/3D58ECBC375FD9F2" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/Drives", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Chassis/1U/Power/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Chassis/1U/Power/index.json new file mode 100644 index 00000000..c0862b32 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Chassis/1U/Power/index.json @@ -0,0 +1,139 @@ +{ + "@odata.type": "#Power.v1_7_3.Power", + "Id": "Power", + "Name": "Power", + "PowerControl": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Power#/PowerControl/0", + "MemberId": "0", + "Name": "Server Power Control", + "PowerConsumedWatts": 344, + "PowerRequestedWatts": 800, + "PowerAvailableWatts": 0, + "PowerCapacityWatts": 800, + "PowerAllocatedWatts": 800, + "PowerMetrics": { + "IntervalInMin": 30, + "MinConsumedWatts": 271, + "MaxConsumedWatts": 489, + "AverageConsumedWatts": 319 + }, + "PowerLimit": { + "LimitInWatts": 500, + "LimitException": "LogEventOnly", + "CorrectionInMs": 50 + }, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ], + "Status": { + "State": "Enabled", + "Health": "OK" + } + } + ], + "Voltages": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Power#/Voltages/0", + "MemberId": "0", + "Name": "VRM1 Voltage", + "SensorNumber": 11, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingVolts": 12, + "UpperThresholdNonCritical": 12.5, + "UpperThresholdCritical": 13, + "UpperThresholdFatal": 15, + "LowerThresholdNonCritical": 11.5, + "LowerThresholdCritical": 11, + "LowerThresholdFatal": 10, + "MinReadingRange": 0, + "MaxReadingRange": 20, + "PhysicalContext": "VoltageRegulator", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Power#/Voltages/1", + "MemberId": "1", + "Name": "VRM2 Voltage", + "SensorNumber": 12, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingVolts": 5, + "UpperThresholdNonCritical": 5.5, + "UpperThresholdCritical": 7, + "LowerThresholdNonCritical": 4.75, + "LowerThresholdCritical": 4.5, + "MinReadingRange": 0, + "MaxReadingRange": 20, + "PhysicalContext": "VoltageRegulator", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ] + } + ], + "PowerSupplies": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Power#/PowerSupplies/0", + "MemberId": "0", + "Name": "Power Supply Bay", + "Status": { + "State": "Enabled", + "Health": "Warning" + }, + "PowerSupplyType": "AC", + "LineInputVoltageType": "ACWideRange", + "LineInputVoltage": 120, + "PowerCapacityWatts": 800, + "LastPowerOutputWatts": 325, + "Model": "499253-B21", + "Manufacturer": "ManufacturerName", + "FirmwareVersion": "1.00", + "SerialNumber": "1Z0000001", + "PartNumber": "0000001A3A", + "SparePartNumber": "0000001A3A", + "InputRanges": [ + { + "InputType": "AC", + "MinimumVoltage": 100, + "MaximumVoltage": 120, + "OutputWattage": 800 + }, + { + "InputType": "AC", + "MinimumVoltage": 200, + "MaximumVoltage": 240, + "OutputWattage": 1300 + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ] + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/Power", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Chassis/1U/Thermal/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Chassis/1U/Thermal/index.json new file mode 100644 index 00000000..db748c50 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Chassis/1U/Thermal/index.json @@ -0,0 +1,159 @@ +{ + "@odata.type": "#Thermal.v1_7_3.Thermal", + "Id": "Thermal", + "Name": "Thermal", + "Temperatures": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Temperatures/0", + "MemberId": "0", + "Name": "CPU1 Temp", + "SensorNumber": 5, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 41, + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 45, + "UpperThresholdFatal": 48, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 60, + "PhysicalContext": "CPU", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Temperatures/1", + "MemberId": "1", + "Name": "CPU2 Temp", + "SensorNumber": 6, + "Status": { + "State": "Disabled" + }, + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 45, + "UpperThresholdFatal": 48, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 60, + "PhysicalContext": "CPU", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU2" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Temperatures/2", + "MemberId": "2", + "Name": "Chassis Intake Temp", + "SensorNumber": 9, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 25, + "UpperThresholdNonCritical": 30, + "UpperThresholdCritical": 40, + "UpperThresholdFatal": 50, + "LowerThresholdNonCritical": 10, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 0, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 60, + "PhysicalContext": "Intake", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + } + ] + } + ], + "Fans": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Fans/0", + "MemberId": "0", + "Name": "BaseBoard System Fan", + "PhysicalContext": "Backplane", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2100, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 0, + "MinReadingRange": 0, + "MaxReadingRange": 5000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Fans/1", + "MemberId": "1", + "Name": "BaseBoard System Fan Backup", + "PhysicalContext": "Backplane", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2050, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 0, + "MinReadingRange": 0, + "MaxReadingRange": 5000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ] + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Redundancy/0", + "MemberId": "0", + "Name": "BaseBoard System Fans", + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Fans/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Fans/1" + } + ], + "Mode": "N+m", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MinNumNeeded": 1, + "MaxNumSupported": 2 + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/Thermal", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Chassis/1U/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Chassis/1U/index.json new file mode 100644 index 00000000..c6212583 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Chassis/1U/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "1U", + "Name": "Computer System Chassis", + "ChassisType": "RackMount", + "AssetTag": "Chicago-45Z-2381", + "Manufacturer": "Contoso", + "Model": "3500RX", + "SKU": "8675309", + "SerialNumber": "437XR1138R2", + "PartNumber": "224071-J23", + "PowerState": "On", + "IndicatorLED": "Lit", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + }, + "Power": { + "@odata.id": "/redfish/v1/Chassis/1U/Power" + }, + "Drives": { + "@odata.id": "/redfish/v1/Chassis/1U/Drives" + }, + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ], + "ManagersInChassis": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/1U", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Chassis/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Chassis/index.json new file mode 100644 index 00000000..9066a5e8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Chassis/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ChassisCollection.ChassisCollection", + "Name": "Chassis Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ], + "@odata.id": "/redfish/v1/Chassis", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/EventService/SubmitTestEventActionInfo/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/EventService/SubmitTestEventActionInfo/index.json new file mode 100644 index 00000000..44abc4f3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/EventService/SubmitTestEventActionInfo/index.json @@ -0,0 +1,62 @@ +{ + "@odata.type": "#ActionInfo.v1_6_0.ActionInfo", + "Id": "SubmitTestEventActionInfo", + "Name": "SubmitTestEvent Action Info", + "Parameters": [ + { + "Name": "EventType", + "Required": false, + "DataType": "String", + "AllowableValues": [ + "StatusChange", + "ResourceUpdated", + "ResourceAdded", + "ResourceRemoved", + "Alert", + "Other" + ] + }, + { + "Name": "EventId", + "Required": false, + "DataType": "String" + }, + { + "Name": "EventTimestamp", + "Required": false, + "DataType": "String" + }, + { + "Name": "Severity", + "Required": false, + "DataType": "String" + }, + { + "Name": "Message", + "Required": false, + "DataType": "String" + }, + { + "Name": "MessageId", + "Required": true, + "DataType": "String" + }, + { + "Name": "MessageArgs", + "Required": false, + "DataType": "StringArray" + }, + { + "Name": "OriginOfCondition", + "Required": false, + "DataType": "String" + }, + { + "Name": "EventGroupId", + "Required": false, + "DataType": "Number" + } + ], + "@odata.id": "/redfish/v1/EventService/SubmitTestEventActionInfo", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/EventService/Subscriptions/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/EventService/Subscriptions/1/index.json new file mode 100644 index 00000000..4cf433da --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/EventService/Subscriptions/1/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#EventDestination.v1_17_1.EventDestination", + "Id": "1", + "Name": "EventSubscription 1", + "Destination": "http://www.dnsname.com/Destination1", + "EventTypes": [ + "Alert" + ], + "Context": "WebUser3", + "Protocol": "Redfish", + "SubscriptionType": "RedfishEvent", + "@odata.id": "/redfish/v1/EventService/Subscriptions/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/EventService/Subscriptions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/EventService/Subscriptions/index.json new file mode 100644 index 00000000..50ce173e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/EventService/Subscriptions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#EventDestinationCollection.EventDestinationCollection", + "Name": "Event Subscriptions Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/EventService/Subscriptions/1" + } + ], + "@odata.id": "/redfish/v1/EventService/Subscriptions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/EventService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/EventService/index.json new file mode 100644 index 00000000..ebb7d2fb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/EventService/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#EventService.v1_12_0.EventService", + "Id": "EventService", + "Name": "Event Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "DeliveryRetryAttempts": 3, + "DeliveryRetryIntervalSeconds": 60, + "EventTypesForSubscription": [ + "StatusChange", + "ResourceUpdated", + "ResourceAdded", + "ResourceRemoved", + "Alert" + ], + "Subscriptions": { + "@odata.id": "/redfish/v1/EventService/Subscriptions" + }, + "Actions": { + "#EventService.SubmitTestEvent": { + "target": "/redfish/v1/EventService/Actions/EventService.SubmitTestEvent", + "@Redfish.ActionInfo": "/redfish/v1/EventService/SubmitTestEventActionInfo" + } + }, + "@odata.id": "/redfish/v1/EventService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/EthernetInterfaces/Dedicated/SD/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/EthernetInterfaces/Dedicated/SD/index.json new file mode 100644 index 00000000..a951bc17 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/EthernetInterfaces/Dedicated/SD/index.json @@ -0,0 +1,60 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "SD", + "Name": "Manager Ethernet Interface", + "Description": "Management Network Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:33:CF:EA", + "MACAddress": "23:11:8A:33:CF:EA", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.0.1" + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred" + } + ], + "NameServers": [ + "names.dmtf.org" + ], + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/Dedicated/SD", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/EthernetInterfaces/Dedicated/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/EthernetInterfaces/Dedicated/index.json new file mode 100644 index 00000000..bd71dce8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/EthernetInterfaces/Dedicated/index.json @@ -0,0 +1,76 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "Dedicated", + "Name": "Manager Ethernet Interface", + "Description": "Management Network Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:33:CF:EA", + "MACAddress": "23:11:8A:33:CF:EA", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.0.1" + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred" + } + ], + "NameServers": [ + "names.dmtf.org" + ], + "@Redfish.Settings": { + "@odata.type": "#Settings.v1_5_0.Settings", + "SettingsObject": { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/Dedicated/SD" + }, + "Time": "2012-03-07T14:44.30-05:00", + "ETag": "84ffcbb050ddc7fa9cddb59014546e59", + "Messages": [ + { + "MessageId": "Base.1.0.SettingsFailed", + "RelatedProperties": [ + "/IPv6Addresses/PrefixLength" + ] + } + ] + }, + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/Dedicated", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/EthernetInterfaces/index.json new file mode 100644 index 00000000..c373a6af --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/EthernetInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Network Interface Collection", + "Description": "Collection of EthernetInterfaces for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/Dedicated" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/LogServices/Log/Entries/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/LogServices/Log/Entries/1/index.json new file mode 100644 index 00000000..4845e486 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/LogServices/Log/Entries/1/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "Event", + "Severity": "Critical", + "Created": "2012-03-07T14:44:00Z", + "SensorNumber": 1, + "Message": "System May be Melting", + "MessageId": "Event.1.0.TempWayTooHot", + "MessageArgs": [ + "88" + ], + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + } + }, + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/LogServices/Log/Entries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/LogServices/Log/Entries/index.json new file mode 100644 index 00000000..83b2e539 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/LogServices/Log/Entries/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries/1", + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "Event", + "Severity": "Critical", + "Created": "2012-03-07T14:44:00Z", + "SensorNumber": 1, + "Message": "System May be Melting", + "MessageId": "Event.1.0.TempWayTooHot", + "MessageArgs": [ + "88" + ], + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + } + } + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/LogServices/Log/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/LogServices/Log/index.json new file mode 100644 index 00000000..6d2dbdfe --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/LogServices/Log/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#LogService.v1_9_0.LogService", + "Id": "Log", + "Name": "System Log Service", + "MaxNumberOfRecords": 1000, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Managers/BMC/LogServices/Log/Actions/LogService.ClearLog" + } + }, + "Entries": { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries" + }, + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/LogServices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/LogServices/index.json new file mode 100644 index 00000000..0de6f42a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/LogServices/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Description": "Collection of Log Services for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/LogServices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/NetworkProtocol/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/NetworkProtocol/index.json new file mode 100644 index 00000000..37fbbcea --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/NetworkProtocol/index.json @@ -0,0 +1,53 @@ +{ + "@odata.type": "#ManagerNetworkProtocol.v1_14_0.ManagerNetworkProtocol", + "Id": "NetworkProtocol", + "Name": "Manager Network Protocol", + "Description": "Manager Network Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "HTTP": { + "ProtocolEnabled": true, + "Port": 80 + }, + "HTTPS": { + "ProtocolEnabled": true, + "Port": 443 + }, + "IPMI": { + "ProtocolEnabled": true, + "Port": 623 + }, + "SSH": { + "ProtocolEnabled": true, + "Port": 22 + }, + "SNMP": { + "ProtocolEnabled": true, + "Port": 161 + }, + "VirtualMedia": { + "ProtocolEnabled": true, + "Port": 17988 + }, + "SSDP": { + "ProtocolEnabled": true, + "Port": 1900, + "NotifyMulticastIntervalSeconds": 600, + "NotifyTTL": 5, + "NotifyIPv6Scope": "Site" + }, + "Telnet": { + "ProtocolEnabled": true, + "Port": 23 + }, + "KVMIP": { + "ProtocolEnabled": true, + "Port": 5288 + }, + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/SerialInterfaces/TTY0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/SerialInterfaces/TTY0/index.json new file mode 100644 index 00000000..2cae0a79 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/SerialInterfaces/TTY0/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#SerialInterface.v1_3_0.SerialInterface", + "Id": "TTY0", + "Name": "Manager Serial Interface 1", + "Description": "Management for Serial Interface", + "InterfaceEnabled": true, + "SignalType": "Rs232", + "BitRate": "115200", + "Parity": "None", + "DataBits": "8", + "StopBits": "1", + "FlowControl": "None", + "ConnectorType": "RJ45", + "PinOut": "Cyclades", + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces/TTY0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/SerialInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/SerialInterfaces/index.json new file mode 100644 index 00000000..249de7d4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/SerialInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#SerialInterfaceCollection.SerialInterfaceCollection", + "Name": "Serial Interface Collection", + "Description": "Collection of Serial Interfaces for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces/TTY0" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/VirtualMedia/CD1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/VirtualMedia/CD1/index.json new file mode 100644 index 00000000..f91e066b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/VirtualMedia/CD1/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#VirtualMedia.v1_7_0.VirtualMedia", + "Id": "CD1", + "Name": "Virtual CD", + "MediaTypes": [ + "CD", + "DVD" + ], + "Image": "redfish.dmtf.org/freeImages/freeOS.1.1.iso", + "ImageName": "mymedia-read-only", + "ConnectedVia": "Applet", + "Inserted": true, + "WriteProtected": false, + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/CD1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/VirtualMedia/Floppy1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/VirtualMedia/Floppy1/index.json new file mode 100644 index 00000000..15191be4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/VirtualMedia/Floppy1/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#VirtualMedia.v1_7_0.VirtualMedia", + "Id": "Floppy1", + "Name": "Virtual Removable Media", + "MediaTypes": [ + "Floppy", + "USBStick" + ], + "Image": "https://www.dmtf.org/freeImages/Sardine.img", + "ImageName": "Sardine2.1.43.35.6a", + "ConnectedVia": "URI", + "Inserted": true, + "WriteProtected": false, + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/Floppy1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/VirtualMedia/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/VirtualMedia/index.json new file mode 100644 index 00000000..116eb0b0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/VirtualMedia/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#VirtualMediaCollection.VirtualMediaCollection", + "Name": "Virtual Media Services", + "Description": "Redfish-BMC Virtual Media Service Settings", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/Floppy1" + }, + { + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/CD1" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/index.json new file mode 100644 index 00000000..a9131231 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/BMC/index.json @@ -0,0 +1,83 @@ +{ + "@odata.type": "#Manager.v1_25_0.Manager", + "Id": "BMC", + "Name": "Manager", + "ManagerType": "BMC", + "Description": "Contoso BMC", + "ServiceEntryPointUUID": "92384634-2938-2342-8820-489239905423", + "UUID": "58893887-8974-2487-2389-841168418919", + "Model": "Joo Janta 200", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PowerState": "On", + "GraphicalConsole": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 2, + "ConnectTypesSupported": [ + "KVMIP" + ] + }, + "SerialConsole": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 1, + "ConnectTypesSupported": [ + "Telnet", + "SSH", + "IPMI" + ] + }, + "CommandShell": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 4, + "ConnectTypesSupported": [ + "Telnet", + "SSH" + ] + }, + "FirmwareVersion": "1.00", + "NetworkProtocol": { + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces" + }, + "SerialInterfaces": { + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices" + }, + "VirtualMedia": { + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia" + }, + "Links": { + "ManagerForServers": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + } + ], + "ManagerForChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ], + "ManagerInChassis": { + "@odata.id": "/redfish/v1/Chassis/1U" + } + }, + "Actions": { + "#Manager.Reset": { + "target": "/redfish/v1/Managers/BMC/Actions/Manager.Reset", + "ResetType@Redfish.AllowableValues": [ + "ForceRestart", + "GracefulRestart" + ] + } + }, + "@odata.id": "/redfish/v1/Managers/BMC", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/index.json new file mode 100644 index 00000000..2de83743 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Managers/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerCollection.ManagerCollection", + "Name": "Manager Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ], + "@odata.id": "/redfish/v1/Managers", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/SessionService/Sessions/1234567890ABCDEF/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/SessionService/Sessions/1234567890ABCDEF/index.json new file mode 100644 index 00000000..90844a1b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/SessionService/Sessions/1234567890ABCDEF/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#Session.v1_9_0.Session", + "Id": "1234567890ABCDEF", + "Name": "User Session", + "Description": "Manager User Session", + "UserName": "Administrator", + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/SessionService/Sessions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/SessionService/Sessions/index.json new file mode 100644 index 00000000..8d8cdf58 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/SessionService/Sessions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SessionCollection.SessionCollection", + "Name": "Session Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF" + } + ], + "@odata.id": "/redfish/v1/SessionService/Sessions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/SessionService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/SessionService/index.json new file mode 100644 index 00000000..62a05690 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/SessionService/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#SessionService.v1_2_0.SessionService", + "Id": "SessionService", + "Name": "Session Service", + "Description": "Session Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "SessionTimeout": 30, + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + }, + "@odata.id": "/redfish/v1/SessionService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Bios/Settings/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Bios/Settings/index.json new file mode 100644 index 00000000..2768ab90 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Bios/Settings/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#Bios.v1_3_0.Bios", + "Id": "Settings", + "Name": "BIOS Configuration Pending Settings", + "AttributeRegistry": "BiosAttributeRegistryP89.v1_0_0", + "Attributes": { + "AdminPhone": "(404) 555-1212", + "BootMode": "Uefi", + "EmbeddedSata": "Ahci", + "NicBoot1": "NetworkBoot", + "NicBoot2": "NetworkBoot", + "PowerProfile": "MaxPerf", + "ProcCoreDisable": 0, + "ProcHyperthreading": "Enabled", + "ProcTurboMode": "Disabled", + "UsbControl": "UsbEnabled" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Bios/Settings", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Bios/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Bios/index.json new file mode 100644 index 00000000..59435f81 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Bios/index.json @@ -0,0 +1,44 @@ +{ + "@odata.type": "#Bios.v1_3_0.Bios", + "Id": "Bios", + "Name": "BIOS Configuration Current Settings", + "AttributeRegistry": "BiosAttributeRegistryP89.v1_0_0", + "Attributes": { + "AdminPhone": "", + "BootMode": "Uefi", + "EmbeddedSata": "Raid", + "NicBoot1": "NetworkBoot", + "NicBoot2": "Disabled", + "PowerProfile": "MaxPerf", + "ProcCoreDisable": 0, + "ProcHyperthreading": "Enabled", + "ProcTurboMode": "Enabled", + "UsbControl": "UsbEnabled" + }, + "@Redfish.Settings": { + "@odata.type": "#Settings.v1_5_0.Settings", + "ETag": "9234ac83b9700123cc32", + "Messages": [ + { + "MessageId": "Base.1.0.SettingsFailed", + "RelatedProperties": [ + "/Attributes/ProcTurboMode" + ] + } + ], + "SettingsObject": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Bios/Settings" + }, + "Time": "2016-03-07T14:44.30-05:00" + }, + "Actions": { + "#Bios.ResetBios": { + "target": "/redfish/v1/Systems/437XR1138R2/Bios/Actions/Bios.ResetBios" + }, + "#Bios.ChangePassword": { + "target": "/redfish/v1/Systems/437XR1138R2/Bios/Actions/Bios.ChangePassword" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Bios", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/1/index.json new file mode 100644 index 00000000..37d0376a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/1/index.json @@ -0,0 +1,10 @@ +{ + "@odata.type": "#VLanNetworkInterface.v1_3_1.VLanNetworkInterface", + "Id": "1", + "Name": "VLAN Network Interface", + "Description": "System NIC 1 VLAN", + "VLANEnable": true, + "VLANId": 101, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/2/index.json new file mode 100644 index 00000000..afcfc204 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/2/index.json @@ -0,0 +1,10 @@ +{ + "@odata.type": "#VLanNetworkInterface.v1_3_1.VLanNetworkInterface", + "Id": "2", + "Name": "VLAN Network Interface", + "Description": "System NIC 1 VLAN", + "VLANEnable": true, + "VLANId": 199, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/index.json new file mode 100644 index 00000000..4ab6efa6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#VLanNetworkInterfaceCollection.VLanNetworkInterfaceCollection", + "Name": "VLAN Network Interface Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/2" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/index.json new file mode 100644 index 00000000..c78d0da6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/index.json @@ -0,0 +1,42 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "12446A3B0411", + "Name": "Ethernet Interface", + "Description": "System NIC 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "LinkStatus": "LinkUp", + "PermanentMACAddress": "12:44:6A:3B:04:11", + "MACAddress": "12:44:6A:3B:04:11", + "SpeedMbps": 1000, + "FullDuplex": true, + "HostName": "web483", + "FQDN": "web483.contoso.com", + "IPv6DefaultGateway": "fe80::3ed9:2bff:fe34:600", + "NameServers": [ + "names.contoso.com" + ], + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "Static", + "Gateway": "192.168.0.1" + } + ], + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "Static", + "AddressState": "Preferred" + } + ], + "VLANs": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890/index.json new file mode 100644 index 00000000..023617f6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890/index.json @@ -0,0 +1,43 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "12446A3B8890", + "Name": "Ethernet Interface", + "Description": "System NIC 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "LinkStatus": "LinkUp", + "PermanentMACAddress": "12:44:6A:3B:88:90", + "MACAddress": "AA:BB:CC:DD:EE:00", + "SpeedMbps": 1000, + "FullDuplex": true, + "HostName": "backup-web483", + "FQDN": "backup-web483.contoso.com", + "IPv6DefaultGateway": "fe80::3ed9:2bff:fe34:600", + "NameServers": [ + "names.contoso.com" + ], + "IPv4Addresses": [ + { + "Address": "192.168.0.11", + "SubnetMask": "255.255.255.0", + "AddressOrigin": "Static", + "Gateway": "192.168.0.1" + } + ], + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e33", + "PrefixLength": 64, + "AddressOrigin": "Static", + "AddressState": "Preferred" + } + ], + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/EthernetInterfaces/index.json new file mode 100644 index 00000000..b5c55816 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/EthernetInterfaces/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Interface Collection", + "Description": "System NICs on Contoso Servers", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json new file mode 100644 index 00000000..1fda6c42 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "SEL", + "Severity": "Critical", + "Created": "2012-03-07T14:44:00Z", + "EntryCode": "Upper Critical - going high", + "SensorType": "Temperature", + "SensorNumber": 1, + "Message": "Temperature threshold exceeded", + "MessageId": "0x592A28", + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/LogServices/Log1/Entries/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/LogServices/Log1/Entries/2/index.json new file mode 100644 index 00000000..b7585da8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/LogServices/Log1/Entries/2/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "2", + "Name": "Log Entry 2", + "EntryType": "SEL", + "Severity": "Critical", + "Created": "2012-03-07T14:45:00Z", + "EntryCode": "Upper Critical - going high", + "SensorType": "Temperature", + "SensorNumber": 2, + "Message": "Temperature threshold exceeded", + "MessageId": "0x592E28", + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/LogServices/Log1/Entries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/LogServices/Log1/Entries/index.json new file mode 100644 index 00000000..50c62a57 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/LogServices/Log1/Entries/index.json @@ -0,0 +1,49 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries/1", + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "SEL", + "Severity": "Critical", + "Created": "2012-03-07T14:44:00Z", + "EntryCode": "Upper Critical - going high", + "SensorType": "Temperature", + "SensorNumber": 1, + "Message": "Temperature threshold exceeded", + "MessageId": "0x592A28", + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + } + } + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries/2", + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "2", + "Name": "Log Entry 2", + "EntryType": "SEL", + "Severity": "Critical", + "Created": "2012-03-07T14:45:00Z", + "EntryCode": "Upper Critical - going high", + "SensorType": "Temperature", + "SensorNumber": 2, + "Message": "Temperature threshold exceeded", + "MessageId": "0x592E28", + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + } + } + } + ], + "@odata.nextLink": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries?$skiptoken=2", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/LogServices/Log1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/LogServices/Log1/index.json new file mode 100644 index 00000000..4a80e140 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/LogServices/Log1/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#LogService.v1_9_0.LogService", + "Id": "Log1", + "Name": "System Log Service", + "MaxNumberOfRecords": 1000, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Actions/LogService.ClearLog" + } + }, + "Entries": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/LogServices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/LogServices/index.json new file mode 100644 index 00000000..fb9f6518 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/LogServices/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Memory/DIMM1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Memory/DIMM1/index.json new file mode 100644 index 00000000..8f9264d0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Memory/DIMM1/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM1", + "Name": "DIMM Slot 1", + "RankCount": 2, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 32768, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Memory/DIMM2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Memory/DIMM2/index.json new file mode 100644 index 00000000..9255c961 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Memory/DIMM2/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM2", + "Name": "DIMM Slot 2", + "RankCount": 2, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 32768, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 2 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Memory/DIMM3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Memory/DIMM3/index.json new file mode 100644 index 00000000..ce273aac --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Memory/DIMM3/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM3", + "Name": "DIMM Slot 3", + "RankCount": 2, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 32768, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 2, + "MemoryController": 2, + "Channel": 1, + "Slot": 3 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Memory/DIMM4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Memory/DIMM4/index.json new file mode 100644 index 00000000..60a64276 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Memory/DIMM4/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM4", + "Name": "DIMM Slot 4", + "MemoryLocation": { + "Socket": 2, + "MemoryController": 2, + "Channel": 1, + "Slot": 4 + }, + "Status": { + "State": "Absent" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Memory/index.json new file mode 100644 index 00000000..0abde074 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Memory/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Module Collection", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM2" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM3" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM4" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Processors/CPU1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Processors/CPU1/index.json new file mode 100644 index 00000000..5e66fc65 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Processors/CPU1/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU1", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Multi-Core Intel(R) Xeon(R) processor 7xxx Series", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 3700, + "TotalCores": 8, + "TotalThreads": 16, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Processors/CPU2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Processors/CPU2/index.json new file mode 100644 index 00000000..24eec3f5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Processors/CPU2/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU2", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "CPU", + "Status": { + "State": "Absent" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Processors/index.json new file mode 100644 index 00000000..693c88d6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Processors/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processors Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU2" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/1/Controllers/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/1/Controllers/1/index.json new file mode 100644 index 00000000..d49a3881 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/1/Controllers/1/index.json @@ -0,0 +1,52 @@ +{ + "@odata.type": "#StorageController.v1_12_0.StorageController", + "Id": "1", + "Name": "Contoso MPF RAID", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Identifiers": [ + { + "DurableNameFormat": "NAA", + "DurableName": "345C59DBD970859C" + } + ], + "Manufacturer": "Contoso", + "Model": "Contoso MPF RAID", + "SerialNumber": "2M220100SL", + "PartNumber": "CT18754", + "SpeedGbps": 12, + "FirmwareVersion": "1.0.0.7", + "SupportedControllerProtocols": [ + "PCIe" + ], + "SupportedDeviceProtocols": [ + "SAS", + "SATA" + ], + "CacheSummary": { + "TotalCacheSizeMiB": 1024, + "PersistentCacheSizeMiB": 1024, + "Status": { + "State": "Enabled", + "Health": "OK" + } + }, + "IsLogical": false, + "Links": { + "AttachedVolumes": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/2" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/3" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Controllers/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/1/Controllers/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/1/Controllers/2/index.json new file mode 100644 index 00000000..f6b10b50 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/1/Controllers/2/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#StorageController.v1_12_0.StorageController", + "Id": "2", + "Name": "Contoso RAID PF1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Manufacturer": "Contoso", + "SpeedGbps": 8, + "FirmwareVersion": "1.0.0.7", + "SupportedControllerProtocols": [ + "PCIe" + ], + "SupportedDeviceProtocols": [ + "SAS", + "SATA" + ], + "IsLogical": true, + "MPFProperties": { + "IsSupervisor": true + }, + "Links": { + "AttachedVolumes": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/1" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Controllers/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/1/Controllers/3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/1/Controllers/3/index.json new file mode 100644 index 00000000..a47b1556 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/1/Controllers/3/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#StorageController.v1_12_0.StorageController", + "Id": "3", + "Name": "Contoso RAID PF2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Identifiers": [ + { + "DurableNameFormat": "NAA", + "DurableName": "345C59DBD970859C" + } + ], + "Manufacturer": "Contoso", + "SpeedGbps": 8, + "FirmwareVersion": "1.0.0.7", + "SupportedControllerProtocols": [ + "PCIe" + ], + "SupportedDeviceProtocols": [ + "SAS", + "SATA" + ], + "IsLogical": true, + "MPFProperties": { + "IsSupervisor": false + }, + "Links": { + "AttachedVolumes": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/2" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Controllers/3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/1/Controllers/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/1/Controllers/index.json new file mode 100644 index 00000000..1a716876 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/1/Controllers/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#StorageControllerCollection.StorageControllerCollection", + "Name": "StorageController Collection", + "Description": "StorageController Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Controllers/1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Controllers/2" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Controllers/3" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Controllers", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/1/Volumes/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/1/Volumes/1/index.json new file mode 100644 index 00000000..e57646a9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/1/Volumes/1/index.json @@ -0,0 +1,39 @@ +{ + "@odata.type": "#Volume.v1_11_0.Volume", + "Id": "1", + "Name": "Virtual Disk 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Encrypted": false, + "RAIDType": "RAID1", + "CapacityBytes": 899527000064, + "Identifiers": [ + { + "DurableNameFormat": "UUID", + "DurableName": "38f1818b-111e-463a-aa19-fa54f792e468" + } + ], + "Links": { + "Drives": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Drives/3F5A8C54207B7233" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Drives/35D38F11ACEF7BD3" + } + ] + }, + "Actions": { + "#Volume.Initialize": { + "target": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/1/Actions/Volume.Initialize", + "InitializeType@Redfish.AllowableValues": [ + "Fast", + "Slow" + ] + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/1/Volumes/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/1/Volumes/2/index.json new file mode 100644 index 00000000..d868ecf0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/1/Volumes/2/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Volume.v1_11_0.Volume", + "Id": "2", + "Name": "Virtual Disk 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Encrypted": false, + "RAIDType": "RAID0", + "CapacityBytes": 107374182400, + "Identifiers": [ + { + "DurableNameFormat": "UUID", + "DurableName": "0324c96c-8031-4f5e-886c-50cd90aca854" + } + ], + "Links": { + "Drives": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Drives/3D58ECBC375FD9F2" + } + ] + }, + "Actions": { + "#Volume.Initialize": { + "target": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/2/Actions/Volume.Initialize", + "InitializeType@Redfish.AllowableValues": [ + "Fast", + "Slow" + ] + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/1/Volumes/3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/1/Volumes/3/index.json new file mode 100644 index 00000000..956c80a6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/1/Volumes/3/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Volume.v1_11_0.Volume", + "Id": "3", + "Name": "Virtual Disk 3", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Encrypted": false, + "RAIDType": "RAID0", + "CapacityBytes": 107374182400, + "Identifiers": [ + { + "DurableNameFormat": "UUID", + "DurableName": "eb179a30-6f87-4fdb-8f92-639eb7aaabcb" + } + ], + "Links": { + "Drives": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Drives/3D58ECBC375FD9F2" + } + ] + }, + "Actions": { + "#Volume.Initialize": { + "target": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/3/Actions/Volume.Initialize", + "InitializeType@Redfish.AllowableValues": [ + "Fast", + "Slow" + ] + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/1/Volumes/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/1/Volumes/index.json new file mode 100644 index 00000000..f1071759 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/1/Volumes/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#VolumeCollection.VolumeCollection", + "Name": "Storage Volume Collection", + "Description": "Storage Volume Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/2" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/3" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/1/index.json new file mode 100644 index 00000000..62efa557 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/1/index.json @@ -0,0 +1,50 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Id": "1", + "Name": "MPF Storage Controller", + "Description": "MPF RAID Controller", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "MPF": { + "MaximumSupportedPhysicalFunctions": 4, + "ConfiguredPhysicalFunctions": 2, + "VolumeAssignmentPolicy": "WeightedRoundRobin" + }, + "Drives": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Drives/35D38F11ACEF7BD3" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Drives/3F5A8C54207B7233" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Drives/32ADF365C6C1B7BD" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Drives/3D58ECBC375FD9F2" + } + ], + "Volumes": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes" + }, + "Controllers": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Controllers" + }, + "Actions": { + "#Storage.SetEncryptionKey": { + "target": "/redfish/v1/Systems/437XR1138R2/Storage/1/Actions/Storage.SetEncryptionKey" + } + }, + "Links": { + "UnassignedVolumes": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/3" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/index.json new file mode 100644 index 00000000..096299f5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/Storage/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#StorageCollection.StorageCollection", + "Name": "Storage Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/index.json new file mode 100644 index 00000000..4493f64b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/437XR1138R2/index.json @@ -0,0 +1,138 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "437XR1138R2", + "Name": "WebFrontEnd483", + "SystemType": "Physical", + "AssetTag": "Chicago-45Z-2381", + "Manufacturer": "Contoso", + "Model": "3500RX", + "SKU": "8675309", + "SerialNumber": "437XR1138R2", + "PartNumber": "224071-J23", + "Description": "Web Front End node", + "UUID": "38947555-7742-3448-3784-823347823834", + "HostName": "web483", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "HostingRoles": [ + "ApplicationServer" + ], + "IndicatorLED": "Off", + "PowerState": "On", + "Boot": { + "BootSourceOverrideEnabled": "Once", + "BootSourceOverrideTarget": "Pxe", + "BootSourceOverrideTarget@Redfish.AllowableValues": [ + "None", + "Pxe", + "Cd", + "Usb", + "Hdd", + "BiosSetup", + "Utilities", + "Diags", + "SDCard", + "UefiTarget" + ], + "BootSourceOverrideMode": "UEFI", + "UefiTargetBootSourceOverride": "/0x31/0x33/0x01/0x01" + }, + "TrustedModules": [ + { + "FirmwareVersion": "1.13b", + "InterfaceType": "TPM1_2", + "Status": { + "State": "Enabled", + "Health": "OK" + } + } + ], + "Oem": { + "Contoso": { + "@odata.type": "#Contoso.ComputerSystem", + "ProductionLocation": { + "FacilityName": "PacWest Production Facility", + "Country": "USA" + } + }, + "Chipwise": { + "@odata.type": "#Chipwise.ComputerSystem", + "Style": "Executive" + } + }, + "BiosVersion": "P79 v1.33 (02/28/2015)", + "ProcessorSummary": { + "Count": 2, + "Model": "Multi-Core Intel(R) Xeon(R) processor 7xxx Series", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + } + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 96, + "TotalSystemPersistentMemoryGiB": 0, + "MemoryMirroring": "None", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + } + }, + "Bios": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Bios" + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces" + }, + "Storage": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ] + }, + "Actions": { + "#ComputerSystem.Reset": { + "target": "/redfish/v1/Systems/437XR1138R2/Actions/ComputerSystem.Reset", + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "GracefulRestart", + "ForceRestart", + "Nmi", + "ForceOn", + "PushPowerButton" + ] + }, + "Oem": { + "#Contoso.Reset": { + "target": "/redfish/v1/Systems/437XR1138R2/Oem/Contoso/Actions/Contoso.Reset" + } + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/index.json new file mode 100644 index 00000000..af7ef3f8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/Systems/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ComputerSystemCollection.ComputerSystemCollection", + "Name": "Computer System Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + } + ], + "@odata.id": "/redfish/v1/Systems", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/TaskService/Tasks/545/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/TaskService/Tasks/545/index.json new file mode 100644 index 00000000..ef4dfe19 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/TaskService/Tasks/545/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#Task.v1_7_4.Task", + "Id": "545", + "Name": "Task 545", + "TaskState": "Completed", + "StartTime": "2012-03-07T14:44:00+06:00", + "EndTime": "2012-03-07T14:45:00+06:00", + "TaskStatus": "OK", + "Messages": [ + { + "MessageId": "Base.1.0.PropertyNotWritable", + "RelatedProperties": [ + "/SKU" + ], + "Message": "The property SKU is a read only property and cannot be assigned a value", + "MessageArgs": [ + "SKU" + ], + "Severity": "Warning" + } + ], + "@odata.id": "/redfish/v1/TaskService/Tasks/545", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/TaskService/Tasks/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/TaskService/Tasks/index.json new file mode 100644 index 00000000..cf1c32c8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/TaskService/Tasks/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#TaskCollection.TaskCollection", + "Name": "Task Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/TaskService/Tasks/545" + } + ], + "@odata.id": "/redfish/v1/TaskService/Tasks", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/TaskService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/TaskService/index.json new file mode 100644 index 00000000..d04a90b5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/TaskService/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#TaskService.v1_3_0.TaskService", + "Id": "TaskService", + "Name": "Tasks Service", + "DateTime": "2015-03-13T04:14:33+06:00", + "CompletedTaskOverWritePolicy": "Manual", + "LifeCycleEventOnTaskStateChange": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "Tasks": { + "@odata.id": "/redfish/v1/TaskService/Tasks" + }, + "@odata.id": "/redfish/v1/TaskService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/explorer_config.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/explorer_config.json new file mode 100644 index 00000000..0e024a83 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/explorer_config.json @@ -0,0 +1,62 @@ +{ + "name": "Simple Rack-mounted Server with Local Storage", + "description": "This example shows a server with an implementation of the Redfish storage resources, showing an integrated RAID controller with four attached drives.", + "navlinks": [ + { + "text": "Main", + "target": "main" + }, + { + "text": "Systems", + "target": "Systems", + "navlinks": [ + { + "text": "437XR1138R2", + "target": "437XR1138R2" + } + ] + }, + { + "text": "Chassis", + "target": "Chassis", + "navlinks": [ + { + "text": "1U", + "target": "1U" + } + ] + }, + { + "text": "Managers", + "target": "Managers", + "navlinks": [ + { + "text": "BMC", + "target": "BMC" + } + ] + }, + { + "text": "Task Service", + "target": "TaskService" + }, + { + "text": "Session Service", + "target": "SessionService" + }, + { + "target": "AccountService", + "text": "Account Service" + }, + { + "target": "EventService", + "text": "Event Service", + "navlinks": [ + { + "text": "Subscriptions", + "target": "Subscriptions" + } + ] + } + ] +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/index.json new file mode 100644 index 00000000..4e98badf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#ServiceRoot.v1_22_0.ServiceRoot", + "Id": "RootService", + "Name": "Root Service", + "RedfishVersion": "1.15.0", + "UUID": "92384634-2938-2342-8820-489239905423", + "ProtocolFeaturesSupported": { + "ExpandQuery": { + "ExpandAll": true, + "Levels": true, + "MaxLevels": 6, + "Links": true, + "NoLinks": true + }, + "SelectQuery": false, + "FilterQuery": false, + "OnlyMemberQuery": true, + "ExcerptQuery": true + }, + "Systems": { + "@odata.id": "/redfish/v1/Systems" + }, + "Chassis": { + "@odata.id": "/redfish/v1/Chassis" + }, + "Managers": { + "@odata.id": "/redfish/v1/Managers" + }, + "Tasks": { + "@odata.id": "/redfish/v1/TaskService" + }, + "SessionService": { + "@odata.id": "/redfish/v1/SessionService" + }, + "AccountService": { + "@odata.id": "/redfish/v1/AccountService" + }, + "EventService": { + "@odata.id": "/redfish/v1/EventService" + }, + "Links": { + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + } + }, + "@odata.id": "/redfish/v1/", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-mpf/odata/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/odata/index.json new file mode 100644 index 00000000..cbb4560b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-mpf/odata/index.json @@ -0,0 +1,51 @@ +{ + "@odata.context": "/redfish/v1/$metadata", + "value": [ + { + "name": "Service", + "kind": "Singleton", + "url": "/redfish/v1/" + }, + { + "name": "Systems", + "kind": "Singleton", + "url": "/redfish/v1/Systems" + }, + { + "name": "Chassis", + "kind": "Singleton", + "url": "/redfish/v1/Chassis" + }, + { + "name": "Managers", + "kind": "Singleton", + "url": "/redfish/v1/Managers" + }, + { + "name": "TaskService", + "kind": "Singleton", + "url": "/redfish/v1/TaskService" + }, + { + "name": "AccountService", + "kind": "Singleton", + "url": "/redfish/v1/AccountService" + }, + { + "name": "SessionService", + "kind": "Singleton", + "url": "/redfish/v1/SessionService" + }, + { + "name": "EventService", + "kind": "Singleton", + "url": "/redfish/v1/EventService" + }, + { + "name": "Sessions", + "kind": "Singleton", + "url": "/redfish/v1/SessionService/Sessions" + } + ], + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/$metadata/index.xml b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/$metadata/index.xml new file mode 100644 index 00000000..052b0f77 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/$metadata/index.xml @@ -0,0 +1,203 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/AccountService/Accounts/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/AccountService/Accounts/1/index.json new file mode 100644 index 00000000..781c45c6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/AccountService/Accounts/1/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#ManagerAccount.v1_14_2.ManagerAccount", + "Id": "1", + "Name": "User Account", + "Description": "User Account", + "Enabled": true, + "Password": null, + "PasswordChangeRequired": false, + "AccountTypes": [ + "Redfish" + ], + "UserName": "Administrator", + "RoleId": "Administrator", + "Locked": false, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + } + }, + "@odata.id": "/redfish/v1/AccountService/Accounts/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/AccountService/Accounts/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/AccountService/Accounts/index.json new file mode 100644 index 00000000..f509d474 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/AccountService/Accounts/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerAccountCollection.ManagerAccountCollection", + "Name": "Accounts Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Accounts/1" + } + ], + "@odata.id": "/redfish/v1/AccountService/Accounts", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/AccountService/Roles/Administrator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/AccountService/Roles/Administrator/index.json new file mode 100644 index 00000000..19d26a98 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/AccountService/Roles/Administrator/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Administrator", + "Name": "User Role", + "Description": "Admin User Role", + "RoleId": "Administrator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureManager", + "ConfigureUsers", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [ + "OemClearLog", + "OemPowerControl" + ], + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/AccountService/Roles/Operator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/AccountService/Roles/Operator/index.json new file mode 100644 index 00000000..90804a6a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/AccountService/Roles/Operator/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Operator", + "Name": "User Role", + "Description": "Operator User Role", + "RoleId": "Operator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/Operator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/AccountService/Roles/ReadOnly/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/AccountService/Roles/ReadOnly/index.json new file mode 100644 index 00000000..1df0cf03 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/AccountService/Roles/ReadOnly/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "ReadOnly", + "Name": "User Role", + "Description": "ReadOnly User Role", + "RoleId": "ReadOnly", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/AccountService/Roles/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/AccountService/Roles/index.json new file mode 100644 index 00000000..ba9ee112 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/AccountService/Roles/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#RoleCollection.RoleCollection", + "Name": "Roles Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/Operator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly" + } + ], + "@odata.id": "/redfish/v1/AccountService/Roles", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/AccountService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/AccountService/index.json new file mode 100644 index 00000000..eb627494 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/AccountService/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#AccountService.v1_19_0.AccountService", + "Id": "AccountService", + "Name": "Account Service", + "Description": "Account Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "AuthFailureLoggingThreshold": 3, + "MinPasswordLength": 8, + "AccountLockoutThreshold": 5, + "AccountLockoutDuration": 30, + "AccountLockoutCounterResetAfter": 30, + "AccountLockoutCounterResetEnabled": true, + "Accounts": { + "@odata.id": "/redfish/v1/AccountService/Accounts" + }, + "Roles": { + "@odata.id": "/redfish/v1/AccountService/Roles" + }, + "@odata.id": "/redfish/v1/AccountService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/Drives/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/Drives/1/index.json new file mode 100644 index 00000000..56e550d4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/Drives/1/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "1", + "Name": "NVMe Drive", + "IndicatorLED": "Lit", + "Model": "ST9146802SS", + "Revision": "S20A", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 899527000064, + "FailurePredicted": false, + "Protocol": "NVMe", + "MediaType": "SSD", + "Manufacturer": "Contoso", + "SerialNumber": "72D0A037FRD26", + "PartNumber": "SG0GP8811253178M02GJA00", + "CapableSpeedGbs": 12, + "NegotiatedSpeedGbs": 12, + "Links": { + "Volumes": [ + { + "@odata.id": "/redfish/v1/Storage/NVMeoF/Volumes/1" + } + ] + }, + "Actions": { + "#Drive.SecureErase": { + "target": "/redfish/v1/Chassis/1/Drives/1/Actions/Drive.SecureErase" + }, + "#Drive.Reset": { + "target": "/redfish/v1/Chassis/1/Drives/1/Actions/Drive.Reset" + } + }, + "@odata.id": "/redfish/v1/Chassis/1/Drives/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/Drives/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/Drives/2/index.json new file mode 100644 index 00000000..4ddbd8ea --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/Drives/2/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "2", + "Name": "NVMe Drive", + "IndicatorLED": "Lit", + "Model": "ST9146802SS", + "Revision": "S20A", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 899527000064, + "FailurePredicted": false, + "Protocol": "NVMe", + "MediaType": "SSD", + "Manufacturer": "Contoso", + "SerialNumber": "72D0A037FRD27", + "PartNumber": "SG0GP8811253178M02GJA00", + "CapableSpeedGbs": 12, + "NegotiatedSpeedGbs": 12, + "Links": { + "Volumes": [ + { + "@odata.id": "/redfish/v1/Storage/NVMeoF/Volumes/2" + } + ] + }, + "Actions": { + "#Drive.SecureErase": { + "target": "/redfish/v1/Chassis/1/Drives/2/Actions/Drive.SecureErase" + }, + "#Drive.Reset": { + "target": "/redfish/v1/Chassis/1/Drives/2/Actions/Drive.Reset" + } + }, + "@odata.id": "/redfish/v1/Chassis/1/Drives/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/Drives/3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/Drives/3/index.json new file mode 100644 index 00000000..d05016fc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/Drives/3/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "3", + "Name": "NVMe Drive", + "IndicatorLED": "Lit", + "Model": "ST9146802SS", + "Revision": "S20A", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 899527000064, + "FailurePredicted": false, + "Protocol": "NVMe", + "MediaType": "SSD", + "Manufacturer": "Contoso", + "SerialNumber": "72D0A037FRD28", + "PartNumber": "SG0GP8811253178M02GJA00", + "CapableSpeedGbs": 12, + "NegotiatedSpeedGbs": 12, + "Links": { + "Volumes": [ + { + "@odata.id": "/redfish/v1/Storage/NVMeoF/Volumes/3" + }, + { + "@odata.id": "/redfish/v1/Storage/NVMeoF/Volumes/4" + } + ] + }, + "Actions": { + "#Drive.SecureErase": { + "target": "/redfish/v1/Chassis/1/Drives/3/Actions/Drive.SecureErase" + }, + "#Drive.Reset": { + "target": "/redfish/v1/Chassis/1/Drives/3/Actions/Drive.Reset" + } + }, + "@odata.id": "/redfish/v1/Chassis/1/Drives/3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/Drives/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/Drives/index.json new file mode 100644 index 00000000..e194a518 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/Drives/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#DriveCollection.DriveCollection", + "Name": "Drive Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Drives/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1/Drives/2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1/Drives/3" + } + ], + "@odata.id": "/redfish/v1/Chassis/1/Drives", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/NetworkAdapters/1/NetworkDeviceFunctions/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/NetworkAdapters/1/NetworkDeviceFunctions/1/index.json new file mode 100644 index 00000000..54579c0f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/NetworkAdapters/1/NetworkDeviceFunctions/1/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#NetworkDeviceFunction.v1_11_1.NetworkDeviceFunction", + "Id": "1", + "Name": "Network Device Function", + "NetDevFuncType": "Ethernet", + "DeviceEnabled": true, + "NetDevFuncCapabilities": [ + "Ethernet" + ], + "Ethernet": { + "PermanentMACAddress": "00:0C:29:9A:98:ED", + "MACAddress": "00:0C:29:9A:98:ED", + "MTUSize": 1500, + "VLAN": { + "VLANEnable": false, + "VLANId": 101 + } + }, + "AssignablePhysicalPorts": [ + { + "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/1/NetworkPorts/1" + } + ], + "BootMode": "Disabled", + "Links": { + "PhysicalPortAssignment": { + "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/1/NetworkPorts/1" + }, + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/NVMeoF/Endpoints/Target1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/1/NetworkDeviceFunctions/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/NetworkAdapters/1/NetworkDeviceFunctions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/NetworkAdapters/1/NetworkDeviceFunctions/index.json new file mode 100644 index 00000000..495cde2a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/NetworkAdapters/1/NetworkDeviceFunctions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#NetworkDeviceFunctionCollection.NetworkDeviceFunctionCollection", + "Name": "Network Device Function Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/1/NetworkDeviceFunctions/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/1/NetworkDeviceFunctions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/NetworkAdapters/1/NetworkPorts/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/NetworkAdapters/1/NetworkPorts/1/index.json new file mode 100644 index 00000000..fdbe8ff0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/NetworkAdapters/1/NetworkPorts/1/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#NetworkPort.v1_4_3.NetworkPort", + "Id": "1", + "Name": "Network Port", + "PhysicalPortNumber": "1", + "LinkStatus": "Up", + "SupportedLinkCapabilities": [ + { + "LinkNetworkTechnology": "Ethernet", + "LinkSpeedMbps": 100000 + } + ], + "ActiveLinkTechnology": "Ethernet", + "SupportedEthernetCapabilities": [ + "WakeOnLAN", + "EEE" + ], + "NetDevFuncMinBWAlloc": [ + { + "NetworkDeviceFunction": { + "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/1/NetworkDeviceFunctions/1" + }, + "MinBWAllocPercent": 25 + } + ], + "NetDevFuncMaxBWAlloc": [ + { + "NetworkDeviceFunction": { + "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/1/NetworkDeviceFunctions/1" + }, + "MaxBWAllocPercent": 100 + } + ], + "AssociatedNetworkAddresses": [ + "00:0C:29:9A:98:ED" + ], + "EEEEnabled": true, + "WakeOnLANEnabled": true, + "PortMaximumMTU": 1500, + "FlowControlStatus": "None", + "FlowControlConfiguration": "None", + "SignalDetected": true, + "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/1/NetworkPorts/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/NetworkAdapters/1/NetworkPorts/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/NetworkAdapters/1/NetworkPorts/index.json new file mode 100644 index 00000000..7d6861c6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/NetworkAdapters/1/NetworkPorts/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#NetworkPortCollection.NetworkPortCollection", + "Name": "Network Port Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/1/NetworkPorts/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/1/NetworkPorts", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/NetworkAdapters/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/NetworkAdapters/1/index.json new file mode 100644 index 00000000..3b7620c5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/NetworkAdapters/1/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#NetworkAdapter.v1_14_0.NetworkAdapter", + "Id": "1", + "Name": "Network Adapter", + "Manufacturer": "Contoso", + "Model": "NET4000", + "SerialNumber": "296XR3973R5", + "PartNumber": "NET4000-RX", + "NetworkPorts": { + "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/1/NetworkPorts" + }, + "NetworkDeviceFunctions": { + "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/1/NetworkDeviceFunctions" + }, + "Controllers": [ + { + "FirmwarePackageVersion": "7.4.10", + "ControllerCapabilities": { + "NetworkPortCount": 1, + "NetworkDeviceFunctionCount": 1 + }, + "Links": { + "NetworkPorts": [ + { + "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/1/NetworkPorts/1" + } + ], + "NetworkDeviceFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/1/NetworkDeviceFunctions/1" + } + ] + } + } + ], + "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/NetworkAdapters/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/NetworkAdapters/index.json new file mode 100644 index 00000000..8bae51cf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/NetworkAdapters/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#NetworkAdapterCollection.NetworkAdapterCollection", + "Name": "Network Adapter Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/Power/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/Power/index.json new file mode 100644 index 00000000..101077b6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/Power/index.json @@ -0,0 +1,83 @@ +{ + "@odata.type": "#Power.v1_7_3.Power", + "Id": "Power", + "Name": "Power", + "PowerControl": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Power#/PowerControl/0", + "MemberId": "0", + "Name": "System Input Power", + "PowerConsumedWatts": 1795, + "PowerRequestedWatts": 1950, + "PowerAvailableWatts": 155, + "PowerCapacityWatts": 2000, + "PowerAllocatedWatts": 1950, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/NVMeoF-SoC" + }, + { + "@odata.id": "/redfish/v1/Chassis/1" + } + ], + "Status": { + "State": "Enabled", + "Health": "OK" + } + } + ], + "PowerSupplies": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Power#/PowerSupplies/0", + "MemberId": "0", + "Name": "Power Supply Bay", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PowerSupplyType": "AC", + "LineInputVoltageType": "ACWideRange", + "LineInputVoltage": 120, + "PowerCapacityWatts": 2000, + "LastPowerOutputWatts": 900, + "Model": "PS2000", + "Manufacturer": "Contoso", + "FirmwareVersion": "1.00", + "SerialNumber": "346XR93643R0", + "PartNumber": "PS2000", + "SparePartNumber": "PS2000", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/1" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/1/Power#/PowerSupplies/1", + "MemberId": "1", + "Name": "Power Supply Bay", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PowerSupplyType": "AC", + "LineInputVoltageType": "ACWideRange", + "LineInputVoltage": 120, + "PowerCapacityWatts": 2000, + "LastPowerOutputWatts": 895, + "Model": "PS2000", + "Manufacturer": "Contoso", + "FirmwareVersion": "1.00", + "SerialNumber": "346XR93643R1", + "PartNumber": "PS2000", + "SparePartNumber": "PS2000", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/1" + } + ] + } + ], + "@odata.id": "/redfish/v1/Chassis/1/Power", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/Thermal/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/Thermal/index.json new file mode 100644 index 00000000..fb77b0d4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/Thermal/index.json @@ -0,0 +1,116 @@ +{ + "@odata.type": "#Thermal.v1_7_3.Thermal", + "Id": "Thermal", + "Name": "Thermal", + "Temperatures": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Temperatures/0", + "MemberId": "0", + "Name": "Chassis Intake Temp", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 25, + "UpperThresholdNonCritical": 30, + "UpperThresholdCritical": 40, + "UpperThresholdFatal": 50, + "LowerThresholdNonCritical": 10, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 0, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 60, + "PhysicalContext": "Intake", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/1" + }, + { + "@odata.id": "/redfish/v1/Systems/NVMeoF-SoC" + } + ] + } + ], + "Fans": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Fans/0", + "MemberId": "0", + "Name": "BaseBoard System Fan", + "PhysicalContext": "Backplane", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2100, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 0, + "MinReadingRange": 0, + "MaxReadingRange": 5000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/NVMeoF-SoC" + }, + { + "@odata.id": "/redfish/v1/Chassis/1" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Fans/1", + "MemberId": "1", + "Name": "BaseBoard System Fan Backup", + "PhysicalContext": "Backplane", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2050, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 0, + "MinReadingRange": 0, + "MaxReadingRange": 5000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/NVMeoF-SoC" + }, + { + "@odata.id": "/redfish/v1/Chassis/1" + } + ] + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Redundancy/0", + "MemberId": "0", + "Name": "BaseBoard System Fans", + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Fans/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Fans/1" + } + ], + "Mode": "N+m", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MinNumNeeded": 1, + "MaxNumSupported": 2 + } + ], + "@odata.id": "/redfish/v1/Chassis/1/Thermal", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/index.json new file mode 100644 index 00000000..713fdf4c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/1/index.json @@ -0,0 +1,47 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "1", + "Name": "NVMe-oF Chassis", + "ChassisType": "StorageEnclosure", + "Manufacturer": "Contoso", + "Model": "NV4000", + "SerialNumber": "546XR2742R7", + "PartNumber": "NV4000-RX", + "PowerState": "On", + "IndicatorLED": "Lit", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/1/Thermal" + }, + "Power": { + "@odata.id": "/redfish/v1/Chassis/1/Power" + }, + "Drives": { + "@odata.id": "/redfish/v1/Chassis/1/Drives" + }, + "NetworkAdapters": { + "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters" + }, + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/NVMeoF-SoC" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ], + "ManagersInChassis": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/index.json new file mode 100644 index 00000000..18a3db05 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Chassis/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ChassisCollection.ChassisCollection", + "Name": "Chassis Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1" + } + ], + "@odata.id": "/redfish/v1/Chassis", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/Connections/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/Connections/1/index.json new file mode 100644 index 00000000..429223ba --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/Connections/1/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Connection.v1_4_0.Connection", + "Id": "1", + "Name": "Connection info for host 1", + "ConnectionType": "Storage", + "VolumeInfo": [ + { + "AccessCapabilities": [ + "Read", + "Write" + ], + "Volume": { + "@odata.id": "/redfish/v1/Storage/NVMeoF/Volumes/1" + } + }, + { + "AccessCapabilities": [ + "Read", + "Write" + ], + "Volume": { + "@odata.id": "/redfish/v1/Storage/NVMeoF/Volumes/3" + } + } + ], + "Links": { + "InitiatorEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/NVMeoF/Endpoints/Initiator1" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/NVMeoF/Connections/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/Connections/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/Connections/2/index.json new file mode 100644 index 00000000..64bcbb91 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/Connections/2/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Connection.v1_4_0.Connection", + "Id": "2", + "Name": "Connection info for host 2", + "ConnectionType": "Storage", + "VolumeInfo": [ + { + "AccessCapabilities": [ + "Read", + "Write" + ], + "Volume": { + "@odata.id": "/redfish/v1/Storage/NVMeoF/Volumes/2" + } + }, + { + "AccessCapabilities": [ + "Read", + "Write" + ], + "Volume": { + "@odata.id": "/redfish/v1/Storage/NVMeoF/Volumes/4" + } + } + ], + "Links": { + "InitiatorEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/NVMeoF/Endpoints/Initiator2" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/NVMeoF/Connections/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/Connections/3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/Connections/3/index.json new file mode 100644 index 00000000..cf95da1f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/Connections/3/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Connection.v1_4_0.Connection", + "Id": "3", + "Name": "Connection info for zone 1", + "ConnectionType": "Storage", + "VolumeInfo": [ + { + "AccessCapabilities": [ + "Read" + ], + "Volume": { + "@odata.id": "/redfish/v1/Storage/NVMeoF/Volumes/3" + } + }, + { + "AccessCapabilities": [ + "Read" + ], + "Volume": { + "@odata.id": "/redfish/v1/Storage/NVMeoF/Volumes/4" + } + } + ], + "Links": { + "InitiatorEndpointGroups": [ + { + "@odata.id": "/redfish/v1/Fabrics/NVMeoF/EndpointGroups/1" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/NVMeoF/Connections/3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/Connections/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/Connections/index.json new file mode 100644 index 00000000..fdedca83 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/Connections/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#ConnectionCollection.ConnectionCollection", + "Name": "NVMeoF Connection Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/NVMeoF/Connections/1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/NVMeoF/Connections/2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/NVMeoF/Connections/3" + } + ], + "@odata.id": "/redfish/v1/Fabrics/NVMeoF/Connections", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/EndpointGroups/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/EndpointGroups/1/index.json new file mode 100644 index 00000000..d9fd8406 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/EndpointGroups/1/index.json @@ -0,0 +1,23 @@ +{ + "@odata.type": "#EndpointGroup.v1_3_4.EndpointGroup", + "Id": "1", + "Name": "Endpoint group for all initiators", + "GroupType": "Initiator", + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/NVMeoF/Endpoints/Initiator1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/NVMeoF/Endpoints/Initiator2" + } + ], + "Connections": [ + { + "@odata.id": "/redfish/v1/Fabrics/NVMeoF/Connections/3" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/NVMeoF/EndpointGroups/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/EndpointGroups/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/EndpointGroups/index.json new file mode 100644 index 00000000..c8a45d93 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/EndpointGroups/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#EndpointGroupCollection.EndpointGroupCollection", + "Name": "NVMeoF Endpoint Group Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/NVMeoF/EndpointGroups/1" + } + ], + "@odata.id": "/redfish/v1/Fabrics/NVMeoF/EndpointGroups", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/Endpoints/Initiator1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/Endpoints/Initiator1/index.json new file mode 100644 index 00000000..59e4a611 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/Endpoints/Initiator1/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Endpoint.v1_8_2.Endpoint", + "Id": "Initiator1", + "Name": "NVMe-oF Initiator (Host)", + "EndpointProtocol": "NVMeOverFabrics", + "Identifiers": [ + { + "DurableName": "host.corp.com:nvme:nvm-subsys-sn-4635", + "DurableNameFormat": "NQN" + } + ], + "ConnectedEntities": [ + { + "EntityType": "NetworkController", + "EntityRole": "Initiator" + } + ], + "IPTransportDetails": [ + { + "TransportProtocol": "TCP", + "IPv4Address": { + "Address": "10.3.5.205" + }, + "Port": 13244 + } + ], + "Links": { + "Connections": [ + { + "@odata.id": "/redfish/v1/Fabrics/NVMeoF/Connections/1" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/NVMeoF/Endpoints/Initiator1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/Endpoints/Initiator2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/Endpoints/Initiator2/index.json new file mode 100644 index 00000000..408b8c5a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/Endpoints/Initiator2/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Endpoint.v1_8_2.Endpoint", + "Id": "Initiator2", + "Name": "NVMe-oF Initiator (Host)", + "EndpointProtocol": "NVMeOverFabrics", + "Identifiers": [ + { + "DurableName": "host.corp.com:nvme:nvm-subsys-sn-9254", + "DurableNameFormat": "NQN" + } + ], + "ConnectedEntities": [ + { + "EntityType": "NetworkController", + "EntityRole": "Initiator" + } + ], + "IPTransportDetails": [ + { + "TransportProtocol": "TCP", + "IPv4Address": { + "Address": "10.3.5.233" + }, + "Port": 13244 + } + ], + "Links": { + "Connections": [ + { + "@odata.id": "/redfish/v1/Fabrics/NVMeoF/Connections/2" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/NVMeoF/Endpoints/Initiator2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/Endpoints/Target1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/Endpoints/Target1/index.json new file mode 100644 index 00000000..bff0a540 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/Endpoints/Target1/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#Endpoint.v1_8_2.Endpoint", + "Id": "Target1", + "Name": "NVMe-oF Target", + "EndpointProtocol": "NVMeOverFabrics", + "Identifiers": [ + { + "DurableName": "nqn.corp.com:nvme:nvm-subsys-sn-7642", + "DurableNameFormat": "NQN" + } + ], + "ConnectedEntities": [ + { + "EntityType": "NetworkController", + "EntityRole": "Target", + "EntityLink": { + "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/1/NetworkDeviceFunctions/1" + } + } + ], + "IPTransportDetails": [ + { + "TransportProtocol": "TCP", + "IPv4Address": { + "Address": "10.3.5.132" + }, + "Port": 13244 + } + ], + "@odata.id": "/redfish/v1/Fabrics/NVMeoF/Endpoints/Target1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/Endpoints/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/Endpoints/index.json new file mode 100644 index 00000000..db033f05 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/Endpoints/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#EndpointCollection.EndpointCollection", + "Name": "NVMeoF Endpoint Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/NVMeoF/Endpoints/Target1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/NVMeoF/Endpoints/Initiator1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/NVMeoF/Endpoints/Initiator2" + } + ], + "@odata.id": "/redfish/v1/Fabrics/NVMeoF/Endpoints", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/index.json new file mode 100644 index 00000000..122f6d51 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/NVMeoF/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Fabric.v1_4_0.Fabric", + "Id": "NVMeoF", + "Name": "NVMe-oF Fabric", + "FabricType": "NVMeOverFabrics", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Endpoints": { + "@odata.id": "/redfish/v1/Fabrics/NVMeoF/Endpoints" + }, + "EndpointGroups": { + "@odata.id": "/redfish/v1/Fabrics/NVMeoF/EndpointGroups" + }, + "Connections": { + "@odata.id": "/redfish/v1/Fabrics/NVMeoF/Connections" + }, + "@odata.id": "/redfish/v1/Fabrics/NVMeoF", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/index.json new file mode 100644 index 00000000..0be1f4c5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Fabrics/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#FabricCollection.FabricCollection", + "Name": "Fabric Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/NVMeoF" + } + ], + "@odata.id": "/redfish/v1/Fabrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Managers/BMC/EthernetInterfaces/Dedicated/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Managers/BMC/EthernetInterfaces/Dedicated/index.json new file mode 100644 index 00000000..55affff3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Managers/BMC/EthernetInterfaces/Dedicated/index.json @@ -0,0 +1,60 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "Dedicated", + "Name": "Manager Ethernet Interface", + "Description": "Management Network Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:33:CF:EA", + "MACAddress": "23:11:8A:33:CF:EA", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.0.1" + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred" + } + ], + "NameServers": [ + "names.dmtf.org" + ], + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/Dedicated", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Managers/BMC/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Managers/BMC/EthernetInterfaces/index.json new file mode 100644 index 00000000..c373a6af --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Managers/BMC/EthernetInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Network Interface Collection", + "Description": "Collection of EthernetInterfaces for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/Dedicated" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Managers/BMC/LogServices/Log/Entries/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Managers/BMC/LogServices/Log/Entries/1/index.json new file mode 100644 index 00000000..5ca20621 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Managers/BMC/LogServices/Log/Entries/1/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "Event", + "Severity": "Critical", + "Created": "2020-03-30T07:44:35-05:00", + "SensorNumber": 1, + "Message": "System May be Melting", + "MessageId": "Event.1.0.TempWayTooHot", + "MessageArgs": [ + "88" + ], + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1/Thermal" + } + }, + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Managers/BMC/LogServices/Log/Entries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Managers/BMC/LogServices/Log/Entries/index.json new file mode 100644 index 00000000..7a8ef036 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Managers/BMC/LogServices/Log/Entries/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries/1", + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "Event", + "Severity": "Critical", + "Created": "2020-03-30T07:44:35-05:00", + "SensorNumber": 1, + "Message": "System May be Melting", + "MessageId": "Event.1.0.TempWayTooHot", + "MessageArgs": [ + "88" + ], + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1/Thermal" + } + } + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Managers/BMC/LogServices/Log/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Managers/BMC/LogServices/Log/index.json new file mode 100644 index 00000000..9fab768d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Managers/BMC/LogServices/Log/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#LogService.v1_9_0.LogService", + "Id": "Log", + "Name": "System Log Service", + "MaxNumberOfRecords": 1000, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2020-04-22T21:22:33-05:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Managers/BMC/LogServices/Log/Actions/LogService.ClearLog" + } + }, + "Entries": { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries" + }, + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Managers/BMC/LogServices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Managers/BMC/LogServices/index.json new file mode 100644 index 00000000..0de6f42a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Managers/BMC/LogServices/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Description": "Collection of Log Services for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/LogServices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Managers/BMC/NetworkProtocol/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Managers/BMC/NetworkProtocol/index.json new file mode 100644 index 00000000..1199e1df --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Managers/BMC/NetworkProtocol/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#ManagerNetworkProtocol.v1_14_0.ManagerNetworkProtocol", + "Id": "NetworkProtocol", + "Name": "Manager Network Protocol", + "Description": "Manager Network Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "HTTP": { + "ProtocolEnabled": true, + "Port": 80 + }, + "HTTPS": { + "ProtocolEnabled": true, + "Port": 443 + }, + "SSDP": { + "ProtocolEnabled": true, + "Port": 1900, + "NotifyMulticastIntervalSeconds": 600, + "NotifyTTL": 5, + "NotifyIPv6Scope": "Site" + }, + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Managers/BMC/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Managers/BMC/index.json new file mode 100644 index 00000000..3d542bde --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Managers/BMC/index.json @@ -0,0 +1,53 @@ +{ + "@odata.type": "#Manager.v1_25_0.Manager", + "Id": "BMC", + "Name": "Manager", + "ManagerType": "BMC", + "Description": "Contoso BMC", + "ServiceEntryPointUUID": "92384634-2938-2342-8820-489239905423", + "UUID": "58893887-8974-2487-2389-841168418919", + "Model": "NV4000-MG", + "DateTime": "2020-04-22T21:22:33-05:00", + "DateTimeLocalOffset": "-05:00", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PowerState": "On", + "FirmwareVersion": "2.55.00", + "NetworkProtocol": { + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices" + }, + "Links": { + "ManagerForServers": [ + { + "@odata.id": "/redfish/v1/Systems/NVMeoF-SoC" + } + ], + "ManagerForChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/1" + } + ], + "ManagerInChassis": { + "@odata.id": "/redfish/v1/Chassis/1" + } + }, + "Actions": { + "#Manager.Reset": { + "target": "/redfish/v1/Managers/BMC/Actions/Manager.Reset", + "ResetType@Redfish.AllowableValues": [ + "ForceRestart", + "GracefulRestart" + ] + } + }, + "@odata.id": "/redfish/v1/Managers/BMC", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Managers/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Managers/index.json new file mode 100644 index 00000000..2de83743 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Managers/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerCollection.ManagerCollection", + "Name": "Manager Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ], + "@odata.id": "/redfish/v1/Managers", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/SessionService/Sessions/1234567890ABCDEF/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/SessionService/Sessions/1234567890ABCDEF/index.json new file mode 100644 index 00000000..90844a1b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/SessionService/Sessions/1234567890ABCDEF/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#Session.v1_9_0.Session", + "Id": "1234567890ABCDEF", + "Name": "User Session", + "Description": "Manager User Session", + "UserName": "Administrator", + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/SessionService/Sessions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/SessionService/Sessions/index.json new file mode 100644 index 00000000..8d8cdf58 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/SessionService/Sessions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SessionCollection.SessionCollection", + "Name": "Session Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF" + } + ], + "@odata.id": "/redfish/v1/SessionService/Sessions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/SessionService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/SessionService/index.json new file mode 100644 index 00000000..62a05690 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/SessionService/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#SessionService.v1_2_0.SessionService", + "Id": "SessionService", + "Name": "Session Service", + "Description": "Session Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "SessionTimeout": 30, + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + }, + "@odata.id": "/redfish/v1/SessionService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/NVMeoF/Controllers/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/NVMeoF/Controllers/1/index.json new file mode 100644 index 00000000..d84b34fb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/NVMeoF/Controllers/1/index.json @@ -0,0 +1,61 @@ +{ + "@odata.type": "#StorageController.v1_12_0.StorageController", + "Id": "1", + "Name": "NVMe IO Controller", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "SupportedControllerProtocols": [ + "NVMeOverFabrics" + ], + "NVMeControllerProperties": { + "NVMeVersion": "1.4", + "ControllerType": "IO", + "MaxQueueSize": 15, + "AllocatedCompletionQueues": 64, + "AllocatedSubmissionQueues": 64, + "NVMeControllerAttributes": { + "ReportsUUIDList": false, + "SupportsSQAssociations": false, + "ReportsNamespaceGranularity": false, + "SupportsTrafficBasedKeepAlive": false, + "SupportsPredictableLatencyMode": false, + "SupportsEnduranceGroups": false, + "SupportsReadRecoveryLevels": false, + "SupportsNVMSets": false, + "SupportsExceedingPowerOfNonOperationalState": false, + "Supports128BitHostId": false + }, + "NVMeSMARTCriticalWarnings": { + "PMRUnreliable": false, + "PowerBackupFailed": false, + "MediaInReadOnly": false, + "OverallSubsystemDegraded": false, + "SpareCapacityWornOut": false + } + }, + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/NVMeoF/Endpoints/Initiator1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/NVMeoF/Endpoints/Target1" + } + ], + "AttachedVolumes": [ + { + "@odata.id": "/redfish/v1/Storage/NVMeoF/Volumes/1" + }, + { + "@odata.id": "/redfish/v1/Storage/NVMeoF/Volumes/3" + }, + { + "@odata.id": "/redfish/v1/Storage/NVMeoF/Volumes/4" + } + ] + }, + "@odata.id": "/redfish/v1/Storage/NVMeoF/Controllers/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/NVMeoF/Controllers/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/NVMeoF/Controllers/2/index.json new file mode 100644 index 00000000..c064c442 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/NVMeoF/Controllers/2/index.json @@ -0,0 +1,61 @@ +{ + "@odata.type": "#StorageController.v1_12_0.StorageController", + "Id": "2", + "Name": "NVMe IO Controller", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "SupportedControllerProtocols": [ + "NVMeOverFabrics" + ], + "NVMeControllerProperties": { + "NVMeVersion": "1.4", + "ControllerType": "IO", + "MaxQueueSize": 15, + "AllocatedCompletionQueues": 64, + "AllocatedSubmissionQueues": 64, + "NVMeControllerAttributes": { + "ReportsUUIDList": false, + "SupportsSQAssociations": false, + "ReportsNamespaceGranularity": false, + "SupportsTrafficBasedKeepAlive": false, + "SupportsPredictableLatencyMode": false, + "SupportsEnduranceGroups": false, + "SupportsReadRecoveryLevels": false, + "SupportsNVMSets": false, + "SupportsExceedingPowerOfNonOperationalState": false, + "Supports128BitHostId": false + }, + "NVMeSMARTCriticalWarnings": { + "PMRUnreliable": false, + "PowerBackupFailed": false, + "MediaInReadOnly": false, + "OverallSubsystemDegraded": false, + "SpareCapacityWornOut": false + } + }, + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/NVMeoF/Endpoints/Initiator2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/NVMeoF/Endpoints/Target1" + } + ], + "AttachedVolumes": [ + { + "@odata.id": "/redfish/v1/Storage/NVMeoF/Volumes/2" + }, + { + "@odata.id": "/redfish/v1/Storage/NVMeoF/Volumes/3" + }, + { + "@odata.id": "/redfish/v1/Storage/NVMeoF/Volumes/4" + } + ] + }, + "@odata.id": "/redfish/v1/Storage/NVMeoF/Controllers/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/NVMeoF/Controllers/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/NVMeoF/Controllers/index.json new file mode 100644 index 00000000..39535abf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/NVMeoF/Controllers/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#StorageControllerCollection.StorageControllerCollection", + "Name": "Storage Controller Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Storage/NVMeoF/Controllers/1" + }, + { + "@odata.id": "/redfish/v1/Storage/NVMeoF/Controllers/2" + } + ], + "@odata.id": "/redfish/v1/Storage/NVMeoF/Controllers", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/NVMeoF/Volumes/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/NVMeoF/Volumes/1/index.json new file mode 100644 index 00000000..09a727c9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/NVMeoF/Volumes/1/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Volume.v1_11_0.Volume", + "Id": "1", + "Name": "NVMe Namespace", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "VolumeType": "RawDevice", + "CapacityBytes": 899527000064, + "Identifiers": [ + { + "DurableNameFormat": "NGUID", + "DurableName": "01000000010000002233445566778899" + } + ], + "NVMeNamespaceProperties": { + "NamespaceId": "0x1", + "NamespaceFeatures": { + "SupportsThinProvisioning": false, + "SupportsAtomicTransactionSize": false, + "SupportsDeallocatedOrUnwrittenLBError": false, + "SupportsNGUIDReuse": false, + "SupportsIOPerformanceHints": false + }, + "NumberLBAFormats": 0, + "FormattedLBASize": "LBAFormat0Support", + "MetadataTransferredAtEndOfDataLBA": false, + "NVMeVersion": "1.4" + }, + "Links": { + "Drives": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Drives/1" + } + ] + }, + "@odata.id": "/redfish/v1/Storage/NVMeoF/Volumes/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/NVMeoF/Volumes/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/NVMeoF/Volumes/2/index.json new file mode 100644 index 00000000..3b75ddd4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/NVMeoF/Volumes/2/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Volume.v1_11_0.Volume", + "Id": "2", + "Name": "NVMe Namespace", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "VolumeType": "RawDevice", + "CapacityBytes": 899527000064, + "Identifiers": [ + { + "DurableNameFormat": "NGUID", + "DurableName": "010000000100000022334455667788aa" + } + ], + "NVMeNamespaceProperties": { + "NamespaceId": "0x1", + "NamespaceFeatures": { + "SupportsThinProvisioning": false, + "SupportsAtomicTransactionSize": false, + "SupportsDeallocatedOrUnwrittenLBError": false, + "SupportsNGUIDReuse": false, + "SupportsIOPerformanceHints": false + }, + "NumberLBAFormats": 0, + "FormattedLBASize": "LBAFormat0Support", + "MetadataTransferredAtEndOfDataLBA": false, + "NVMeVersion": "1.4" + }, + "Links": { + "Drives": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Drives/2" + } + ] + }, + "@odata.id": "/redfish/v1/Storage/NVMeoF/Volumes/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/NVMeoF/Volumes/3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/NVMeoF/Volumes/3/index.json new file mode 100644 index 00000000..83e2c363 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/NVMeoF/Volumes/3/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Volume.v1_11_0.Volume", + "Id": "3", + "Name": "NVMe Namespace", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "VolumeType": "RawDevice", + "CapacityBytes": 449763500000, + "Identifiers": [ + { + "DurableNameFormat": "NGUID", + "DurableName": "010000000100000022334455667788bb" + } + ], + "NVMeNamespaceProperties": { + "NamespaceId": "0x1", + "NamespaceFeatures": { + "SupportsThinProvisioning": false, + "SupportsAtomicTransactionSize": false, + "SupportsDeallocatedOrUnwrittenLBError": false, + "SupportsNGUIDReuse": false, + "SupportsIOPerformanceHints": false + }, + "NumberLBAFormats": 0, + "FormattedLBASize": "LBAFormat0Support", + "MetadataTransferredAtEndOfDataLBA": false, + "NVMeVersion": "1.4" + }, + "Links": { + "Drives": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Drives/3" + } + ] + }, + "@odata.id": "/redfish/v1/Storage/NVMeoF/Volumes/3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/NVMeoF/Volumes/4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/NVMeoF/Volumes/4/index.json new file mode 100644 index 00000000..eb37a7a8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/NVMeoF/Volumes/4/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Volume.v1_11_0.Volume", + "Id": "4", + "Name": "NVMe Namespace", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "VolumeType": "RawDevice", + "CapacityBytes": 449763500000, + "Identifiers": [ + { + "DurableNameFormat": "NGUID", + "DurableName": "010000000100000022334455667788bb" + } + ], + "NVMeNamespaceProperties": { + "NamespaceId": "0x2", + "NamespaceFeatures": { + "SupportsThinProvisioning": false, + "SupportsAtomicTransactionSize": false, + "SupportsDeallocatedOrUnwrittenLBError": false, + "SupportsNGUIDReuse": false, + "SupportsIOPerformanceHints": false + }, + "NumberLBAFormats": 0, + "FormattedLBASize": "LBAFormat0Support", + "MetadataTransferredAtEndOfDataLBA": false, + "NVMeVersion": "1.4" + }, + "Links": { + "Drives": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Drives/3" + } + ] + }, + "@odata.id": "/redfish/v1/Storage/NVMeoF/Volumes/4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/NVMeoF/Volumes/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/NVMeoF/Volumes/index.json new file mode 100644 index 00000000..3eace31c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/NVMeoF/Volumes/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#VolumeCollection.VolumeCollection", + "Name": "Storage Volume Collection", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/Storage/NVMeoF/Volumes/1" + }, + { + "@odata.id": "/redfish/v1/Storage/NVMeoF/Volumes/2" + }, + { + "@odata.id": "/redfish/v1/Storage/NVMeoF/Volumes/3" + }, + { + "@odata.id": "/redfish/v1/Storage/NVMeoF/Volumes/4" + } + ], + "@odata.id": "/redfish/v1/Storage/NVMeoF/Volumes", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/NVMeoF/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/NVMeoF/index.json new file mode 100644 index 00000000..792be834 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/NVMeoF/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Id": "NVMeoF", + "Name": "NVMe-oF Subsystem", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Identifiers": [ + { + "DurableName": "nqn.corp.com:nvme:nvm-subsys-sn-7642", + "DurableNameFormat": "NQN" + } + ], + "Drives": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Drives/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1/Drives/2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1/Drives/3" + } + ], + "Volumes": { + "@odata.id": "/redfish/v1/Storage/NVMeoF/Volumes" + }, + "Controllers": { + "@odata.id": "/redfish/v1/Storage/NVMeoF/Controllers" + }, + "@odata.id": "/redfish/v1/Storage/NVMeoF", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/index.json new file mode 100644 index 00000000..38ce742e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Storage/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#StorageCollection.StorageCollection", + "Name": "Storage Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Storage/NVMeoF" + } + ], + "@odata.id": "/redfish/v1/Storage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Systems/NVMeoF-SoC/NetworkInterfaces/1/NetworkDeviceFunctions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Systems/NVMeoF-SoC/NetworkInterfaces/1/NetworkDeviceFunctions/index.json new file mode 100644 index 00000000..46c20fae --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Systems/NVMeoF-SoC/NetworkInterfaces/1/NetworkDeviceFunctions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#NetworkDeviceFunctionCollection.NetworkDeviceFunctionCollection", + "Name": "Network Device Function Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/1/NetworkDeviceFunctions/1" + } + ], + "@odata.id": "/redfish/v1/Systems/NVMeoF-SoC/NetworkInterfaces/1/NetworkDeviceFunctions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Systems/NVMeoF-SoC/NetworkInterfaces/1/NetworkPorts/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Systems/NVMeoF-SoC/NetworkInterfaces/1/NetworkPorts/index.json new file mode 100644 index 00000000..576bf391 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Systems/NVMeoF-SoC/NetworkInterfaces/1/NetworkPorts/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#NetworkPortCollection.NetworkPortCollection", + "Name": "Network Port Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/1/NetworkPorts/1" + } + ], + "@odata.id": "/redfish/v1/Systems/NVMeoF-SoC/NetworkInterfaces/1/NetworkPorts", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Systems/NVMeoF-SoC/NetworkInterfaces/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Systems/NVMeoF-SoC/NetworkInterfaces/1/index.json new file mode 100644 index 00000000..47c50cb5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Systems/NVMeoF-SoC/NetworkInterfaces/1/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#NetworkInterface.v1_2_3.NetworkInterface", + "Id": "1", + "Name": "Network Device", + "NetworkPorts": { + "@odata.id": "/redfish/v1/Systems/NVMeoF-SoC/NetworkInterfaces/1/NetworkPorts" + }, + "NetworkDeviceFunctions": { + "@odata.id": "/redfish/v1/Systems/NVMeoF-SoC/NetworkInterfaces/1/NetworkDeviceFunctions" + }, + "Links": { + "NetworkAdapter": { + "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/1" + } + }, + "@odata.id": "/redfish/v1/Systems/NVMeoF-SoC/NetworkInterfaces/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Systems/NVMeoF-SoC/NetworkInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Systems/NVMeoF-SoC/NetworkInterfaces/index.json new file mode 100644 index 00000000..867e7104 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Systems/NVMeoF-SoC/NetworkInterfaces/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#NetworkInterfaceCollection.NetworkInterfaceCollection", + "Name": "Network Interface Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/NVMeoF-SoC/NetworkInterfaces/1" + } + ], + "@odata.id": "/redfish/v1/Systems/NVMeoF-SoC/NetworkInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Systems/NVMeoF-SoC/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Systems/NVMeoF-SoC/index.json new file mode 100644 index 00000000..f4e59bd3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Systems/NVMeoF-SoC/index.json @@ -0,0 +1,75 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "NVMeoF-SoC", + "Name": "NVMe-oF Front-end SoC", + "SystemType": "Physical", + "Manufacturer": "Contoso", + "Model": "4000", + "SubModel": "RX", + "SerialNumber": "546XR2742R7", + "PartNumber": "NV4000-RX", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "IndicatorLED": "Off", + "PowerState": "On", + "Boot": { + "BootSourceOverrideEnabled": "Once", + "BootSourceOverrideTarget": "Pxe", + "BootSourceOverrideTarget@Redfish.AllowableValues": [ + "None", + "Pxe", + "Usb", + "SDCard" + ] + }, + "ProcessorSummary": { + "Count": 1, + "Model": "ARM Cortex-A72", + "Status": { + "State": "Enabled", + "Health": "OK" + } + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 32, + "MemoryMirroring": "None", + "Status": { + "State": "Enabled", + "Health": "OK" + } + }, + "NetworkInterfaces": { + "@odata.id": "/redfish/v1/Systems/NVMeoF-SoC/NetworkInterfaces" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/1" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ] + }, + "Actions": { + "#ComputerSystem.Reset": { + "target": "/redfish/v1/Systems/NVMeoF-SoC/Actions/ComputerSystem.Reset", + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "GracefulRestart", + "ForceRestart", + "Nmi", + "ForceOn", + "PushPowerButton" + ] + } + }, + "@odata.id": "/redfish/v1/Systems/NVMeoF-SoC", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Systems/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Systems/index.json new file mode 100644 index 00000000..f85469e3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/Systems/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ComputerSystemCollection.ComputerSystemCollection", + "Name": "Computer System Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/NVMeoF-SoC" + } + ], + "@odata.id": "/redfish/v1/Systems", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/explorer_config.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/explorer_config.json new file mode 100644 index 00000000..fb188756 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/explorer_config.json @@ -0,0 +1,68 @@ +{ + "name": "NVMe-oF JBOF", + "description": "This mockup contains a sample Redfish service for an NVMe-oF JBOF. The storage resources off of service root contain the provisionable storage for external hosts. The fabric portion of the data model is used to express host connectivity to the different NVMe namespaces. It also contains a single SoC, represented as a computer system, that is used as the front-end for receiving NVMe-oF traffic before the drives are accessed.", + "navlinks": [ + { + "text": "Main", + "target": "main" + }, + { + "text": "Systems", + "target": "Systems", + "navlinks": [ + { + "text": "NVMeoF-SoC", + "target": "NVMeoF-SoC" + } + ] + }, + { + "text": "Chassis", + "target": "Chassis", + "navlinks": [ + { + "text": "1", + "target": "1" + } + ] + }, + { + "text": "Storage", + "target": "Storage", + "navlinks": [ + { + "text": "NVMeoF", + "target": "NVMeoF" + } + ] + }, + { + "text": "Fabrics", + "target": "Fabrics", + "navlinks": [ + { + "text": "NVMeoF", + "target": "NVMeoF" + } + ] + }, + { + "text": "Managers", + "target": "Managers", + "navlinks": [ + { + "text": "BMC", + "target": "BMC" + } + ] + }, + { + "text": "Session Service", + "target": "SessionService" + }, + { + "target": "AccountService", + "text": "Account Service" + } + ] +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/index.json new file mode 100644 index 00000000..9c6fd87d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#ServiceRoot.v1_22_0.ServiceRoot", + "Id": "RootService", + "Name": "Root Service", + "RedfishVersion": "1.15.0", + "UUID": "92384634-2938-2342-8820-489239905423", + "ProtocolFeaturesSupported": { + "ExpandQuery": { + "ExpandAll": true, + "Levels": true, + "MaxLevels": 6, + "Links": true, + "NoLinks": true + }, + "SelectQuery": false, + "FilterQuery": false, + "OnlyMemberQuery": true, + "ExcerptQuery": true + }, + "Systems": { + "@odata.id": "/redfish/v1/Systems" + }, + "Chassis": { + "@odata.id": "/redfish/v1/Chassis" + }, + "Managers": { + "@odata.id": "/redfish/v1/Managers" + }, + "SessionService": { + "@odata.id": "/redfish/v1/SessionService" + }, + "AccountService": { + "@odata.id": "/redfish/v1/AccountService" + }, + "Storage": { + "@odata.id": "/redfish/v1/Storage" + }, + "Fabrics": { + "@odata.id": "/redfish/v1/Fabrics" + }, + "Links": { + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + } + }, + "@odata.id": "/redfish/v1/", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/odata/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/odata/index.json new file mode 100644 index 00000000..01159b49 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-nvmeof-jbof/odata/index.json @@ -0,0 +1,51 @@ +{ + "@odata.context": "/redfish/v1/$metadata", + "value": [ + { + "name": "Service", + "kind": "Singleton", + "url": "/redfish/v1/" + }, + { + "name": "Systems", + "kind": "Singleton", + "url": "/redfish/v1/Systems" + }, + { + "name": "Chassis", + "kind": "Singleton", + "url": "/redfish/v1/Chassis" + }, + { + "name": "Managers", + "kind": "Singleton", + "url": "/redfish/v1/Managers" + }, + { + "name": "AccountService", + "kind": "Singleton", + "url": "/redfish/v1/AccountService" + }, + { + "name": "SessionService", + "kind": "Singleton", + "url": "/redfish/v1/SessionService" + }, + { + "name": "Storage", + "kind": "Singleton", + "url": "/redfish/v1/Storage" + }, + { + "name": "Fabrics", + "kind": "Singleton", + "url": "/redfish/v1/Fabrics" + }, + { + "name": "Sessions", + "kind": "Singleton", + "url": "/redfish/v1/SessionService/Sessions" + } + ], + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/$metadata/index.xml b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/$metadata/index.xml new file mode 100644 index 00000000..5933fc5e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/$metadata/index.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/AccountService/Accounts/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/AccountService/Accounts/index.json new file mode 100644 index 00000000..55055810 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/AccountService/Accounts/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#ManagerAccountCollection.ManagerAccountCollection", + "Name": "Accounts Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Accounts/root" + }, + { + "@odata.id": "/redfish/v1/AccountService/Accounts/jane" + }, + { + "@odata.id": "/redfish/v1/AccountService/Accounts/john" + } + ], + "@odata.id": "/redfish/v1/AccountService/Accounts", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/AccountService/Accounts/jane/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/AccountService/Accounts/jane/index.json new file mode 100644 index 00000000..51abddec --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/AccountService/Accounts/jane/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#ManagerAccount.v1_14_2.ManagerAccount", + "Id": "jane", + "Name": "UserAccount", + "Description": "User Account", + "Enabled": true, + "Password": null, + "PasswordChangeRequired": false, + "AccountTypes": [ + "Redfish" + ], + "UserName": "jane", + "RoleId": "Operator", + "Locked": false, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/Operator" + } + }, + "@odata.id": "/redfish/v1/AccountService/Accounts/jane", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/AccountService/Accounts/john/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/AccountService/Accounts/john/index.json new file mode 100644 index 00000000..f2e38d33 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/AccountService/Accounts/john/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#ManagerAccount.v1_14_2.ManagerAccount", + "Id": "john", + "Name": "UserAccount", + "Description": "User Account", + "Enabled": true, + "Password": null, + "PasswordChangeRequired": false, + "AccountTypes": [ + "Redfish" + ], + "UserName": "john", + "RoleId": "ReadOnly", + "Locked": false, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly" + } + }, + "@odata.id": "/redfish/v1/AccountService/Accounts/john", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/AccountService/Accounts/root/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/AccountService/Accounts/root/index.json new file mode 100644 index 00000000..50592c53 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/AccountService/Accounts/root/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#ManagerAccount.v1_14_2.ManagerAccount", + "Id": "root", + "Name": "UserAccount", + "Description": "User Account", + "Enabled": true, + "Password": null, + "PasswordChangeRequired": false, + "AccountTypes": [ + "Redfish" + ], + "UserName": "root", + "RoleId": "Administrator", + "Locked": false, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + } + }, + "@odata.id": "/redfish/v1/AccountService/Accounts/root", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/AccountService/Roles/Administrator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/AccountService/Roles/Administrator/index.json new file mode 100644 index 00000000..5c48e1da --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/AccountService/Roles/Administrator/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Administrator", + "Name": "User Role", + "Description": "Admin User Role", + "RoleId": "Administrator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureManager", + "ConfigureUsers", + "ConfigureSelf", + "ConfigureComponents" + ], + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/AccountService/Roles/Operator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/AccountService/Roles/Operator/index.json new file mode 100644 index 00000000..d7b57c29 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/AccountService/Roles/Operator/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Operator", + "Name": "User Role", + "Description": "Operator User Role", + "RoleId": "Operator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf", + "ConfigureComponents" + ], + "@odata.id": "/redfish/v1/AccountService/Roles/Operator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/AccountService/Roles/ReadOnly/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/AccountService/Roles/ReadOnly/index.json new file mode 100644 index 00000000..8528fda0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/AccountService/Roles/ReadOnly/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "ReadOnly", + "Name": "User Role", + "Description": "ReadOnly User Role", + "RoleId": "ReadOnly", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf" + ], + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/AccountService/Roles/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/AccountService/Roles/index.json new file mode 100644 index 00000000..ba9ee112 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/AccountService/Roles/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#RoleCollection.RoleCollection", + "Name": "Roles Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/Operator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly" + } + ], + "@odata.id": "/redfish/v1/AccountService/Roles", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/AccountService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/AccountService/index.json new file mode 100644 index 00000000..f18b9c93 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/AccountService/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#AccountService.v1_19_0.AccountService", + "Id": "AccountService", + "Name": "Account Service", + "Description": "Account Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "AuthFailureLoggingThreshold": 3, + "MinPasswordLength": 8, + "AccountLockoutThreshold": 5, + "AccountLockoutDuration": 30, + "AccountLockoutCounterResetAfter": 30, + "AccountLockoutCounterResetEnabled": true, + "Accounts": { + "@odata.id": "/redfish/v1/AccountService/Accounts" + }, + "Roles": { + "@odata.id": "/redfish/v1/AccountService/Roles" + }, + "Actions": { + "Oem": { + "#ContosoAccountService.AutoConfig": { + "target": "/redfish/v1/AccountService/Actions/Oem/ContosoAccountService.AutoConfig", + "title": "Sample OEM action" + } + } + }, + "@odata.id": "/redfish/v1/AccountService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoAccountService.json b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoAccountService.json new file mode 100644 index 00000000..20948bc2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoAccountService.json @@ -0,0 +1,18 @@ +{ + "$id": "http://redfish.dmtf.org/schemas/v1/ContosoAccountService.json", + "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json", + "copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright", + "definitions": { + "AutoConfig": { + "anyOf": [ + { + "$ref": "http://redfish.dmtf.org/schemas/v1/ContosoAccountService.v1_0_1.json#/definitions/AutoConfig" + } + ], + "description": "This action is used to perform automated configuration of the account service.", + "longDescription": "This action shall perform automated configuration of the account service as specified by the Contoso service manual." + } + }, + "owningEntity": "Contoso", + "title": "#ContosoAccountService" +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoAccountService.v1_0_0.json b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoAccountService.v1_0_0.json new file mode 100644 index 00000000..e6ab633f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoAccountService.v1_0_0.json @@ -0,0 +1,40 @@ +{ + "$id": "http://redfish.dmtf.org/schemas/v1/ContosoAccountService.v1_0_0.json", + "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json", + "copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright", + "definitions": { + "AutoConfig": { + "additionalProperties": false, + "description": "This action is used to perform automated configuration of the account service.", + "longDescription": "This action shall perform automated configuration of the account service as specified by the Contoso service manual.", + "patternProperties": { + "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": { + "description": "This property shall specify a valid odata or Redfish property.", + "type": [ + "array", + "boolean", + "integer", + "number", + "null", + "object", + "string" + ] + } + }, + "properties": { + "target": { + "description": "Link to invoke action", + "format": "uri-reference", + "type": "string" + }, + "title": { + "description": "Friendly action name", + "type": "string" + } + }, + "type": "object" + } + }, + "owningEntity": "Contoso", + "title": "#ContosoAccountService.v1_0_0" +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoAccountService.v1_0_1.json b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoAccountService.v1_0_1.json new file mode 100644 index 00000000..5924890a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoAccountService.v1_0_1.json @@ -0,0 +1,40 @@ +{ + "$id": "http://redfish.dmtf.org/schemas/v1/ContosoAccountService.v1_0_1.json", + "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json", + "copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright", + "definitions": { + "AutoConfig": { + "additionalProperties": false, + "description": "This action is used to perform automated configuration of the account service.", + "longDescription": "This action shall perform automated configuration of the account service as specified by the Contoso service manual.", + "patternProperties": { + "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": { + "description": "This property shall specify a valid odata or Redfish property.", + "type": [ + "array", + "boolean", + "integer", + "number", + "null", + "object", + "string" + ] + } + }, + "properties": { + "target": { + "description": "Link to invoke action", + "format": "uri-reference", + "type": "string" + }, + "title": { + "description": "Friendly action name", + "type": "string" + } + }, + "type": "object" + } + }, + "owningEntity": "Contoso", + "title": "#ContosoAccountService.v1_0_1" +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoAccountService_v1.xml b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoAccountService_v1.xml new file mode 100644 index 00000000..f32e4ecb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoAccountService_v1.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoServiceRoot.json b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoServiceRoot.json new file mode 100644 index 00000000..380e3c6a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoServiceRoot.json @@ -0,0 +1,7 @@ +{ + "$id": "http://redfish.dmtf.org/schemas/v1/ContosoServiceRoot.json", + "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json", + "copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright", + "owningEntity": "Contoso", + "title": "#ContosoServiceRoot" +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoServiceRoot.v1_0_0.json b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoServiceRoot.v1_0_0.json new file mode 100644 index 00000000..b39698a5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoServiceRoot.v1_0_0.json @@ -0,0 +1,35 @@ +{ + "$id": "http://redfish.dmtf.org/schemas/v1/ContosoServiceRoot.v1_0_0.json", + "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json", + "copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright", + "definitions": { + "ServiceRoot": { + "additionalProperties": false, + "patternProperties": { + "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": { + "description": "This property shall specify a valid odata or Redfish property.", + "type": [ + "array", + "boolean", + "integer", + "number", + "null", + "object", + "string" + ] + } + }, + "properties": { + "TurboencabulatorService": { + "$ref": "http://Contoso.com/schemas/TurboencabulatorService.json#/definitions/TurboencabulatorService", + "description": "Link to the turboencabulator service.", + "longDescription": "This property shall contain the link to a resource of type TurboencabulatorService.", + "readonly": true + } + }, + "type": "object" + } + }, + "owningEntity": "Contoso", + "title": "#ContosoServiceRoot.v1_0_0" +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoServiceRoot_v1.xml b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoServiceRoot_v1.xml new file mode 100644 index 00000000..85672b0c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoServiceRoot_v1.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoTurboencabulatorService.json b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoTurboencabulatorService.json new file mode 100644 index 00000000..dee9cd4a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoTurboencabulatorService.json @@ -0,0 +1,28 @@ +{ + "$id": "http://redfish.dmtf.org/schemas/v1/ContosoTurboencabulatorService.json", + "$ref": "#/definitions/ContosoTurboencabulatorService", + "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json", + "copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright", + "definitions": { + "ContosoTurboencabulatorService": { + "anyOf": [ + { + "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/idRef" + }, + { + "$ref": "http://redfish.dmtf.org/schemas/v1/ContosoTurboencabulatorService.v1_0_0.json#/definitions/ContosoTurboencabulatorService" + } + ], + "deletable": false, + "description": "This is the schema definition for the turboencabulator service.", + "insertable": false, + "longDescription": "This resource shall be used to represent the turboencabulator service properties for a Contoso Redfish implementation.", + "updatable": true, + "uris": [ + "/redfish/v1/Oem/Contoso/TurboencabulatorService" + ] + } + }, + "owningEntity": "Contoso", + "title": "#ContosoTurboencabulatorService.ContosoTurboencabulatorService" +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoTurboencabulatorService.v1_0_0.json b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoTurboencabulatorService.v1_0_0.json new file mode 100644 index 00000000..26a50f8f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoTurboencabulatorService.v1_0_0.json @@ -0,0 +1,130 @@ +{ + "$id": "http://redfish.dmtf.org/schemas/v1/ContosoTurboencabulatorService.v1_0_0.json", + "$ref": "#/definitions/ContosoTurboencabulatorService", + "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json", + "copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright", + "definitions": { + "TurboencabulatorMode": { + "enum": [ + "Turbo", + "Retro", + "Micro" + ], + "enumDescriptions": { + "Micro": "The turboencabulator is in micro mode.", + "Retro": "The turboencabulator is in retro mode.", + "Turbo": "The turboencabulator is in turbo (standard) mode." + }, + "type": "string" + }, + "ContosoTurboencabulatorService": { + "additionalProperties": false, + "description": "This is the schema definition for the turboencabulator service.", + "longDescription": "This resource shall be used to represent the turboencabulator service properties for a Contoso Redfish implementation.", + "patternProperties": { + "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": { + "description": "This property shall specify a valid odata or Redfish property.", + "type": [ + "array", + "boolean", + "integer", + "number", + "null", + "object", + "string" + ] + } + }, + "properties": { + "@odata.context": { + "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context" + }, + "@odata.etag": { + "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag" + }, + "@odata.id": { + "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id" + }, + "@odata.type": { + "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type" + }, + "Description": { + "anyOf": [ + { + "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description" + }, + { + "type": "null" + } + ], + "readonly": true + }, + "Id": { + "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id", + "readonly": true + }, + "IsCheap": { + "description": "This indicates whether the turboencabulator is cheap.", + "longDescription": "The value of this property shall be a boolean indicating whether the turboencabulator is cheap.", + "readonly": true, + "type": [ + "boolean", + "null" + ] + }, + "Name": { + "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name", + "readonly": true + }, + "Oem": { + "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem", + "description": "The OEM extension property.", + "longDescription": "This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements." + }, + "ServiceEnabled": { + "description": "This indicates whether this service is enabled.", + "longDescription": "The value of this property shall be a boolean indicating whether this service is enabled.", + "readonly": false, + "type": [ + "boolean", + "null" + ] + }, + "Status": { + "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status" + }, + "TurboencabulatorMode": { + "anyOf": [ + { + "$ref": "#/definitions/TurboencabulatorMode" + }, + { + "type": "null" + } + ], + "description": "The mode of operation of the turboencabulator.", + "longDescription": "The value of this property shall be an enumerated value representing the mode.", + "readonly": false + }, + "WillGovernmentBuy": { + "description": "This indicates whether the turboencabulator will be bought by the government.", + "longDescription": "The value of this property shall be a boolean indicating whether the turboencabulator will be bought by the government.", + "readonly": true, + "type": [ + "boolean", + "null" + ] + } + }, + "required": [ + "@odata.id", + "@odata.type", + "Id", + "Name" + ], + "type": "object" + } + }, + "owningEntity": "Contoso", + "title": "#ContosoTurboencabulatorService.v1_0_0.ContosoTurboencabulatorService" +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoTurboencabulatorService_v1.xml b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoTurboencabulatorService_v1.xml new file mode 100644 index 00000000..3790ffe1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Contoso.com/ContosoTurboencabulatorService_v1.xml @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + /redfish/v1/Oem/Contoso/TurboencabulatorService + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Oem/Contoso/TurboencabulatorService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Oem/Contoso/TurboencabulatorService/index.json new file mode 100644 index 00000000..62d6da72 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/Oem/Contoso/TurboencabulatorService/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#ContosoTurboencabulatorService.v1_0_0.ContosoTurboencabulatorService", + "Id": "TurboencabulatorService", + "Name": "Turboencabulator Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "TurboencabulatorMode": "Retro", + "IsCheap": false, + "WillGovernmentBuy": true, + "@odata.id": "/redfish/v1/Oem/Contoso/TurboencabulatorService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/SessionService/Sessions/1234567890ABCDEF/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/SessionService/Sessions/1234567890ABCDEF/index.json new file mode 100644 index 00000000..be6569e7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/SessionService/Sessions/1234567890ABCDEF/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#Session.v1_9_0.Session", + "Id": "1234567890ABCDEF", + "Name": "User Session", + "Description": "Manager User Session", + "UserName": "root", + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/SessionService/Sessions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/SessionService/Sessions/index.json new file mode 100644 index 00000000..8d8cdf58 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/SessionService/Sessions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SessionCollection.SessionCollection", + "Name": "Session Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF" + } + ], + "@odata.id": "/redfish/v1/SessionService/Sessions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/SessionService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/SessionService/index.json new file mode 100644 index 00000000..62a05690 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/SessionService/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#SessionService.v1_2_0.SessionService", + "Id": "SessionService", + "Name": "Session Service", + "Description": "Session Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "SessionTimeout": 30, + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + }, + "@odata.id": "/redfish/v1/SessionService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/explorer_config.json b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/explorer_config.json new file mode 100644 index 00000000..3a7a507f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/explorer_config.json @@ -0,0 +1,18 @@ +{ + "name": "Sample Service with OEM Extensions", + "description": "A lightweight Redfish service with OEM examples. The Service Root resource has been extended to have an OEM section. The service container also has an extension. The Account Service resource contains and OEM action. These OEM extensions are defined in the Contoso.com folder of the mockup.", + "navlinks": [ + { + "text": "Main", + "target": "main" + }, + { + "target": "AccountService", + "text": "Account Service" + }, + { + "target": "TurboencabulatorService", + "text": "Turboencabulator Service" + } + ] +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/index.json new file mode 100644 index 00000000..757af8bc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#ServiceRoot.v1_22_0.ServiceRoot", + "Id": "RootService", + "Name": "Root Service", + "RedfishVersion": "1.15.0", + "UUID": "92384634-2938-2342-8820-489239905423", + "ProtocolFeaturesSupported": { + "ExpandQuery": { + "ExpandAll": true, + "Levels": true, + "MaxLevels": 6, + "Links": true, + "NoLinks": true + }, + "SelectQuery": false, + "FilterQuery": false, + "OnlyMemberQuery": true, + "ExcerptQuery": true + }, + "SessionService": { + "@odata.id": "/redfish/v1/SessionService" + }, + "AccountService": { + "@odata.id": "/redfish/v1/AccountService" + }, + "Links": { + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + } + }, + "Oem": { + "Contoso": { + "@odata.type": "#ContosoServiceRoot.v1_0_0.ServiceRoot", + "TurboencabulatorService": { + "@odata.id": "/redfish/v1/Oem/Contoso/TurboencabulatorService" + } + } + }, + "@odata.id": "/redfish/v1/", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/odata/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/odata/index.json new file mode 100644 index 00000000..b379290f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-oem-examples/odata/index.json @@ -0,0 +1,31 @@ +{ + "@odata.context": "/redfish/v1/$metadata", + "value": [ + { + "name": "Service", + "kind": "Singleton", + "url": "/redfish/v1/" + }, + { + "name": "AccountService", + "kind": "Singleton", + "url": "/redfish/v1/AccountService" + }, + { + "name": "SessionService", + "kind": "Singleton", + "url": "/redfish/v1/SessionService" + }, + { + "name": "Sessions", + "kind": "Singleton", + "url": "/redfish/v1/SessionService/Sessions" + }, + { + "name": "TurboencabulatorService", + "kind": "Singleton", + "url": "/redfish/v1/TurboencabulatorService" + } + ], + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/$metadata/index.xml b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/$metadata/index.xml new file mode 100644 index 00000000..b68b6467 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/$metadata/index.xml @@ -0,0 +1,237 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/AccountService/Accounts/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/AccountService/Accounts/1/index.json new file mode 100644 index 00000000..781c45c6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/AccountService/Accounts/1/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#ManagerAccount.v1_14_2.ManagerAccount", + "Id": "1", + "Name": "User Account", + "Description": "User Account", + "Enabled": true, + "Password": null, + "PasswordChangeRequired": false, + "AccountTypes": [ + "Redfish" + ], + "UserName": "Administrator", + "RoleId": "Administrator", + "Locked": false, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + } + }, + "@odata.id": "/redfish/v1/AccountService/Accounts/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/AccountService/Accounts/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/AccountService/Accounts/index.json new file mode 100644 index 00000000..f509d474 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/AccountService/Accounts/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerAccountCollection.ManagerAccountCollection", + "Name": "Accounts Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Accounts/1" + } + ], + "@odata.id": "/redfish/v1/AccountService/Accounts", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/AccountService/Roles/Administrator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/AccountService/Roles/Administrator/index.json new file mode 100644 index 00000000..19d26a98 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/AccountService/Roles/Administrator/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Administrator", + "Name": "User Role", + "Description": "Admin User Role", + "RoleId": "Administrator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureManager", + "ConfigureUsers", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [ + "OemClearLog", + "OemPowerControl" + ], + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/AccountService/Roles/Operator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/AccountService/Roles/Operator/index.json new file mode 100644 index 00000000..90804a6a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/AccountService/Roles/Operator/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Operator", + "Name": "User Role", + "Description": "Operator User Role", + "RoleId": "Operator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/Operator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/AccountService/Roles/ReadOnly/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/AccountService/Roles/ReadOnly/index.json new file mode 100644 index 00000000..1df0cf03 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/AccountService/Roles/ReadOnly/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "ReadOnly", + "Name": "User Role", + "Description": "ReadOnly User Role", + "RoleId": "ReadOnly", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/AccountService/Roles/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/AccountService/Roles/index.json new file mode 100644 index 00000000..ba9ee112 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/AccountService/Roles/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#RoleCollection.RoleCollection", + "Name": "Roles Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/Operator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly" + } + ], + "@odata.id": "/redfish/v1/AccountService/Roles", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/AccountService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/AccountService/index.json new file mode 100644 index 00000000..adf93276 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/AccountService/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#AccountService.v1_19_0.AccountService", + "Id": "AccountService", + "Name": "Account Service", + "Description": "Account Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "AuthFailureLoggingThreshold": 3, + "MinPasswordLength": 8, + "AccountLockoutThreshold": 5, + "AccountLockoutDuration": 30, + "AccountLockoutCounterResetAfter": 30, + "Accounts": { + "@odata.id": "/redfish/v1/AccountService/Accounts" + }, + "Roles": { + "@odata.id": "/redfish/v1/AccountService/Roles" + }, + "@odata.id": "/redfish/v1/AccountService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/ACMainPower/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/ACMainPower/index.json new file mode 100644 index 00000000..c2899622 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/ACMainPower/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "ACMainPower", + "Name": "AC Main Power", + "ReadingType": "Power", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Total", + "Reading": 28783, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 50000, + "Accuracy": 1, + "Precision": 1, + "SensingInterval": "PT0.1S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 36000, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 32000, + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/ACMainPower", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CabTemp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CabTemp/index.json new file mode 100644 index 00000000..44993817 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CabTemp/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CabTemp", + "Name": "Rack PDU Temperature", + "ReadingType": "Temperature", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 31, + "ReadingUnits": "C", + "ReadingRangeMin": 0, + "ReadingRangeMax": 70, + "Accuracy": 0.25, + "Precision": 1, + "SensingInterval": "PT3S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 40, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 35, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 10, + "DwellTime": "PT5M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/CabTemp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentA/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentA/index.json new file mode 100644 index 00000000..a1027a49 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentA/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CurrentA", + "Name": "Current Branch Circuit A", + "ReadingType": "Current", + "ElectricalContext": "Line1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "ACOutput", + "Thresholds": { + "UpperCritical": { + "Reading": 25, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 20, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/CurrentA", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentA1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentA1/index.json new file mode 100644 index 00000000..71f7a889 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentA1/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CurrentA1", + "Name": "Current Outlet A1", + "ReadingType": "Current", + "ElectricalContext": "Line1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "PowerOutlet", + "Thresholds": { + "UpperCritical": { + "Reading": 25, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 20, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/CurrentA1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentA2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentA2/index.json new file mode 100644 index 00000000..533cc7ea --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentA2/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CurrentA2", + "Name": "Current Outlet A2", + "ReadingType": "Current", + "ElectricalContext": "Line1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "PowerOutlet", + "Thresholds": { + "UpperCritical": { + "Reading": 25, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 20, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/CurrentA2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentA3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentA3/index.json new file mode 100644 index 00000000..637902e7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentA3/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CurrentA3", + "Name": "Current Outlet A3", + "ReadingType": "Current", + "ElectricalContext": "Line1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "PowerOutlet", + "Thresholds": { + "UpperCritical": { + "Reading": 25, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 20, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/CurrentA3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentB1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentB1/index.json new file mode 100644 index 00000000..aada03ab --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentB1/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CurrentB1", + "Name": "Current Outlet B1", + "ReadingType": "Current", + "ElectricalContext": "Line1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "PowerOutlet", + "Thresholds": { + "UpperCritical": { + "Reading": 25, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 20, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/CurrentB1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentB2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentB2/index.json new file mode 100644 index 00000000..c5530eea --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentB2/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CurrentB2", + "Name": "Current Outlet B2", + "ReadingType": "Current", + "ElectricalContext": "Line1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "PowerOutlet", + "Thresholds": { + "UpperCritical": { + "Reading": 25, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 20, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/CurrentB2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentB3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentB3/index.json new file mode 100644 index 00000000..59e5cb58 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentB3/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CurrentB3", + "Name": "Current Outlet B3", + "ReadingType": "Current", + "ElectricalContext": "Line1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "PowerOutlet", + "Thresholds": { + "UpperCritical": { + "Reading": 25, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 20, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/CurrentB3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentC1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentC1/index.json new file mode 100644 index 00000000..4322fd8f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentC1/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CurrentC1", + "Name": "Current Outlet C1", + "ReadingType": "Current", + "ElectricalContext": "Line1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "PowerOutlet", + "Thresholds": { + "UpperCritical": { + "Reading": 25, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 20, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/CurrentC1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentC2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentC2/index.json new file mode 100644 index 00000000..6a010916 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentC2/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CurrentC2", + "Name": "Current Outlet C2", + "ReadingType": "Current", + "ElectricalContext": "Line1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "PowerOutlet", + "Thresholds": { + "UpperCritical": { + "Reading": 25, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 20, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/CurrentC2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentC3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentC3/index.json new file mode 100644 index 00000000..a620c0fc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentC3/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CurrentC3", + "Name": "Current Outlet C3", + "ReadingType": "Current", + "ElectricalContext": "Line1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "PowerOutlet", + "Thresholds": { + "UpperCritical": { + "Reading": 25, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 20, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/CurrentC3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentMains1-1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentMains1-1/index.json new file mode 100644 index 00000000..9ae207d0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentMains1-1/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CurrentMains1-1", + "Name": "Current Mains Line1", + "ReadingType": "Current", + "ElectricalContext": "Line1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "ACInput", + "Thresholds": { + "UpperCritical": { + "Reading": 25, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 20, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/CurrentMains1-1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentMains1-2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentMains1-2/index.json new file mode 100644 index 00000000..55cc4a5c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentMains1-2/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CurrentMains1-2", + "Name": "Current Mains Line2", + "ReadingType": "Current", + "ElectricalContext": "Line1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "ACInput", + "Thresholds": { + "UpperCritical": { + "Reading": 25, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 20, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/CurrentMains1-2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentMains1-3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentMains1-3/index.json new file mode 100644 index 00000000..ec356f19 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentMains1-3/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CurrentMains1-3", + "Name": "Current Mains Line3", + "ReadingType": "Current", + "ElectricalContext": "Line1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "ACInput", + "Thresholds": { + "UpperCritical": { + "Reading": 25, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 20, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/CurrentMains1-3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentMainsNeutral/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentMainsNeutral/index.json new file mode 100644 index 00000000..a52c07f4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/CurrentMainsNeutral/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CurrentMainsNeutral", + "Name": "Current Mains Neutral", + "ReadingType": "Current", + "ElectricalContext": "Line1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "ACInput", + "Thresholds": { + "UpperCritical": { + "Reading": 25, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 20, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/CurrentMainsNeutral", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/EnergyA1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/EnergyA1/index.json new file mode 100644 index 00000000..7215aac6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/EnergyA1/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "EnergyA1", + "Name": "Energy for outlet A1", + "ReadingType": "EnergykWh", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 7855, + "ReadingUnits": "kW.h", + "PhysicalContext": "PowerOutlet", + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/EnergyA1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/EnergyA2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/EnergyA2/index.json new file mode 100644 index 00000000..41ddf779 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/EnergyA2/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "EnergyA2", + "Name": "Energy for outlet A2", + "ReadingType": "EnergykWh", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 7855, + "ReadingUnits": "kW.h", + "PhysicalContext": "PowerOutlet", + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/EnergyA2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/EnergyA3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/EnergyA3/index.json new file mode 100644 index 00000000..a87d7087 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/EnergyA3/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "EnergyA3", + "Name": "Energy for outlet A3", + "ReadingType": "EnergykWh", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 7855, + "ReadingUnits": "kW.h", + "PhysicalContext": "PowerOutlet", + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/EnergyA3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/EnergyB1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/EnergyB1/index.json new file mode 100644 index 00000000..f4b3e189 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/EnergyB1/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "EnergyB1", + "Name": "Energy for outlet B1", + "ReadingType": "EnergykWh", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 7855, + "ReadingUnits": "kW.h", + "PhysicalContext": "PowerOutlet", + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/EnergyB1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/EnergyB2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/EnergyB2/index.json new file mode 100644 index 00000000..f56b04fb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/EnergyB2/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "EnergyB2", + "Name": "Energy for outlet B2", + "ReadingType": "EnergykWh", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 7855, + "ReadingUnits": "kW.h", + "PhysicalContext": "PowerOutlet", + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/EnergyB2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/EnergyB3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/EnergyB3/index.json new file mode 100644 index 00000000..0995310f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/EnergyB3/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "EnergyB3", + "Name": "Energy for outlet B3", + "ReadingType": "EnergykWh", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 7855, + "ReadingUnits": "kW.h", + "PhysicalContext": "PowerOutlet", + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/EnergyB3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/EnergyC1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/EnergyC1/index.json new file mode 100644 index 00000000..0fe33479 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/EnergyC1/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "EnergyC1", + "Name": "Energy for outlet C1", + "ReadingType": "EnergykWh", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 7855, + "ReadingUnits": "kW.h", + "PhysicalContext": "PowerOutlet", + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/EnergyC1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/EnergyC2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/EnergyC2/index.json new file mode 100644 index 00000000..f2031d63 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/EnergyC2/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "EnergyC2", + "Name": "Energy for outlet C2", + "ReadingType": "EnergykWh", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 7855, + "ReadingUnits": "kW.h", + "PhysicalContext": "PowerOutlet", + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/EnergyC2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/EnergyC3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/EnergyC3/index.json new file mode 100644 index 00000000..c690ed52 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/EnergyC3/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "EnergyC3", + "Name": "Energy for outlet C3", + "ReadingType": "EnergykWh", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 7855, + "ReadingUnits": "kW.h", + "PhysicalContext": "PowerOutlet", + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/EnergyC3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/FreqMains/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/FreqMains/index.json new file mode 100644 index 00000000..35a7219f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/FreqMains/index.json @@ -0,0 +1,39 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "FreqMains", + "Name": "Frequency Mains", + "ReadingType": "Frequency", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 60.1, + "ReadingUnits": "Hz", + "ReadingRangeMin": 0, + "ReadingRangeMax": 160, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "ACInput", + "Thresholds": { + "UpperCritical": { + "Reading": 60.37, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 60.2, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 59.5, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 58.75, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/FreqMains", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/FrequencyA1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/FrequencyA1/index.json new file mode 100644 index 00000000..df1c6fa7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/FrequencyA1/index.json @@ -0,0 +1,39 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "FrequencyA1", + "Name": "Frequency reading for outlet A1", + "ReadingType": "Frequency", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 60.1, + "ReadingUnits": "Hz", + "ReadingRangeMin": 0, + "ReadingRangeMax": 160, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerOutlet", + "Thresholds": { + "UpperCritical": { + "Reading": 60.37, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 60.2, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 59.5, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 58.75, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/FrequencyA1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/FrequencyA2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/FrequencyA2/index.json new file mode 100644 index 00000000..b157a83f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/FrequencyA2/index.json @@ -0,0 +1,39 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "FrequencyA2", + "Name": "Frequency reading for outlet A2", + "ReadingType": "Frequency", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 60.1, + "ReadingUnits": "Hz", + "ReadingRangeMin": 0, + "ReadingRangeMax": 160, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerOutlet", + "Thresholds": { + "UpperCritical": { + "Reading": 60.37, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 60.2, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 59.5, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 58.75, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/FrequencyA2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/FrequencyA3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/FrequencyA3/index.json new file mode 100644 index 00000000..3006d5d8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/FrequencyA3/index.json @@ -0,0 +1,39 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "FrequencyA3", + "Name": "Frequency reading for outlet A3", + "ReadingType": "Frequency", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 60.1, + "ReadingUnits": "Hz", + "ReadingRangeMin": 0, + "ReadingRangeMax": 160, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerOutlet", + "Thresholds": { + "UpperCritical": { + "Reading": 60.37, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 60.2, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 59.5, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 58.75, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/FrequencyA3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/GroupEnergyRack5Storage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/GroupEnergyRack5Storage/index.json new file mode 100644 index 00000000..9e070273 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/GroupEnergyRack5Storage/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "GroupEnergyRack5Storage", + "Name": "Energy for outlet group Rack5Storage", + "ReadingType": "EnergykWh", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 26880, + "ReadingUnits": "kW.h", + "PhysicalContext": "ACOutput", + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/GroupEnergyRack5Storage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/GroupPowerRack5Storage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/GroupPowerRack5Storage/index.json new file mode 100644 index 00000000..5fccbc34 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/GroupPowerRack5Storage/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "GroupPowerRack5Storage", + "Name": "Power reading for outlet group Rack5Storage", + "ReadingType": "Power", + "ElectricalContext": "Line1ToNeutral", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 412.36, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 1200, + "ApparentVA": 0, + "ReactiveVAR": 0, + "PowerFactor": 0.97, + "Accuracy": 0.2, + "Precision": 2, + "SensingInterval": "PT0.25S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 1000, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 800, + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/GroupPowerRack5Storage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/Humidity/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/Humidity/index.json new file mode 100644 index 00000000..02609dee --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/Humidity/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "Humidity", + "Name": "Rack PDU Humidity", + "ReadingType": "Humidity", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 43, + "ReadingUnits": "%", + "ReadingRangeMin": 0, + "ReadingRangeMax": 100, + "Accuracy": 0.5, + "Precision": 1, + "SensingInterval": "PT15S", + "PhysicalContext": "Room", + "Thresholds": { + "UpperCritical": { + "Reading": 66, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 55, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 20, + "DwellTime": "PT5M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/Humidity", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PDUPower/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PDUPower/index.json new file mode 100644 index 00000000..ad22aa2e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PDUPower/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PDUPower", + "Name": "Power reading for the PDU", + "ReadingType": "Power", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2734.8, + "ReadingUnits": "W", + "ReadingTime": "2019-08-13T04:14:33+06:00", + "ReadingRangeMin": 0, + "ReadingRangeMax": 6000, + "ApparentVA": 2749.2, + "ReactiveVAR": 281.4, + "PowerFactor": 0.99, + "LoadPercent": 33, + "Accuracy": 0.2, + "Precision": 2, + "SensingInterval": "PT0.25S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 60.1, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 5800, + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/PDUPower", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerA/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerA/index.json new file mode 100644 index 00000000..6cbb27c8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerA/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PowerA", + "Name": "Power reading for branch A", + "ReadingType": "Power", + "ElectricalContext": "Line1ToNeutral", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 427.3, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 1200, + "ApparentVA": 0, + "ReactiveVAR": 0, + "PowerFactor": 0.97, + "Accuracy": 0.2, + "Precision": 2, + "SensingInterval": "PT0.25S", + "PhysicalContext": "ACOutput", + "Thresholds": { + "UpperCritical": { + "Reading": 1000, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 800, + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/PowerA", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerA1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerA1/index.json new file mode 100644 index 00000000..8bee577b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerA1/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PowerA1", + "Name": "Power reading for outlet A1", + "ReadingType": "Power", + "ElectricalContext": "Line1ToNeutral", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 427.3, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 1200, + "ApparentVA": 0, + "ReactiveVAR": 0, + "PowerFactor": 0.97, + "Accuracy": 0.2, + "Precision": 2, + "SensingInterval": "PT0.25S", + "PhysicalContext": "PowerOutlet", + "Thresholds": { + "UpperCritical": { + "Reading": 1000, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 800, + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/PowerA1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerA2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerA2/index.json new file mode 100644 index 00000000..b2512dad --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerA2/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PowerA2", + "Name": "Power reading for outlet A2", + "ReadingType": "Power", + "ElectricalContext": "Line1ToNeutral", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 427.3, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 1200, + "ApparentVA": 0, + "ReactiveVAR": 0, + "PowerFactor": 0.97, + "Accuracy": 0.2, + "Precision": 2, + "SensingInterval": "PT0.25S", + "PhysicalContext": "PowerOutlet", + "Thresholds": { + "UpperCritical": { + "Reading": 1000, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 800, + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/PowerA2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerA3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerA3/index.json new file mode 100644 index 00000000..f5f9a84f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerA3/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PowerA3", + "Name": "Power reading for outlet A3", + "ReadingType": "Power", + "ElectricalContext": "Line1ToNeutral", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 427.3, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 1200, + "ApparentVA": 0, + "ReactiveVAR": 0, + "PowerFactor": 0.97, + "Accuracy": 0.2, + "Precision": 2, + "SensingInterval": "PT0.25S", + "PhysicalContext": "PowerOutlet", + "Thresholds": { + "UpperCritical": { + "Reading": 1000, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 800, + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/PowerA3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerB1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerB1/index.json new file mode 100644 index 00000000..94f34e53 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerB1/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PowerB1", + "Name": "Power reading for outlet B1", + "ReadingType": "Power", + "ElectricalContext": "Line1ToNeutral", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 427.3, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 1200, + "ApparentVA": 0, + "ReactiveVAR": 0, + "PowerFactor": 0.97, + "Accuracy": 0.2, + "Precision": 2, + "SensingInterval": "PT0.25S", + "PhysicalContext": "PowerOutlet", + "Thresholds": { + "UpperCritical": { + "Reading": 1000, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 800, + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/PowerB1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerB2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerB2/index.json new file mode 100644 index 00000000..0e1abb08 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerB2/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PowerB2", + "Name": "Power reading for outlet B2", + "ReadingType": "Power", + "ElectricalContext": "Line1ToNeutral", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 427.3, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 1200, + "ApparentVA": 0, + "ReactiveVAR": 0, + "PowerFactor": 0.97, + "Accuracy": 0.2, + "Precision": 2, + "SensingInterval": "PT0.25S", + "PhysicalContext": "PowerOutlet", + "Thresholds": { + "UpperCritical": { + "Reading": 1000, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 800, + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/PowerB2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerB3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerB3/index.json new file mode 100644 index 00000000..e232f8bb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerB3/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PowerB3", + "Name": "Power reading for outlet B3", + "ReadingType": "Power", + "ElectricalContext": "Line1ToNeutral", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 427.3, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 1200, + "ApparentVA": 0, + "ReactiveVAR": 0, + "PowerFactor": 0.97, + "Accuracy": 0.2, + "Precision": 2, + "SensingInterval": "PT0.25S", + "PhysicalContext": "PowerOutlet", + "Thresholds": { + "UpperCritical": { + "Reading": 1000, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 800, + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/PowerB3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerC1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerC1/index.json new file mode 100644 index 00000000..3d006281 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerC1/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PowerC1", + "Name": "Power reading for outlet C1", + "ReadingType": "Power", + "ElectricalContext": "Line1ToNeutral", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 427.3, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 1200, + "ApparentVA": 0, + "ReactiveVAR": 0, + "PowerFactor": 0.97, + "Accuracy": 0.2, + "Precision": 2, + "SensingInterval": "PT0.25S", + "PhysicalContext": "PowerOutlet", + "Thresholds": { + "UpperCritical": { + "Reading": 1000, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 800, + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/PowerC1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerC2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerC2/index.json new file mode 100644 index 00000000..3c0f94b6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerC2/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PowerC2", + "Name": "Power reading for outlet C2", + "ReadingType": "Power", + "ElectricalContext": "Line1ToNeutral", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 427.3, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 1200, + "ApparentVA": 0, + "ReactiveVAR": 0, + "PowerFactor": 0.97, + "Accuracy": 0.2, + "Precision": 2, + "SensingInterval": "PT0.25S", + "PhysicalContext": "PowerOutlet", + "Thresholds": { + "UpperCritical": { + "Reading": 1000, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 800, + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/PowerC2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerC3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerC3/index.json new file mode 100644 index 00000000..84b92524 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerC3/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PowerC3", + "Name": "Power reading for outlet C3", + "ReadingType": "Power", + "ElectricalContext": "Line1ToNeutral", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 427.3, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 1200, + "ApparentVA": 0, + "ReactiveVAR": 0, + "PowerFactor": 0.97, + "Accuracy": 0.2, + "Precision": 2, + "SensingInterval": "PT0.25S", + "PhysicalContext": "PowerOutlet", + "Thresholds": { + "UpperCritical": { + "Reading": 1000, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 800, + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/PowerC3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerMains1-1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerMains1-1/index.json new file mode 100644 index 00000000..c8cd7680 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerMains1-1/index.json @@ -0,0 +1,43 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PowerMains1-1", + "Name": "Mains Power L1L2", + "ReadingType": "Power", + "ElectricalContext": "Line1ToLine2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 427.3, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 1200, + "ApparentVA": 0, + "ReactiveVAR": 0, + "PowerFactor": 0.97, + "Accuracy": 0.2, + "Precision": 2, + "SensingInterval": "PT0.25S", + "PhysicalContext": "ACInput", + "Thresholds": { + "UpperCritical": { + "Reading": 1000, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 800, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 20, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 5, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/PowerMains1-1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerMains1-2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerMains1-2/index.json new file mode 100644 index 00000000..6be8878e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerMains1-2/index.json @@ -0,0 +1,43 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PowerMains1-2", + "Name": "Mains Power L2L3", + "ReadingType": "Power", + "ElectricalContext": "Line2ToLine3", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 418.84, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 1200, + "ApparentVA": 0, + "ReactiveVAR": 0, + "PowerFactor": 0.97, + "Accuracy": 0.2, + "Precision": 2, + "SensingInterval": "PT0.25S", + "PhysicalContext": "ACInput", + "Thresholds": { + "UpperCritical": { + "Reading": 1000, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 800, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 20, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 5, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/PowerMains1-2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerMains1-3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerMains1-3/index.json new file mode 100644 index 00000000..25357d25 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerMains1-3/index.json @@ -0,0 +1,43 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PowerMains1-3", + "Name": "Mains Power L3L1", + "ReadingType": "Power", + "ElectricalContext": "Line3ToLine1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 405.31, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 1200, + "ApparentVA": 0, + "ReactiveVAR": 0, + "PowerFactor": 0.97, + "Accuracy": 0.2, + "Precision": 2, + "SensingInterval": "PT0.25S", + "PhysicalContext": "ACInput", + "Thresholds": { + "UpperCritical": { + "Reading": 1000, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 800, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 20, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 5, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/PowerMains1-3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerMains1-4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerMains1-4/index.json new file mode 100644 index 00000000..ea37ec7f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerMains1-4/index.json @@ -0,0 +1,43 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PowerMains1-4", + "Name": "Mains Power L1N", + "ReadingType": "Power", + "ElectricalContext": "Line1ToNeutral", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 412.36, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 1200, + "ApparentVA": 0, + "ReactiveVAR": 0, + "PowerFactor": 0.97, + "Accuracy": 0.2, + "Precision": 2, + "SensingInterval": "PT0.25S", + "PhysicalContext": "ACInput", + "Thresholds": { + "UpperCritical": { + "Reading": 1000, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 800, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 20, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 5, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/PowerMains1-4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerMains1-5/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerMains1-5/index.json new file mode 100644 index 00000000..c2e16563 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerMains1-5/index.json @@ -0,0 +1,43 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PowerMains1-5", + "Name": "Mains Power L2N", + "ReadingType": "Power", + "ElectricalContext": "Line2ToNeutral", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 398.84, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 1200, + "ApparentVA": 0, + "ReactiveVAR": 0, + "PowerFactor": 0.97, + "Accuracy": 0.2, + "Precision": 2, + "SensingInterval": "PT0.25S", + "PhysicalContext": "ACInput", + "Thresholds": { + "UpperCritical": { + "Reading": 1000, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 800, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 20, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 5, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/PowerMains1-5", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerMains1-6/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerMains1-6/index.json new file mode 100644 index 00000000..bfac93a3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/PowerMains1-6/index.json @@ -0,0 +1,43 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PowerMains1-6", + "Name": "Mains Power L3N", + "ReadingType": "Power", + "ElectricalContext": "Line3ToNeutral", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 415.42, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 1200, + "ApparentVA": 0, + "ReactiveVAR": 0, + "PowerFactor": 0.97, + "Accuracy": 0.2, + "Precision": 2, + "SensingInterval": "PT0.25S", + "PhysicalContext": "ACInput", + "Thresholds": { + "UpperCritical": { + "Reading": 1000, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 800, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 20, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 5, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/PowerMains1-6", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageA1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageA1/index.json new file mode 100644 index 00000000..a9b016ab --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageA1/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "VoltageA1", + "Name": "Voltage reading for outlet A1", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Line1ToNeutral", + "Reading": 119.27, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 260, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerOutlet", + "Thresholds": { + "UpperCritical": { + "Reading": 125, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 122, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 118, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 115, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/VoltageA1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageA2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageA2/index.json new file mode 100644 index 00000000..f58d1b6c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageA2/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "VoltageA2", + "Name": "Voltage reading for outlet A2", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Line1ToNeutral", + "Reading": 119.27, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 260, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerOutlet", + "Thresholds": { + "UpperCritical": { + "Reading": 125, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 122, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 118, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 115, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/VoltageA2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageA3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageA3/index.json new file mode 100644 index 00000000..58764a01 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageA3/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "VoltageA3", + "Name": "Voltage reading for outlet A3", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Line1ToNeutral", + "Reading": 119.27, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 260, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerOutlet", + "Thresholds": { + "UpperCritical": { + "Reading": 125, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 122, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 118, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 115, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/VoltageA3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageAL1L2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageAL1L2/index.json new file mode 100644 index 00000000..0dc316a4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageAL1L2/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "VoltageAL1L2", + "Name": "Voltage Branch A Line 1 to Line 2", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Line1ToLine2", + "Reading": 119.27, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 260, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "ACOutput", + "Thresholds": { + "UpperCritical": { + "Reading": 125, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 122, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 118, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 115, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/VoltageAL1L2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageAL1N/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageAL1N/index.json new file mode 100644 index 00000000..b601be4f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageAL1N/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "VoltageAL1N", + "Name": "Voltage Branch A L1 to Neutral", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Line1ToNeutral", + "Reading": 119.27, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 260, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "ACOutput", + "Thresholds": { + "UpperCritical": { + "Reading": 125, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 122, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 118, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 115, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/VoltageAL1N", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageB1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageB1/index.json new file mode 100644 index 00000000..908dab35 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageB1/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "VoltageB1", + "Name": "Voltage reading for outlet B1", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Line1ToNeutral", + "Reading": 119.27, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 260, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerOutlet", + "Thresholds": { + "UpperCritical": { + "Reading": 125, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 122, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 118, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 115, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/VoltageB1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageB2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageB2/index.json new file mode 100644 index 00000000..725e36a3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageB2/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "VoltageB2", + "Name": "Voltage reading for outlet B2", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Line1ToNeutral", + "Reading": 119.27, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 260, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerOutlet", + "Thresholds": { + "UpperCritical": { + "Reading": 125, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 122, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 118, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 115, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/VoltageB2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageB3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageB3/index.json new file mode 100644 index 00000000..1b5d5cda --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageB3/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "VoltageB3", + "Name": "Voltage reading for outlet B3", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Line1ToNeutral", + "Reading": 119.27, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 260, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerOutlet", + "Thresholds": { + "UpperCritical": { + "Reading": 125, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 122, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 118, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 115, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/VoltageB3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageC1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageC1/index.json new file mode 100644 index 00000000..af62a696 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageC1/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "VoltageC1", + "Name": "Voltage reading for outlet C1", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Line1ToNeutral", + "Reading": 119.27, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 260, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerOutlet", + "Thresholds": { + "UpperCritical": { + "Reading": 125, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 122, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 118, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 115, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/VoltageC1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageC2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageC2/index.json new file mode 100644 index 00000000..3392c706 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageC2/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "VoltageC2", + "Name": "Voltage reading for outlet C2", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Line1ToNeutral", + "Reading": 119.27, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 260, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerOutlet", + "Thresholds": { + "UpperCritical": { + "Reading": 125, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 122, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 118, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 115, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/VoltageC2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageC3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageC3/index.json new file mode 100644 index 00000000..24fde69a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageC3/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "VoltageC3", + "Name": "Voltage reading for outlet C3", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Line1ToNeutral", + "Reading": 119.27, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 260, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerOutlet", + "Thresholds": { + "UpperCritical": { + "Reading": 125, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 122, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 118, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 115, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/VoltageC3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageMains1-1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageMains1-1/index.json new file mode 100644 index 00000000..eb777e5b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageMains1-1/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "VoltageMains1-1", + "Name": "Voltage reading for mains 1-1", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Line1ToNeutral", + "Reading": 119.27, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 260, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "ACInput", + "Thresholds": { + "UpperCritical": { + "Reading": 125, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 122, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 118, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 115, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/VoltageMains1-1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageMains1-2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageMains1-2/index.json new file mode 100644 index 00000000..c29d4ff1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageMains1-2/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "VoltageMains1-2", + "Name": "Voltage reading for mains 1-2", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Line1ToNeutral", + "Reading": 119.27, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 260, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "ACInput", + "Thresholds": { + "UpperCritical": { + "Reading": 125, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 122, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 118, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 115, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/VoltageMains1-2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageMains1-3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageMains1-3/index.json new file mode 100644 index 00000000..5df4717a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageMains1-3/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "VoltageMains1-3", + "Name": "Voltage reading for mains 1-3", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Line1ToNeutral", + "Reading": 119.27, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 260, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "ACInput", + "Thresholds": { + "UpperCritical": { + "Reading": 125, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 122, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 118, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 115, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/VoltageMains1-3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageMains1-4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageMains1-4/index.json new file mode 100644 index 00000000..d289cc7d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageMains1-4/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "VoltageMains1-4", + "Name": "Voltage reading for mains 1-4", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Line1ToNeutral", + "Reading": 119.27, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 260, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "ACInput", + "Thresholds": { + "UpperCritical": { + "Reading": 125, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 122, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 118, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 115, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/VoltageMains1-4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageMains1-5/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageMains1-5/index.json new file mode 100644 index 00000000..5b263cc1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageMains1-5/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "VoltageMains1-5", + "Name": "Voltage reading for mains 1-5", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Line1ToNeutral", + "Reading": 119.27, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 260, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "ACInput", + "Thresholds": { + "UpperCritical": { + "Reading": 125, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 122, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 118, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 115, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/VoltageMains1-5", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageMains1-6/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageMains1-6/index.json new file mode 100644 index 00000000..8ded05d4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/VoltageMains1-6/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "VoltageMains1-6", + "Name": "Voltage reading for mains 1-6", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Line1ToNeutral", + "Reading": 119.27, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 260, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "ACInput", + "Thresholds": { + "UpperCritical": { + "Reading": 125, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 122, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 118, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 115, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/VoltageMains1-6", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/index.json new file mode 100644 index 00000000..65736659 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/Sensors/index.json @@ -0,0 +1,204 @@ +{ + "@odata.type": "#SensorCollection.SensorCollection", + "Name": "Rack PDU Sensor Collection", + "Members@odata.count": 65, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/ACMainPower" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/CabTemp" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/CurrentA" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/CurrentA1" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/CurrentA2" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/CurrentA3" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/CurrentB1" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/CurrentB2" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/CurrentB3" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/CurrentC1" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/CurrentC2" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/CurrentC3" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/CurrentMains1-1" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/CurrentMains1-2" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/CurrentMains1-3" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/CurrentMainsNeutral" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/EnergyA1" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/EnergyA2" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/EnergyA3" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/EnergyB1" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/EnergyB2" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/EnergyB3" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/EnergyC1" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/EnergyC2" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/EnergyC3" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/FreqMains" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/FrequencyA1" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/FrequencyA2" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/FrequencyA3" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/Humidity" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/PowerA" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/PowerA1" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/PowerA2" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/PowerA3" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/PowerB1" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/PowerB2" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/PowerB3" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/PowerC1" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/PowerC2" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/PowerC3" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/PowerMains1-1" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/PowerMains1-2" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/PowerMains1-3" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/PowerMains1-4" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/PowerMains1-5" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/PowerMains1-6" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/VoltageA1" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/VoltageA2" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/VoltageA3" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/VoltageAL1L2" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/VoltageAL1N" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/VoltageB1" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/VoltageB2" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/VoltageB3" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/VoltageC1" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/VoltageC2" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/VoltageC3" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/VoltageMains1-1" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/VoltageMains1-2" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/VoltageMains1-3" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/VoltageMains1-4" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/VoltageMains1-5" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/VoltageMains1-6" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/GroupPowerRack5Storage" + }, + { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors/GroupEnergyRack5Storage" + } + ], + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/index.json new file mode 100644 index 00000000..b120d957 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/PDU/index.json @@ -0,0 +1,47 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "PDU", + "Name": "Rack PDU Chassis", + "ChassisType": "Enclosure", + "Version": "1.03b", + "Manufacturer": "Contoso", + "Model": "ZAP4000", + "SerialNumber": "29347ZT536", + "PartNumber": "AA-23", + "UUID": "32354641-4135-4332-4a35-313735303734", + "AssetTag": "PDX-92381", + "Status": { + "State": "Enabled", + "Health": "OK", + "Conditions": [] + }, + "Location": { + "Placement": { + "Row": "North 1", + "Rack": "42" + } + }, + "Sensors": { + "@odata.id": "/redfish/v1/Chassis/PDU/Sensors" + }, + "Links": { + "PowerDistribution": { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1" + }, + "Facility": { + "@odata.id": "/redfish/v1/Facilities/Room237" + }, + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ], + "ManagersInChassis": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PDU", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/ACMainPower/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/ACMainPower/index.json new file mode 100644 index 00000000..b7fdc529 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/ACMainPower/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "ACMainPower", + "Name": "AC Main Power", + "ReadingType": "Power", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Total", + "Reading": 28783, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 50000, + "Accuracy": 1, + "Precision": 1, + "SensingInterval": "PT0.1S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 36000, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 32000, + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/ACMainPower", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CabTemp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CabTemp/index.json new file mode 100644 index 00000000..48683e5e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CabTemp/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CabTemp", + "Name": "Rack PDU Temperature", + "ReadingType": "Temperature", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 31, + "ReadingUnits": "C", + "ReadingRangeMin": 0, + "ReadingRangeMax": 70, + "Accuracy": 0.25, + "Precision": 1, + "SensingInterval": "PT3S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 40, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 35, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 10, + "DwellTime": "PT5M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CabTemp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentA/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentA/index.json new file mode 100644 index 00000000..9206a5d4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentA/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CurrentA", + "Name": "Current Branch Circuit A", + "ReadingType": "Current", + "ElectricalContext": "Line1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 25, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 20, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentA", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentA1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentA1/index.json new file mode 100644 index 00000000..7afa10c8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentA1/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CurrentA1", + "Name": "Current Outlet A1", + "ReadingType": "Current", + "ElectricalContext": "Line1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 25, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 20, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentA1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentA2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentA2/index.json new file mode 100644 index 00000000..7398656e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentA2/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CurrentA2", + "Name": "Current Outlet A2", + "ReadingType": "Current", + "ElectricalContext": "Line1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 25, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 20, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentA2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentA3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentA3/index.json new file mode 100644 index 00000000..246b6a0a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentA3/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CurrentA3", + "Name": "Current Outlet A3", + "ReadingType": "Current", + "ElectricalContext": "Line1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 25, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 20, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentA3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentB/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentB/index.json new file mode 100644 index 00000000..d32be6ca --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentB/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CurrentB", + "Name": "Current Branch Circuit B", + "ReadingType": "Current", + "ElectricalContext": "Line1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 25, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 20, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentB", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentB1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentB1/index.json new file mode 100644 index 00000000..c45aeeff --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentB1/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CurrentB1", + "Name": "Current Outlet B1", + "ReadingType": "Current", + "ElectricalContext": "Line1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 25, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 20, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentB1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentB2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentB2/index.json new file mode 100644 index 00000000..ef9cff05 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentB2/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CurrentB2", + "Name": "Current Outlet B2", + "ReadingType": "Current", + "ElectricalContext": "Line1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 25, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 20, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentB2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentB3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentB3/index.json new file mode 100644 index 00000000..200caf87 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentB3/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CurrentB3", + "Name": "Current Outlet B3", + "ReadingType": "Current", + "ElectricalContext": "Line1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 25, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 20, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentB3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentMains1-1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentMains1-1/index.json new file mode 100644 index 00000000..dd0d7886 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentMains1-1/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CurrentMains1-1", + "Name": "Current Mains Line1", + "ReadingType": "Current", + "ElectricalContext": "Line1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 25, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 20, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentMains1-1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentMains1-2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentMains1-2/index.json new file mode 100644 index 00000000..6446cc64 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentMains1-2/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CurrentMains1-2", + "Name": "Current Mains Line2", + "ReadingType": "Current", + "ElectricalContext": "Line1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 25, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 20, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentMains1-2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentMains2-1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentMains2-1/index.json new file mode 100644 index 00000000..f60494cb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentMains2-1/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CurrentMains2-1", + "Name": "Current Mains Line1", + "ReadingType": "Current", + "ElectricalContext": "Line1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 25, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 20, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentMains2-1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentMains2-2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentMains2-2/index.json new file mode 100644 index 00000000..73eac9d6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/CurrentMains2-2/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CurrentMains2-2", + "Name": "Current Mains Line2", + "ReadingType": "Current", + "ElectricalContext": "Line1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 25, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 20, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentMains2-2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/EnergyA1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/EnergyA1/index.json new file mode 100644 index 00000000..a01862d4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/EnergyA1/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "EnergyA1", + "Name": "Energy for outlet A1", + "ReadingType": "EnergykWh", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 7855, + "ReadingUnits": "kW", + "PhysicalContext": "Chassis", + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/EnergyA1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/EnergyA2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/EnergyA2/index.json new file mode 100644 index 00000000..544ebfeb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/EnergyA2/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "EnergyA2", + "Name": "Energy for outlet A2", + "ReadingType": "EnergykWh", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 7855, + "ReadingUnits": "kW", + "PhysicalContext": "Chassis", + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/EnergyA2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/EnergyA3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/EnergyA3/index.json new file mode 100644 index 00000000..e915cef0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/EnergyA3/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "EnergyA3", + "Name": "Energy for outlet A3", + "ReadingType": "EnergykWh", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 7855, + "ReadingUnits": "kW", + "PhysicalContext": "Chassis", + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/EnergyA3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/EnergyB1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/EnergyB1/index.json new file mode 100644 index 00000000..d1ae8d5d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/EnergyB1/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "EnergyB1", + "Name": "Energy for outlet B1", + "ReadingType": "EnergykWh", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 7855, + "ReadingUnits": "kW", + "PhysicalContext": "Chassis", + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/EnergyB1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/EnergyB2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/EnergyB2/index.json new file mode 100644 index 00000000..ed95e927 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/EnergyB2/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "EnergyB2", + "Name": "Energy for outlet B2", + "ReadingType": "EnergykWh", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 7855, + "ReadingUnits": "kW", + "PhysicalContext": "Chassis", + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/EnergyB2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/EnergyB3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/EnergyB3/index.json new file mode 100644 index 00000000..0589f02c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/EnergyB3/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "EnergyB3", + "Name": "Energy for outlet B3", + "ReadingType": "EnergykWh", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 7855, + "ReadingUnits": "kW", + "PhysicalContext": "Chassis", + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/EnergyB3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/FreqMains/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/FreqMains/index.json new file mode 100644 index 00000000..b5053a98 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/FreqMains/index.json @@ -0,0 +1,39 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "FreqMains", + "Name": "Frequency Mains", + "ReadingType": "Frequency", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 60.1, + "ReadingUnits": "Hz", + "ReadingRangeMin": 0, + "ReadingRangeMax": 160, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 60.37, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 60.2, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 59.5, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 58.75, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/FreqMains", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/FrequencyA/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/FrequencyA/index.json new file mode 100644 index 00000000..f1d4abfd --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/FrequencyA/index.json @@ -0,0 +1,39 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "FrequencyA", + "Name": "Frequency reading for branch A", + "ReadingType": "Frequency", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 60.1, + "ReadingUnits": "Hz", + "ReadingRangeMin": 0, + "ReadingRangeMax": 160, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 60.37, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 60.2, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 59.5, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 58.75, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/FrequencyA", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/FrequencyA1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/FrequencyA1/index.json new file mode 100644 index 00000000..6992dfc1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/FrequencyA1/index.json @@ -0,0 +1,39 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "FrequencyA1", + "Name": "Frequency reading for outlet A1", + "ReadingType": "Frequency", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 60.1, + "ReadingUnits": "Hz", + "ReadingRangeMin": 0, + "ReadingRangeMax": 160, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 60.37, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 60.2, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 59.5, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 58.75, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/FrequencyA1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/FrequencyA2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/FrequencyA2/index.json new file mode 100644 index 00000000..d638ed5a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/FrequencyA2/index.json @@ -0,0 +1,39 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "FrequencyA2", + "Name": "Frequency reading for outlet A2", + "ReadingType": "Frequency", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 60.1, + "ReadingUnits": "Hz", + "ReadingRangeMin": 0, + "ReadingRangeMax": 160, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 60.37, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 60.2, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 59.5, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 58.75, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/FrequencyA2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/FrequencyA3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/FrequencyA3/index.json new file mode 100644 index 00000000..4042d50d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/FrequencyA3/index.json @@ -0,0 +1,39 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "FrequencyA3", + "Name": "Frequency reading for outlet A3", + "ReadingType": "Frequency", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 60.1, + "ReadingUnits": "Hz", + "ReadingRangeMin": 0, + "ReadingRangeMax": 160, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 60.37, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 60.2, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 59.5, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 58.75, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/FrequencyA3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/FrequencyB/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/FrequencyB/index.json new file mode 100644 index 00000000..14e6b0d7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/FrequencyB/index.json @@ -0,0 +1,39 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "FrequencyB", + "Name": "Frequency reading for branch B", + "ReadingType": "Frequency", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 60.1, + "ReadingUnits": "Hz", + "ReadingRangeMin": 0, + "ReadingRangeMax": 160, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 60.37, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 60.2, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 59.5, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 58.75, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/FrequencyB", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/FrequencyB1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/FrequencyB1/index.json new file mode 100644 index 00000000..d09968db --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/FrequencyB1/index.json @@ -0,0 +1,39 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "FrequencyB1", + "Name": "Frequency reading for outlet B1", + "ReadingType": "Frequency", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 60.1, + "ReadingUnits": "Hz", + "ReadingRangeMin": 0, + "ReadingRangeMax": 160, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 60.37, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 60.2, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 59.5, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 58.75, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/FrequencyB1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/FrequencyB2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/FrequencyB2/index.json new file mode 100644 index 00000000..a8327f41 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/FrequencyB2/index.json @@ -0,0 +1,39 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "FrequencyB2", + "Name": "Frequency reading for outlet B2", + "ReadingType": "Frequency", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 60.1, + "ReadingUnits": "Hz", + "ReadingRangeMin": 0, + "ReadingRangeMax": 160, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 60.37, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 60.2, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 59.5, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 58.75, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/FrequencyB2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/FrequencyB3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/FrequencyB3/index.json new file mode 100644 index 00000000..c6bb74fd --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/FrequencyB3/index.json @@ -0,0 +1,39 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "FrequencyB3", + "Name": "Frequency reading for outlet B3", + "ReadingType": "Frequency", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 60.1, + "ReadingUnits": "Hz", + "ReadingRangeMin": 0, + "ReadingRangeMax": 160, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 60.37, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 60.2, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 59.5, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 58.75, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/FrequencyB3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/Humidity/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/Humidity/index.json new file mode 100644 index 00000000..3515d4f8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/Humidity/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "Humidity", + "Name": "Rack PDU Humidity", + "ReadingType": "Humidity", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 43, + "ReadingUnits": "%", + "ReadingRangeMin": 0, + "ReadingRangeMax": 100, + "Accuracy": 0.5, + "Precision": 1, + "SensingInterval": "PT15S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 66, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 55, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 20, + "DwellTime": "PT5M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/Humidity", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PDUPower/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PDUPower/index.json new file mode 100644 index 00000000..9b96efa2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PDUPower/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PDUPower", + "Name": "Power reading for the PDU", + "ReadingType": "Power", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2734.8, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 6000, + "ApparentVA": 2749.2, + "ReactiveVAR": 281.4, + "PowerFactor": 0.99, + "LoadPercent": 33, + "Accuracy": 0.2, + "Precision": 2, + "SensingInterval": "PT0.25S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 60.1, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 5800, + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/PDUPower", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerA/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerA/index.json new file mode 100644 index 00000000..1f9aaa27 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerA/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PowerA", + "Name": "Power reading for branch A", + "ReadingType": "Power", + "ElectricalContext": "Line1ToNeutral", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 427.3, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 1200, + "ApparentVA": 0, + "ReactiveVAR": 0, + "PowerFactor": 0.97, + "Accuracy": 0.2, + "Precision": 2, + "SensingInterval": "PT0.25S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 1000, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 800, + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/PowerA", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerA1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerA1/index.json new file mode 100644 index 00000000..333bdbae --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerA1/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PowerA1", + "Name": "Power reading for outlet A1", + "ReadingType": "Power", + "ElectricalContext": "Line1ToNeutral", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 427.3, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 1200, + "ApparentVA": 0, + "ReactiveVAR": 0, + "PowerFactor": 0.97, + "Accuracy": 0.2, + "Precision": 2, + "SensingInterval": "PT0.25S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 1000, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 800, + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/PowerA1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerA2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerA2/index.json new file mode 100644 index 00000000..2d4377b6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerA2/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PowerA2", + "Name": "Power reading for outlet A2", + "ReadingType": "Power", + "ElectricalContext": "Line1ToNeutral", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 427.3, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 1200, + "ApparentVA": 0, + "ReactiveVAR": 0, + "PowerFactor": 0.97, + "Accuracy": 0.2, + "Precision": 2, + "SensingInterval": "PT0.25S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 1000, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 800, + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/PowerA2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerA3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerA3/index.json new file mode 100644 index 00000000..ff33bc02 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerA3/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PowerA3", + "Name": "Power reading for outlet A3", + "ReadingType": "Power", + "ElectricalContext": "Line1ToNeutral", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 427.3, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 1200, + "ApparentVA": 0, + "ReactiveVAR": 0, + "PowerFactor": 0.97, + "Accuracy": 0.2, + "Precision": 2, + "SensingInterval": "PT0.25S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 1000, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 800, + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/PowerA3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerB/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerB/index.json new file mode 100644 index 00000000..d695fc79 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerB/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PowerB", + "Name": "Power reading for branch B", + "ReadingType": "Power", + "ElectricalContext": "Line1ToNeutral", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 427.3, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 1200, + "ApparentVA": 0, + "ReactiveVAR": 0, + "PowerFactor": 0.97, + "Accuracy": 0.2, + "Precision": 2, + "SensingInterval": "PT0.25S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 1000, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 800, + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/PowerB", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerB1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerB1/index.json new file mode 100644 index 00000000..ff95f1cf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerB1/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PowerB1", + "Name": "Power reading for outlet B1", + "ReadingType": "Power", + "ElectricalContext": "Line1ToNeutral", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 427.3, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 1200, + "ApparentVA": 0, + "ReactiveVAR": 0, + "PowerFactor": 0.97, + "Accuracy": 0.2, + "Precision": 2, + "SensingInterval": "PT0.25S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 1000, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 800, + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/PowerB1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerB2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerB2/index.json new file mode 100644 index 00000000..54c3d34f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerB2/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PowerB2", + "Name": "Power reading for outlet B2", + "ReadingType": "Power", + "ElectricalContext": "Line1ToNeutral", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 427.3, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 1200, + "ApparentVA": 0, + "ReactiveVAR": 0, + "PowerFactor": 0.97, + "Accuracy": 0.2, + "Precision": 2, + "SensingInterval": "PT0.25S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 1000, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 800, + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/PowerB2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerB3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerB3/index.json new file mode 100644 index 00000000..cbba3567 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerB3/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PowerB3", + "Name": "Power reading for outlet B3", + "ReadingType": "Power", + "ElectricalContext": "Line1ToNeutral", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 427.3, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 1200, + "ApparentVA": 0, + "ReactiveVAR": 0, + "PowerFactor": 0.97, + "Accuracy": 0.2, + "Precision": 2, + "SensingInterval": "PT0.25S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 1000, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 800, + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/PowerB3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerMains1-2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerMains1-2/index.json new file mode 100644 index 00000000..6957a151 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerMains1-2/index.json @@ -0,0 +1,43 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PowerMains1-2", + "Name": "Mains Power L1L2", + "ReadingType": "Power", + "ElectricalContext": "Line1ToLine2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 427.3, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 1200, + "ApparentVA": 0, + "ReactiveVAR": 0, + "PowerFactor": 0.97, + "Accuracy": 0.2, + "Precision": 2, + "SensingInterval": "PT0.25S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 1000, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 800, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 20, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 5, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/PowerMains1-2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerMains2-3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerMains2-3/index.json new file mode 100644 index 00000000..dbf38345 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/PowerMains2-3/index.json @@ -0,0 +1,43 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PowerMains2-3", + "Name": "Mains Power L2L3", + "ReadingType": "Power", + "ElectricalContext": "Line2ToLine3", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 418.84, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 1200, + "ApparentVA": 0, + "ReactiveVAR": 0, + "PowerFactor": 0.97, + "Accuracy": 0.2, + "Precision": 2, + "SensingInterval": "PT0.25S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 1000, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 800, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 20, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 5, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/PowerMains2-3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageA1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageA1/index.json new file mode 100644 index 00000000..47ee71a2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageA1/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "VoltageA1", + "Name": "Voltage reading for outlet A1", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Line1ToNeutral", + "Reading": 119.27, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 260, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 125, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 122, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 118, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 115, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/VoltageA1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageA2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageA2/index.json new file mode 100644 index 00000000..d0805714 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageA2/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "VoltageA2", + "Name": "Voltage reading for outlet A2", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Line1ToNeutral", + "Reading": 119.27, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 260, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 125, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 122, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 118, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 115, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/VoltageA2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageA3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageA3/index.json new file mode 100644 index 00000000..895e8070 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageA3/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "VoltageA3", + "Name": "Voltage reading for outlet A3", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Line1ToNeutral", + "Reading": 119.27, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 260, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 125, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 122, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 118, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 115, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/VoltageA3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageAL1L2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageAL1L2/index.json new file mode 100644 index 00000000..3368b0ee --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageAL1L2/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "VoltageAL1L2", + "Name": "Voltage Branch A Line 1 to Line 2", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Line1ToLine2", + "Reading": 119.27, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 260, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 125, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 122, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 118, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 115, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/VoltageAL1L2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageB1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageB1/index.json new file mode 100644 index 00000000..36ab768c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageB1/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "VoltageB1", + "Name": "Voltage reading for outlet B1", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Line1ToNeutral", + "Reading": 119.27, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 260, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 125, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 122, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 118, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 115, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/VoltageB1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageB2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageB2/index.json new file mode 100644 index 00000000..17c94a18 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageB2/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "VoltageB2", + "Name": "Voltage reading for outlet B2", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Line1ToNeutral", + "Reading": 119.27, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 260, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 125, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 122, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 118, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 115, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/VoltageB2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageB3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageB3/index.json new file mode 100644 index 00000000..e5d4054c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageB3/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "VoltageB3", + "Name": "Voltage reading for outlet B3", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Line1ToNeutral", + "Reading": 119.27, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 260, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 125, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 122, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 118, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 115, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/VoltageB3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageBL1L2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageBL1L2/index.json new file mode 100644 index 00000000..bf555601 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageBL1L2/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "VoltageBL1L2", + "Name": "Voltage Branch B Line 1 to Line 2", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Line1ToLine2", + "Reading": 119.27, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 260, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 125, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 122, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 118, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 115, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/VoltageBL1L2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageMains1-1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageMains1-1/index.json new file mode 100644 index 00000000..1bc0e88d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageMains1-1/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "VoltageMains1-1", + "Name": "Voltage reading for mains 1-1", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Line1ToNeutral", + "Reading": 119.27, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 260, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 125, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 122, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 118, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 115, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/VoltageMains1-1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageMains2-1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageMains2-1/index.json new file mode 100644 index 00000000..dfe0e6b9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/VoltageMains2-1/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "VoltageMains2-1", + "Name": "Voltage reading for mains 2-1", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Line1ToNeutral", + "Reading": 119.27, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 260, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 125, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 122, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 118, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 115, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/VoltageMains2-1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/index.json new file mode 100644 index 00000000..08a6d974 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/Sensors/index.json @@ -0,0 +1,159 @@ +{ + "@odata.type": "#SensorCollection.SensorCollection", + "Name": "Transfer Switch Sensor Collection", + "Members@odata.count": 52, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/ACMainPower" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CabTemp" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentA" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentA1" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentA2" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentA3" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentB" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentB1" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentB2" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentB3" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentMains1-1" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentMains1-2" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentMains2-1" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentMains2-2" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/EnergyA1" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/EnergyA2" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/EnergyA3" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/EnergyB1" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/EnergyB2" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/EnergyB3" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/FreqMains" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/FrequencyA" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/FrequencyA1" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/FrequencyA2" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/FrequencyA3" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/FrequencyB" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/FrequencyB1" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/FrequencyB2" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/FrequencyB3" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/Humidity" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/PowerA" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/PowerA1" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/PowerA2" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/PowerA3" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/PowerB" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/PowerB1" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/PowerB2" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/PowerB3" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/PowerMains1-2" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/PowerMains2-3" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/VoltageA1" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/VoltageA2" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/VoltageA3" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/VoltageAL1L2" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/VoltageB1" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/VoltageB2" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/VoltageB3" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/VoltageBL1L2" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/VoltageMains1-1" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors/VoltageMains2-1" + } + ], + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/index.json new file mode 100644 index 00000000..1f1113b8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/TransferSwitch1/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "TransferSwitch1", + "Name": "Transfer Switch Chassis", + "ChassisType": "Enclosure", + "Version": "1.03b", + "Manufacturer": "Contoso", + "Model": "ZAP4000", + "SerialNumber": "29347ZT536", + "PartNumber": "AA-23", + "UUID": "32354641-4135-4332-4a35-313735303734", + "AssetTag": "PDX-92381", + "Status": { + "State": "Enabled", + "Health": "OK", + "Conditions": [] + }, + "Location": { + "Longitude": 45.52, + "Latitude": 122.67, + "PostalAddress": { + "Country": "US", + "Territory": "OR", + "City": "Portland", + "Street": "1001 SW 5th Avenue", + "Name": "DMTF Headquarters", + "PostalCode": "97204", + "Building": "3A", + "Floor": "2", + "Room": "213" + }, + "Placement": { + "Row": "North" + } + }, + "Sensors": { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1/Sensors" + }, + "Links": { + "PowerDistribution": { + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1" + } + }, + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/index.json new file mode 100644 index 00000000..525d99bf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Chassis/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#ChassisCollection.ChassisCollection", + "Name": "Chassis Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PDU" + }, + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1" + } + ], + "@odata.id": "/redfish/v1/Chassis", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/EventService/Subscriptions/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/EventService/Subscriptions/1/index.json new file mode 100644 index 00000000..4cf433da --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/EventService/Subscriptions/1/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#EventDestination.v1_17_1.EventDestination", + "Id": "1", + "Name": "EventSubscription 1", + "Destination": "http://www.dnsname.com/Destination1", + "EventTypes": [ + "Alert" + ], + "Context": "WebUser3", + "Protocol": "Redfish", + "SubscriptionType": "RedfishEvent", + "@odata.id": "/redfish/v1/EventService/Subscriptions/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/EventService/Subscriptions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/EventService/Subscriptions/index.json new file mode 100644 index 00000000..50ce173e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/EventService/Subscriptions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#EventDestinationCollection.EventDestinationCollection", + "Name": "Event Subscriptions Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/EventService/Subscriptions/1" + } + ], + "@odata.id": "/redfish/v1/EventService/Subscriptions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/EventService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/EventService/index.json new file mode 100644 index 00000000..f4b1a563 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/EventService/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#EventService.v1_12_0.EventService", + "Id": "EventService", + "Name": "Event Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "DeliveryRetryAttempts": 3, + "DeliveryRetryIntervalSeconds": 60, + "EventTypesForSubscription": [ + "StatusChange", + "ResourceUpdated", + "ResourceAdded", + "ResourceRemoved", + "Alert" + ], + "Subscriptions": { + "@odata.id": "/redfish/v1/EventService/Subscriptions" + }, + "Actions": { + "#EventService.SubmitTestEvent": { + "target": "/redfish/v1/EventService/Actions/EventService.SubmitTestEvent", + "EventType@Redfish.AllowableValues": [ + "StatusChange", + "ResourceUpdated", + "ResourceAdded", + "ResourceRemoved", + "Alert" + ] + } + }, + "@odata.id": "/redfish/v1/EventService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Facilities/Building/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Facilities/Building/index.json new file mode 100644 index 00000000..ad75313d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Facilities/Building/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#Facility.v1_4_2.Facility", + "Id": "Building", + "Name": "DMTF Facility", + "FacilityType": "Building", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Location": { + "PostalAddress": { + "Country": "US", + "Territory": "OR", + "City": "Portland", + "Street": "1001 SW 5th Avenue", + "HouseNumber": 1001, + "Name": "DMTF, Inc.", + "PostalCode": "97204" + } + }, + "Links": { + "ContainsFacilities": [ + { + "@odata.id": "/redfish/v1/Facilities/Room237" + } + ] + }, + "@odata.id": "/redfish/v1/Facilities/Building", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Facilities/Room237/PowerDomains/Row1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Facilities/Room237/PowerDomains/Row1/index.json new file mode 100644 index 00000000..bf9909dc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Facilities/Room237/PowerDomains/Row1/index.json @@ -0,0 +1,23 @@ +{ + "@odata.type": "#PowerDomain.v1_2_2.PowerDomain", + "Id": "Row1", + "Name": "Row #1 Domain", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ], + "RackPDUs": [ + { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1" + } + ] + }, + "@odata.id": "/redfish/v1/Facilities/Room237/PowerDomains/Row1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Facilities/Room237/PowerDomains/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Facilities/Room237/PowerDomains/index.json new file mode 100644 index 00000000..b894d6cc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Facilities/Room237/PowerDomains/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PowerDomainCollection.PowerDomainCollection", + "Name": "Power Domains Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Facilities/Room237/PowerDomains/Row1" + } + ], + "@odata.id": "/redfish/v1/Facilities/Room237/PowerDomains", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Facilities/Room237/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Facilities/Room237/index.json new file mode 100644 index 00000000..f7219a65 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Facilities/Room237/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#Facility.v1_4_2.Facility", + "Id": "Room237", + "Name": "Room #237, 2nd Floor", + "FacilityType": "Room", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Location": { + "PostalAddress": { + "Country": "US", + "Territory": "OR", + "City": "Portland", + "Street": "1001 SW 5th Avenue", + "HouseNumber": 1001, + "Name": "DMTF, Inc.", + "PostalCode": "97204", + "Floor": "2", + "Room": "237" + } + }, + "PowerDomains": { + "@odata.id": "/redfish/v1/Facilities/Room237/PowerDomains" + }, + "Links": { + "ContainedByFacility": { + "@odata.id": "/redfish/v1/Facilities/Building" + }, + "RackPDUs": [ + { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1" + } + ] + }, + "@odata.id": "/redfish/v1/Facilities/Room237", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Facilities/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Facilities/index.json new file mode 100644 index 00000000..b075654f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Facilities/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#FacilityCollection.FacilityCollection", + "Name": "Facility Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Facilities/Building" + }, + { + "@odata.id": "/redfish/v1/Facilities/Room237" + } + ], + "@odata.id": "/redfish/v1/Facilities", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/EthernetInterfaces/Dedicated/SD/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/EthernetInterfaces/Dedicated/SD/index.json new file mode 100644 index 00000000..a951bc17 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/EthernetInterfaces/Dedicated/SD/index.json @@ -0,0 +1,60 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "SD", + "Name": "Manager Ethernet Interface", + "Description": "Management Network Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:33:CF:EA", + "MACAddress": "23:11:8A:33:CF:EA", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.0.1" + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred" + } + ], + "NameServers": [ + "names.dmtf.org" + ], + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/Dedicated/SD", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/EthernetInterfaces/Dedicated/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/EthernetInterfaces/Dedicated/index.json new file mode 100644 index 00000000..bd71dce8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/EthernetInterfaces/Dedicated/index.json @@ -0,0 +1,76 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "Dedicated", + "Name": "Manager Ethernet Interface", + "Description": "Management Network Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:33:CF:EA", + "MACAddress": "23:11:8A:33:CF:EA", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.0.1" + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred" + } + ], + "NameServers": [ + "names.dmtf.org" + ], + "@Redfish.Settings": { + "@odata.type": "#Settings.v1_5_0.Settings", + "SettingsObject": { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/Dedicated/SD" + }, + "Time": "2012-03-07T14:44.30-05:00", + "ETag": "84ffcbb050ddc7fa9cddb59014546e59", + "Messages": [ + { + "MessageId": "Base.1.0.SettingsFailed", + "RelatedProperties": [ + "/IPv6Addresses/PrefixLength" + ] + } + ] + }, + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/Dedicated", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/EthernetInterfaces/index.json new file mode 100644 index 00000000..6ae61c44 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/EthernetInterfaces/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Network Interface Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/Dedicated" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/LogServices/Log/Entries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/LogServices/Log/Entries/index.json new file mode 100644 index 00000000..d46fd942 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/LogServices/Log/Entries/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 0, + "Members": [], + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/LogServices/Log/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/LogServices/Log/index.json new file mode 100644 index 00000000..6d2dbdfe --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/LogServices/Log/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#LogService.v1_9_0.LogService", + "Id": "Log", + "Name": "System Log Service", + "MaxNumberOfRecords": 1000, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Managers/BMC/LogServices/Log/Actions/LogService.ClearLog" + } + }, + "Entries": { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries" + }, + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/LogServices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/LogServices/index.json new file mode 100644 index 00000000..0de6f42a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/LogServices/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Description": "Collection of Log Services for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/LogServices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/NetworkProtocol/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/NetworkProtocol/index.json new file mode 100644 index 00000000..37fbbcea --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/NetworkProtocol/index.json @@ -0,0 +1,53 @@ +{ + "@odata.type": "#ManagerNetworkProtocol.v1_14_0.ManagerNetworkProtocol", + "Id": "NetworkProtocol", + "Name": "Manager Network Protocol", + "Description": "Manager Network Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "HTTP": { + "ProtocolEnabled": true, + "Port": 80 + }, + "HTTPS": { + "ProtocolEnabled": true, + "Port": 443 + }, + "IPMI": { + "ProtocolEnabled": true, + "Port": 623 + }, + "SSH": { + "ProtocolEnabled": true, + "Port": 22 + }, + "SNMP": { + "ProtocolEnabled": true, + "Port": 161 + }, + "VirtualMedia": { + "ProtocolEnabled": true, + "Port": 17988 + }, + "SSDP": { + "ProtocolEnabled": true, + "Port": 1900, + "NotifyMulticastIntervalSeconds": 600, + "NotifyTTL": 5, + "NotifyIPv6Scope": "Site" + }, + "Telnet": { + "ProtocolEnabled": true, + "Port": 23 + }, + "KVMIP": { + "ProtocolEnabled": true, + "Port": 5288 + }, + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/SerialInterfaces/TTY0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/SerialInterfaces/TTY0/index.json new file mode 100644 index 00000000..2cae0a79 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/SerialInterfaces/TTY0/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#SerialInterface.v1_3_0.SerialInterface", + "Id": "TTY0", + "Name": "Manager Serial Interface 1", + "Description": "Management for Serial Interface", + "InterfaceEnabled": true, + "SignalType": "Rs232", + "BitRate": "115200", + "Parity": "None", + "DataBits": "8", + "StopBits": "1", + "FlowControl": "None", + "ConnectorType": "RJ45", + "PinOut": "Cyclades", + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces/TTY0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/SerialInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/SerialInterfaces/index.json new file mode 100644 index 00000000..249de7d4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/SerialInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#SerialInterfaceCollection.SerialInterfaceCollection", + "Name": "Serial Interface Collection", + "Description": "Collection of Serial Interfaces for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces/TTY0" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/VirtualMedia/CD1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/VirtualMedia/CD1/index.json new file mode 100644 index 00000000..f91e066b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/VirtualMedia/CD1/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#VirtualMedia.v1_7_0.VirtualMedia", + "Id": "CD1", + "Name": "Virtual CD", + "MediaTypes": [ + "CD", + "DVD" + ], + "Image": "redfish.dmtf.org/freeImages/freeOS.1.1.iso", + "ImageName": "mymedia-read-only", + "ConnectedVia": "Applet", + "Inserted": true, + "WriteProtected": false, + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/CD1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/VirtualMedia/Floppy1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/VirtualMedia/Floppy1/index.json new file mode 100644 index 00000000..15191be4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/VirtualMedia/Floppy1/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#VirtualMedia.v1_7_0.VirtualMedia", + "Id": "Floppy1", + "Name": "Virtual Removable Media", + "MediaTypes": [ + "Floppy", + "USBStick" + ], + "Image": "https://www.dmtf.org/freeImages/Sardine.img", + "ImageName": "Sardine2.1.43.35.6a", + "ConnectedVia": "URI", + "Inserted": true, + "WriteProtected": false, + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/Floppy1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/VirtualMedia/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/VirtualMedia/index.json new file mode 100644 index 00000000..116eb0b0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/VirtualMedia/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#VirtualMediaCollection.VirtualMediaCollection", + "Name": "Virtual Media Services", + "Description": "Redfish-BMC Virtual Media Service Settings", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/Floppy1" + }, + { + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/CD1" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/index.json new file mode 100644 index 00000000..04bf21c1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/BMC/index.json @@ -0,0 +1,72 @@ +{ + "@odata.type": "#Manager.v1_25_0.Manager", + "Id": "BMC", + "Name": "Manager", + "ManagerType": "BMC", + "Description": "Contoso BMC", + "ServiceEntryPointUUID": "92384634-2938-2342-8820-489239905423", + "UUID": "58893887-8974-2487-2389-841168418919", + "Model": "Joo Janta 200", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PowerState": "On", + "GraphicalConsole": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 2, + "ConnectTypesSupported": [ + "KVMIP" + ] + }, + "SerialConsole": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 1, + "ConnectTypesSupported": [ + "Telnet", + "SSH", + "IPMI" + ] + }, + "CommandShell": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 4, + "ConnectTypesSupported": [ + "Telnet", + "SSH" + ] + }, + "FirmwareVersion": "1.00", + "NetworkProtocol": { + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces" + }, + "SerialInterfaces": { + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices" + }, + "VirtualMedia": { + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia" + }, + "Links": { + "ManagerForServers": [], + "ManagerForChassis": [] + }, + "Actions": { + "#Manager.Reset": { + "target": "/redfish/v1/Managers/BMC/Actions/Manager.Reset", + "ResetType@Redfish.AllowableValues": [ + "ForceRestart", + "GracefulRestart" + ] + } + }, + "@odata.id": "/redfish/v1/Managers/BMC", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/index.json new file mode 100644 index 00000000..2de83743 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/Managers/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerCollection.ManagerCollection", + "Name": "Manager Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ], + "@odata.id": "/redfish/v1/Managers", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/FloorPDUs/Row1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/FloorPDUs/Row1/index.json new file mode 100644 index 00000000..6110b699 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/FloorPDUs/Row1/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#PowerDistribution.v1_7_0.PowerDistribution", + "Id": "Row1", + "EquipmentType": "FloorPDU", + "Name": "Row 1 Floor PDU", + "FirmwareVersion": "2.0.3", + "Version": "1.0", + "ProductionDate": "2019-01-14T08:00:00Z", + "Manufacturer": "Contoso", + "Model": "GLH9000", + "SerialNumber": "0458329", + "PartNumber": "AKEI355", + "UUID": "32369641-9637-4332-4a35-963081367898", + "AssetTag": "PDX-92488", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Location": { + "Placement": { + "Row": "1" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/FloorPDUs/Row1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/FloorPDUs/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/FloorPDUs/index.json new file mode 100644 index 00000000..0a4a0f1a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/FloorPDUs/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PowerDistributionCollection.PowerDistributionCollection", + "Name": "Floor PDU Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/PowerEquipment/FloorPDUs/Row1" + } + ], + "@odata.id": "/redfish/v1/PowerEquipment/FloorPDUs", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Branches/A/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Branches/A/index.json new file mode 100644 index 00000000..4c18e137 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Branches/A/index.json @@ -0,0 +1,79 @@ +{ + "@odata.type": "#Circuit.v1_10_0.Circuit", + "Id": "A", + "Name": "Branch Circuit A", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CircuitType": "Branch", + "PhaseWiringType": "TwoPhase3Wire", + "NominalVoltage": "AC200To240V", + "RatedCurrentAmps": 16, + "BreakerState": "Normal", + "PolyPhaseVoltage": { + "Line1ToNeutral": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/VoltageAL1N", + "Reading": 118.2 + }, + "Line1ToLine2": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/VoltageAL1L2", + "Reading": 203.5 + } + }, + "CurrentAmps": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/CurrentA", + "Reading": 5.19 + }, + "PolyPhaseCurrentAmps": { + "Line1": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/CurrentA", + "Reading": 5.19 + } + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/PowerA1", + "Reading": 937.4, + "ApparentVA": 937.4, + "ReactiveVAR": 0.1, + "PowerFactor": 0.99 + }, + "PolyPhasePowerWatts": { + "Line1ToNeutral": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/PowerA1", + "Reading": 937.4, + "ApparentVA": 937.4, + "ReactiveVAR": 0.1, + "PowerFactor": 0.99 + } + }, + "FrequencyHz": { + "Reading": 60.1 + }, + "EnergykWh": { + "Reading": 325675 + }, + "Links": { + "Outlets": [ + { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/A1" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/A2" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/A3" + } + ] + }, + "Actions": { + "#Circuit.BreakerControl": { + "target": "/redfish/v1/PowerEquipment/RackPDUs/1/Branches/A/Actions/Circuit.BreakerControl" + }, + "#Circuit.ResetMetrics": { + "target": "/redfish/v1/PowerEquipment/RackPDUs/1/Branches/A/Actions/Circuit.ResetMetrics" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Branches/A", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Branches/B/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Branches/B/index.json new file mode 100644 index 00000000..9916808c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Branches/B/index.json @@ -0,0 +1,75 @@ +{ + "@odata.type": "#Circuit.v1_10_0.Circuit", + "Id": "B", + "Name": "Branch Circuit B", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CircuitType": "Branch", + "PhaseWiringType": "TwoPhase3Wire", + "NominalVoltage": "AC200To240V", + "RatedCurrentAmps": 16, + "BreakerState": "Normal", + "PolyPhaseVoltage": { + "Line2ToNeutral": { + "Reading": 116.7 + }, + "Line2ToLine3": { + "Reading": 203.6 + } + }, + "CurrentAmps": { + "Reading": 5.95 + }, + "PolyPhaseCurrentAmps": { + "Line2": { + "Reading": 5.95 + } + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/PowerB1", + "Reading": 977.8, + "ApparentVA": 1104.2, + "ReactiveVAR": 512.9, + "PowerFactor": 0.88 + }, + "PolyPhasePowerWatts": { + "Line1ToNeutral": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/PowerB1", + "Reading": 977.8, + "ApparentVA": 1104.2, + "ReactiveVAR": 512.9, + "PowerFactor": 0.88 + } + }, + "FrequencyHz": { + "Reading": 60.1 + }, + "EnergykWh": { + "Reading": 110345 + }, + "Links": { + "Outlets": [ + { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/B1" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/B2" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/B3" + } + ] + }, + "Actions": { + "#Circuit.BreakerControl": { + "target": "/redfish/v1/PowerEquipment/RackPDUs/1/Branches/B/Actions/Circuit.BreakerControl" + }, + "#Circuit.ResetMetrics": { + "target": "/redfish/v1/PowerEquipment/RackPDUs/1/Branches/B/Actions/Circuit.ResetMetrics" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Branches/B", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Branches/C/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Branches/C/index.json new file mode 100644 index 00000000..fd26a79b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Branches/C/index.json @@ -0,0 +1,75 @@ +{ + "@odata.type": "#Circuit.v1_10_0.Circuit", + "Id": "C", + "Name": "Branch Circuit C", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CircuitType": "Branch", + "PhaseWiringType": "TwoPhase3Wire", + "NominalVoltage": "AC200To240V", + "RatedCurrentAmps": 16, + "BreakerState": "Normal", + "PolyPhaseVoltage": { + "Line3ToNeutral": { + "Reading": 118.4 + }, + "Line3ToLine1": { + "Reading": 205.1 + } + }, + "CurrentAmps": { + "Reading": 4.13 + }, + "PolyPhaseCurrentAmps": { + "Line3": { + "Reading": 4.13 + } + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/PowerC1", + "Reading": 816.5, + "ApparentVA": 816.5, + "ReactiveVAR": 0.1, + "PowerFactor": 0.99 + }, + "PolyPhasePowerWatts": { + "Line1ToNeutral": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/PowerC1", + "Reading": 816.5, + "ApparentVA": 816.5, + "ReactiveVAR": 0.1, + "PowerFactor": 0.99 + } + }, + "FrequencyHz": { + "Reading": 60.1 + }, + "EnergykWh": { + "Reading": 121666 + }, + "Links": { + "Outlets": [ + { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/C1" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/C2" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/C3" + } + ] + }, + "Actions": { + "#Circuit.BreakerControl": { + "target": "/redfish/v1/PowerEquipment/RackPDUs/1/Branches/C/Actions/Circuit.BreakerControl" + }, + "#Circuit.ResetMetrics": { + "target": "/redfish/v1/PowerEquipment/RackPDUs/1/Branches/C/Actions/Circuit.ResetMetrics" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Branches/C", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Branches/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Branches/index.json new file mode 100644 index 00000000..dd3046a5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Branches/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#CircuitCollection.CircuitCollection", + "Name": "Branch Circuit Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Branches/A" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Branches/B" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Branches/C" + } + ], + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Branches", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Mains/AC1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Mains/AC1/index.json new file mode 100644 index 00000000..77a1735c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Mains/AC1/index.json @@ -0,0 +1,112 @@ +{ + "@odata.type": "#Circuit.v1_10_0.Circuit", + "Id": "AC1", + "Name": "Mains AC Input", + "Status": { + "Health": "OK" + }, + "CircuitType": "Mains", + "PhaseWiringType": "ThreePhase5Wire", + "NominalVoltage": "AC200To240V", + "RatedCurrentAmps": 40, + "BreakerState": "Normal", + "PolyPhaseVoltage": { + "Line1ToLine2": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/VoltageMains1-1", + "Reading": 202.8 + }, + "Line2ToLine3": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/VoltageMains1-2", + "Reading": 203.8 + }, + "Line3ToLine1": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/VoltageMains1-3", + "Reading": 205.3 + }, + "Line1ToNeutral": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/VoltageMains1-4", + "Reading": 117.8 + }, + "Line2ToNeutral": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/VoltageMains1-5", + "Reading": 116.6 + }, + "Line3ToNeutral": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/VoltageMains1-6", + "Reading": 118.5 + } + }, + "PolyPhaseCurrentAmps": { + "Line1": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/CurrentMains1-1", + "Reading": 8.02 + }, + "Line2": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/CurrentMains1-2", + "Reading": 8.66 + }, + "Line3": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/CurrentMains1-3", + "Reading": 6.91 + }, + "Neutral": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/CurrentMainsNeutral", + "Reading": 2.74 + } + }, + "PolyPhasePowerWatts": { + "Line1ToLine2": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/PowerMains1-1", + "Reading": 738.9, + "ApparentVA": 738.9, + "ReactiveVAR": 0.1, + "PowerFactor": 0.99 + }, + "Line2ToLine3": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/PowerMains1-2", + "Reading": 748.3, + "ApparentVA": 748.3, + "ReactiveVAR": 0.1, + "PowerFactor": 0.99 + }, + "Line3ToLine1": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/PowerMains1-3", + "Reading": 759.6, + "ApparentVA": 759.6, + "ReactiveVAR": 0.1, + "PowerFactor": 0.99 + }, + "Line1ToNeutral": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/PowerMains1-4", + "Reading": 198.4, + "ApparentVA": 198.4, + "ReactiveVAR": 0.1, + "PowerFactor": 0.99 + }, + "Line2ToNeutral": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/PowerMains1-5", + "Reading": 231.5, + "ApparentVA": 364.4, + "ReactiveVAR": 281.4, + "PowerFactor": 0.63 + }, + "Line3ToNeutral": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/PowerMains1-6", + "Reading": 58.1, + "ApparentVA": 58.1, + "ReactiveVAR": 0.1, + "PowerFactor": 0.99 + } + }, + "FrequencyHz": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/FreqMains", + "Reading": 60.1 + }, + "Actions": { + "#Circuit.ResetMetrics": { + "target": "/redfish/v1/PowerEquipment/RackPDUs/1/Mains/AC1/Actions/Circuit.ResetMetrics" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Mains/AC1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Mains/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Mains/index.json new file mode 100644 index 00000000..a1a78bff --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Mains/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#CircuitCollection.CircuitCollection", + "Name": "Branch Circuit Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Mains/AC1" + } + ], + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Mains", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Metrics/index.json new file mode 100644 index 00000000..8a9f904a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Metrics/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#PowerDistributionMetrics.v1_5_0.PowerDistributionMetrics", + "Id": "Metrics", + "Name": "Summary Metrics", + "PowerWatts": { + "Reading": 6438, + "ApparentVA": 6300, + "ReactiveVAR": 100, + "PowerFactor": 0.93 + }, + "EnergykWh": { + "Reading": 56438 + }, + "TemperatureCelsius": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/CabTemp", + "Reading": 31 + }, + "Actions": { + "#PowerDistributionMetrics.ResetMetrics": { + "target": "/redfish/v1/PowerEquipment/RackPDUs/1/Metrics/Actions/PowerDistributionMetrics.ResetMetrics" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/OutletGroups/Rack5Storage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/OutletGroups/Rack5Storage/index.json new file mode 100644 index 00000000..ef0de311 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/OutletGroups/Rack5Storage/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#OutletGroup.v1_2_0.OutletGroup", + "Id": "Rack5Storage", + "Name": "Outlet Group Rack5Storage", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "CreatedBy": "Bob", + "PowerOnDelaySeconds": 4, + "PowerOffDelaySeconds": 0, + "PowerState": "On", + "PowerEnabled": true, + "Links": { + "Outlets": [ + { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/A1" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/A2" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/A3" + } + ] + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/GroupPowerRack5Storage", + "Reading": 412.36 + }, + "EnergykWh": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/GroupEnergyRack5Storage", + "Reading": 26880 + }, + "Actions": { + "#OutletGroup.PowerControl": { + "target": "/redfish/v1/PowerEquipment/RackPDUs/1/OutletGroups/Rack5Storage/Actions/OutletGroup.PowerControl" + }, + "#OutletGroup.ResetMetrics": { + "target": "/redfish/v1/PowerEquipment/RackPDUs/1/OutletGroups/Rack5Storage/Actions/OutletGroup.ResetMetrics" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/OutletGroups/Rack5Storage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/OutletGroups/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/OutletGroups/index.json new file mode 100644 index 00000000..36c1a07f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/OutletGroups/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#OutletGroupCollection.OutletGroupCollection", + "Name": "Outlet Group Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/OutletGroups/Rack5Storage" + } + ], + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/OutletGroups", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/A1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/A1/index.json new file mode 100644 index 00000000..a891ba25 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/A1/index.json @@ -0,0 +1,69 @@ +{ + "@odata.type": "#Outlet.v1_5_0.Outlet", + "Id": "A1", + "Name": "Outlet A1, Branch Circuit A", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "PhaseWiringType": "OnePhase3Wire", + "VoltageType": "AC", + "OutletType": "NEMA_5_20R", + "RatedCurrentAmps": 20, + "NominalVoltage": "AC120V", + "IndicatorLED": "Lit", + "PowerOnDelaySeconds": 4, + "PowerOffDelaySeconds": 0, + "PowerState": "On", + "PowerEnabled": true, + "Voltage": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/VoltageA1", + "Reading": 117.5 + }, + "PolyPhaseVoltage": { + "Line1ToNeutral": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/VoltageA1", + "Reading": 117.5 + } + }, + "CurrentAmps": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/CurrentA1", + "Reading": 1.68 + }, + "PolyPhaseCurrentAmps": { + "Line1": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/CurrentA1", + "Reading": 1.68 + } + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/PowerA1", + "Reading": 197.4, + "ApparentVA": 197.4, + "ReactiveVAR": 0.1, + "PowerFactor": 0.99 + }, + "FrequencyHz": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/FrequencyA1", + "Reading": 60.1 + }, + "EnergykWh": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/EnergyA1", + "Reading": 36166 + }, + "Actions": { + "#Outlet.PowerControl": { + "target": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/A1/Actions/Outlet.PowerControl" + }, + "#Outlet.ResetMetrics": { + "target": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/A1/Actions/Outlet.ResetMetrics" + } + }, + "Links": { + "BranchCircuit": { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Branches/A" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/A1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/A2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/A2/index.json new file mode 100644 index 00000000..a4b208ae --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/A2/index.json @@ -0,0 +1,69 @@ +{ + "@odata.type": "#Outlet.v1_5_0.Outlet", + "Id": "A2", + "Name": "Outlet A2, Branch Circuit A", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "PhaseWiringType": "TwoPhase3Wire", + "VoltageType": "AC", + "OutletType": "IEC_60320_C13", + "RatedCurrentAmps": 12, + "NominalVoltage": "AC200To240V", + "IndicatorLED": "Lit", + "PowerOnDelaySeconds": 6, + "PowerOffDelaySeconds": 0, + "PowerState": "On", + "PowerEnabled": true, + "Voltage": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/VoltageA2", + "Reading": 202.4 + }, + "PolyPhaseVoltage": { + "Line1ToLine2": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/VoltageA2", + "Reading": 202.4 + } + }, + "CurrentAmps": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/CurrentA2", + "Reading": 1.9 + }, + "PolyPhaseCurrentAmps": { + "Line1": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/CurrentA2", + "Reading": 1.9 + } + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/PowerA2", + "Reading": 384.5, + "ApparentVA": 384.5, + "ReactiveVAR": 0.1, + "PowerFactor": 0.99 + }, + "FrequencyHz": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/FrequencyA2", + "Reading": 60.1 + }, + "EnergykWh": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/EnergyA2", + "Reading": 52941 + }, + "Actions": { + "#Outlet.PowerControl": { + "target": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/A2/Actions/Outlet.PowerControl" + }, + "#Outlet.ResetMetrics": { + "target": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/A2/Actions/Outlet.ResetMetrics" + } + }, + "Links": { + "BranchCircuit": { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Branches/A" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/A2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/A3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/A3/index.json new file mode 100644 index 00000000..6fed527b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/A3/index.json @@ -0,0 +1,69 @@ +{ + "@odata.type": "#Outlet.v1_5_0.Outlet", + "Id": "A3", + "Name": "Outlet A3, Branch Circuit A", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "PhaseWiringType": "TwoPhase3Wire", + "VoltageType": "AC", + "OutletType": "IEC_60320_C13", + "RatedCurrentAmps": 12, + "NominalVoltage": "AC200To240V", + "IndicatorLED": "Lit", + "PowerOnDelaySeconds": 10, + "PowerOffDelaySeconds": 0, + "PowerState": "On", + "PowerEnabled": true, + "Voltage": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/VoltageA3", + "Reading": 202.3 + }, + "PolyPhaseVoltage": { + "Line1ToLine2": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/VoltageA3", + "Reading": 202.3 + } + }, + "CurrentAmps": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/CurrentA3", + "Reading": 1.73 + }, + "PolyPhaseCurrentAmps": { + "Line1": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/CurrentA3", + "Reading": 1.73 + } + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/PowerA3", + "Reading": 349.9, + "ApparentVA": 349.9, + "ReactiveVAR": 0.1, + "PowerFactor": 0.99 + }, + "FrequencyHz": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/FrequencyA3", + "Reading": 60.1 + }, + "EnergykWh": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/EnergyA3", + "Reading": 61848 + }, + "Actions": { + "#Outlet.PowerControl": { + "target": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/A3/Actions/Outlet.PowerControl" + }, + "#Outlet.ResetMetrics": { + "target": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/A3/Actions/Outlet.ResetMetrics" + } + }, + "Links": { + "BranchCircuit": { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Branches/A" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/A3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/A4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/A4/index.json new file mode 100644 index 00000000..0d77ddd5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/A4/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Outlet.v1_5_0.Outlet", + "Id": "A4", + "Name": "Managed, Un-monitored Outlet A4, Branch Circuit A", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "PhaseWiringType": "OnePhase3Wire", + "VoltageType": "AC", + "OutletType": "NEMA_5_15R", + "RatedCurrentAmps": 20, + "NominalVoltage": "AC120V", + "IndicatorLED": "Off", + "PowerOnDelaySeconds": 10, + "PowerOffDelaySeconds": 0, + "PowerState": "On", + "PowerEnabled": true, + "Actions": { + "#Outlet.PowerControl": { + "target": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/A4/Actions/Outlet.PowerControl" + } + }, + "Links": { + "BranchCircuit": { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Branches/A" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/A4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/A5/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/A5/index.json new file mode 100644 index 00000000..3d749160 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/A5/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#Outlet.v1_5_0.Outlet", + "Id": "A5", + "Name": "Un-managed, Un-monitored Outlet A5, Branch Circuit A", + "PhaseWiringType": "OnePhase3Wire", + "VoltageType": "AC", + "OutletType": "NEMA_5_15R", + "RatedCurrentAmps": 20, + "NominalVoltage": "AC120V", + "Links": { + "BranchCircuit": { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Branches/A" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/A5", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/B1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/B1/index.json new file mode 100644 index 00000000..f86810fe --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/B1/index.json @@ -0,0 +1,65 @@ +{ + "@odata.type": "#Outlet.v1_5_0.Outlet", + "Id": "B1", + "Name": "Outlet B1, Branch Circuit B", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "PhaseWiringType": "OnePhase3Wire", + "VoltageType": "AC", + "OutletType": "NEMA_5_20R", + "RatedCurrentAmps": 20, + "NominalVoltage": "AC120V", + "IndicatorLED": "Lit", + "PowerOnDelaySeconds": 4, + "PowerOffDelaySeconds": 0, + "PowerState": "On", + "PowerEnabled": true, + "Voltage": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/VoltageB1", + "Reading": 116.6 + }, + "PolyPhaseVoltage": { + "Line2ToNeutral": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/VoltageB1", + "Reading": 116.6 + } + }, + "CurrentAmps": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/CurrentB1", + "Reading": 3.08 + }, + "PolyPhaseCurrentAmps": { + "Line1": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/CurrentB1", + "Reading": 3.08 + } + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/PowerB1", + "Reading": 228.3, + "ApparentVA": 361.7, + "ReactiveVAR": 280.5, + "PowerFactor": 0.63 + }, + "EnergykWh": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/EnergyB1", + "Reading": 36166 + }, + "Actions": { + "#Outlet.PowerControl": { + "target": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/B1/Actions/Outlet.PowerControl" + }, + "#Outlet.ResetMetrics": { + "target": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/B1/Actions/Outlet.ResetMetrics" + } + }, + "Links": { + "BranchCircuit": { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Branches/B" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/B1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/B2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/B2/index.json new file mode 100644 index 00000000..90d47efa --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/B2/index.json @@ -0,0 +1,65 @@ +{ + "@odata.type": "#Outlet.v1_5_0.Outlet", + "Id": "B2", + "Name": "Outlet B2, Branch Circuit B", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "PhaseWiringType": "TwoPhase3Wire", + "VoltageType": "AC", + "OutletType": "NEMA_5_15R", + "RatedCurrentAmps": 12, + "NominalVoltage": "AC200To240V", + "IndicatorLED": "Lit", + "PowerOnDelaySeconds": 6, + "PowerOffDelaySeconds": 0, + "PowerState": "On", + "PowerEnabled": true, + "Voltage": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/VoltageB2", + "Reading": 203.6 + }, + "PolyPhaseVoltage": { + "Line2ToLine3": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/VoltageB2", + "Reading": 203.6 + } + }, + "CurrentAmps": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/CurrentB2", + "Reading": 1.58 + }, + "PolyPhaseCurrentAmps": { + "Line1": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/CurrentB2", + "Reading": 1.58 + } + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/PowerB2", + "Reading": 321.6, + "ApparentVA": 321.6, + "ReactiveVAR": 0.1, + "PowerFactor": 0.99 + }, + "EnergykWh": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/EnergyB2", + "Reading": 53941 + }, + "Actions": { + "#Outlet.PowerControl": { + "target": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/B2/Actions/Outlet.PowerControl" + }, + "#Outlet.ResetMetrics": { + "target": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/B2/Actions/Outlet.ResetMetrics" + } + }, + "Links": { + "BranchCircuit": { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Branches/B" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/B2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/B3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/B3/index.json new file mode 100644 index 00000000..9c6a2746 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/B3/index.json @@ -0,0 +1,65 @@ +{ + "@odata.type": "#Outlet.v1_5_0.Outlet", + "Id": "B3", + "Name": "Outlet B3, Branch Circuit B", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "PhaseWiringType": "TwoPhase3Wire", + "VoltageType": "AC", + "OutletType": "NEMA_5_15R", + "RatedCurrentAmps": 12, + "NominalVoltage": "AC200To240V", + "IndicatorLED": "Lit", + "PowerOnDelaySeconds": 10, + "PowerOffDelaySeconds": 0, + "PowerState": "On", + "PowerEnabled": true, + "Voltage": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/VoltageB3", + "Reading": 204.1 + }, + "PolyPhaseVoltage": { + "Line2ToLine3": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/VoltageB3", + "Reading": 204.1 + } + }, + "CurrentAmps": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/CurrentB3", + "Reading": 2.09 + }, + "PolyPhaseCurrentAmps": { + "Line1": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/CurrentB3", + "Reading": 2.09 + } + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/PowerB3", + "Reading": 426.5, + "ApparentVA": 426.5, + "ReactiveVAR": 0.1, + "PowerFactor": 0.99 + }, + "EnergykWh": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/EnergyB3", + "Reading": 61848 + }, + "Actions": { + "#Outlet.PowerControl": { + "target": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/B3/Actions/Outlet.PowerControl" + }, + "#Outlet.ResetMetrics": { + "target": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/B3/Actions/Outlet.ResetMetrics" + } + }, + "Links": { + "BranchCircuit": { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Branches/B" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/B3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/C1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/C1/index.json new file mode 100644 index 00000000..d24d2873 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/C1/index.json @@ -0,0 +1,65 @@ +{ + "@odata.type": "#Outlet.v1_5_0.Outlet", + "Id": "C1", + "Name": "Outlet C1, Branch Circuit C", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "PhaseWiringType": "OnePhase3Wire", + "VoltageType": "AC", + "OutletType": "NEMA_L6_20R", + "RatedCurrentAmps": 20, + "NominalVoltage": "AC120V", + "IndicatorLED": "Lit", + "PowerOnDelaySeconds": 4, + "PowerOffDelaySeconds": 0, + "PowerState": "On", + "PowerEnabled": true, + "Voltage": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/VoltageC1", + "Reading": 118.4 + }, + "PolyPhaseVoltage": { + "Line3ToNeutral": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/VoltageC1", + "Reading": 118.4 + } + }, + "CurrentAmps": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/CurrentC1", + "Reading": 0.48 + }, + "PolyPhaseCurrentAmps": { + "Line1": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/CurrentC1", + "Reading": 0.48 + } + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/PowerC1", + "Reading": 56.8, + "ApparentVA": 56.8, + "ReactiveVAR": 0.1, + "PowerFactor": 0.99 + }, + "EnergykWh": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/EnergyC1", + "Reading": 36166 + }, + "Actions": { + "#Outlet.PowerControl": { + "target": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/C1/Actions/Outlet.PowerControl" + }, + "#Outlet.ResetMetrics": { + "target": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/C1/Actions/Outlet.ResetMetrics" + } + }, + "Links": { + "BranchCircuit": { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Branches/C" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/C1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/C2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/C2/index.json new file mode 100644 index 00000000..5234691e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/C2/index.json @@ -0,0 +1,65 @@ +{ + "@odata.type": "#Outlet.v1_5_0.Outlet", + "Id": "C2", + "Name": "Outlet C2, Branch Circuit C", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "PhaseWiringType": "TwoPhase3Wire", + "VoltageType": "AC", + "OutletType": "NEMA_L6_20R", + "RatedCurrentAmps": 12, + "NominalVoltage": "AC200To240V", + "IndicatorLED": "Lit", + "PowerOnDelaySeconds": 6, + "PowerOffDelaySeconds": 0, + "PowerState": "On", + "PowerEnabled": true, + "Voltage": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/VoltageC2", + "Reading": 204.2 + }, + "PolyPhaseVoltage": { + "Line3ToLine1": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/VoltageC2", + "Reading": 204.2 + } + }, + "CurrentAmps": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/CurrentC2", + "Reading": 1.93 + }, + "PolyPhaseCurrentAmps": { + "Line1": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/CurrentC2", + "Reading": 1.93 + } + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/PowerC2", + "Reading": 394.1, + "ApparentVA": 394.1, + "ReactiveVAR": 0.1, + "PowerFactor": 0.99 + }, + "EnergykWh": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/EnergyC2", + "Reading": 52941 + }, + "Actions": { + "#Outlet.PowerControl": { + "target": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/C2/Actions/Outlet.PowerControl" + }, + "#Outlet.ResetMetrics": { + "target": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/C2/Actions/Outlet.ResetMetrics" + } + }, + "Links": { + "BranchCircuit": { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Branches/C" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/C2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/C3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/C3/index.json new file mode 100644 index 00000000..2401123a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/C3/index.json @@ -0,0 +1,65 @@ +{ + "@odata.type": "#Outlet.v1_5_0.Outlet", + "Id": "C3", + "Name": "Outlet C3, Branch Circuit C", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "PhaseWiringType": "TwoPhase3Wire", + "VoltageType": "AC", + "OutletType": "NEMA_L6_20R", + "RatedCurrentAmps": 12, + "NominalVoltage": "AC200To240V", + "IndicatorLED": "Lit", + "PowerOnDelaySeconds": 10, + "PowerOffDelaySeconds": 0, + "PowerState": "On", + "PowerEnabled": true, + "Voltage": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/VoltageC3", + "Reading": 204.3 + }, + "PolyPhaseVoltage": { + "Line3ToLine1": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/VoltageC3", + "Reading": 204.3 + } + }, + "CurrentAmps": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/CurrentC3", + "Reading": 1.74 + }, + "PolyPhaseCurrentAmps": { + "Line3": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/CurrentC3", + "Reading": 1.74 + } + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/PowerC3", + "Reading": 355.4, + "ApparentVA": 355.4, + "ReactiveVAR": 0.1, + "PowerFactor": 0.99 + }, + "EnergykWh": { + "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/EnergyC3", + "Reading": 61848 + }, + "Actions": { + "#Outlet.PowerControl": { + "target": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/C3/Actions/Outlet.PowerControl" + }, + "#Outlet.ResetMetrics": { + "target": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/C3/Actions/Outlet.ResetMetrics" + } + }, + "Links": { + "BranchCircuit": { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Branches/C" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/C3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/index.json new file mode 100644 index 00000000..256a29b1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/Outlets/index.json @@ -0,0 +1,42 @@ +{ + "@odata.type": "#OutletCollection.OutletCollection", + "Name": "Outlet Collection", + "Members@odata.count": 11, + "Members": [ + { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/A1" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/A2" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/A3" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/A4" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/A5" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/B1" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/B2" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/B3" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/C1" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/C2" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/C3" + } + ], + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/index.json new file mode 100644 index 00000000..0703ad35 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/1/index.json @@ -0,0 +1,52 @@ +{ + "@odata.type": "#PowerDistribution.v1_7_0.PowerDistribution", + "Id": "1", + "EquipmentType": "RackPDU", + "Name": "RackPDU1", + "FirmwareVersion": "4.3.0", + "Version": "1.03b", + "ProductionDate": "2017-01-11T08:00:00Z", + "Manufacturer": "Contoso", + "Model": "ZAP4000", + "SerialNumber": "29347ZT536", + "PartNumber": "AA-23", + "UUID": "32354641-4135-4332-4a35-313735303734", + "AssetTag": "PDX-92381", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PowerCapacityVA": 20000, + "Location": { + "Placement": { + "Row": "North 1" + } + }, + "Mains": { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Mains" + }, + "Branches": { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Branches" + }, + "Outlets": { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets" + }, + "OutletGroups": { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/OutletGroups" + }, + "Metrics": { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Metrics" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/PDU" + } + ], + "Facility": { + "@odata.id": "/redfish/v1/Facilities/Room237" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/index.json new file mode 100644 index 00000000..02b6eb78 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/RackPDUs/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PowerDistributionCollection.PowerDistributionCollection", + "Name": "RackPDU Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1" + } + ], + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Branches/A/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Branches/A/index.json new file mode 100644 index 00000000..c1da55da --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Branches/A/index.json @@ -0,0 +1,75 @@ +{ + "@odata.type": "#Circuit.v1_10_0.Circuit", + "Id": "A", + "Name": "Branch Circuit A", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CircuitType": "Branch", + "PhaseWiringType": "TwoPhase3Wire", + "NominalVoltage": "AC200To240V", + "RatedCurrentAmps": 16, + "BreakerState": "Normal", + "PolyPhaseVoltage": { + "Line1ToLine2": { + "Reading": 202.4 + } + }, + "CurrentAmps": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentA", + "Reading": 5.19 + }, + "PolyPhaseCurrentAmps": { + "Line1": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentA", + "Reading": 5.19 + } + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/PowerA", + "Reading": 1050.5, + "ApparentVA": 1050.5, + "ReactiveVAR": 0.1, + "PowerFactor": 0.99 + }, + "PolyPhasePowerWatts": { + "Line1ToLine2": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/PowerA1", + "Reading": 1050.5, + "ApparentVA": 1050.5, + "ReactiveVAR": 0.1, + "PowerFactor": 0.99 + } + }, + "FrequencyHz": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/FrequencyA", + "Reading": 60.1 + }, + "EnergykWh": { + "Reading": 325675 + }, + "Links": { + "Outlets": [ + { + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Outlets/A1" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Outlets/A2" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Outlets/A3" + } + ] + }, + "Actions": { + "#Circuit.BreakerControl": { + "target": "/redfish/v1/PowerEquipment/TransferSwitches/1/Branches/A/Actions/Circuit.BreakerControl" + }, + "#Circuit.ResetMetrics": { + "target": "/redfish/v1/PowerEquipment/TransferSwitches/1/Branches/A/Actions/Circuit.ResetMetrics" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Branches/A", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Branches/B/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Branches/B/index.json new file mode 100644 index 00000000..45524691 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Branches/B/index.json @@ -0,0 +1,75 @@ +{ + "@odata.type": "#Circuit.v1_10_0.Circuit", + "Id": "B", + "Name": "Branch Circuit B", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CircuitType": "Branch", + "PhaseWiringType": "TwoPhase3Wire", + "NominalVoltage": "AC200To240V", + "RatedCurrentAmps": 16, + "BreakerState": "Normal", + "PolyPhaseVoltage": { + "Line1ToLine2": { + "Reading": 202.4 + } + }, + "CurrentAmps": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentB", + "Reading": 2.9 + }, + "PolyPhaseCurrentAmps": { + "Line1": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentB", + "Reading": 2.9 + } + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/PowerB", + "Reading": 586.96, + "ApparentVA": 586.96, + "ReactiveVAR": 0.1, + "PowerFactor": 0.99 + }, + "PolyPhasePowerWatts": { + "Line1ToLine2": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/PowerB1", + "Reading": 586.96, + "ApparentVA": 586.96, + "ReactiveVAR": 0, + "PowerFactor": 0.99 + } + }, + "FrequencyHz": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/FrequencyB", + "Reading": 60.1 + }, + "EnergykWh": { + "Reading": 12789 + }, + "Links": { + "Outlets": [ + { + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Outlets/B1" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Outlets/B2" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Outlets/B3" + } + ] + }, + "Actions": { + "#Circuit.BreakerControl": { + "target": "/redfish/v1/PowerEquipment/TransferSwitches/1/Branches/B/Actions/Circuit.BreakerControl" + }, + "#Circuit.ResetMetrics": { + "target": "/redfish/v1/PowerEquipment/TransferSwitches/1/Branches/B/Actions/Circuit.ResetMetrics" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Branches/B", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Branches/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Branches/index.json new file mode 100644 index 00000000..e2f15c6d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Branches/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#CircuitCollection.CircuitCollection", + "Name": "Branch Circuit Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Branches/A" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Branches/B" + } + ], + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Branches", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Mains/AC1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Mains/AC1/index.json new file mode 100644 index 00000000..9be311b2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Mains/AC1/index.json @@ -0,0 +1,50 @@ +{ + "@odata.type": "#Circuit.v1_10_0.Circuit", + "Id": "AC1", + "Name": "Mains AC Input A", + "Status": { + "State": "Qualified", + "Health": "OK" + }, + "CircuitType": "Mains", + "PhaseWiringType": "TwoPhase3Wire", + "NominalVoltage": "AC200To240V", + "RatedCurrentAmps": 30, + "BreakerState": "Normal", + "PolyPhaseVoltage": { + "Line1ToLine2": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/VoltageMains1-1", + "Reading": 202.2 + } + }, + "PolyPhaseCurrentAmps": { + "Line1": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentMains1-1", + "Reading": 8.08 + }, + "Line2": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentMains1-2", + "Reading": 8.08 + } + }, + "PolyPhasePowerWatts": { + "Line1ToLine2": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/PowerMains1-2", + "Reading": 1500.1, + "ApparentVA": 1633.7, + "ReactiveVAR": 0.1, + "PowerFactor": 0.92 + } + }, + "FrequencyHz": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/FreqMains", + "Reading": 60.1 + }, + "Actions": { + "#Circuit.ResetMetrics": { + "target": "/redfish/v1/PowerEquipment/TransferSwitches/1/Mains/AC1/Actions/Circuit.ResetMetrics" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Mains/AC1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Mains/AC2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Mains/AC2/index.json new file mode 100644 index 00000000..b79bb18a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Mains/AC2/index.json @@ -0,0 +1,50 @@ +{ + "@odata.type": "#Circuit.v1_10_0.Circuit", + "Id": "AC2", + "Name": "Mains AC Input B", + "Status": { + "State": "Qualified", + "Health": "OK" + }, + "CircuitType": "Mains", + "PhaseWiringType": "TwoPhase3Wire", + "NominalVoltage": "AC200To240V", + "RatedCurrentAmps": 30, + "BreakerState": "Normal", + "PolyPhaseVoltage": { + "Line1ToLine2": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/VoltageMains2-1", + "Reading": 209.2 + } + }, + "PolyPhaseCurrentAmps": { + "Line1": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentMains2-1", + "Reading": 0 + }, + "Line2": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentMains2-2", + "Reading": 0 + } + }, + "PolyPhasePowerWatts": { + "Line1ToLine2": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/PowerMains2-3", + "Reading": 0, + "ApparentVA": 0, + "ReactiveVAR": 0.1, + "PowerFactor": 0.99 + } + }, + "FrequencyHz": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/FreqMains", + "Reading": 60.1 + }, + "Actions": { + "#Circuit.ResetMetrics": { + "target": "/redfish/v1/PowerEquipment/TransferSwitches/1/Mains/AC2/Actions/Circuit.ResetMetrics" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Mains/AC2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Mains/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Mains/index.json new file mode 100644 index 00000000..45e48f35 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Mains/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#CircuitCollection.CircuitCollection", + "Name": "Mains Circuit Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Mains/AC1" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Mains/AC2" + } + ], + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Mains", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Metrics/index.json new file mode 100644 index 00000000..e9211709 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Metrics/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#PowerDistributionMetrics.v1_5_0.PowerDistributionMetrics", + "Id": "Metrics", + "Name": "Summary Metrics", + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/PDUPower", + "Reading": 1500.1, + "ApparentVA": 1633.7, + "ReactiveVAR": 647.3, + "PowerFactor": 0.92 + }, + "EnergykWh": { + "Reading": 56438 + }, + "Actions": { + "#PowerDistributionMetrics.ResetMetrics": { + "target": "/redfish/v1/PowerEquipment/TransferSwitches/1/Metrics/Actions/PowerDistributionMetrics.ResetMetrics" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/OutletGroups/Rack5Storage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/OutletGroups/Rack5Storage/index.json new file mode 100644 index 00000000..15fea06c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/OutletGroups/Rack5Storage/index.json @@ -0,0 +1,43 @@ +{ + "@odata.type": "#OutletGroup.v1_2_0.OutletGroup", + "Id": "Rack5Storage", + "Name": "Outlet Group Rack5Storage", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "CreatedBy": "Bob", + "PowerOnDelaySeconds": 4, + "PowerOffDelaySeconds": 0, + "PowerState": "On", + "PowerEnabled": true, + "Links": { + "Outlets": [ + { + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Outlets/A1" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Outlets/A2" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Outlets/A3" + } + ] + }, + "PowerWatts": { + "Reading": 1050.5 + }, + "EnergykWh": { + "Reading": 26880789 + }, + "Actions": { + "#OutletGroup.PowerControl": { + "target": "/redfish/v1/PowerEquipment/TransferSwitches/1/OutletGroups/Rack5Storage/Actions/OutletGroup.PowerControl" + }, + "#OutletGroup.ResetMetrics": { + "target": "/redfish/v1/PowerEquipment/TransferSwitches/1/OutletGroups/Rack5Storage/Actions/OutletGroup.ResetMetrics" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/OutletGroups/Rack5Storage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/OutletGroups/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/OutletGroups/index.json new file mode 100644 index 00000000..70f8e9d4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/OutletGroups/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#OutletGroupCollection.OutletGroupCollection", + "Name": "Outlet Group Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/OutletGroups/Rack5Storage" + } + ], + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/OutletGroups", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Outlets/A1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Outlets/A1/index.json new file mode 100644 index 00000000..bbf4ed63 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Outlets/A1/index.json @@ -0,0 +1,69 @@ +{ + "@odata.type": "#Outlet.v1_5_0.Outlet", + "Id": "A1", + "Name": "Outlet A1, Branch Circuit A", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "PhaseWiringType": "TwoPhase3Wire", + "VoltageType": "AC", + "OutletType": "IEC_60320_C13", + "RatedCurrentAmps": 12, + "NominalVoltage": "AC200To240V", + "IndicatorLED": "Lit", + "PowerOnDelaySeconds": 6, + "PowerOffDelaySeconds": 0, + "PowerState": "On", + "PowerEnabled": true, + "Voltage": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/VoltageA1", + "Reading": 202.4 + }, + "PolyPhaseVoltage": { + "Line1ToLine2": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/VoltageA1", + "Reading": 202.4 + } + }, + "CurrentAmps": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentA1", + "Reading": 2.15 + }, + "PolyPhaseCurrentAmps": { + "Line1": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentA1", + "Reading": 2.15 + } + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/PowerA1", + "Reading": 435.2, + "ApparentVA": 435.2, + "ReactiveVAR": 0.1, + "PowerFactor": 0.99 + }, + "FrequencyHz": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/FrequencyA1", + "Reading": 60.1 + }, + "EnergykWh": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/EnergyA1", + "Reading": 52941 + }, + "Actions": { + "#Outlet.PowerControl": { + "target": "/redfish/v1/PowerEquipment/TransferSwitches/1/Outlets/A1/Actions/Outlet.PowerControl" + }, + "#Outlet.ResetMetrics": { + "target": "/redfish/v1/PowerEquipment/TransferSwitches/1/Outlets/A1/Actions/Outlet.ResetMetrics" + } + }, + "Links": { + "BranchCircuit": { + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Branches/A" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Outlets/A1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Outlets/A2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Outlets/A2/index.json new file mode 100644 index 00000000..4b323ab7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Outlets/A2/index.json @@ -0,0 +1,69 @@ +{ + "@odata.type": "#Outlet.v1_5_0.Outlet", + "Id": "A2", + "Name": "Outlet A2, Branch Circuit A", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "PhaseWiringType": "TwoPhase3Wire", + "VoltageType": "AC", + "OutletType": "IEC_60320_C13", + "RatedCurrentAmps": 12, + "NominalVoltage": "AC200To240V", + "IndicatorLED": "Lit", + "PowerOnDelaySeconds": 6, + "PowerOffDelaySeconds": 0, + "PowerState": "On", + "PowerEnabled": true, + "Voltage": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/VoltageA2", + "Reading": 202.4 + }, + "PolyPhaseVoltage": { + "Line1ToLine2": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/VoltageA2", + "Reading": 202.4 + } + }, + "CurrentAmps": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentA2", + "Reading": 1.9 + }, + "PolyPhaseCurrentAmps": { + "Line1": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentA2", + "Reading": 1.9 + } + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/PowerA2", + "Reading": 384.5, + "ApparentVA": 384.5, + "ReactiveVAR": 0.1, + "PowerFactor": 0.99 + }, + "FrequencyHz": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/FrequencyA2", + "Reading": 60.1 + }, + "EnergykWh": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/EnergyA2", + "Reading": 52941 + }, + "Actions": { + "#Outlet.PowerControl": { + "target": "/redfish/v1/PowerEquipment/TransferSwitches/1/Outlets/A2/Actions/Outlet.PowerControl" + }, + "#Outlet.ResetMetrics": { + "target": "/redfish/v1/PowerEquipment/TransferSwitches/1/Outlets/A2/Actions/Outlet.ResetMetrics" + } + }, + "Links": { + "BranchCircuit": { + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Branches/A" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Outlets/A2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Outlets/A3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Outlets/A3/index.json new file mode 100644 index 00000000..92a14dd4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Outlets/A3/index.json @@ -0,0 +1,69 @@ +{ + "@odata.type": "#Outlet.v1_5_0.Outlet", + "Id": "A3", + "Name": "Outlet A3, Branch Circuit A", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "PhaseWiringType": "TwoPhase3Wire", + "VoltageType": "AC", + "OutletType": "IEC_60320_C13", + "RatedCurrentAmps": 12, + "NominalVoltage": "AC200To240V", + "IndicatorLED": "Lit", + "PowerOnDelaySeconds": 6, + "PowerOffDelaySeconds": 0, + "PowerState": "On", + "PowerEnabled": true, + "Voltage": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/VoltageA3", + "Reading": 202.4 + }, + "PolyPhaseVoltage": { + "Line1ToLine2": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/VoltageA3", + "Reading": 202.4 + } + }, + "CurrentAmps": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentA3", + "Reading": 1.14 + }, + "PolyPhaseCurrentAmps": { + "Line1": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentA3", + "Reading": 1.14 + } + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/PowerA3", + "Reading": 230.7, + "ApparentVA": 230.7, + "ReactiveVAR": 0.1, + "PowerFactor": 0.99 + }, + "FrequencyHz": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/FrequencyA3", + "Reading": 59.9 + }, + "EnergykWh": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/EnergyA3", + "Reading": 77941 + }, + "Actions": { + "#Outlet.PowerControl": { + "target": "/redfish/v1/PowerEquipment/TransferSwitches/1/Outlets/A3/Actions/Outlet.PowerControl" + }, + "#Outlet.ResetMetrics": { + "target": "/redfish/v1/PowerEquipment/TransferSwitches/1/Outlets/A3/Actions/Outlet.ResetMetrics" + } + }, + "Links": { + "BranchCircuit": { + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Branches/A" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Outlets/A3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Outlets/B1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Outlets/B1/index.json new file mode 100644 index 00000000..b788b0e9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Outlets/B1/index.json @@ -0,0 +1,69 @@ +{ + "@odata.type": "#Outlet.v1_5_0.Outlet", + "Id": "B1", + "Name": "Outlet B1, Branch Circuit B", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "PhaseWiringType": "TwoPhase3Wire", + "VoltageType": "AC", + "OutletType": "IEC_60320_C13", + "RatedCurrentAmps": 12, + "NominalVoltage": "AC200To240V", + "IndicatorLED": "Lit", + "PowerOnDelaySeconds": 6, + "PowerOffDelaySeconds": 0, + "PowerState": "On", + "PowerEnabled": true, + "Voltage": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/VoltageB1", + "Reading": 202.4 + }, + "PolyPhaseVoltage": { + "Line1ToLine2": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/VoltageB1", + "Reading": 202.4 + } + }, + "CurrentAmps": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentB1", + "Reading": 1.01 + }, + "PolyPhaseCurrentAmps": { + "Line1": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentB1", + "Reading": 1.01 + } + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/PowerB1", + "Reading": 202.4, + "ApparentVA": 202.4, + "ReactiveVAR": 0.1, + "PowerFactor": 0.99 + }, + "FrequencyHz": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/FrequencyB1", + "Reading": 60.2 + }, + "EnergykWh": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/EnergyB1", + "Reading": 788 + }, + "Actions": { + "#Outlet.PowerControl": { + "target": "/redfish/v1/PowerEquipment/TransferSwitches/1/Outlets/B1/Actions/Outlet.PowerControl" + }, + "#Outlet.ResetMetrics": { + "target": "/redfish/v1/PowerEquipment/TransferSwitches/1/Outlets/B1/Actions/Outlet.ResetMetrics" + } + }, + "Links": { + "BranchCircuit": { + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Branches/B" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Outlets/B1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Outlets/B2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Outlets/B2/index.json new file mode 100644 index 00000000..324b72db --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Outlets/B2/index.json @@ -0,0 +1,69 @@ +{ + "@odata.type": "#Outlet.v1_5_0.Outlet", + "Id": "B2", + "Name": "Outlet B2, Branch Circuit B", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "PhaseWiringType": "TwoPhase3Wire", + "VoltageType": "AC", + "OutletType": "IEC_60320_C13", + "RatedCurrentAmps": 12, + "NominalVoltage": "AC200To240V", + "IndicatorLED": "Lit", + "PowerOnDelaySeconds": 6, + "PowerOffDelaySeconds": 0, + "PowerState": "On", + "PowerEnabled": true, + "Voltage": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/VoltageB2", + "Reading": 202.4 + }, + "PolyPhaseVoltage": { + "Line1ToLine2": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/VoltageB2", + "Reading": 202.4 + } + }, + "CurrentAmps": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentB2", + "Reading": 1.01 + }, + "PolyPhaseCurrentAmps": { + "Line1": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentB2", + "Reading": 1.01 + } + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/PowerB2", + "Reading": 202.4, + "ApparentVA": 202.4, + "ReactiveVAR": 0.1, + "PowerFactor": 0.99 + }, + "FrequencyHz": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/FrequencyB2", + "Reading": 60.1 + }, + "EnergykWh": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/EnergyB2", + "Reading": 888 + }, + "Actions": { + "#Outlet.PowerControl": { + "target": "/redfish/v1/PowerEquipment/TransferSwitches/1/Outlets/B2/Actions/Outlet.PowerControl" + }, + "#Outlet.ResetMetrics": { + "target": "/redfish/v1/PowerEquipment/TransferSwitches/1/Outlets/B2/Actions/Outlet.ResetMetrics" + } + }, + "Links": { + "BranchCircuit": { + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Branches/B" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Outlets/B2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Outlets/B3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Outlets/B3/index.json new file mode 100644 index 00000000..76d8d1c7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Outlets/B3/index.json @@ -0,0 +1,69 @@ +{ + "@odata.type": "#Outlet.v1_5_0.Outlet", + "Id": "B3", + "Name": "Outlet B3, Branch Circuit B", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "PhaseWiringType": "TwoPhase3Wire", + "VoltageType": "AC", + "OutletType": "IEC_60320_C13", + "RatedCurrentAmps": 12, + "NominalVoltage": "AC200To240V", + "IndicatorLED": "Lit", + "PowerOnDelaySeconds": 6, + "PowerOffDelaySeconds": 0, + "PowerState": "On", + "PowerEnabled": true, + "Voltage": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/VoltageB3", + "Reading": 202.4 + }, + "PolyPhaseVoltage": { + "Line1ToLine2": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/VoltageB3", + "Reading": 202.4 + } + }, + "CurrentAmps": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentB3", + "Reading": 0.89 + }, + "PolyPhaseCurrentAmps": { + "Line1": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/CurrentB3", + "Reading": 0.89 + } + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/PowerB3", + "Reading": 180.1, + "ApparentVA": 180.1, + "ReactiveVAR": 0.1, + "PowerFactor": 0.99 + }, + "FrequencyHz": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/FrequencyB3", + "Reading": 60.1 + }, + "EnergykWh": { + "DataSourceUri": "/redfish/v1/Chassis/TransferSwitch1/Sensors/EnergyB3", + "Reading": 1206 + }, + "Actions": { + "#Outlet.PowerControl": { + "target": "/redfish/v1/PowerEquipment/TransferSwitches/1/Outlets/B3/Actions/Outlet.PowerControl" + }, + "#Outlet.ResetMetrics": { + "target": "/redfish/v1/PowerEquipment/TransferSwitches/1/Outlets/B3/Actions/Outlet.ResetMetrics" + } + }, + "Links": { + "BranchCircuit": { + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Branches/B" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Outlets/B3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Outlets/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Outlets/index.json new file mode 100644 index 00000000..a717cf3f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/Outlets/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#OutletCollection.OutletCollection", + "Name": "Outlet Collection", + "Members@odata.count": 6, + "Members": [ + { + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Outlets/A1" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Outlets/A2" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Outlets/A3" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Outlets/B1" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Outlets/B2" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Outlets/B3" + } + ], + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Outlets", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/index.json new file mode 100644 index 00000000..23a43fe2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/1/index.json @@ -0,0 +1,84 @@ +{ + "@odata.type": "#PowerDistribution.v1_7_0.PowerDistribution", + "Id": "1", + "EquipmentType": "AutomaticTransferSwitch", + "Name": "TransferSwitch1", + "FirmwareVersion": "4.3.0", + "Version": "1.03b", + "ProductionDate": "2017-01-11T08:00:00Z", + "Manufacturer": "Contoso", + "Model": "ZAP4000", + "SerialNumber": "29347ZT536", + "PartNumber": "AA-23", + "UUID": "32354641-4135-4332-4a35-313735303734", + "AssetTag": "PDX-92381", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Location": { + "Longitude": 45.52, + "Latitude": 122.67, + "PostalAddress": { + "Country": "US", + "Territory": "OR", + "City": "Portland", + "Street": "1001 SW 5th Avenue", + "Name": "DMTF Headquarters", + "PostalCode": "97204", + "Building": "3A", + "Floor": "2", + "Room": "213" + }, + "Placement": { + "Row": "North" + } + }, + "TransferConfiguration": { + "PreferredMainsId": "AC1", + "ActiveMainsId": "AC1", + "TransferInhibit": false, + "AutoTransferEnabled": true, + "TransferDelaySeconds": 0, + "RetransferEnabled": true, + "RetransferDelaySeconds": 30, + "ClosedTransitionAllowed": true, + "ClosedTransitionTimeoutSeconds": 30 + }, + "TransferCriteria": { + "TransferSensitivity": "High", + "OverVoltageRMSPercentage": 8.5, + "UnderVoltageRMSPercentage": -10.5, + "OverNominalFrequencyHz": 1.5, + "UnderNominalFrequencyHz": -0.5 + }, + "Actions": { + "#PowerDistribution.TransferControl": { + "target": "/redfish/v1/PowerEquipment/TransferSwitches/1/Actions/PowerDistribution.TransferControl" + } + }, + "Mains": { + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Mains" + }, + "Branches": { + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Branches" + }, + "Outlets": { + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Outlets" + }, + "OutletGroups": { + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/OutletGroups" + }, + "Metrics": { + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1/Metrics" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/TransferSwitch1" + } + ] + }, + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/index.json new file mode 100644 index 00000000..6b5d46dd --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/TransferSwitches/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PowerDistributionCollection.PowerDistributionCollection", + "Name": "Transfer Switch Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches/1" + } + ], + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/index.json new file mode 100644 index 00000000..2bdbf617 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/PowerEquipment/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#PowerEquipment.v1_2_3.PowerEquipment", + "Id": "PowerEquipment", + "Name": "DCIM Power Equipment", + "Status": { + "State": "Enabled", + "HealthRollup": "OK" + }, + "FloorPDUs": { + "@odata.id": "/redfish/v1/PowerEquipment/FloorPDUs" + }, + "RackPDUs": { + "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs" + }, + "TransferSwitches": { + "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches" + }, + "@odata.id": "/redfish/v1/PowerEquipment", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/SessionService/Sessions/1234567890ABCDEF/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/SessionService/Sessions/1234567890ABCDEF/index.json new file mode 100644 index 00000000..90844a1b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/SessionService/Sessions/1234567890ABCDEF/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#Session.v1_9_0.Session", + "Id": "1234567890ABCDEF", + "Name": "User Session", + "Description": "Manager User Session", + "UserName": "Administrator", + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/SessionService/Sessions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/SessionService/Sessions/index.json new file mode 100644 index 00000000..8d8cdf58 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/SessionService/Sessions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SessionCollection.SessionCollection", + "Name": "Session Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF" + } + ], + "@odata.id": "/redfish/v1/SessionService/Sessions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/SessionService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/SessionService/index.json new file mode 100644 index 00000000..62a05690 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/SessionService/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#SessionService.v1_2_0.SessionService", + "Id": "SessionService", + "Name": "Session Service", + "Description": "Session Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "SessionTimeout": 30, + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + }, + "@odata.id": "/redfish/v1/SessionService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/explorer_config.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/explorer_config.json new file mode 100644 index 00000000..15c7e33a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/explorer_config.json @@ -0,0 +1,52 @@ +{ + "name": "Power Distribution Unit (PDU)", + "description": "This example shows a set of managed power distribution units (PDU), including a rack-mount unit, a floor (row) PDU, and an automatic transfer switch.", + "navlinks": [ + { + "text": "Main", + "target": "main" + }, + { + "text": "Power Equipment", + "target": "PowerEquipment", + "navlinks": [ + { + "text": "default", + "target": "default" + } + ] + }, + { + "text": "Managers", + "target": "Managers", + "navlinks": [ + { + "text": "BMC", + "target": "BMC" + } + ] + }, + { + "text": "Task Service", + "target": "TaskService" + }, + { + "text": "Session Service", + "target": "SessionService" + }, + { + "target": "AccountService", + "text": "Account Service" + }, + { + "target": "EventService", + "text": "Event Service", + "navlinks": [ + { + "text": "Subscriptions", + "target": "Subscriptions" + } + ] + } + ] +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pdu/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/index.json new file mode 100644 index 00000000..def2640e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pdu/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#ServiceRoot.v1_22_0.ServiceRoot", + "Id": "RootService", + "Name": "Root Service", + "RedfishVersion": "1.15.0", + "UUID": "92384634-2938-2342-8820-489239905423", + "ProtocolFeaturesSupported": { + "ExpandQuery": { + "ExpandAll": true, + "Levels": true, + "MaxLevels": 6, + "Links": true, + "NoLinks": true + }, + "SelectQuery": false, + "FilterQuery": false, + "OnlyMemberQuery": true, + "ExcerptQuery": true + }, + "Facilities": { + "@odata.id": "/redfish/v1/Facilities" + }, + "Chassis": { + "@odata.id": "/redfish/v1/Chassis" + }, + "PowerEquipment": { + "@odata.id": "/redfish/v1/PowerEquipment" + }, + "Managers": { + "@odata.id": "/redfish/v1/Managers" + }, + "SessionService": { + "@odata.id": "/redfish/v1/SessionService" + }, + "AccountService": { + "@odata.id": "/redfish/v1/AccountService" + }, + "EventService": { + "@odata.id": "/redfish/v1/EventService" + }, + "Links": { + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + } + }, + "@odata.id": "/redfish/v1/", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/README.md b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/README.md new file mode 100644 index 00000000..fab5c26b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/README.md @@ -0,0 +1,9 @@ +# Mockup for PMEM technologies + +Currently, PMEMConfig directory shows a mockup of initial configurations for reporting PMEM Devices and then the configurations after a sequence of configuration requests. The README describes each example and the files and directories related to that example. + +## PMEM Device Redfish Data Model + +The Redfish model includes new types for PMEM Devices and persistent memory: Memory Domains and Memory Chunks + +![PMEM-Redfish-Data-Model.JPG](https://github.com/DMTF/Redfish/blob/Fix-3555/mockups/public-pmem-configuration/_artwork/PMEM-Redfish-Data-Model.JPG?raw=true) diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/SessionService/Sessions/1234567890ABCDEF/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/SessionService/Sessions/1234567890ABCDEF/index.json new file mode 100644 index 00000000..90844a1b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/SessionService/Sessions/1234567890ABCDEF/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#Session.v1_9_0.Session", + "Id": "1234567890ABCDEF", + "Name": "User Session", + "Description": "Manager User Session", + "UserName": "Administrator", + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/SessionService/Sessions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/SessionService/Sessions/index.json new file mode 100644 index 00000000..8d8cdf58 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/SessionService/Sessions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SessionCollection.SessionCollection", + "Name": "Session Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF" + } + ], + "@odata.id": "/redfish/v1/SessionService/Sessions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/SessionService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/SessionService/index.json new file mode 100644 index 00000000..62a05690 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/SessionService/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#SessionService.v1_2_0.SessionService", + "Id": "SessionService", + "Name": "Session Service", + "Description": "Session Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "SessionTimeout": 30, + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + }, + "@odata.id": "/redfish/v1/SessionService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/Memory/PMEM-DIMM1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/Memory/PMEM-DIMM1/index.json new file mode 100644 index 00000000..9ebc25c6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/Memory/PMEM-DIMM1/index.json @@ -0,0 +1,71 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Name": "PMEM 16GB 2 Region Example", + "Id": "PMEM-DIMM1", + "MemoryType": "IntelOptane", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "LRDIMM", + "MemoryMedia": [ + "DRAM", + "NAND" + ], + "CapacityMiB": 16384, + "DataWidthBits": 64, + "BusWidthBits": 72, + "Manufacturer": "???", + "SerialNumber": "1A2B3B", + "PartNumber": "1A2B3D", + "AllowedSpeedsMHz": [ + 2133, + 2400, + 2667 + ], + "FirmwareRevision": "RevAbc", + "FirmwareApiVersion": "ApiAbc", + "VendorID": "vendorX", + "DeviceID": "deviceX", + "SubsystemVendorID": "vendorA", + "SubsystemDeviceID": "deviceA", + "SecurityCapabilities": { + "PassphraseCapable": true, + "SecurityStates": [ + "Enabled", + "Unlocked" + ] + }, + "DeviceLocator": "PROC 1 DIMM 1", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "ErrorCorrection": "MultiBitECC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "OperatingSpeedMhz": 2400, + "VolatileRegionSizeLimitMiB": 8192, + "PersistentRegionSizeLimitMiB": 8192, + "Regions": [ + { + "RegionId": "1", + "MemoryClassification": "Volatile", + "SizeMiB": 8192, + "PassphraseEnabled": false + }, + { + "RegionId": "2", + "MemoryClassification": "ByteAccessiblePersistent", + "SizeMiB": 8192, + "PassphraseEnabled": false + } + ], + "OperatingMemoryModes": [ + "Volatile", + "PMEM" + ], + "@odata.id": "/redfish/v1/Systems/AddPMEM/Memory/PMEM-DIMM1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/Memory/PMEM-DIMM2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/Memory/PMEM-DIMM2/index.json new file mode 100644 index 00000000..ab1f30fa --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/Memory/PMEM-DIMM2/index.json @@ -0,0 +1,71 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Name": "PMEM 16GB 2 Region Example", + "Id": "PMEM-DIMM2", + "MemoryType": "IntelOptane", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "LRDIMM", + "MemoryMedia": [ + "DRAM", + "NAND" + ], + "CapacityMiB": 16384, + "DataWidthBits": 64, + "BusWidthBits": 72, + "Manufacturer": "???", + "SerialNumber": "1A2B3B", + "PartNumber": "1A2B3D", + "AllowedSpeedsMHz": [ + 2133, + 2400, + 2667 + ], + "FirmwareRevision": "RevAbc", + "FirmwareApiVersion": "ApiAbc", + "VendorID": "vendorX", + "DeviceID": "deviceX", + "SubsystemVendorID": "vendorA", + "SubsystemDeviceID": "deviceA", + "SecurityCapabilities": { + "PassphraseCapable": true, + "SecurityStates": [ + "Enabled", + "Unlocked" + ] + }, + "DeviceLocator": "PROC 1 DIMM 2", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 2, + "Slot": 1 + }, + "ErrorCorrection": "MultiBitECC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "OperatingSpeedMhz": 2400, + "VolatileRegionSizeLimitMiB": 8192, + "PersistentRegionSizeLimitMiB": 8192, + "Regions": [ + { + "RegionId": "1", + "MemoryClassification": "Volatile", + "SizeMiB": 8192, + "PassphraseEnabled": false + }, + { + "RegionId": "2", + "MemoryClassification": "ByteAccessiblePersistent", + "SizeMiB": 8192, + "PassphraseEnabled": false + } + ], + "OperatingMemoryModes": [ + "Volatile", + "PMEM" + ], + "@odata.id": "/redfish/v1/Systems/AddPMEM/Memory/PMEM-DIMM2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/Memory/PMEM-DIMM3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/Memory/PMEM-DIMM3/index.json new file mode 100644 index 00000000..5c948e0b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/Memory/PMEM-DIMM3/index.json @@ -0,0 +1,58 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Name": "PMEM 16GB 0 Region Example", + "Id": "PMEM-DIMM3", + "MemoryType": "IntelOptane", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "LRDIMM", + "MemoryMedia": [ + "DRAM", + "NAND" + ], + "CapacityMiB": 16384, + "DataWidthBits": 64, + "BusWidthBits": 72, + "Manufacturer": "???", + "SerialNumber": "1A2B3B", + "PartNumber": "1A2B3D", + "AllowedSpeedsMHz": [ + 2133, + 2400, + 2667 + ], + "FirmwareRevision": "RevAbc", + "FirmwareApiVersion": "ApiAbc", + "VendorID": "vendorX", + "DeviceID": "deviceX", + "SubsystemVendorID": "vendorA", + "SubsystemDeviceID": "deviceA", + "SecurityCapabilities": { + "PassphraseCapable": true, + "SecurityStates": [ + "Enabled", + "Unlocked" + ] + }, + "DeviceLocator": "PROC 1 DIMM 3", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 3, + "Slot": 1 + }, + "ErrorCorrection": "MultiBitECC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "OperatingSpeedMhz": 2400, + "VolatileRegionSizeLimitMiB": 0, + "PersistentRegionSizeLimitMiB": 0, + "Regions": [], + "OperatingMemoryModes": [ + "Volatile", + "PMEM" + ], + "@odata.id": "/redfish/v1/Systems/AddPMEM/Memory/PMEM-DIMM3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/Memory/PMEM-DIMM4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/Memory/PMEM-DIMM4/index.json new file mode 100644 index 00000000..a2750c21 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/Memory/PMEM-DIMM4/index.json @@ -0,0 +1,58 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Name": "PMEM 16GB 0 Region Example", + "Id": "PMEM-DIMM4", + "MemoryType": "IntelOptane", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "LRDIMM", + "MemoryMedia": [ + "DRAM", + "NAND" + ], + "CapacityMiB": 16384, + "DataWidthBits": 64, + "BusWidthBits": 72, + "Manufacturer": "???", + "SerialNumber": "1A2B3B", + "PartNumber": "1A2B3D", + "AllowedSpeedsMHz": [ + 2133, + 2400, + 2667 + ], + "FirmwareRevision": "RevAbc", + "FirmwareApiVersion": "ApiAbc", + "VendorID": "vendorX", + "DeviceID": "deviceX", + "SubsystemVendorID": "vendorA", + "SubsystemDeviceID": "deviceA", + "SecurityCapabilities": { + "PassphraseCapable": true, + "SecurityStates": [ + "Enabled", + "Unlocked" + ] + }, + "DeviceLocator": "PROC 1 DIMM 3", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 3, + "Slot": 1 + }, + "ErrorCorrection": "MultiBitECC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "OperatingSpeedMhz": 2400, + "VolatileRegionSizeLimitMiB": 0, + "PersistentRegionSizeLimitMiB": 0, + "Regions": [], + "OperatingMemoryModes": [ + "Volatile", + "PMEM" + ], + "@odata.id": "/redfish/v1/Systems/AddPMEM/Memory/PMEM-DIMM4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/Memory/index.json new file mode 100644 index 00000000..77789303 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/Memory/index.json @@ -0,0 +1,23 @@ +{ + "@odata.etag": "W/\"2A90423A\"", + "@odata.type": "#MemoryCollection.MemoryCollection", + "Description": "Memory DIMM Collection", + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/AddPMEM/Memory/PMEM-DIMM1" + }, + { + "@odata.id": "/redfish/v1/Systems/AddPMEM/Memory/PMEM-DIMM2" + }, + { + "@odata.id": "/redfish/v1/Systems/AddPMEM/Memory/PMEM-DIMM3" + }, + { + "@odata.id": "/redfish/v1/Systems/AddPMEM/Memory/PMEM-DIMM4" + } + ], + "Members@odata.count": 4, + "Name": "Memory DIMM Collection", + "@odata.id": "/redfish/v1/Systems/AddPMEM/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-2/index.json new file mode 100644 index 00000000..5c2f056c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-2/index.json @@ -0,0 +1,23 @@ +{ + "@odata.type": "#MemoryChunks.v1_7_0.MemoryChunks", + "Name": "Memory Chunk2 on PMEM - Persistent", + "Id": "PMEM-Persistent-2", + "MemoryChunkSizeMiB": 4096, + "AddressRangeType": "PMEM", + "IsMirrorEnabled": false, + "IsSpare": false, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterleaveSets": [ + { + "Memory": { + "@odata.id": "/redfish/v1/Systems/AddPMEM/Memory/PMEM-DIMM1" + }, + "RegionId": "2" + } + ], + "@odata.id": "/redfish/v1/Systems/AddPMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-3/index.json new file mode 100644 index 00000000..fc37a659 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-3/index.json @@ -0,0 +1,23 @@ +{ + "@odata.type": "#MemoryChunks.v1_7_0.MemoryChunks", + "Name": "Memory Chunk3 on PMEM - Persistent", + "Id": "PMEM-Persistent-3", + "MemoryChunkSizeMiB": 4096, + "AddressRangeType": "PMEM", + "IsMirrorEnabled": false, + "IsSpare": false, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterleaveSets": [ + { + "Memory": { + "@odata.id": "/redfish/v1/Systems/AddPMEM/Memory/PMEM-DIMM2" + }, + "RegionId": "2" + } + ], + "@odata.id": "/redfish/v1/Systems/AddPMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-4/index.json new file mode 100644 index 00000000..5cb60cd0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-4/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#MemoryChunks.v1_7_0.MemoryChunks", + "Name": "Memory Chunk4 on PMEM - Persistent", + "Id": "PMEM-Persistent-4", + "MemoryChunkSizeMiB": 8192, + "AddressRangeType": "PMEM", + "IsMirrorEnabled": false, + "IsSpare": false, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterleaveSets": [ + { + "Memory": { + "@odata.id": "/redfish/v1/Systems/AddPMEM/Memory/PMEM-DIMM1" + }, + "RegionId": "4" + }, + { + "Memory": { + "@odata.id": "/redfish/v1/Systems/AddPMEM/Memory/PMEM-DIMM2" + }, + "RegionId": "4" + } + ], + "@odata.id": "/redfish/v1/Systems/AddPMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/MemoryDomains/PMEM-1/MemoryChunks/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/MemoryDomains/PMEM-1/MemoryChunks/index.json new file mode 100644 index 00000000..bcf1f9df --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/MemoryDomains/PMEM-1/MemoryChunks/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#MemoryChunksCollection.MemoryChunksCollection", + "Name": "Memory Chunks Collection for AEP Domain", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/AddPMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-2" + }, + { + "@odata.id": "/redfish/v1/Systems/AddPMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-3" + }, + { + "@odata.id": "/redfish/v1/Systems/AddPMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-4" + } + ], + "@odata.id": "/redfish/v1/Systems/AddPMEM/MemoryDomains/PMEM-1/MemoryChunks", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/MemoryDomains/PMEM-1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/MemoryDomains/PMEM-1/index.json new file mode 100644 index 00000000..5009667e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/MemoryDomains/PMEM-1/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#MemoryDomain.v1_5_1.MemoryDomain", + "Name": "Memory Domain - PMEM DIMM configured not interleaved", + "Id": "PMEM-1", + "MemoryChunks": { + "@odata.id": "/redfish/v1/Systems/AddPMEM/MemoryDomains/PMEM-1/MemoryChunks" + }, + "AllowsMemoryChunkCreation": true, + "AllowsBlockProvisioning": false, + "InterleavableMemorySets": [ + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Systems/AddPMEM/Memory/PMEM-DIMM1" + }, + { + "@odata.id": "/redfish/v1/Systems/AddPMEM/Memory/PMEM-DIMM2" + }, + { + "@odata.id": "/redfish/v1/Systems/AddPMEM/Memory/PMEM-DIMM3" + } + ] + }, + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Systems/AddPMEM/Memory/PMEM-DIMM1" + } + ] + }, + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Systems/AddPMEM/Memory/PMEM-DIMM2" + } + ] + }, + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Systems/AddPMEM/Memory/PMEM-DIMM3" + } + ] + } + ], + "@odata.id": "/redfish/v1/Systems/AddPMEM/MemoryDomains/PMEM-1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/MemoryDomains/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/MemoryDomains/index.json new file mode 100644 index 00000000..6d26e336 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/MemoryDomains/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryDomainCollection.MemoryDomainCollection", + "Name": "Memory Domains Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/AddPMEM/MemoryDomains/PMEM-1" + } + ], + "@odata.id": "/redfish/v1/Systems/AddPMEM/MemoryDomains", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/README.md b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/README.md new file mode 100644 index 00000000..2cc493d4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/README.md @@ -0,0 +1,7 @@ +Mockup of AEP NVDIMMs post configuration of request for adding a new AEP NVDIMM on the same +memory controller after performing Config-AEP-3 + +Memory shows the configured AEP NVDIMMs with the same configuration and a single new unconfigured +AEP NVDIMM. + +The existing MemoryDomain shows a new InterleavableSet with all 3 AEP NVDIMMs as the best interleave and a new InterleaveableSet for the added unconfigured AEP NVDIMM. This allows the user to configure just the unconfigured NVDIMM or reconfigure all the NVDIMMs as interleaved or not. The MemoryChunks collection still shows the MemoryChunks for the configured AEP NVDIMMs. diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/index.json new file mode 100644 index 00000000..6729d121 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/AddPMEM/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Name": "Memory Subsystem Example", + "SystemType": "Physical", + "UUID": "00000000-0000-0000-0000-000000000000", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PowerState": "On", + "Memory": { + "@odata.id": "/redfish/v1/Systems/AddPMEM/Memory" + }, + "MemoryDomains": { + "@odata.id": "/redfish/v1/Systems/AddPMEM/MemoryDomains" + }, + "Id": "AddPMEM", + "@odata.id": "/redfish/v1/Systems/AddPMEM", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/Memory/PMEM-DIMM1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/Memory/PMEM-DIMM1/index.json new file mode 100644 index 00000000..c9bbe236 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/Memory/PMEM-DIMM1/index.json @@ -0,0 +1,71 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Name": "AEP 16GB 4 Region Example", + "Id": "PMEM-DIMM1", + "MemoryType": "IntelOptane", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "LRDIMM", + "MemoryMedia": [ + "DRAM", + "NAND" + ], + "CapacityMiB": 16384, + "DataWidthBits": 64, + "BusWidthBits": 72, + "Manufacturer": "???", + "SerialNumber": "1A2B3B", + "PartNumber": "1A2B3D", + "AllowedSpeedsMHz": [ + 2133, + 2400, + 2667 + ], + "FirmwareRevision": "RevAbc", + "FirmwareApiVersion": "ApiAbc", + "VendorID": "vendorX", + "DeviceID": "deviceX", + "SubsystemVendorID": "vendorA", + "SubsystemDeviceID": "deviceA", + "SecurityCapabilities": { + "PassphraseCapable": true, + "SecurityStates": [ + "Enabled", + "Unlocked" + ] + }, + "DeviceLocator": "PROC 1 DIMM 1", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "ErrorCorrection": "MultiBitECC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "OperatingSpeedMhz": 2400, + "VolatileRegionSizeLimitMiB": 12288, + "PersistentRegionSizeLimitMiB": 4096, + "Regions": [ + { + "RegionId": "1", + "MemoryClassification": "Volatile", + "SizeMiB": 12288, + "PassphraseEnabled": false + }, + { + "RegionId": "2", + "MemoryClassification": "ByteAccessiblePersistent", + "SizeMiB": 4096, + "PassphraseEnabled": false + } + ], + "OperatingMemoryModes": [ + "Volatile", + "PMEM" + ], + "@odata.id": "/redfish/v1/Systems/Config-2-PMEM/Memory/PMEM-DIMM1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/Memory/PMEM-DIMM2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/Memory/PMEM-DIMM2/index.json new file mode 100644 index 00000000..db1180e3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/Memory/PMEM-DIMM2/index.json @@ -0,0 +1,71 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Name": "PMEM device 16GB 4 Region Example", + "Id": "PMEM-DIMM2", + "MemoryType": "IntelOptane", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "LRDIMM", + "MemoryMedia": [ + "DRAM", + "NAND" + ], + "CapacityMiB": 16384, + "DataWidthBits": 64, + "BusWidthBits": 72, + "Manufacturer": "???", + "SerialNumber": "1A2B3B", + "PartNumber": "1A2B3D", + "AllowedSpeedsMHz": [ + 2133, + 2400, + 2667 + ], + "FirmwareRevision": "RevAbc", + "FirmwareApiVersion": "ApiAbc", + "VendorID": "vendorX", + "DeviceID": "deviceX", + "SubsystemVendorID": "vendorA", + "SubsystemDeviceID": "deviceA", + "SecurityCapabilities": { + "PassphraseCapable": true, + "SecurityStates": [ + "Enabled", + "Unlocked" + ] + }, + "DeviceLocator": "PROC 1 DIMM 2", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 2, + "Slot": 1 + }, + "ErrorCorrection": "MultiBitECC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "OperatingSpeedMhz": 2400, + "VolatileRegionSizeLimitMiB": 12288, + "PersistentRegionSizeLimitMiB": 4096, + "Regions": [ + { + "RegionId": "1", + "MemoryClassification": "Volatile", + "SizeMiB": 12288, + "PassphraseEnabled": false + }, + { + "RegionId": "2", + "MemoryClassification": "ByteAccessiblePersistent", + "SizeMiB": 4096, + "PassphraseEnabled": false + } + ], + "OperatingMemoryModes": [ + "Volatile", + "PMEM" + ], + "@odata.id": "/redfish/v1/Systems/Config-2-PMEM/Memory/PMEM-DIMM2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/Memory/index.json new file mode 100644 index 00000000..26f92030 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/Memory/index.json @@ -0,0 +1,17 @@ +{ + "@odata.etag": "W/\"2A90423A\"", + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory DIMM Collection", + "Description": "Memory DIMM Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/Config-2-PMEM/Memory/PMEM-DIMM1" + }, + { + "@odata.id": "/redfish/v1/Systems/Config-2-PMEM/Memory/PMEM-DIMM2" + } + ], + "@odata.id": "/redfish/v1/Systems/Config-2-PMEM/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-2/index.json new file mode 100644 index 00000000..0d3b6e66 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-2/index.json @@ -0,0 +1,23 @@ +{ + "@odata.type": "#MemoryChunks.v1_7_0.MemoryChunks", + "Name": "Memory Chunk2 on PMEM Device - Persistent", + "Id": "PMEM-Persistent-2", + "MemoryChunkSizeMiB": 4096, + "AddressRangeType": "PMEM", + "IsMirrorEnabled": false, + "IsSpare": false, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterleaveSets": [ + { + "Memory": { + "@odata.id": "/redfish/v1/Systems/Config-2-PMEM/Memory/PMEM-DIMM1" + }, + "RegionId": "2" + } + ], + "@odata.id": "/redfish/v1/Systems/Config-2-PMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-3/index.json new file mode 100644 index 00000000..f89385a8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-3/index.json @@ -0,0 +1,23 @@ +{ + "@odata.type": "#MemoryChunks.v1_7_0.MemoryChunks", + "Name": "Memory Chunk3 on PMEM Device - Persistent", + "Id": "PMEM-Persistent-3", + "MemoryChunkSizeMiB": 4096, + "AddressRangeType": "PMEM", + "IsMirrorEnabled": false, + "IsSpare": false, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterleaveSets": [ + { + "Memory": { + "@odata.id": "/redfish/v1/Systems/Config-2-PMEM/Memory/PMEM-DIMM2" + }, + "RegionId": "2" + } + ], + "@odata.id": "/redfish/v1/Systems/Config-2-PMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/MemoryDomains/PMEM-1/MemoryChunks/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/MemoryDomains/PMEM-1/MemoryChunks/index.json new file mode 100644 index 00000000..888b2fd7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/MemoryDomains/PMEM-1/MemoryChunks/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#MemoryChunksCollection.MemoryChunksCollection", + "Name": "Memory Chunks Collection for PMEM Device Domain", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/Config-2-PMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-2" + }, + { + "@odata.id": "/redfish/v1/Systems/Config-2-PMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-3" + } + ], + "@odata.id": "/redfish/v1/Systems/Config-2-PMEM/MemoryDomains/PMEM-1/MemoryChunks", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/MemoryDomains/PMEM-1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/MemoryDomains/PMEM-1/index.json new file mode 100644 index 00000000..c8fbee87 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/MemoryDomains/PMEM-1/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#MemoryDomain.v1_5_1.MemoryDomain", + "Name": "Memory Domain - PMEM Devices", + "Id": "PMEM-1", + "MemoryChunks": { + "@odata.id": "/redfish/v1/Systems/Config-2-PMEM/MemoryDomains/PMEM-1/MemoryChunks" + }, + "AllowsMemoryChunkCreation": true, + "AllowsBlockProvisioning": false, + "InterleavableMemorySets": [ + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Systems/Config-2-PMEM/Memory/PMEM-DIMM1" + }, + { + "@odata.id": "/redfish/v1/Systems/Config-2-PMEM/Memory/PMEM-DIMM2" + } + ] + }, + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Systems/Config-2-PMEM/Memory/PMEM-DIMM1" + } + ] + }, + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Systems/Config-2-PMEM/Memory/PMEM-DIMM2" + } + ] + } + ], + "@odata.id": "/redfish/v1/Systems/Config-2-PMEM/MemoryDomains/PMEM-1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/MemoryDomains/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/MemoryDomains/index.json new file mode 100644 index 00000000..41d93930 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/MemoryDomains/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryDomainCollection.MemoryDomainCollection", + "Name": "Memory Domains Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/Config-2-PMEM/MemoryDomains/PMEM-1" + } + ], + "@odata.id": "/redfish/v1/Systems/Config-2-PMEM/MemoryDomains", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/README.md b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/README.md new file mode 100644 index 00000000..348a2a49 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/README.md @@ -0,0 +1,9 @@ +##Mockup of PMEM devices post configuration with Config-AEP-2.json + +Memory shows the PMEM devices with two newly created Regions for each PMEM device NVDIMM, 4096MiB persistent, 12288MiB volatile. + +MemoryDomains shows the MemoryDomains collection with a new Member. MemoryDomains for best interleaved and not interleaved are not duplicated here, but they will exist in the model. Those MemoryDomains will never have any MemoryChunks, they are just used for configuration. + +The new MemoryDomains collection Member shows the new MemoryChunks collection. + +The new MemoryChunks collection Members, shows the two newly created persistent MemoryChunks, one for each PMEM device using the newly created persistent region on each PMEM device. No MemoryChunk for the volatile regions. diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/index.json new file mode 100644 index 00000000..e0312a2f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-2-PMEM/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "Config-2-PMEM", + "Name": "Memory Subsystem Example", + "SystemType": "Physical", + "UUID": "00000000-0000-0000-0000-000000000000", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PowerState": "On", + "Memory": { + "@odata.id": "/redfish/v1/Systems/Config-2-PMEM/Memory" + }, + "MemoryDomains": { + "@odata.id": "/redfish/v1/Systems/Config-2-PMEM/MemoryDomains" + }, + "@odata.id": "/redfish/v1/Systems/Config-2-PMEM", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-3-PMEM/Memory/PMEM-DIMM1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-3-PMEM/Memory/PMEM-DIMM1/index.json new file mode 100644 index 00000000..71ad0fe1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-3-PMEM/Memory/PMEM-DIMM1/index.json @@ -0,0 +1,73 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Name": "PMEM Device 16GB 2 Region Example", + "Id": "PMEM-DIMM1", + "MemoryType": "IntelOptane", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "LRDIMM", + "MemoryMedia": [ + "DRAM", + "NAND" + ], + "CapacityMiB": 16384, + "DataWidthBits": 64, + "BusWidthBits": 72, + "Manufacturer": "???", + "SerialNumber": "1A2B3B", + "PartNumber": "1A2B3D", + "AllowedSpeedsMHz": [ + 2133, + 2400, + 2667 + ], + "FirmwareRevision": "RevAbc", + "FirmwareApiVersion": "ApiAbc", + "VendorID": "vendorX", + "DeviceID": "deviceX", + "SubsystemVendorID": "vendorA", + "SubsystemDeviceID": "deviceA", + "SecurityCapabilities": { + "PassphraseCapable": true, + "SecurityStates": [ + "Enabled", + "Unlocked" + ] + }, + "DeviceLocator": "PROC 1 DIMM 1", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "ErrorCorrection": "MultiBitECC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "OperatingSpeedMhz": 2400, + "VolatileRegionSizeLimitMiB": 8192, + "PersistentRegionSizeLimitMiB": 8192, + "VolatileSizeMiB": 8192, + "NonVolatileSizeMiB": 8192, + "Regions": [ + { + "RegionId": "1", + "MemoryClassification": "Volatile", + "SizeMiB": 8192, + "PassphraseEnabled": false + }, + { + "RegionId": "2", + "MemoryClassification": "ByteAccessiblePersistent", + "SizeMiB": 8192, + "PassphraseEnabled": false + } + ], + "OperatingMemoryModes": [ + "Volatile", + "PMEM" + ], + "@odata.id": "/redfish/v1/Systems/Config-3-PMEM/Memory/PMEM-DIMM1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-3-PMEM/Memory/PMEM-DIMM2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-3-PMEM/Memory/PMEM-DIMM2/index.json new file mode 100644 index 00000000..59fa9e41 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-3-PMEM/Memory/PMEM-DIMM2/index.json @@ -0,0 +1,71 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Name": "PMEM Device 16GB 2 Region Example", + "Id": "PMEM-DIMM2", + "MemoryType": "IntelOptane", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "LRDIMM", + "MemoryMedia": [ + "DRAM", + "NAND" + ], + "CapacityMiB": 16384, + "DataWidthBits": 64, + "BusWidthBits": 72, + "Manufacturer": "???", + "SerialNumber": "1A2B3B", + "PartNumber": "1A2B3D", + "AllowedSpeedsMHz": [ + 2133, + 2400, + 2667 + ], + "FirmwareRevision": "RevAbc", + "FirmwareApiVersion": "ApiAbc", + "VendorID": "vendorX", + "DeviceID": "deviceX", + "SubsystemVendorID": "vendorA", + "SubsystemDeviceID": "deviceA", + "SecurityCapabilities": { + "PassphraseCapable": true, + "SecurityStates": [ + "Enabled", + "Unlocked" + ] + }, + "DeviceLocator": "PROC 1 DIMM 2", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 2, + "Slot": 1 + }, + "ErrorCorrection": "MultiBitECC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "OperatingSpeedMhz": 2400, + "VolatileRegionSizeLimitMiB": 8192, + "PersistentRegionSizeLimitMiB": 8192, + "Regions": [ + { + "RegionId": "1", + "MemoryClassification": "Volatile", + "SizeMiB": 8192, + "PassphraseEnabled": false + }, + { + "RegionId": "2", + "MemoryClassification": "ByteAccessiblePersistent", + "SizeMiB": 8192, + "PassphraseEnabled": false + } + ], + "OperatingMemoryModes": [ + "Volatile", + "PMEM" + ], + "@odata.id": "/redfish/v1/Systems/Config-3-PMEM/Memory/PMEM-DIMM2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-3-PMEM/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-3-PMEM/Memory/index.json new file mode 100644 index 00000000..b157beed --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-3-PMEM/Memory/index.json @@ -0,0 +1,17 @@ +{ + "@odata.etag": "W/\"2A90423A\"", + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory DIMM Collection", + "Description": "Memory DIMM Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/Config-3-PMEM/Memory/PMEM-DIMM1" + }, + { + "@odata.id": "/redfish/v1/Systems/Config-3-PMEM/Memory/PMEM-DIMM2" + } + ], + "@odata.id": "/redfish/v1/Systems/Config-3-PMEM/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-3-PMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-3-PMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-4/index.json new file mode 100644 index 00000000..d311c930 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-3-PMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-4/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#MemoryChunks.v1_7_0.MemoryChunks", + "Name": "Memory Chunk4 on PMEM Device - Persistent", + "Id": "PMEM-Persistent-4", + "MemoryChunkSizeMiB": 8192, + "AddressRangeType": "PMEM", + "IsMirrorEnabled": false, + "IsSpare": false, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterleaveSets": [ + { + "Memory": { + "@odata.id": "/redfish/v1/Systems/Config-3-PMEM/Memory/PMEM-DIMM1" + }, + "RegionId": "2" + }, + { + "Memory": { + "@odata.id": "/redfish/v1/Systems/Config-3-PMEM/Memory/PMEM-DIMM2" + }, + "RegionId": "2" + } + ], + "@odata.id": "/redfish/v1/Systems/Config-3-PMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-3-PMEM/MemoryDomains/PMEM-1/MemoryChunks/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-3-PMEM/MemoryDomains/PMEM-1/MemoryChunks/index.json new file mode 100644 index 00000000..df71b02f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-3-PMEM/MemoryDomains/PMEM-1/MemoryChunks/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryChunksCollection.MemoryChunksCollection", + "Name": "Memory Chunks Collection for PMEM Device Domain", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/Config-3-PMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-4" + } + ], + "@odata.id": "/redfish/v1/Systems/Config-3-PMEM/MemoryDomains/PMEM-1/MemoryChunks", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-3-PMEM/MemoryDomains/PMEM-1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-3-PMEM/MemoryDomains/PMEM-1/index.json new file mode 100644 index 00000000..bf13756a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-3-PMEM/MemoryDomains/PMEM-1/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#MemoryDomain.v1_5_1.MemoryDomain", + "Name": "Memory Domain - PMEM Devices configured not interleaved", + "Id": "PMEM-1", + "MemoryChunks": { + "@odata.id": "/redfish/v1/Systems/Config-3-PMEM/MemoryDomains/PMEM-1/MemoryChunks" + }, + "AllowsMemoryChunkCreation": true, + "AllowsBlockProvisioning": false, + "InterleavableMemorySets": [ + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Systems/Config-3-PMEM/Memory/PMEM-DIMM1" + }, + { + "@odata.id": "/redfish/v1/Systems/Config-3-PMEM/Memory/PMEM-DIMM2" + } + ] + }, + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Systems/Config-3-PMEM/Memory/PMEM-DIMM1" + } + ] + }, + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Systems/Config-3-PMEM/Memory/PMEM-DIMM2" + } + ] + } + ], + "@odata.id": "/redfish/v1/Systems/Config-3-PMEM/MemoryDomains/PMEM-1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-3-PMEM/MemoryDomains/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-3-PMEM/MemoryDomains/index.json new file mode 100644 index 00000000..9127f91a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-3-PMEM/MemoryDomains/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryDomainCollection.MemoryDomainCollection", + "Name": "Memory Domains Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/Config-3-PMEM/MemoryDomains/PMEM-1" + } + ], + "@odata.id": "/redfish/v1/Systems/Config-3-PMEM/MemoryDomains", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-3-PMEM/README.md b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-3-PMEM/README.md new file mode 100644 index 00000000..4cfe4af7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-3-PMEM/README.md @@ -0,0 +1,7 @@ +##Mockup of PMEM Devices post configuration with Config-AEP-3.json + +Memory shows the PMEM Devices with two Regions. Note that these are the same Regions as the previous configuration. + +MemoryDomains shows the MemoryDomainCollection with the same MemoryDomain with the same MemoryChunksCollection. + +The MemoryChunkCollection Members, shows the one newly created persistent MemoryChunk. The previous MemoryChunks were DELETEd. The new MemoryChunk shows the two PMEM Devices persistent Regions interleaved. No MemoryChunk created for the volatile Regions. diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-3-PMEM/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-3-PMEM/index.json new file mode 100644 index 00000000..d76d5bc0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-3-PMEM/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Name": "Memory Subsystem Example", + "SystemType": "Physical", + "UUID": "00000000-0000-0000-0000-000000000000", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PowerState": "On", + "Memory": { + "@odata.id": "/redfish/v1/Systems/Config-3-PMEM/Memory" + }, + "MemoryDomains": { + "@odata.id": "/redfish/v1/Systems/Config-3-PMEM/MemoryDomains" + }, + "Id": "Config-3-PMEM", + "@odata.id": "/redfish/v1/Systems/Config-3-PMEM", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/Memory/PMEM-DIMM1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/Memory/PMEM-DIMM1/index.json new file mode 100644 index 00000000..6dbc285e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/Memory/PMEM-DIMM1/index.json @@ -0,0 +1,71 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Name": "PMEM Device 16GB 2 Region Example", + "Id": "PMEM-DIMM1", + "MemoryType": "IntelOptane", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "LRDIMM", + "MemoryMedia": [ + "DRAM", + "NAND" + ], + "CapacityMiB": 16384, + "DataWidthBits": 64, + "BusWidthBits": 72, + "Manufacturer": "???", + "SerialNumber": "1A2B3B", + "PartNumber": "1A2B3D", + "AllowedSpeedsMHz": [ + 2133, + 2400, + 2667 + ], + "FirmwareRevision": "RevAbc", + "FirmwareApiVersion": "ApiAbc", + "VendorID": "vendorX", + "DeviceID": "deviceX", + "SubsystemVendorID": "vendorA", + "SubsystemDeviceID": "deviceA", + "SecurityCapabilities": { + "PassphraseCapable": true, + "SecurityStates": [ + "Enabled", + "Unlocked" + ] + }, + "DeviceLocator": "PROC 1 DIMM 1", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "ErrorCorrection": "MultiBitECC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "OperatingSpeedMhz": 2400, + "VolatileRegionSizeLimitMiB": 8192, + "PersistentRegionSizeLimitMiB": 8192, + "Regions": [ + { + "RegionId": "1", + "MemoryClassification": "Volatile", + "SizeMiB": 8192, + "PassphraseEnabled": false + }, + { + "RegionId": "2", + "MemoryClassification": "ByteAccessiblePersistent", + "SizeMiB": 8192, + "PassphraseEnabled": false + } + ], + "OperatingMemoryModes": [ + "Volatile", + "PMEM" + ], + "@odata.id": "/redfish/v1/Systems/Config-4-PMEM/Memory/PMEM-DIMM1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/Memory/PMEM-DIMM2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/Memory/PMEM-DIMM2/index.json new file mode 100644 index 00000000..ac3201e7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/Memory/PMEM-DIMM2/index.json @@ -0,0 +1,71 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Name": "PMEM Device 16GB 2 Region Example", + "Id": "PMEM-DIMM2", + "MemoryType": "IntelOptane", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "LRDIMM", + "MemoryMedia": [ + "DRAM", + "NAND" + ], + "CapacityMiB": 16384, + "DataWidthBits": 64, + "BusWidthBits": 72, + "Manufacturer": "???", + "SerialNumber": "1A2B3B", + "PartNumber": "1A2B3D", + "AllowedSpeedsMHz": [ + 2133, + 2400, + 2667 + ], + "FirmwareRevision": "RevAbc", + "FirmwareApiVersion": "ApiAbc", + "VendorID": "vendorX", + "DeviceID": "deviceX", + "SubsystemVendorID": "vendorA", + "SubsystemDeviceID": "deviceA", + "SecurityCapabilities": { + "PassphraseCapable": true, + "SecurityStates": [ + "Enabled", + "Unlocked" + ] + }, + "DeviceLocator": "PROC 1 DIMM 2", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 2, + "Slot": 1 + }, + "ErrorCorrection": "MultiBitECC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "OperatingSpeedMhz": 2400, + "VolatileRegionSizeLimitMiB": 8192, + "PersistentRegionSizeLimitMiB": 8192, + "Regions": [ + { + "RegionId": "1", + "MemoryClassification": "Volatile", + "SizeMiB": 8192, + "PassphraseEnabled": false + }, + { + "RegionId": "2", + "MemoryClassification": "ByteAccessiblePersistent", + "SizeMiB": 8192, + "PassphraseEnabled": false + } + ], + "OperatingMemoryModes": [ + "Volatile", + "PMEM" + ], + "@odata.id": "/redfish/v1/Systems/Config-4-PMEM/Memory/PMEM-DIMM2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/Memory/PMEM-DIMM3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/Memory/PMEM-DIMM3/index.json new file mode 100644 index 00000000..e371cb42 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/Memory/PMEM-DIMM3/index.json @@ -0,0 +1,71 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Name": "PMEM Device 16GB 2 Region Example", + "Id": "PMEM-DIMM3", + "MemoryType": "IntelOptane", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "LRDIMM", + "MemoryMedia": [ + "DRAM", + "NAND" + ], + "CapacityMiB": 16384, + "DataWidthBits": 64, + "BusWidthBits": 72, + "Manufacturer": "???", + "SerialNumber": "1A2B3B", + "PartNumber": "1A2B3D", + "AllowedSpeedsMHz": [ + 2133, + 2400, + 2667 + ], + "FirmwareRevision": "RevAbc", + "FirmwareApiVersion": "ApiAbc", + "VendorID": "vendorX", + "DeviceID": "deviceX", + "SubsystemVendorID": "vendorA", + "SubsystemDeviceID": "deviceA", + "SecurityCapabilities": { + "PassphraseCapable": true, + "SecurityStates": [ + "Enabled", + "Unlocked" + ] + }, + "DeviceLocator": "PROC 1 DIMM 3", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 3, + "Slot": 1 + }, + "ErrorCorrection": "MultiBitECC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "OperatingSpeedMhz": 2400, + "VolatileRegionSizeLimitMiB": 8192, + "PersistentRegionSizeLimitMiB": 8192, + "Regions": [ + { + "RegionId": "1", + "MemoryClassification": "Volatile", + "SizeMiB": 8192, + "PassphraseEnabled": false + }, + { + "RegionId": "2", + "MemoryClassification": "ByteAccessiblePersistent", + "SizeMiB": 8192, + "PassphraseEnabled": false + } + ], + "OperatingMemoryModes": [ + "Volatile", + "PMEM" + ], + "@odata.id": "/redfish/v1/Systems/Config-4-PMEM/Memory/PMEM-DIMM3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/Memory/PMEM-DIMM4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/Memory/PMEM-DIMM4/index.json new file mode 100644 index 00000000..76a8c92b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/Memory/PMEM-DIMM4/index.json @@ -0,0 +1,71 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Name": "PMEM Device 16GB 2 Region Example", + "Id": "PMEM-DIMM4", + "MemoryType": "IntelOptane", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "LRDIMM", + "MemoryMedia": [ + "DRAM", + "NAND" + ], + "CapacityMiB": 16384, + "DataWidthBits": 64, + "BusWidthBits": 72, + "Manufacturer": "???", + "SerialNumber": "1A2B3B", + "PartNumber": "1A2B3D", + "AllowedSpeedsMHz": [ + 2133, + 2400, + 2667 + ], + "FirmwareRevision": "RevAbc", + "FirmwareApiVersion": "ApiAbc", + "VendorID": "vendorX", + "DeviceID": "deviceX", + "SubsystemVendorID": "vendorA", + "SubsystemDeviceID": "deviceA", + "SecurityCapabilities": { + "PassphraseCapable": true, + "SecurityStates": [ + "Enabled", + "Unlocked" + ] + }, + "DeviceLocator": "PROC 1 DIMM 3", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 3, + "Slot": 1 + }, + "ErrorCorrection": "MultiBitECC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "OperatingSpeedMhz": 2400, + "VolatileRegionSizeLimitMiB": 8192, + "PersistentRegionSizeLimitMiB": 8192, + "Regions": [ + { + "RegionId": "1", + "MemoryClassification": "Volatile", + "SizeMiB": 8192, + "PassphraseEnabled": false + }, + { + "RegionId": "2", + "MemoryClassification": "ByteAccessiblePersistent", + "SizeMiB": 8192, + "PassphraseEnabled": false + } + ], + "OperatingMemoryModes": [ + "Volatile", + "PMEM" + ], + "@odata.id": "/redfish/v1/Systems/Config-4-PMEM/Memory/PMEM-DIMM4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/Memory/index.json new file mode 100644 index 00000000..e58ebcaf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/Memory/index.json @@ -0,0 +1,23 @@ +{ + "@odata.etag": "W/\"2A90423A\"", + "@odata.type": "#MemoryCollection.MemoryCollection", + "Description": "Memory DIMM Collection", + "Name": "Memory DIMM Collection", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/Config-4-PMEM/Memory/PMEM-DIMM1" + }, + { + "@odata.id": "/redfish/v1/Systems/Config-4-PMEM/Memory/PMEM-DIMM2" + }, + { + "@odata.id": "/redfish/v1/Systems/Config-4-PMEM/Memory/PMEM-DIMM3" + }, + { + "@odata.id": "/redfish/v1/Systems/Config-4-PMEM/Memory/PMEM-DIMM4" + } + ], + "@odata.id": "/redfish/v1/Systems/Config-4-PMEM/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-5/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-5/index.json new file mode 100644 index 00000000..5fe211bd --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-5/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#MemoryChunks.v1_7_0.MemoryChunks", + "Name": "Memory Chunk on PMEM Devices - Persistent", + "Id": "PMEM-Persistent-5", + "MemoryChunkSizeMiB": 32768, + "AddressRangeType": "PMEM", + "IsMirrorEnabled": false, + "IsSpare": false, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterleaveSets": [ + { + "Memory": { + "@odata.id": "/redfish/v1/Systems/Config-4-PMEM/Memory/PMEM-DIMM1" + }, + "RegionId": "2" + }, + { + "Memory": { + "@odata.id": "/redfish/v1/Systems/Config-4-PMEM/Memory/PMEM-DIMM2" + }, + "RegionId": "2" + }, + { + "Memory": { + "@odata.id": "/redfish/v1/Systems/Config-4-PMEM/Memory/PMEM-DIMM3" + }, + "RegionId": "2" + }, + { + "Memory": { + "@odata.id": "/redfish/v1/Systems/Config-4-PMEM/Memory/PMEM-DIMM4" + }, + "RegionId": "2" + } + ], + "@odata.id": "/redfish/v1/Systems/Config-4-PMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-5", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/MemoryDomains/PMEM-1/MemoryChunks/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/MemoryDomains/PMEM-1/MemoryChunks/index.json new file mode 100644 index 00000000..1a9d1333 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/MemoryDomains/PMEM-1/MemoryChunks/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryChunksCollection.MemoryChunksCollection", + "Name": "Memory Chunks Collection for PMEM Devices Domain", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/Config-4-PMEM/MemoryDomains/PMEM-1/MemoryChunks/PMEM-Persistent-5" + } + ], + "@odata.id": "/redfish/v1/Systems/Config-4-PMEM/MemoryDomains/PMEM-1/MemoryChunks", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/MemoryDomains/PMEM-1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/MemoryDomains/PMEM-1/index.json new file mode 100644 index 00000000..a0184f9e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/MemoryDomains/PMEM-1/index.json @@ -0,0 +1,58 @@ +{ + "@odata.type": "#MemoryDomain.v1_5_1.MemoryDomain", + "Name": "Memory Domain - PMEM Devices configured not interleaved", + "Id": "PMEM-1", + "MemoryChunks": { + "@odata.id": "/redfish/v1/Systems/Config-4-PMEM/MemoryDomains/PMEM-1/MemoryChunks" + }, + "AllowsMemoryChunkCreation": true, + "AllowsBlockProvisioning": false, + "InterleavableMemorySets": [ + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Systems/Config-4-PMEM/Memory/PMEM-DIMM1" + }, + { + "@odata.id": "/redfish/v1/Systems/Config-4-PMEM/Memory/PMEM-DIMM2" + }, + { + "@odata.id": "/redfish/v1/Systems/Config-4-PMEM/Memory/PMEM-DIMM3" + }, + { + "@odata.id": "/redfish/v1/Systems/Config-4-PMEM/Memory/PMEM-DIMM4" + } + ] + }, + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Systems/Config-4-PMEM/Memory/PMEM-DIMM1" + } + ] + }, + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Systems/Config-4-PMEM/Memory/PMEM-DIMM2" + } + ] + }, + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Systems/Config-4-PMEM/Memory/PMEM-DIMM3" + } + ] + }, + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Systems/Config-4-PMEM/Memory/PMEM-DIMM4" + } + ] + } + ], + "@odata.id": "/redfish/v1/Systems/Config-4-PMEM/MemoryDomains/PMEM-1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/MemoryDomains/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/MemoryDomains/index.json new file mode 100644 index 00000000..527fbbfc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/MemoryDomains/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryDomainCollection.MemoryDomainCollection", + "Name": "Memory Domains Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/Config-4-PMEM/MemoryDomains/PMEM-1" + } + ], + "@odata.id": "/redfish/v1/Systems/Config-4-PMEM/MemoryDomains", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/README.md b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/README.md new file mode 100644 index 00000000..372bc74a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/README.md @@ -0,0 +1,9 @@ +Mockup of AEP NVDIMMs configuration after Config-AEP-4.json request. + +Memory shows all four PMEM Devices with new volatile and persistent regions of 8GiB each. + +The MemoryDomainCollection shows the same MemoryDomain with the same MemoryChunksCollection. + +The MemoryChunksCollection shows only the new MemoryChunk with all 4 PMEM Devices with the new PMEM Region interleaved. + +Note that there is no MemoryChunk created for the Volatile Regions. diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/index.json new file mode 100644 index 00000000..cd3cb45d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-4-PMEM/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "Config-4-PMEM", + "Name": "Memory Subsystem Example", + "SystemType": "Physical", + "UUID": "00000000-0000-0000-0000-000000000000", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PowerState": "On", + "Memory": { + "@odata.id": "/redfish/v1/Systems/Config-4-PMEM/Memory" + }, + "MemoryDomains": { + "@odata.id": "/redfish/v1/Systems/Config-4-PMEM/MemoryDomains" + }, + "@odata.id": "/redfish/v1/Systems/Config-4-PMEM", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-PMEM-2 b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-PMEM-2 new file mode 100644 index 00000000..793a5f91 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-PMEM-2 @@ -0,0 +1,25 @@ + + +POST Body 1 PMEM for AEP 1 +{ + "MemoryChunkSizeMiB":4096, + "AddressRangeType": "PMEM", + "InterleaveSets": [ + { + "Memory" : {"@odata.id": "/redfish/v1/Systems/1/Memory/1"} + } + ] +} + +POST Body 2 PMEM for AEP 2 +{ + "MemoryChunkSizeMiB":4096, + "AddressRangeType": "PMEM", + "InterleaveSets": [ + { + "Memory" : {"@odata.id": "/redfish/v1/Systems/1/Memory/2"} + } + ] +} + + diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-PMEM-3 b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-PMEM-3 new file mode 100644 index 00000000..831e921e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-PMEM-3 @@ -0,0 +1,17 @@ + + +POST Body 1 +{ + "MemoryChunkSizeMiB": 8192, + "AddressRangeType": "PMEM", + "InterleaveSets": [ + { + "Memory" : { "@odata.id": "/redfish/v1/Systems/1/Memory/1"}, + }, + { + "Memory" : { "@odata.id": "/redfish/v1/Systems/1/Memory/2"}, + } + ] +} + + diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-PMEM-4 b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-PMEM-4 new file mode 100644 index 00000000..02f7084e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/Config-PMEM-4 @@ -0,0 +1,23 @@ + + +POST Body 1 +{ + "MemoryChunkSizeMiB": 32768, + "AddressRangeType": "PMEM", + "InterleaveSets": [ + { + "Memory" : { "@odata.id": "/redfish/v1/Systems/1/Memory/1"}, + }, + { + "Memory" : { "@odata.id": "/redfish/v1/Systems/1/Memory/2"}, + }, + { + "Memory" : { "@odata.id": "/redfish/v1/Systems/1/Memory/3"}, + }, + { + "Memory" : { "@odata.id": "/redfish/v1/Systems/1/Memory/4"}, + } + ] +} + + diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/InitialBoot/Memory/PMEM-DIMM1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/InitialBoot/Memory/PMEM-DIMM1/index.json new file mode 100644 index 00000000..27f292a8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/InitialBoot/Memory/PMEM-DIMM1/index.json @@ -0,0 +1,69 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Name": "PMEM Device 16GB all volatile initial boot Example", + "Id": "PMEM-DIMM1", + "MemoryType": "IntelOptane", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "LRDIMM", + "MemoryMedia": [ + "DRAM", + "NAND" + ], + "CapacityMiB": 16384, + "DataWidthBits": 64, + "BusWidthBits": 72, + "Manufacturer": "???", + "SerialNumber": "1A2B3B", + "PartNumber": "1A2B3D", + "AllowedSpeedsMHz": [ + 2133, + 2400, + 2667 + ], + "FirmwareRevision": "RevAbc", + "FirmwareApiVersion": "ApiAbc", + "VendorID": "vendorX", + "DeviceID": "deviceX", + "SubsystemVendorID": "vendorA", + "SubsystemDeviceID": "deviceA", + "SecurityCapabilities": { + "PassphraseCapable": true, + "SecurityStates": [ + "Enabled", + "Unlocked" + ] + }, + "DeviceLocator": "PROC 1 DIMM 1", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "ErrorCorrection": "MultiBitECC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "OperatingSpeedMhz": 2400, + "VolatileRegionSizeLimitMiB": 16384, + "PersistentRegionSizeLimitMiB": 0, + "VolatileSizeMiB": 16384, + "NonVolatileSizeMiB": 0, + "AllocationIncrementMiB": 1024, + "AllocationAlignmentMiB": 1024, + "Regions": [ + { + "RegionId": "1", + "MemoryClassification": "Volatile", + "SizeMiB": 16384, + "PassphraseEnabled": false + } + ], + "OperatingMemoryModes": [ + "Volatile", + "PMEM" + ], + "@odata.id": "/redfish/v1/Systems/InitialBoot/Memory/PMEM-DIMM1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/InitialBoot/Memory/PMEM-DIMM2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/InitialBoot/Memory/PMEM-DIMM2/index.json new file mode 100644 index 00000000..12d2f572 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/InitialBoot/Memory/PMEM-DIMM2/index.json @@ -0,0 +1,67 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Name": "PMEM Device 16GB all volatile initial boot Example", + "Id": "PMEM-DIMM2", + "MemoryType": "IntelOptane", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "LRDIMM", + "MemoryMedia": [ + "DRAM", + "NAND" + ], + "CapacityMiB": 16384, + "DataWidthBits": 64, + "BusWidthBits": 72, + "Manufacturer": "???", + "SerialNumber": "1A2B3B", + "PartNumber": "1A2B3D", + "AllowedSpeedsMHz": [ + 2133, + 2400, + 2667 + ], + "FirmwareRevision": "RevAbc", + "FirmwareApiVersion": "ApiAbc", + "VendorID": "vendorX", + "DeviceID": "deviceX", + "SubsystemVendorID": "vendorA", + "SubsystemDeviceID": "deviceA", + "SecurityCapabilities": { + "PassphraseCapable": true, + "SecurityStates": [ + "Enabled", + "Unlocked" + ] + }, + "DeviceLocator": "PROC 1 DIMM 2", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 2, + "Slot": 1 + }, + "ErrorCorrection": "MultiBitECC", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "OperatingSpeedMhz": 2400, + "VolatileRegionSizeLimitMiB": 8192, + "PersistentRegionSizeLimitMiB": 8192, + "AllocationIncrementMiB": 1024, + "AllocationAlignmentMiB": 1024, + "Regions": [ + { + "RegionId": "1", + "MemoryClassification": "Volatile", + "SizeMiB": 16384, + "PassphraseEnabled": false + } + ], + "OperatingMemoryModes": [ + "Volatile", + "PMEM" + ], + "@odata.id": "/redfish/v1/Systems/InitialBoot/Memory/PMEM-DIMM2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/InitialBoot/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/InitialBoot/Memory/index.json new file mode 100644 index 00000000..acaf7ae3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/InitialBoot/Memory/index.json @@ -0,0 +1,17 @@ +{ + "@odata.etag": "W/\"2A90423A\"", + "@odata.type": "#MemoryCollection.MemoryCollection", + "Description": "Memory DIMM Collection", + "Members@odata.count": 2, + "Name": "Memory DIMM Collection", + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/InitialBoot/Memory/PMEM-DIMM1" + }, + { + "@odata.id": "/redfish/v1/Systems/InitialBoot/Memory/PMEM-DIMM2" + } + ], + "@odata.id": "/redfish/v1/Systems/InitialBoot/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/InitialBoot/MemoryDomains/PMEM-2/MemoryChunks/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/InitialBoot/MemoryDomains/PMEM-2/MemoryChunks/index.json new file mode 100644 index 00000000..59f37075 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/InitialBoot/MemoryDomains/PMEM-2/MemoryChunks/index.json @@ -0,0 +1,8 @@ +{ + "@odata.type": "#MemoryChunksCollection.MemoryChunksCollection", + "Name": "Memory Chunks Collection for PMEM Devices Domain", + "Members@odata.count": 0, + "Members": [], + "@odata.id": "/redfish/v1/Systems/InitialBoot/MemoryDomains/PMEM-2/MemoryChunks", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/InitialBoot/MemoryDomains/PMEM-2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/InitialBoot/MemoryDomains/PMEM-2/index.json new file mode 100644 index 00000000..8d6b15d1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/InitialBoot/MemoryDomains/PMEM-2/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#MemoryDomain.v1_5_1.MemoryDomain", + "Name": "Memory Domain - Initial PMEM devices with empty Memory Chunks", + "Id": "PMEM-2", + "MemoryChunks": { + "@odata.id": "/redfish/v1/Systems/InitialBoot/MemoryDomains/PMEM-2/MemoryChunks" + }, + "AllowsMemoryChunkCreation": true, + "AllowsBlockProvisioning": false, + "InterleavableMemorySets": [ + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Systems/InitialBoot/Memory/PMEM-DIMM1" + }, + { + "@odata.id": "/redfish/v1/Systems/InitialBoot/Memory/PMEM-DIMM2" + } + ] + }, + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Systems/InitialBoot/Memory/PMEM-DIMM1" + } + ] + }, + { + "MemorySet": [ + { + "@odata.id": "/redfish/v1/Systems/InitialBoot/Memory/PMEM-DIMM2" + } + ] + } + ], + "@odata.id": "/redfish/v1/Systems/InitialBoot/MemoryDomains/PMEM-2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/InitialBoot/MemoryDomains/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/InitialBoot/MemoryDomains/index.json new file mode 100644 index 00000000..3c13dc80 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/InitialBoot/MemoryDomains/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#MemoryDomainCollection.MemoryDomainCollection", + "Name": "Memory Domains Collection with one entry, initial PMEM Device config all volatile", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/InitialBoot/MemoryDomains/PMEM-2" + } + ], + "@odata.id": "/redfish/v1/Systems/InitialBoot/MemoryDomains", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/InitialBoot/README.md b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/InitialBoot/README.md new file mode 100644 index 00000000..6c399ebc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/InitialBoot/README.md @@ -0,0 +1,4 @@ +This mockup shows the configuration of PMEM devices in a system at initial boot. +A real server would have DIMMs, but they are not included in this mock-up for simplicity. + +Configuration requires a POST to the MemoryChunksCollection referenced in a MemoryDomain. The mockup shows a MemoryDomainsCollection with a MemoryDomain with InterleaveableSets for interleave and for each individual PMEM device for no interleave with a reference to a MemoryChunksCollection that is empty, to allow the user to do the POST to the empty MemoryChunksCollection to configure regions and chunks on the PMEM devices. diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/InitialBoot/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/InitialBoot/index.json new file mode 100644 index 00000000..64a7bebb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/InitialBoot/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Name": "Memory Subsystem Example", + "SystemType": "Physical", + "UUID": "00000000-0000-0000-0000-000000000000", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PowerState": "On", + "Memory": { + "@odata.id": "/redfish/v1/Systems/InitialBoot/Memory" + }, + "Id": "InitialBoot", + "@odata.id": "/redfish/v1/Systems/InitialBoot", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/PMEM b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/PMEM new file mode 100644 index 00000000..8e6988a6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/PMEM @@ -0,0 +1,31 @@ +{ + "@odata.context": "/redfish/v1/$metadata#Task.Task", + "@odata.etag": "W/\"D64309E0\"", + "@odata.id": "/redfish/v1/TaskService/Tasks/1/", + "@odata.type": "#Task.v1_4_3.Task", + "Id": "1", + "Description": "PMEM Task", + "HTTPOperation": "POST", + "JSONBody": { + "AddressRangeType": "PMEM", + "MemoryChunkSizeMiB": 32768, + "InterleaveSets": [ + { + "Memory": { + "@odata.id": "/redfish/v1/Systems/1/Memory/1/" + } + }, + { + "Memory": { + "@odata.id": "/redfish/v1/Systems/1/Memory/2/" + } + } + ] + }, + "Messages": [], + "Name": "Task", + "StartTime": "2018-07-25T20:59:19Z", + "TargetURI": "/redfish/v1/Systems/1/MemoryDomains/PROC1MemoryDomain/MemoryChunks/", + "TaskMonitorURI": "/redfish/v1/TaskService/TaskMonitors/1/", + "TaskState": "New" +} diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/PMEM-AllPMEMMem b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/PMEM-AllPMEMMem new file mode 100644 index 00000000..c4c710b7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/PMEM-AllPMEMMem @@ -0,0 +1,14 @@ +POST Body for 100 percent persistent interleaved across both PMEM Devices +{ + "AddressRangeType": "PMEM", + "MemoryChunkSizeMiB": "32768", + "InterleaveSets": [ + { + "Memory" : { "@odata.id": "/redfish/v1/Systems/1/Memory/1"}, + }, + { + "Memory" : { "@odata.id": "/redfish/v1/Systems/1/Memory/2"}, + } + ] +} + diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/README.md b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/README.md new file mode 100644 index 00000000..5d8c10d9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/README.md @@ -0,0 +1,187 @@ + # Configuring Persistent Memory + +This mockup shows how to report and configure Persistent Memory DIMMs (PMEM) that support being configured as Volatile, Persistent or both, using POST and DELETE methods and the MemoryDomains, MemoryChunks and their associated collections. It also assumes that the POST/DELETE methods will only take affect after a reboot, so the requests are tracked via Tasks. + +This mockup does not include PATCH or reporting MemoryDomains or MemoryChunks for volatile memory, only persistent. It does include reporting Regions for Volatile memory. + +This mockup assumes that any capacity on a PMEM device not configured as Persistent will be allocated as volatile. An alternative mockup could assume any compacity on a PMEM device not configured as Persistent will be left unconfigured, thus no Volatile Regions created in response to a POST to create a persistent MemoryChunk that does not consume all of the PMEM device capacity. + +To create a MemoryChunk and Regions required, POST a MemoryChunk to the MemoryChunkCollection in a specific MemoryDomain. In the POST, one of the InterleaveableSets in the MemoryDomain must be included as the InterleaveSets in the POST. + +To delete a MemoryChunk, DELETE the MemoryChunk from the MemoryChunkCollection. Deleting a MemoryChunk will result in the corresponding Regions in the Memory instances being removed. + +### MemoryChunk POST properties +- `AddressRangeType`: required +- `MemoryChunkSizeMiB`: optional, default value is 0. Maximum is the sum total of the CapacityMiB of each Memory in the InterleaveSets. +- `IsMirrorEnabled`: optional, default value is false +- `IsSpare`: optional, default is false +- `InterleaveSets`: required. Must match one of the `InterleavableMemorySets` in the corresponding MemoryDomain. + +## Configuration Tasks +Since the POST and DELETE may not take affect until after a reboot, this mockup shows use of a Task for each request. This mockup assumes all the Tasks will be processed, in order, after reboot and the Task status will be updated. PATCH to the MemoryChunk are not part of this mockup, so changes to the configuration must DELETE the MemoryChunk and re-create it. + +## Configuration Sequencing +In this mockup, the intent of configuration will only be inferred from the sequence in which the requests are made. As such, any DELETE requests must precede any POST requests relating to MemoryDomains on the same socket. A DELETE request and a POST request may be done in the same reboot as long as they follow this rule. + +### Example 1 for Sequencing + +Example configuration is 2 PMEM devices, A1 and A2, of 16GiB each on a single socket on the same memory controller with 2 MemoryChunks, MC1 and MC2, configured for 100% persistent memory non-interleaved. + +**Goal**: Reconfigure these 2 PMEM devices to be 100% persistent memory interleaved. + +**Solution**: The user would first issue a DELETE request on MC1 and a separate DELETE request on MC2. This would create 2 New tasks in the task queue. The user would then issue a POST request on that MemoryDomain including DIMMs A1 and A2 in the corresponding InterleaveSets with a MemoryChunkSizeMiB of 32GiB. This would result in 3 New tasks in the task queue to be consumed on reboot. See details steps below: + +1. Delete MC1 + 1. Operation: DELETE + 1. Path: `/redfish/v1/Systems/1/MemoryDomains/PROC1MemoryDomain/MemoryChunks/MC1` +1. Delete MC2 + 1. Operation: DELETE + 1. Path: `/redfish/v1/Systems/1/MemoryDomains/PROC1MemoryDomain/MemoryChunks/MC2` +1. Create new configuration: All persistent + 1. Operation: POST + 1. Path: `/redfish/v1/Systems/1/MemoryDomains/PROC1MemoryDomain/MemoryChunks` + 1. Body: + ```json + { + "AddressRangeType": "PMEM", + "MemoryChunkSizeMiB": 32768, + "InterleaveSets": [ + { + "Memory": { + "@odata.id": "/redfish/v1/Systems/1/Memory/A1/" + } + }, + { + "Memory": { + "@odata.id": "/redfish/v1/Systems/1/Memory/A2/" + } + } + ] + } + ``` +1. Reboot system to apply + + +### Example 2 for Sequencing +Example configuration is 2 PMEM devices, A1 and A2, of 16GiB each on a single socket on the same memory controller with 2 MemoryChunks, MC1 and MC2, configured for 100% persistent memory non-interleaved. Also, 2 PMEM devices, B1 and B2, of 16GiB each on a single socket (separate than A1 and A2) on the same memory controller with 2 MemoryChunks, MC3 and MC4, configured for 100% persistent memory non-interleaved. + +**Goal**: Reconfigure these 4 PMEM devices to be 50% persistent memory non-interleaved. + +**Solution**: The user would first issue separate DELETE requests on MC1, MC2, MC3 and MC4. This would create 4 New tasks in the task queue. The user would then issue a POST request on the MemoryDomain corresponding to A1 with A1 in the corresponding InterleaveSets a MemoryChunkSizeMiB of 16GiB. The user would repeat this POST request on the MemoryDomains corresponding to A2, B1 and B2 with each of those respective DIMMs in their own InterleaveSets. This would result in 8 New tasks in the task queue that would be consumed on reboot. See detailed steps below: + +1. Delete MC1 + 1. Operation: DELETE + 1. Path: `/redfish/v1/Systems/1/MemoryDomains/PROC1MemoryDomain/MemoryChunks/MC1` +1. Delete MC2 + 1. Operation: DELETE + 1. Path: `/redfish/v1/Systems/1/MemoryDomains/PROC1MemoryDomain/MemoryChunks/MC2` +1. Delete MC3 + 1. Operation: DELETE + 1. Path: `/redfish/v1/Systems/1/MemoryDomains/PROC2MemoryDomain/MemoryChunks/MC3` +1. Delete MC4 + 1. Operation: DELETE + 1. Path: `/redfish/v1/Systems/1/MemoryDomains/PROC2MemoryDomain/MemoryChunks/MC4` +1. Create new configuration using MemoryChunkSizePercentage for A1. + 1. Operation: POST + 1. Path: `/redfish/v1/Systems/1/MemoryDomains/PROC1MemoryDomain/MemoryChunks` + 1. Body: + ```json + { + "AddressRangeType": "PMEM", + "MemoryChunkSizeMiB": 16384, + "InterleaveSets": [ + { + "Memory": { + "@odata.id": "/redfish/v1/Systems/1/Memory/A1/" + } + } + ] + } + ``` +1. Create new configuration using MemoryChunkSizePercentage for A2. + 1. Operation: POST + 1. Path: `/redfish/v1/Systems/1/MemoryDomains/PROC1MemoryDomain/MemoryChunks` + 1. Body: + ```json + { + "AddressRangeType": "PMEM", + "MemoryChunkSizeMiB": 16384, + "InterleaveSets": [ + { + "Memory": { + "@odata.id": "/redfish/v1/Systems/1/Memory/A2/" + } + } + ] + } + ``` +1. Create new configuration using MemoryChunkSizePercentage for B1. + 1. Operation: POST + 1. Path: `/redfish/v1/Systems/1/MemoryDomains/PROC2MemoryDomain/MemoryChunks` + 1. Body: + ```json + { + "AddressRangeType": "PMEM", + "MemoryChunkSizeMiB": 16384, + "InterleaveSets": [ + { + "Memory": { + "@odata.id": "/redfish/v1/Systems/1/Memory/B1/" + } + } + ] + } + ``` +1. Create new configuration using MemoryChunkSizePercentage for B2. + 1. Operation: POST + 1. Path: `/redfish/v1/Systems/1/MemoryDomains/PROC2MemoryDomain/MemoryChunks` + 1. Body: + ```json + { + "AddressRangeType": "PMEM", + "MemoryChunkSizeMiB": 16384, + "InterleaveSets": [ + { + "Memory": { + "@odata.id": "/redfish/v1/Systems/1/Memory/B2/" + } + } + ] + } + ``` +1. Reboot system to apply changed staged in iLO. + +**Alternate Solution**: The user would first issue a DELETE request on MC1 (MemoryChunk corresponding to A1). Then the user would then issue a POST request on the MemoryDomain corresponding to A1 with A1 in the corresponding InterleaveSets and a MemoryChunkSizeMiB of 16GiB. The user would repeat this process for MC2, MC3 and MC4. This would result in 8 New tasks in the task queue that would be consumed on reboot. + +## Examples in this Repository + +Example configuration is 2 PMEM devices of 16GiB each on a single socket on the same memory controller. + +### InitialBoot +InitialBoot shows the Memory and MemoryDomain mock-up before the POST described below. Initial configuration for PMEM devices will be all volatile. This mockup does not include MemoryDomains or MemoryChunks for normal volatile DIMMs and will only show a MemoryDomain collection with a MemoryDomain including an InterleaveableSet for interleaving and an InterleaveableSet for no interleaving for the PMEM devices. The MemoryDomain needs a reference to a MemoryChunksCollection with no members to allow configuration via a POST to the MemoryChunksCollection. A POST request to a collection can only create a single Member. To create multiple new Members, multiple POST requests are required. + +InitialBoot shows the Memory and MemoryDomain at initial boot with all the PMEM devices configured as volatile. It includes one MemoryDomain showing both PMEM devices in one InterleavableSet and each PMEM device in their own InterleaveableSet. + +![Initial.png](https://github.com/DMTF/Redfish/blob/Fix-3555/mockups/public-pmem-configuration/_artwork/Initial.png?raw=true) + +### Config-PMEM-2 +Config-PMEM-2.json shows an example of two POSTs to the MemoryChunkCollection, one for each PMEM in the Memory Domain to create Memory Chunks not interleaved on each PMEM, PMEM Memory Chunk of size 4096 MiB. The remaining capacity, 122288MiB, will be configured as volatile. When the POST is processed, Regions will be allocated as appropriate with no interleaving for the PMEM Memory Chunk. This POST will result in the mockup Config-2-PMEM. + +![Config-2.png](https://github.com/DMTF/Redfish/blob/Fix-3555/mockups/public-pmem-configuration/_artwork/Config-2.png?raw=true) + +### Config-PMEM-3 +Config-PMEM-3.json shows an example of one POST to the MemoryChunkCollection in the Memory Domain to create a PMEM Memory Chunk of size 8192 MiB interleaved across both PMEM Devices. The remaining 8192 MiB will be allocated as volatile. This POST will fail unless the caller performs a **DELETE** of the persistent MemoryChunk created with Config-PMEM-2.json. Regions will be allocated as appropriate. This POST will result in the mockup Config-3-PMEM. + +![Config-3.png](https://github.com/DMTF/Redfish/blob/Fix-3555/mockups/public-pmem-configuration/_artwork/Config-3.png?raw=true) + +### AddPMEM +AddPMEM shows a mockup of the same configuration as Config-3-PMEM with two new unconfigured 16GiB PMEM devices added on +the same memory controller. + +![Add-PMEM.png](https://github.com/DMTF/Redfish/blob/Fix-3555/mockups/public-pmem-configuration/_artwork/Add-PMEM.png?raw=true) + +### Config-PMEM-4 +Config-PMEM-4.json shows an example of one POST to the MemoryChunkCollection in the Memory Domain to reconfigure all four PMEM devices as 32GiB persistent interleaved across all 4 PMEM devices. The remaining 32GiB will be configured volatile. This requires a POST for a Memory Chunk of 32GiB persistent. The existing MemoryChunks will need to be deleted before this POST can be submitted. This POST will result in the mockup Config-4-PMEM. + +![Config-4.png](https://github.com/DMTF/Redfish/blob/Fix-3555/mockups/public-pmem-configuration/_artwork/Config-4.png?raw=true) + diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/index.json new file mode 100644 index 00000000..c200a031 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/Systems/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#ComputerSystemCollection.ComputerSystemCollection", + "Name": "Computer System Collection", + "Members@odata.count": 5, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/AddPMEM" + }, + { + "@odata.id": "/redfish/v1/Systems/Config-2-PMEM" + }, + { + "@odata.id": "/redfish/v1/Systems/Config-3-PMEM" + }, + { + "@odata.id": "/redfish/v1/Systems/Config-4-PMEM" + }, + { + "@odata.id": "/redfish/v1/Systems/InitialBoot" + } + ], + "@odata.id": "/redfish/v1/Systems", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/TaskService/README.md b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/TaskService/README.md new file mode 100644 index 00000000..4b6cbe36 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/TaskService/README.md @@ -0,0 +1,23 @@ +## TaskService +This TaskService contains the example Task for **PMEM-AllMem**. The TaskService describes the overall task implemented functionality, policies, enabled, etc. and is the starting link to get to the actual Task Resources. + +From Redfish School - Tasks: +> * Any operation could end up as an Asynchronous Operation +> * If the operation has been accepted for processing, a 202 can be returned. This mean a +> Task has been started to complete the request +> * The “Location” header is set to the URI of a Task Monitor. +> * There may also be a “Retry-After” header to specify the amount of time the client should wait before querying the Task Monitor +> * The Response Body should contain the Task Resource and not the expected Resource. +>* What is a Task Monitor? +> * The Task Monitor is used by the Client to get the Response Body of the actual operation. +> * While the operation is going on, a 202 will be returned. +> * When the operation is finished, the Response Body will be returned with the content the same as if the Request had been synchronous. +>* What’s the Task Resource for then? +> * The Task Resource can be used by entities other than the client to track the operation. +> * The Client can use either the Task Resource or the Task Monitor, but the Task Monitor is probably preferable since it would have the expected Response Body but the Task Resource will not. +> * Canceling is done via the DELETE operation +> * To either the Task Resource or the Task Monitor + +**For more information**: +- [Redfish School - Tasks](https://www.dmtf.org/sites/default/files/Redfish%20School%20-%20Tasks_1.pdf) +- [Redfish Schema Index](https://redfish.dmtf.org/redfish/schema_index) diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/TaskService/TaskMonitors/1/README.md b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/TaskService/TaskMonitors/1/README.md new file mode 100644 index 00000000..b91cb690 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/TaskService/TaskMonitors/1/README.md @@ -0,0 +1,8 @@ +## TaskMonitor + +What is a Task Monitor? + - The Task Monitor is used by the Client to get the Response Body of the actual operation. + - While the operation is going on, a 202 will be returned. + - When the operation is finished, the Response Body will be returned with the content the same as if the Request had been synchronous. + +The Task Monitor is a URL returned after a Task has been created, and is used by the clients to poll and see when the task has completed (GET on the task monitor URL) diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/TaskService/TaskMonitors/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/TaskService/TaskMonitors/1/index.json new file mode 100644 index 00000000..24793b53 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/TaskService/TaskMonitors/1/index.json @@ -0,0 +1,18 @@ +{ + "@odata.etag": "W/\"6AE0F1F9\"", + "@odata.type": "#Task.v1_7_4.Task", + "Id": "2", + "Description": "PMEM Task", + "Payload": { + "HttpOperation": "POST", + "TargetUri": "/redfish/v1/Systems/InitialBoot/MemoryDomains/PMEM-2/MemoryChunks/", + "JsonBody": "{ \"AddressRangeType\": \"PMEM\",\"MemoryChunkSizeMib\": \"16384\",\"InterleaveSets\": [{\"Memory\": {\"@odata.id\": \"/redfish/v1/Systems/InitialBoot/Memory/PMEM-DIMM1/\"}},{\"Memory\": {\"@odata.id\": \"/redfish/v1/Systems/InitialBoot/Memory/PMEM-DIMM2/\"}}]}" + }, + "Messages": [], + "Name": "Task", + "StartTime": "2018-07-26T15:01:22Z", + "TaskMonitor": "/redfish/v1/TaskService/TaskMonitors/1/", + "TaskState": "Starting", + "@odata.id": "/redfish/v1/TaskService/Tasks/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/TaskService/Tasks/1/README.md b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/TaskService/Tasks/1/README.md new file mode 100644 index 00000000..a02778fc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/TaskService/Tasks/1/README.md @@ -0,0 +1,5 @@ +# Task: PMEM-AllMem + +This resource contains information about a specific Task scheduled by or being executed by a Redfish service's Task Service. Unlike the TaskMonitor, the Task resource will return a response with status 200 OK, which is not related to the status of the operation. + +This Task is for **PMEM-AllMem**. The status is New when first created, then Pending while waiting for reboot, and then Complete aftert reboot configures the PMEM. diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/TaskService/Tasks/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/TaskService/Tasks/1/index.json new file mode 100644 index 00000000..20cd6150 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/TaskService/Tasks/1/index.json @@ -0,0 +1,18 @@ +{ + "@odata.etag": "W/\"7A9A7ABE\"", + "@odata.type": "#Task.v1_7_4.Task", + "Id": "1", + "Description": "PMEM Task", + "Payload": { + "HttpOperation": "POST", + "TargetUri": "/redfish/v1/Systems/InitialBoot/MemoryDomains/PMEM-2/MemoryChunks", + "JsonBody": "{ \"AddressRangeType\": \"PMEM\",\"MemoryChunkSizeMib\": \"16384\",\"InterleaveSets\": [{\"Memory\": {\"@odata.id\": \"/redfish/v1/Systems/InitialBoot/Memory/PMEM-DIMM1\"}},{\"Memory\": {\"@odata.id\": \"/redfish/v1/Systems/InitialBoot/Memory/PMEM-DIMM2\"}}]}" + }, + "Messages": [], + "Name": "Task", + "StartTime": "2018-07-26T15:01:22Z", + "TaskMonitor": "/redfish/v1/TaskService/TaskMonitors/1", + "TaskState": "Pending", + "@odata.id": "/redfish/v1/TaskService/Tasks/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/TaskService/Tasks/README.md b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/TaskService/Tasks/README.md new file mode 100644 index 00000000..62d05a55 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/TaskService/Tasks/README.md @@ -0,0 +1,2 @@ +## Task Collection +The Task Collection containing a list of all the Tasks diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/TaskService/Tasks/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/TaskService/Tasks/index.json new file mode 100644 index 00000000..27b2ec52 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/TaskService/Tasks/index.json @@ -0,0 +1,14 @@ +{ + "@odata.etag": "W/\"AA6D42B0\"", + "@odata.type": "#TaskCollection.TaskCollection", + "Description": "PMEM Tasks", + "Name": "Tasks", + "Members": [ + { + "@odata.id": "/redfish/v1/TaskService/Tasks/1" + } + ], + "Members@odata.count": 1, + "@odata.id": "/redfish/v1/TaskService/Tasks", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/TaskService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/TaskService/index.json new file mode 100644 index 00000000..7caa62e1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/TaskService/index.json @@ -0,0 +1,21 @@ +{ + "@odata.etag": "W/\"538CCB4A\"", + "@odata.type": "#TaskService.v1_3_0.TaskService", + "Id": "TaskService", + "CompletedTaskOverWritePolicy": "Manual", + "DateTime": "2018-07-25T21:02:41Z", + "Description": "PMEM Task Service", + "LifeCycleEventOnTaskStateChange": true, + "Name": "Task Service", + "ServiceEnabled": true, + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "Tasks": { + "@odata.id": "/redfish/v1/TaskService/Tasks/" + }, + "@odata.id": "/redfish/v1/TaskService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/_artwork/Add-PMEM.png b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/_artwork/Add-PMEM.png new file mode 100644 index 0000000000000000000000000000000000000000..2537b823e942b1fd34f1c549c75d089894c84438 GIT binary patch literal 21957 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 B6RiLM literal 0 HcmV?d00001 diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/_artwork/Config-2.png b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/_artwork/Config-2.png new file mode 100644 index 0000000000000000000000000000000000000000..140b4da49cdf1b3706fb348def778a8c42d9047f GIT binary patch literal 20047 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 IVvjuk7jW;F!~g&Q literal 0 HcmV?d00001 diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/_artwork/Config-4.png b/test_dependencies/mockups/DSP2043_2026.2/public-pmem-configuration/_artwork/Config-4.png new file mode 100644 index 0000000000000000000000000000000000000000..bdc7044e9cbd972af784f011194c48ec8ccc4659 GIT binary patch literal 21454 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 ?Hw$(*;%9ixrzx@64 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ɒd3Q&_?Yg$V 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ȍD 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 z zF3GUhz3f%&4y-;3V}C#%IA4v9IptvzM71Fkf*JIE?6M` z4xW4w6B|yXe-BbbVL;lT9oo!c^^0PX^gEa?gW*9~FC&0WH&Pv|7cc*+v}8%Fy0Rwe za9)w^2Qw`&UZcr}#s#p>q|9o>lorPK`yz~&Dw3G!DVZ*iG=oTY=h^($zz<5% zpb}L=84SFDKeZEM{uUPtb{zFJnCR0S{E8E1B0)A2JB++X?-K_n17~2!m;T&G+<4nk z{ETL01Gb^ZB>;Y*X`PhqtB})M*e)i*ewVaC?VpsAhE%`2u<8I6kqB)BNiQM9)h_n{?G#e&!#jqx#x;W+o^MjWZYcX5vJu#U zH02l91#G5mk>tlkhjIlUJSytMjfFZYhlfXrT@0a@zdg^q`eW9Ook`qPOMz3MbhkmR zwUguPG5q6j1L8W^OrVpoZ7k@k@RcE|#a$w21bAtkJO(}nayY}&d9eMb2uk>3KTJ)8 zJO=vDKjPdzQA=xz-WmfwIkrKs;8)BCz#jSqB7I>7XmUYU?U9dv#0xHS}mNdIzFEOb+);Jg}<(v^V8*embK!nEPvqV z@rFOzuTNYfLFOCP`S8T`f#3|nV|c43@!XO=UZ`^|+8e^;uS=GMYGa!-&~ut??T?~@ zHX*VBbtbXYiTpA8KGkWr>93sw$iGx7-DY2~y%D%XX&7>wxA`c@oA?!gvtjy}b)d@* zV7(uhJm{PrOSZCEpq|C>Cb6$}!4^gCd5PAOm`T<*3O)qh`YgT=4Gvr2Yzp#PLb2fe z+Hcl2h~GS_aGs92>7qj2`s0fxcRHscC%D8Ppv#s$ngN2t%cR^AqIQ707aX1Ow0}Kt zu8Gb@D>SM>_fj`R=H|n|1fzs9r)(Nn!nt=Q{uc|yvtP{K()k*D?K^-L%t0|Aq$JLJF6r?^9Yyrb|!MQ6QFx9@qY2j_{Ar1r+Fgo{ZfN zS+Z&W008o_^}Rx$Ru#7S6!m(9Ta~+-2hPCL8ReEzY%Zf1kxang%j?&AN9xAwLtt&ZcMd+Vm;shIZae1Ctii%X63>sin|<%{w~<0 z5do28>+;!3nca}Vp8{G))$s;i5>M#ZZ(+_AVia~s+pqTyL#iQ zPl~K9tSuEkaDUA_eP+&Y-|ZuM*Z#!~jbOmRz@DTbdgN$ga}d12iJAdMmh`f9^M%K07kwHm_hA$0yM z7_Df2ydO@i;P;%wyVbVV9&bZ8qUH-^oa79wn;3A~N%S#$HqSr9O1eL6=UM@3}Q zd5F)#(OL}=rT7q+3j#d73Kozq?$1Ys9-R@-Q@?m4dh2tO7@0#KKM7E3BnFOwb_=*j!(qsx^&Xx9BxNA#YZv^ zTBa+Orf8W7#$VouQ0E&_7-Z%7Xm?i4kW`3p%rHDE0eVfB+(FKT-*n5YQ=`Tq{gxaC zCW=q#H~2NELX+w-AF%x4r>p+uap^Hm*4AI@voxDh8a}@GgyZOZWKa>2N_M|NN(DRV zdL7-vZ)f9=+xuhvKI?UsEq9It1& zWL(?2`#Sk{;zqf%m*v!(FEnT6I}F+49E>@bHLmnxgDwzDg@@3QcNqD92IS5mu|A8B zFM)T96AyTTOv^raka#p4m#!PVQ;y!&s&$vm;S4?6KN?%<<3FTYjBf=`Ns+0M1yj&J za8g|o3QNaPRVFg)CLhG^dV;dX?cydl?fINTW-QFZuB(*ST?O$#{Yl?^+yTD&qmfba zReX|SRk~-vl$ML*NS3f>d6fNiYTuTYJ{6^lw2dF>TNo*=w2pm=O$_&OfH&Mi5)n8r zifCi#&y1wv3HI!fSG3`a5q{JxR9R%4&n8@<>n#*#-KTK9cV{LG4sUG%b2ahfYB8oE zyQ){0%INWh6UaYOXx~)D>e2rA1h0~w-sP4lXc0ai_ZETGh>w|P#G7MHk76ou`cY67 zbYs>fM-vaHZyOD7Z$5(5g+Ds~M@2=N^s2~-*F^IfF>Yqd6d=-*O>n zIy3t>_*P=GqN~vPbMr4{1Y-)WINJO0RCr#?sORseN?^E^j|6|y+6rHcf6Y$5)kON_ zoxXd%6QDi0xL#W`sjvo(P~!jiDOV24E8d&RrE3LXfhTZ3D0<2GBHPBXtqR|P8+_ua^S z3B>ew$S5-VFw`0y3+V{tb^=XvS*H|S=v+w|5OSRDVV3r$S-w6?Nqc5&a!u^B_HoTJ z)=Fev(`&K}0`GczGeE^pL70L8P6w-(`$m-2d?{l1N|OZ4s5dzVAT?~N)tYjP3vD~W z$-oUQgD*mtg(GUJyULf!m>gl8Ko1IZs1(|fB1~5t8rIy^&PG81x;gI} z;$Og|{8^4-@ZjGgF}MZ}=Q8sOf4(VD7hL&HbgrD4?QyK2rbII%MOW_G>E->HT*KNM z^N6^eX)$R0qOFM1qq^IoggMV}#?5z^L(mf?5p$Z+s4lGXy3K_6}REjJRG4NNa*Vm*|M~Tp#f5zC1Q)a9kjt}x4@5TCWJySOYbYB zifRi8J<7|ay>|c19k#dFA{6m1z8$MYrfwxr`|qROfhWAy#<_H5u}D0t`d&A>7Q5xz ze}s6Jgz>gqiZzhA#aBCp40^w_oSD_`qvfIj@12SJnQ+4s^oyfM@}@pL*U;OW~d3^ItW92y~{qlpAD=xC!v}l+EF!r!huB zU*{f#Jurxh_u>9}_W$%xEztE-uKf&wwWG-Y;4c|!_kcw-ZECtMRNbuHkw6^Wf0WV^ zlvhR!DjSKCfMe!hZ;iN^oB`re#$?hcG1lK99I@QA0Y9P#pUNm7--3|U_uvii#4Aa*?F+0=V*vIRjvQ7XbQ0+Vh-3fmA3cGNU}0hc zgd6^U*ZEO1hGhFc>--200MM`gi{dhS*TNA65DJbsiD7~36c~l*u#(nXA5|Ks*WsiBiFtcvlz0P>?{U&p=W7Uc21K9Q%Z#)k!E$1!){N1M=cA`>A_lV|e{;F4H-SdVVfSL+r7TgDYuDEHXWm__e|u1rh1ImCL7^{4;#@Ej$kyM^C;mhA-y_rVJi6qLn6Pb?Dh!FIQ>ylK=F|woKljGpJ1iM{NV%G%nhY^r4 zbT1Wa&Xg&6o|&mFyt_|eUr1q0LwuA|-T2}7XmG>fn@N6mVW)S~q$mW>HVDkALVUGy zK~Te=HKxC@SlZaX`#s5=kyxFWJ*q800L)%EtOJhKVPuC*WzyH-d?w1i;MrRq+FzUS z;fPM}f;2yQU19$)tazt4JJg`AXzLh+m%PmkWgxvj+5@#8*YRcjJbiNh2vbVE#?d|K z@^g0va%6#xj0f9Gy#h0oHQ)62TSUF`o>RV(@*zK=r1Zo?GjS!i?qyPF?laKMeGvis z7f|A5xTScv$9pTe`dhgh!jd-6-r5~m>+A3)JnG-?H<4oDgFDc;rw|M3HGI|!_M~FL zi*G760J!)e=n_;AU%v=IEBBqAw`~C20wPv2VGlf;4ErN&)G%*Rs>_dwlLQc~{}@uO zzpeBMDpfaT*>)Vboa))*bt^SXBFAz@U)m%zjau-NsQQ(d%)?{9ElYv`RDu-O40f_n z90g|hpd$Q+%>-&Dr|rBfrdtbc|1|AQDE)LNWQNE7-U1g7k10R)1*WYbmB_9e)u2UW;%rhVfJk-d$ILV1{pe0R zyV5_AnmH`itltQEM?B%FWy*EE@o1AvE|N|*hRGZz3!E(u=mRVYX$hg9-n6*2`_ipA zcT7K8(6qL)DoiGO!mJiFPwc%Drf!wsQLObI-fG$u^cBBGrlH2MY$t1b@}TNcPD#7lWW1jHHLX3|~zwF8nxTtmS zWdSgy)=R5nYV^+YVt5EHs4a^Pq#dDcfzqvd^9Y@2)}$@&)z77OgQ;dYGlv6w4SJT8 zMKmBhAR3ISaxc!Q>5wc4tAk75rZtrU)}9>OKGYH}U8FP%fdTd0aPQqO?lB1FlCkXw zSDN_%Tad5$<)?-E(2yOO7anUP)riFe3;OsL{j;!9Ko}W;u zH$F3{|Gqn%lk-NIe6^lne??g-T5SAiG;iy~Zt30ZL1nE5{=Ff(sZrWY+@1#3%cgYl zIWI`WNB7V{WC43;oBcM9AsvXdFTsY?7)OXs1y`jVb@IFRt$M05%BkwLAsk>|8PDlv zQ&KtNDT)i$k;U|BNY$8mfNe`NSj@Q63D#GjspuMWue|`BuozR&HKFM)g;T2!#z?>o z#^s&z$Eqc4mMqg7(~#*BVFmVs#GLY^O>DE&nLYQ34<~2E0O7rf3#Hzr%)S z40CyMuRh7iM5X7spK7FdN0(^;S?KnU(%ljOs>{!4$ZKu<%1NZ>MefpcgC`J$4aV~1 z$YsBdV2;icHFy!d`h8>$d@}&i3ddioDZ%9&L9w9tV)B*s55B2OFBL3uO#|JN8QwTv zzBBR$O6;E*rktQ*SkgYDtBZ!<1@yy+KDc%btXeogjs?5cG%4qj;XJ+eVEA!e#J%hf ziXWtFaG}o@uF~Z$-W9ryQL84XZ%%#y6S?;ngDjosd`}a~D>Kyjp%AA43e<$WS|mqV zDBKPdZwju2Y+qeO@Mwu=+JqN$%1@{{BuyO)_MS;#_-SMP33CC(UlLGnS2^38Da>51 z`{MrRm(OeC+cLBG8)b457sZ}@+okuB*X`A9oVKh&uq5Nt7A17h;EoKxw$t~tU;W(; z>PPcwS4GpVB!<7c&>+j$6CrCefZIQ!Pd|l6~6S^-dg`@ z<1ADFZQ{yBKgrgJ_g+Y_CcO3jFN&uV_$=Vkxr-H77JqRw9#=eVE#D!2Q|j$ym3nq^ z{mf_GOh0xdqy=E&76JGjcQ$Tq+tzk5Sjzb)gwDJBp!-QQpOqhTVc*SJ?=#T%xGuUs zOv^);XzJsH&uP($d1;Ilt@A3uUYz_4@Gk}Bg|uT_o*JLnW$O&o2Axa`e*q5MgIY$s zfYjDV{d9?Y9)`C(Pr;dp#|p>$pdwED15+ao2Q1acuTt5syy}~I5CZ){&uJJF+N!8( zXZq8D$l3;$B~!ByWJ=*HzX{()ElpQ@i&Trh5x096&jx|qCqHd?oZ+{jY#l91(KEi1 z7g&9{$kL07XGzSU-)S`OW{F<r!Z{=viR9zb}KMWnvF>IW#X?Sj~ zqGOxt`;+N~{t&Yo01ONB2*~6GKEz?e?5VFG*N(ARS(*!QYqYwGa)h4^jF%Nl%)Bc# zf1U;iMsC)75`bv3mAWYyqfg%>U-nwnprFrHa7hIz(J&CekV(_SNf(ot)ZK#J%?t#+ zZ&`h}_Z8!zNGrEl=sh|i{bKG^5;)#I}w~l?CNJz-|+|eXk zvnK3nG~o|_VMAQr$Do-z1iEXEKj;!RYNbSM0$*2lFExviKB=7pc$;kTdGN(u4yS>< zjR~c5PlUL;dqk7}AiBpk#CM}Z&!u9?h+yLvFg1C= zrbOc*tcK}#x=&>t1>&=Pp4F&b!)Zpv27Z-cM^%R{YYxQy@j@;=F!%^F zI)A$A^48W7jWZs1G;tMLD&y3E*biqZV$IzgQpY=(3j|F9K-}rSMW&@zuIwfd03F7%b;> z`Qi&LtTxya_+1HqeA96LmZX)RAq?8~DFNZHnnvw5Nf53Q-I^-j=QgNjxz})OrLsob zbwKlPVQh#5(>|mkDmz6Svq?=LHkFDFD7^r@i0)Irw;sfOhqq0#CXout$qmk;7W@NE zQb3e1Svh{Ffo;yi&9s^zE?uowU{~X*sfpTIQp?cM6S^pK<_Q}x24(js2qz4{b@Pp} z!mmqeTr8|M*>|YY*p})HSrd8eB26FoUHImqe$M4c87K5!C04-OJv6F(U(8SufAzGDJLshnoAopqd?U(wQ`=?z5&^dAoP};poYLtV# zW>565Bs0BlqH=fg_$jwgLp!QGTW3HRV=6r1SXMfjNl=sr^f?2_py)fn-GNSx8eg&~ zgsumz<0z?4?q`2`&~4?4Oy_ughATAoM^D)o#NtBV81Q-?j_|#iLawM_ILB(+1$bz)7Y=H~~2J6dj_7=X>?yEx6ue2=jr{4MO z`!yfs*JwIZgOoyp@mGs4&8{o!$EqpfrP|b#Cn#N^iYdc$b80V)&K^rQ#ny6OjG<)U zjFjI8ZC4Ul{Tq+2;&VU|P1+JA%gS%BZ9W(m4=+~0?M(kLAyiy%5u04)7<3tc24hI3 zOOW_#IJ5I;)#*gNpZxZCi|R?7-kp^5p@V1EXj?cbCKnd4HuReAmxvOijB1sVB&&_U zo7rAs(k)MMP9+h~1TM^W*jG>n@oDALJ@X3d_c-u0CRMrY+o%=@jJfZ8-wLR{5ugS> z_qr$|dn<#_QeJ2$y|$^b^3`u{{_`dc>1e+6rC$_L3#`!VSlEKqUT$U0*!Bp3oTd-6 zl^c5bb_aAtpwy#Hsj~5*=qz?eICIm*0glv1qX`-U>N8J!%B?Yu z(Fu)-J?CRWWV9wTm9mZiU}jjize1ZrU~Rm+Dhp;nbZTp9#O6?9HOkc3>B*(Ro3pQ4 z9%J{6!tM=HB@=^y{|<)@gUS`QYM17?TVdc4fdB5x26d@ViL~5L{zhq4bz!?WyVR%W zA9}IQM2fRqYj&sVs1NH9jOu9cvD#YKyBse;?kGOoo;{`WqgyGWS&3{9y6?0~1%;@IL6&J-h1f6Hgl&n1xn?T-*=RjKY-VJS+Amf?Sw>C`^jIt@s_w*fr2j5?SsUkwmQ7T>Oq-08v=btjj~xUBE<^oIB20%9TPq5R$wKPP?DT2kZsPw1*; zXyM+L+S%~?W>Ftc*LRQ_rYr2w||ek z3z=pHS80QvB0R%K1qZb&r@nkPv>2{cJ1S2ZTlyqS-id84M}m`KR7Dc$b7fifEPb#b zdPs}N?N?esS{X|y=m9|UZw~lgg1RT;x!&zNeckstg zx)KxzkU_qjJWImnMrXU3XXW=O29%3;XQDxGfk!q3F`>~R7Yg12l?BmXczJ(u=yAM65cFPc> z@LDKYw|q=4_-5P4j8UfG6MMQZxaFs2;g#M@%nBlEkZO-7o7y5N(<C%sVY{GM^e zTP47!C`ekL0JcB(W{?%URT`*#WZ|uWkxcm*_cI%pD=Z+>8@{nY1(FuboagtHI%GcC zey`{%PC(Q`R@A%UsD~FVZ0m~%7gXEzyH$l{)Z;6uer;q z+G0D$^_V{gnJ-4GiQtC`w}`iJ$Ot0j%ZZw-np?Jez>_0?IkATol@ILq)4r%+{-9xH zwm<)lM%T?hi+s^r-aW!%q7jS4P`xAzJAa_*1zy}I*Py67BsD~rx1-g5@vA9q59hT; zV4jNQl5Y-npL~%YTZ(#6S04dpnYZ|PEX5N~%MCxM@9u7Gy&=M%b5^}ufRCF@KRsS* zOZwJioR5@CoU-y)b6O6yWa<&{^L=8KKiB()N0NeuBXn#+W}tHYu{38=M;@1KMs{!U zm|b!DcG=?dijRr5*eS^P!YzOGUg+R@k6Wsj3fhmzq^7H*JM;wq3J9OU^hE2WS29lX zydM-xtFQAbUWGZKpCx*Ql}8$6erXOQ)xw`jF~i!k*!ZyvuVc90eaWV18m+#^Pa4d= z?3omwRKdU9TN5y?sU;svc;f%%xD!$h?}*iZSYMY()@Okr*Vy|$BUL_&%G$p@&rKzK z?u)YN3>@nLjrT)mg`_6mbV%15n@U&eV;gyeWP2q zmz%S*?|4i=f!JU5mYc&Q{qIYD#O_7u9j{KNLi$nIXE{N?RjSEGX8%iF6M10bY6MR` z*dbP4M`)V*XO0(N2!%e|$?;;@`30y3ZayAOQt5Nm>0lpPpC}wOlB=jQI*(D5T*NZ+ z7VT!?`K4a(s3{V!;1jV_CRlQ{&*CoYT?x{B;}daP0`-?yPfucA`7U?lsh0D*(cM4a zR|Y1WCwE&&MZy=0D;)zJUKc|l==cbxfu(arxt{Oc&U;?5VtuBI(^tO!c?+RYHM5ksF31`f&3-KgW zRNiXJdjZ3;bYXzju0q=`N;nhL6Bni*pH<6-ipfo}d`;BGoUacb0LeWJE`S2$$|0TQ z@I|&$5D;_T#&0cDMiN<(M{t~XQtnOP%U`BX7IyM-_p4ZvH*2n2hk!eZAo5vu@VHFCdO1XC_c<|%CBvufyC@I1MT(WhDPXYW$3jXczWS8iD7E+3g1 zFg)=S0HFzp7x3qAQT-IZOhz{0Fi`7gmAX?z37UN$9MiduS^zK{~GJbJpuW8-k zwQ6)muFwkVPCI1-;}5MCUp@su_AA8uA5Ov2RlGqR)9=2{?G-P$r(EjrYwPc@J%5SO zc?0oW>IWFTyM2M6<6qgCDNZVd@vR?EDpcHQ@Hzg`(I8-O4=vucx$@(wRkn&jbi`BH zy||{nH$|fb5qCalZXYFmI@cicSivaNC~CS#h7q zAyfaRCi+o(zkFim;VAUUV(gtK7izxe+cOKhHzaG+g(9fvXeDI_Js48A(t#_Z2?qjb z6(l#wYS_|x#-pR;C8kg6p9k#DTAe%6bjsZ9rxetvPn>z~x`%8Ljym0$Y+ay%orSl` z0|Py!n@HKfut&XpxtVSKd)3j8sv?4%CK#0!`D3gfSjzrUeAaf=Pf@Ta3fLWg|ILSZ zci;yN@teg?e$3_@HOk|smMGfoq!H86Dtx;bgF5$qVwmh^=XIQ~ld1UXOGFUYa9Dbz zl$?F_(xlCow|IT=2*-i}*!sxFS)=-TyQbk#ptwDWS{Uki*l1n_WaMcZF0A&Dh*z!c1CNWmYZ^;s;2zR(?KNjKk&xHh_ zuJE;tqwwNuG1XEm@YcJko(}K;Pamfoq`j>JOQUNTV|lxnXsL&+KoU!9&-2qWQ`@pD zA5=5Vy2i3ms9vC#JU?x%$1ZD1dI0mX(r{&E)fe{6eVYKh*bq)(OXT!swr7dCe_7iH zBEq3+938n;oP6ni2af$Qt;n+r+UKvYRhyF{!HX#{SyELMKnNV%sE_pv-CA~pSd3rw zCFn>k?D6;RP!Fd~8Ql;|Qa`s2nO>UKXM?v=!kFh5bmaD(YPp~(yGdr3B(FU57ub#+ zq*kJ@ZhQ=+0m2IKQJ6(jA`38vy%D ze<*R;)%Y-bVJA@4bp4kz zK)Z~(T1J6Ysh+^w+yvP($zdjfJ&NK18`Nqs`{F3cPUF@k7lKXTqXO!>Ji)%(4j>MU!LijeL}xwLZ;nMshDP;;&klg{rCtxMSe4WOi&x@uZW}XC3$xRzI%E zow20y@4e!1wL@c*7k9kk-YsXb!WTbGWHOUtrJCjZO_5kUN@wKI+`Dhn>_D?hTEI`@ zxr5ezuAt7z^E0&Xm+2EUM}aa~YamhIrw}%uWIlUuWcp_V@5h^8&9-ALp|QwD1%vLE zQ&YhHp4Y|M$9HB?K&|oTN(Q*5@O_%e2IXyErF)-R26PLoyqB6vqu>dU)KfV*ke*uM z`H~WB%Dm=BegCG(^7p*a!QG*qlF*)_XX7uF&0t1vF`Qm1`+`1XEhMM{*B1ScA&sUL!Fc-iEPZ^@Jg4+ zEvCUa_l&bjFrpK?Q4Wi zrn<|q>(|Z}KjH}#3p6$H$$09b#cfHsP@b*x&a!x=WOq4^Ctk44Fq0-z!XnQ()o=ac zx_i0_zy=l83Y(w5KCT9K{zXAcIU=DgRVMwIndPOm=`a2AHZds1uX8)L@!mBW`k1YGR4NELgtc&X7$|o)fO7x`GX@gsrN2l1@*^<#w*Q&fq142 zqTPPNXHgO8EvT!lM_rpY*e9*BJ$c&nIJar(`q!IL>H%P@~ zh4pz!d{FKtms_^{>zYaXrs@b*MA8k_H>^38jjtrQWic;b(_!L=5Hs*2kx8&Cc&c&H zEjE8+8WJg2!uTMLU^ecK+5rZ|v5K{vcY6`gDq3gK#~^#cj+0%a0`B0Sfs#c_a9Wo@ z$@DVIPQQE`tC?@L4chF17m~UC*xFeK4>`IyIY~UgrjFs;9}WX8`}$$Z@+BRK>kVVR zs9-K>{pyR)6LU=&P zlFcj5p%N+cJuR}VMuC9foOtPU^>}e28^ibte!1y7&g7PwLgMy8qa()r=v@8Nlyy>|G6B{Q21PQ^!?|$D`S@%fgC!Sr8JHF=q2Thcy$@Qd{T@!Hvn*y0lqopHNwe#%Crqg@clN-J3{Qrxz#f{nw(@o zzHpEPPy4O1h%QXQ(-T`wuluTn1H#p(QX6aI`sb1!c0T@Q>@ho1q9^%i)lc`Z1_=gC z%qjLu_M#O2I(z#Zqgi#b{@8&#YpmMd)Zl7WU2LY(weCR=4Cnbc^+6@xNFtk8t8!T< z2rs%8C&znEuYN+l#9~b+thehze=76MG^dbT(ydQDSYO=Zl>ga$qc(1V%y1#p)(lO* zwE5`HS0mvqPv66*mf(2-ma)X+86pS^c?ovWk5XO@FLkVddgE#$QcvwnaVLl$M?*91 zjxVn)7xnR3h1Z2poR?BPL9pu6rakOGky3hC-5@kQej+hgT=WVP)iT-lahqeZF&M+~ zojv^rv6}Q5XujiBIO4~-x6dh<;A7p({DDzsO%<8D>fc7C89p@I*-vZtFQe06Qp!7= zdA<0UoC)w60^%NUM!NpC z>l}rRMT6pmn$kNl9Ukq)+(;6x-ZIaeT{MvLPEkwUUZ9SDN^I}Nm;i63Cw=|R6i++gWk942Y%<-hiXqxQtPt#`t6$U@cuXdBvvoNnY zSlP1#*`uF-MU;{(_y)W>1t)ry7y3yXjYA)};Ww4|)2JTR72~?M4+datcL~5bZhf{` zYX^xCFaHJ{xF|0zBsr$=+))K^6uLCQ%OA)#e8a#OL!0~O4#SU=S+f=RfEY~p1ZIo} z^33!uK#UUu@WDJ^!0WGrh}KGA7e>6eRsJg8c_2=UXxMO{`@i9Q7)3kj$e21sl$BDzX~mX5=BRJnoPp-LwMCl70@JEKf{TE$hGlqRFp`l0a7&w2{4wpP z;seopp>Nm@3BA3kY zAc8svJA39eajY0|2q8FVIu>cLPc zv?(wc-i63UEODSM^f%eySbnSm2Ik|A2GD>)GrMX+!2C*ff;t@a`w2O~6SRmTh-q3f z9I63)!v)7}5bXVAUC+Dmhi;w@AuqsuRO<8)UL?6g^<7|sqcyXL0O6qlyo#Mj#zzBR$pMyf{AjFjm}y_k&H)GpAZYv} z`p$AP7;_hkq|C^?Rz^M#!tux!L8g8$@)w2dlKa0tU<}?CP5OjbJMMr0>40Apd}TFk z$Kf>^k113g5H()N`zEt>C#i{0)$@qyR>~DzR>OU69U0HT=$Vf~lqTayK8ss6!K4D3UC;}j1;tl?72b!mX zyMN5)uV>-1qpuTsVE}xL3%tY*)a!l<0k0cQ=J)mcMWL1r%mRa_;S~N=2H=1B0n-_Z znn273BYrf^9R9{qn3EHD9{Vf2Le1~BN#Wx-Cy9hevM$-71JDZq)h2a9!m*QC0dExv zuuuH6#39d{m!G>qCW%fQ6?{2||FN<|h*?qoG2jd_HL3ujd&09 zUsT|m)z0s=v3N()_O#w&bnhx6UyWcmI_(714g#o2*~#%gqyV_Fe=UZd>vcC~ek7QJ z(^%8vk4Hz#eo@%O<6r%@Gt$86xC*eyx)0VI{ZC#ubw0j2{Q7~YI>%<06SY0~x60hX zw*QBw0Gmbe`*i4#t^c9T%kgji&PspG&m&Mo#|y6seE>swEC@%7jVC`91%mC{MEAjz z1N1*sL#%3Gdt?MalzxZE zTXy*SXz6qj*B#gI{tpf;?TtUTN^=znStH9y(cN&fDq=AKnlaRWE1hyR>FuBARQO-@ z^}n%DwO3AF8w^ro6p4<(!!-(0Zdv38V5Y1h`1E2CK)L~MVZ_HyO%hLmBLV0!h~;0c zN6x>gb?`UNH-BpJ|Ha&UMm5=X>!Kh6DosF|l%SwUmnJ>2QbdS?fCv)l0@6E#L_msE z0THFDNN>`6@4fe)fOJSGA&~O!$M^fz-s_yT##rwj4rs^mge9+HRY+dS68bjD)SFL(Y4 zfcd-G3)~L#5PIN62-9USrIE(B_ZPCu3&XU|0ZCA0p2q-*6h*E#l*y zvWbHEUB$qA$&_lOArC+NJAnR00b>4FB%xy_!T?kKeE{t&R-zgArjyd~mjTa|2L^dd z|Mi4Gq40kOR$6mk04uTI6o(e6=GQ@K$W%k%!~o>x#UHn%BMTrr{txQ^1G^j2;heMk z4e09vxYmoCRF!?hAJnK%WdkdBeL(<*Wwh%9qx=EhOQ~{5tABxF)BlW#vm)JVMhQkP zA6;EO&rP2No$7gkL_OCQB6o%c=9cDxV0O8Q*3aMk@372WRtKB;k5i8P2VvRR`TQQW z-|a!B?d>k~V=C5hc(y$c=p*5f2n3=qvmjvm)gSnfyP>&g9X!!TR`!CS&UkQzan&4M?2_u)dyMjzp={emQ zeIKdPKi%p>mL302fs41wd4%Q9p#U<%)VZ^%tmI5s`x6!Z*(WaOH%@Ul9y%CQA4Wy3 z6Z(dEe909MEWI=G=x>7ne&Sx0`Og{2pEwVA)m7=4EeH&o4Wh$1y?yj=Mh!dM`r8() z|HKxhUNi#EXy6S>{5DVy?fc_PDgq~R4nF%cg2g#QbQ-YoV!B^um>zAJ_d z11OCi0Ia&6(f>hLJuCjh>HfiC(5m@xnizAq{lv&i;=wt{S@RiT1b~$;fE?Weh=@cB zh`X$^DEB{b<-f$I|Ay|%SDiGa<40;L*PQ`UlTLg<|8F9K1PENy`usoT4i<~Y3io5npr$lKV?{QD25|Ifk1L8&xYImof=u6Iud=UW@sqMhA^gn55O zf$^tA$yOn!0{wlgyAW9*1hDeI0{=e(($>o3g&I$s3URS|y@K*fOnp-^{*P_`hWw%_ zd@U1jH}U+x@#tADf&F5@4~I1&J^=Fl%}S>Jrt5!ru;0ILiO~Oo^63tQJ8&e{vM*C{ zs)90?`K|aWmi|dRhr+Cvb``C{dbItnm0)^(#vlGUk2lxAC$20ddl9w8eQjt@dZuP; zT+*(t2(PT`%57EtSS;3#j^v0^Y_P**>ZbTuj(Yyy0@{uMg$)J?Qk04h;g;T#_)S+ULX(+wKVG;aRaHaL;SyFi{o58i}HXG(lS9_r-a z-6LV=amB?Lx6!5)AB()~((QS2=#1#TQ}eBiBU}ccN|JHK{N1Hn9h~3Jg-faZJB{%F z*KaamAieeL011i@o`ft^0lPCaO(VTYz!a9!2rbd_X35dt-+OFK2_#dodrgmTRRDKf zkF#e_-#h|hV>cLj0zHshNxQ6o|8v`$1}^v;-P`lW$Wz)L@+MiWUa}Q(@ah;sph+ij z@t*tKmEkDsDErCaJze!k_2{#^|KEIJ)HQl{oPQOOdh_QC0kt~cJ%zmTQlh8G$D}a4+tG;e``-d{9n-uuDWbG_NjzMzy2Iwo&y`GXtW7 zg|ea|dkj~L&b2qM#0Xlb#GVZh9%z;=gQB?|_2CdihpRJkg**UOG_Kw(8zVaseFlAwhs#Y#3oUMXXTVpW((qu#&sqv3E{d8`&C% zk4X2sp2X|>$QfmZu(D`fd2}yY5fGXcZlQS1=S#IfZiAIE{081RwIF6GK+Z`7O=bqM zXy43Ltu6oDU+W&Z(_9+aA@DHgXF#mTDm|*vC9346aS3gt@7UAxpIr5UvM}SMVyC7+ zuFBL=ma=50Ar2e$Fn2sgOur&BEoE-25q*lJj&2>s$vD@q+_-tBDeePx27EpiZVKGJ zHVKZzhf^$?h&J{@iDXMU)~juA^51f~jlgs4v!c-Kcqd(P+Z1ju`~>O zO<*u6wo0|8xIf`_WY^m2I=}y77nO?3>9U^DgY;y3hW3xm(rI6oNwjMwiiz~~3U4%fmH zl=P@eX^idLwL^_utjSvZSZ~rKOOw3!UdDmVMktZv;`j7r!=1sJ`CoVh=81;FletYm zJILQ}%4y{k&Hz~M6X_!yw4!R<@fpm8A6TZ-uVh&i*{k-C;7+ag`8ZI@#oZ^EpTqM` z=Jahzfw3o(ctS)-%*8;L_<$A_Ms0=8y2S5u#1~vA+bRCEY%S10D|!YVIg$B_H-mbS zqh#xaf-`p;d-Nj}tCz>Nrl~JFrGt;kbv2i2&QvjTKI!D&W>?;YP`-Bw)O>bm!G8*DO7UywW1ehU{sm@h#DGKPLx}uSwb?lB z_oaOT9dBj(G7a1Wq~>?OUJ%@sW;-7ckIfTlX*bhX7jRSrqqAZ6(zmi?W91=>*BYOK zpH-U$^e6{x4vIpLVccQgO*wb8QXj{<;B^C`dErQoukolz-m6D8fo%i@y|~Z2JrxU$ zY3emV#`y8iLx@vM_>*k1MOn%6s?B+q$U_o?zZdW_MbeQ(=46~(DEZ|B5+LZju{0wS z$W*NY`d&P6{%MH=kT;$UqPPVV!kBb^r}B-HnF*!vlCEBv6sEhXs`+_U^u2k_U1>{( zUcOG5bsMhFQ2JWi1L`LCtFjy1j-X_Q>89v0bXB`*e_rtl{(cH+e<>2Z8GAZ)1IQuI zkxJq61PR0>k`)d?XBtB(#XO6D_@J9^jacWy?c4wm4{)_27w>^0HU&g)D!>+2EH0XpFOEW&HKC$Y zIJop%&78|`J#u^cDRnV7*D(q5=#OsVd74HnDEdza>=Fx6zypIiP)k!jO~|UPsCt`l zsU+yioEoK@$Y-7u^HRui4zfJ4ZHWpouy~o2(s;%GVv%hl+gHKK<6EG?s5C*i+JVUK zXHDzaOxF}qA=hcxJ1-|#@@F1K*DJpCDLFV@ij#qBuJ_L*7j&E7<4*YI5pvN?!BUP5 zA~n%BCIG48&dDjuwT4-_4y*yAti4{J^VX+)+nWnJwK=#aBso%+!~}Br-4erhhefCK z*Pd0q>(Yb1AUk3oK{0m0Ff~5~H^>c&rAW84zuuWFAeI|d_kh}jDz>qyMRO2f2^vZyY=DK(7rSP>xF|*=C)2^*5B5OK2J(w&Ayg~?39xKzKML*lr z%*_DRwx78!ek0}SY_z(kb@>66MQTgvOClT)m7;x$&%{c$^9fDJBW=B7o>hD)B;8U55}$SBWEwZc>d#HJQF~jh#?*vZ0yQ=fcN1&4+XeVVD=_A#yrQbt=4<->$EK3i zam%EHRq%bJO;~S?gfJtfpYl9q%kM^i3{c4B-bBwCcP4j&E|WnUzA84-^V5B*Xpw;U zPoEVyzNwrB@%nU%9^%szNsCwLofVgTne61v65esaT#mM*l@CNPaM6^NYf79Zc9DW> zqJFZozr8%Y=7+f2PwzVH$5r4xFzGmxQ9ws5$Pl}& zB#}~bry{?_wXExw5&hi5h=T#a_yEDkFZy#;oNvV-n8$xwMVn3UkWz^bfJ&0iILD(A z_}jyQpIds5nXf15KOJ$h2utNXty`C*|B@C=DY_DDs!)9S7l=#z*vN9;9#%$2{_2E#}XeDy_LwsS=4vcWmkx)9PS<)2T zG@QjFuOoWMrq@Ts4RvcaNn4Npomye~YM`8bCHx&%$OSG{=*wOc4q?l_Te#X>H#cL# z{A2|g_Ms3g{dCaOp{Jh50nkA{m_KrwK9(XF6U9}LsN&J8*CCf4tqKOJg9`lt|EIo< z@5>+p>?*JuE{aX7p`Dc#=Xmt%^U=2oH8m!nN;J?92QnVU z6-{3IIdkCP+8)Olehith!9B(MVIaWPo*GP08$xyz?t)hJdQ{JMEv{38*!{DnB5slM z{hNM)r{9)k*l&D^qohCx2eRA|E!SvqOaH2)L~oP*mY&g7?QT{O;oHwLhi)#1F4}j} zGoACP*(o-e@Cj4ee!FFKV15K?p2x)eTf(Vn%7CiFlmj#?yUWO5>y~<2{qrZY}7UGGt;f@v^?pF|b z5gchcy7a=u53Z7H+gMcU6G z&SU`7W=j{hd0(WcvDas2axZw*J2dI6 zM*uiGk%O{*guFV7D=$L)fI~?^WDek*K~)%5hWOxA6Dmy0s;;9$JGE7zja|I&#a1FD zQ$AjM^HXeNc^(7-)D=Jtdk! z$aL)IfrmH^j(b~?(I_KMUY*k{@Y@yIpsr_ulm(Nn)`P#T=yhHMLYs6hQqWUH)0$8{ z3>E9oucPuDZf1>k!T&`ea`v|PhPR5`8@NtJvKOqsAhE{?Bp*F=Bck2xH)%pg>ZOlz zQ$6WCP%jUwS9Guf=AMO~M@v_EEpkhlRNgO|-V?m#GUjp!5{kPYO|$6BOZ^^+aa60} zmNFm@>s%0kV8Nlhb!SIsmljB6PT-4w3NARXLwqUX6Q>j!a3D8Dz9y!6QXK+awJ4t zWo1fO;v#CbtZbI__GETOtWKlgaNSQ*%yue;wgXp^{ZofV0o}8O&&k*^+&TORCS>T< z7;y7s_l`5JDJiI>>+AilZQYvTcdHG5(-66jUTL=butHwNs22^wk_OT zK%vg$4k7A)6avq)*JHh6k`3_oSjiTzG|F+#`4$(X^P$PiUClScvTrt(BA2DS4;t&I zJ_20^2xd49DG5%y(nLXo#6j5MT4mSjHBoQ&_ijWn>koYz>5>Z57*$HpKYzU|TC+Ho z>%c-}R8);|v^WS<)YfBi#;7V4ukqa+_VG3Ob-Jlr(nd385zHB;1q%1L23^s-wQ%HS zOPEwVWaRI&xo=PX{%P(r!e|}5cK1B4=1hQK3vloYFbs=|ba(CUcPp0=s-2{0X@z5w zJumjiL;qTzaKs%g)yH!6h7Qga)~CzH?d zYEOHmxD3lD3o<3_9s0*A&vtC}B5KOQx$;6WpY-bv@)6l?1l|05gvUfRF)k!3XMB$S z&MNoU3yLbQaladZC=(PQ6n)YHq7cw7MSin$*@Gp=C3#BCucxIQpO%J~WH{*S#i`wv ziH}b=S)J@^gI$=$PoWq?zb|bW_%fyz+C80lWhZ|r-R4)ckFKzUAoV9Rwkn=qgrKC& zE=yQrtHllR+nWn7Pfi?2j&939vT4EmS4nhrNa0%HP%Xp)#H@}vAzvsY+_Qh?^KlVo zul_jB^3|xUTZe^XNo>m{@G$Y1&muOC#sy;jm1$=Tuyzyv6f0g&P_^h>G<;tk(C(-< zBsvhr13LAw7L3!V8Zs5lCuP>(!ys{gGEElSFd8@;mRl456(z}Q?`$WtVC!{zfX9KS za#Xn~K|t(HzWr6|#r~H%UwS}k+y)B7A9c?jP(O0WlS#p*`GN2kic@cDmJ`-Lc&HI=s`Y#H`2~M|_)92XcftJ-Xiz2AA=wV@oTIIC94!3|aLz=5h`VVsX zZ{=j=Xp|QF@~&Wf^KOsaadrO(l#CKrj9h|3kK9sncK7KMKL2BQ6?5V&c~o<$N)q;! zV1$tb8jn5F@j@}d$T#9Xy4xK~jP<-Z8`z4D*59aQ&L3|-LWf*#d=hl~cvGOJ80g3j zyE;FcO}z55>uF<}eMEAq{L>_qEqA}IrR9w;>AEvS&EhCjynR&viWZGCci;o6Zt}GR zgBG;&nclggh3te&S1foug|OTBSW_CNcPkGVBEMx55tiu(UG9yzAurZ0z5K9N17|X= zC~`5*z-bR$iJ96}f>=WFqQ%iFw$5eR87*iB*P$2Tm${Ng{pNxlrTQfM_@CapDb>v- zcO<_n3fMbs7@$f}o+Y?0o&!tQ;>8Y@PTZ}+RV9jD3t2lD(r>2O@?}(j{a#HT-5jFLMWtx5*yn@!F#HGFO0I&KvDmJ0?ZF zX}J$gcr2|c`U;%Q2l{{^_ZD&Rs?Uyonn%^7m>7F`z9H1%a!9dYYH|y*Onfo`CAtmy z0OIzD+BSc??aH zl3iBR{DvYyFB9bdaPVOLz{{gy3?AuoY9z8w*RzXe>LJ{#y3s>XJo{sOl+jZ0{(TEtE^+FAV8 zFbdoobah_(zB_j%K%Y(DdzRw-YepJH(^Q3GV*(>=j_FP$x$8#ZSYem# zA#APW%!%;CBp=yA3BKAoZ6uHk?bU4IihHWC9sBVvZ}T9HM*MO}#WE9K1i8bok{+Zq z6)r~Pz>2Qa&dqJcEl|JN`^*{1ES)dEKe95->&o5#>TZA9qi)D9YOsO%Bs>!z^JO>B*d@cS4OC7YmizXj>ho|!lw z!!OpJ3Ct0~-0d1shaw-_&oM;+dd}ZtaAg3L4C1xAE*A{j8k!1JR*kV(&Gy;Q`w5UQ zBh2}9pfmv=~|1vYs~KPk=mo3tRGl@t~~6_YV=Z9z=*3sjC|=80oFyZB#%wa{*F6=VInpv zw|{PYxXxKWZDDQw<@?@&^2eox>FQJ0B~`IxtA)rD{xt4wBaF5B@!P0p?H!Amr(+A* z*~`&sw}&z#2h*+x$7RLE*cUn-+H9?NF3t3z?cGdxCLKzB`@*19^B)DWK<;TG-vkN^=}P~=$1qBi%pAOt)Z2QX&#}R% zD_@=7dyDHGwLVu^x9&xHh@y>0ocZ+j_&ZvB`s7y$!4K%JUNo)3YxOK{$U3IL787k1 zk}1}7G0LTF>EUupoL{Cy=p!A8J}EYf=#J&_{FzsWa_ofa6L1mmkMj|WFOj>cSPShE z%ukjF%MhA2xvWnE7vC>Eo_i91YI!b9-{M7^MPwCqH|z&wxzbSBgKz~-c`&#yacd%M zl?umMM@A+ftbQ4RJug}Eyi?QnOJQ-P1fNm`1a!#e5u0|LrSB=An@rn+(t?t9vRh?0 zhR$y^zF1ika+oikXi^;n)(ku@>8QW|JMEg_Vvp;t)ij}r%&?Uz_7{Z%gthD=2l;Yx z$q)%KZAeErj~ICg-Dv{+Sgd}kUfqq9yh75_op6s*+p-enP0|wmo4wQB_zU4>~%UV{3IOj_8=k)mtd0W>9*$4rU6^ z4rw*Zxeq?RSd(?O^!?0*@C@0)K8F_Sf-n;`hsiha%G!7&DxxmRPq)6wO?30OfvuIL zh)S-7SpPj+fw`{5d?ZHS!MIf(iP2noKZ&3nAIx7#73z3u%g$lx<}EH>A!?Y+@5=kb z`uyw5u1ZsDTN)#IyEi;n-*N6f*rDuN3x6U32$$w_oq87ceUw(yXt5YVLVXWxogEb? z+w|K}r|A2dohl#RBvg1UE+DDK3p?;PLfc2%%xbJm?|e!ro;;J(JBn{Ne2iRPV7Rmp z5dEm>HCwj<1gnyAq(U00+Z=%Z0jmH}TH+PAl?;t$0Vs0FBp`bMDeWx!yTU)ZO~|aL zwM1V?@SvtsCTP#+C!8I@!O(eIkqa`6YIq`fNl8J>ngNPGNQPG3=}HYp1sn1PcT@ud zWm4K+B_~6XsYn#Rf{~GtUdLyL6vys6CDBc7(MS=XdcXVw!sCIQX(Q8dql$UG5o*Q@ zH2Yd##Dd=&K4p*|*JMp|;TDiizpn|Bhlb;XlOTB`tKLI9+Qda8*zzfuky5r7A|? z0V%V5DFoOnSk;yT9?RZNyb3oJtazWH;BHs~BnS<&oHgdQ;J?h3zmJ^JYB#0E zmtb(J_N_{ep(`W<6sO+HlCnxIgAfmfcUu8&AvUwqtE~I5q2e}Xo^+OaS?=|Cg3g5W z&ZYFDcZkj9Rp!_wu5DNekRkKWNmH3Sz-Hf+ilpXH;5?#ur>a=oM!es%Z8g@mVh2rC zlT5%xB%H#M_NPhcHj~jbaGC(?1=ku)H;Mg3k5&IFGbd80gMhYkarNu-LT8iAiCz$} ztB<(0kOys=&rr4I(k zewNtO`dIP+2=fTW=bc;s#iKatC4N|3@cHX0c9+CxjTo-Z=?aSKZsjS3o-RPmT>RAv z@KBnFu}3ep2eP;Djwz|2I8}@~8WxGYBg65b&BCSJPN8ddER*{VaKGGIYz*Cj%LKHH zw42?o4inaz8T?tkp9d3cVqHtei%9NNWFvYYm5dcDQ8Yt4d|dUFmE-PjRAz1-6s~F) z&~f?`rExQd~bVKla8;>q9$P2tA9bU$dG)2VC#et zS`q5pkEu)(X?k96`?8tpmgeSDJl=%SO3m4S3FG z?oK6N4%w)sPBWxBiKY5TdvEY!@gUE6>pscu$0;ck>LzChxih0b&ec>m4jlR@SlRBv z+IW?GBF7|?TzeNhPR91cZzkrXES`)lQpbTwpU7F1bI=!L|j6}DScd@&c%qwziPNCBD47xcLV`DoYwqS)?0#KHMUIY_If zIr~m2pu#}gjASIrRAW^~H-S-$tVa$!rB96DKW)uJgs*%0f4g;fB|gw)z}u;9e|iN> z@n^%JB&N87y%Hff@_h<*OR_M|-d}g{&B?=%tj^B14F)?p~*&KTh~+<=q@mm%nAujImImJ20%wUURJHgBuj^A(V71C{lz zO8?LhdX+A~Z|>~O;1i3b8O}DyVzFZr%Mj{86=`zHI2`{W3rlN@%0H4FV zHP?pX+^g;=MI{vGR99C;#Xb!2Mn%8)O~29Nc0Kjy=MARrrcxx4b#WgTOsa+7!xXLS zdb<}>FD(L;!0!6(Qc}_^lK+#=-6TVinxVeF!z$b3UvR6?#HwhsM4{FA%LbijE&qk3)$tuC~?U)U4V6$Y@OX%_&6Ps@Qp=e z^-H*pN_NymlV76m7aB6RKh8n2S)o6eKv5o1jZ<*~qC z5d{n)D0hoxGif+cy|kX=oOipYl}3mh%-rMeYhFKJMqN<5o{5 zo)~qbMb_+b4yr+FovB>AK=XL~hubpFYbQ%$(Q8Y%BqYZ&^jGxAc)Fj*4Ft3rSuQ+IH|G@;Z( zuf^{#EiAs$r02(Yi5VW0aHu9t&U8LFA-yK zki`JFfFUhCI8*@8-%G+1g9Lnjw4>||b2)ac6UAm94?(@G{jEJx3rbdU^uFt8j=oQq zWiJHkIb@qTP}Mq-mHPp(cg(jBaJ`mPUl<^3JYLCVZhdGqHqrCY9exgT`Xz>*s&i1< zNJ|>7_Ebo0Nn*Gq^Z~#D((I3beya;!{=jJO5>RGY!xZZqB;So*R1|Od7$YpXyJsHD zTGX61eOn+ynQ!8->yMZ^6OcTyhp~Cbbbys={Uk#h&jnbId-j^W(rk`xJq@B!h`n5w z@EY1Po#M3y*HWS8vF4D=-Mta=NjIS)F0n1!VDRl+s4d!VMN07%#D?dIu}dS+ZcyPT zuo_i|tg9j{sIL!`xiSyjK7tQ&%vCA(VLwKJPo~~vr3K|J4gvCu)=LcY-g4?QbM4UV z8RVPSf%Jg_T&@@RL**&E6`T3P4}i#QvjbXbnrVRxVVPD6c0GXYu^WPA`VQF5xG(J^ zKa>&JxaW(_C1NU-TwO3@%8sqd>uKD)A*me72X01(#y={DdeYRC-#0{EL^*qh89c30 zikWHh+iPHoiG7jcu;Fq@&(x2_kD|rYxDwP{^L$7Uy$(dVcl?Ub&I#rL`Qk1HhN^0Z zQEt?}pG=}j*|y5w{EV6Rj(J*L{-H$K48C&Ey{e(HHUE(^pP=Mzyevs%n_2-y)hqub zUI(hbtuS_PgrJ{;x>k9mEx+XN3)V*0qXqa4Vtz+WaSG5XSYb0!*WFD8wn}l&;v=&& z9uF=S4|e6$t2&my@weuibkU6z8}l+eg4~+D9%{F1Zfrv($n#Ep+|p$-d37(;ci${B z=+|M!Ib?rGfRC0nU0FUy#Xm5+EvbKTPDbk9ZB*6NApdK&2MvM(R8UeEA2Kq z&VE-47?pd_TI(;|ZIf5@I(HPF81Oy+^ka?B!6(kpQ_Jb=8d^c^`E4hTkao3ipsZSs%Idd`q(%BWO{XYZWEu2{9qbKu|Y!!lm3M?$Osj%3rOO{-ag zi3tM!vlI6=ySe{;oO0c(`yIRpgT7y1&8Vw(pGT$SNdYsaJB@U2kdy#K7b0nh7C+xW zXpfM=h})RLxK|H6GS#n0-9HfPV>aT~hz#eF?!{7uJm}eMGmM_UUc%BkC~I5={vhWE zOCU@Vb$a2<7suVr!h`bd4+Q5LitP(o!Ca*1dMk`YbK|W^3Gf|n^>#j~k>6!eveV_c zk-GPsIi+l_qo}H!IO&_?yO)_)8-=P%s;BmUj)|{UjJ-q|R)jmu6@HU=@}|FkruE~+ z9xn9FM&L{b(!segiJh=WvT6m^E10N^iZB*uSKLKSly^(A)5=hb1wK*`lw8pVK2|J* z29WG{K)xi29-wVE<-qJUWXx>VmRC+HMJH2FRMcgXYCA_dH=bR}eSKTu{KO>c37C~T zvR#eEHCu-z&b9s}d26F1c%>HKFG0(=&iynT#CtwH!;L z6|JK5*sa0Y^*kX60i*+7nhW?N=*^o}+X|ZHQxs z$>;Gm1rBy#!Ve@UdF_FeRA4Ql2gXDc#iRpbBaIxJC4ffMBAB@i{MGIUo$KhF3a0y4 z?hLDgrhY52M)6n(4&oA-PI8yxv>gkE1?o&XP7y0_cRIhdHOn(-GdI(H-l*_%FJbpI zoi^d1tDi%$nPRnMP=S}65$-CvC`73TxqTkZ6W^u4cIJ@-7sms0bLX2#G4;%-Ar81u z6}|!(0G(6!P&si{mkTcMWR{8;h!u?Hoa&$9yIdA*F?@9mu8soD_~A}TN%i{vS$L-w zBo%P8v6~tiA%V{9$M0D3~CT72_ zDE~$}Zrt!B{Q7*z?DXkgf%3)kVxbBGF6ZeZ_mC~m$WovfNR>@Y@$T=>s44AnouKS2 zgud33mf-dCvJrwARr{LCYA%~-AR~}6^8MmV*%gtvow*b9^uc}8E_NzfoiwN+tDMhx zifz|gzCA{LRGQoeD^uT5BuEhi(Ak*yb$xC^Dhc2ci2pEr>{*EoE4>Qj|x7Rk72OGaj--v-@McNizCW$STTB8 z=Hqq5rQ>yw4zk75s63s4NQog%F&7p7#5=mVQNHH8-eVU~2}-8^@sYLj4q6cv16-h* zhiLHo-!jdNNFZxgCsL5n)gvJLN$2U>so5sDUO1> z2Ce?0FjdMVcE~+83Z^4=fSH+2(F+sAW4Hp-$d|Gs=a9ci8wKpx~{#|gwnJQKb5NrPY z7ll?4+!cGsM=B7vbE|?<4w7V=fwmBavbo zuj0`-*eLQ%ap3KqANZGNo8oeXjQ6icKx5Z#2j*9YeU;!;8_BqGV?2wZ&v)8XYQ6B1 zcfIW9{fx)b2?cXAKJugM31Q2}msscTVBS5_Zb&T+HsL&91&x#R8$6^mv9nlN% z&ugPatArgTp!>96;MEu&nuRKU7Q2(3D6ALG9{8OgqQ+z+dmDzXt&zdF0c<2YpvG)2e8~}> zFpTu5YqB_KAeNg|)a=JyASs=>JUD-u1-j2`BI0<-nChFV`Z&Vl>;~HD1EdVNAc=M{ zU{FrMz>S_uMLkQC6Dv_sSXiHS?`_Qs_7|(%Xm!x_uup-~rv*%S(fyrF%pu@X^awtp zCEg}$4)1jz9~j#O{_1ogWP#WRbO^A^DGR&~Xro?E@#wTKrt3JuD&%?FP5ZQ_I$RU7 z{JHDT0o99VYdQEHlK&ywR3??zhAsawZer(n!wG(u6pOSOn$5Ty0cY$@%L}k( zC-I53qD()PD8&%D&(GuTq`7lv2-)5Tn+3hoEFRqW=y-r5X5MXiYsrHKE?lMwXTT)K z`5)Cz+yL2=McPVU-2A>Tw^>kZ9X=uT`^n9*8FLEXvWMI80YDXb6SLlYlFmwW0+Kn5 zn~Nq%p}Nfzcoaw#~Ymgtmj$6SbW{uTI0UIPP9my zIxCd=!+Vz07qcdHKr7Wj$x&11&`eVcY0l<_!2dd7g~rKge2{ z*5rAN5+F2{-g)Bl7lnr0iBo$qULdhW)ez@Cp4hs`N&v-FNHPrMzS%qb{iA(B@YzQK zLyL(|@nwFAr4)Epd8}4JeFKI!bN* zXe0tVvsIC;;iLlKKpE73wHPJ7%CcL$S|^xRMVEQ1;@(poO&LGT3ZqIjKU5ECHOSC4 zIliG(SvQAzc2qjoPw0=KO(5B@g%(o3QM+;_0obkLo9Fk;S;$X=ajZNuNXF_=9N!)0*-6aB~l z|I5%Xi52(L{FqLj5Dg|vTxjdiYs;X`ec#3qrBY7E}C!dK3BuYn;`(B3b zcwrvX_`R~wO+&JIhk$O21zML^zmBuWJ00t7!tFFB;7rWY#*05a3%O)cRMp_VGj73W z18i8rAk=j}I~kz`yhq@L;38-O^6Tj~@BjjMalrKNkd;l*D!ePI3bwWEA-F#KH>Fxq z0j7goUuZn7Uu%`DXNk5MhnzZ3H!rUP1MlDpVCL#iITM_Vog-huqV}mbHo3PDf)lda zoUdBiAMH3)X-v1wT}@r5{rKK}nULP)bcGD;Qh9Q|3hxDKZ4g2W#qb9TS45;*D+q>Z zUl)as_Qzk)I#=+kzvOV~**V@(@r9 zR;*q$wjYtm{vFjnQUDY4OA&s{SU}N(E?y4@4+x~@HCk}o`iA79t@QULvz-ZJg_hM@ zfFkSuPBE$}ES*M0B8?IsfH`9-x2vTtu;r1zP*V1#^?swN<-_M@*6xhGn(BbBmYSCHlT)wYzE}=}1@<&Wx;OTMP2!XATt2tKxkY!k8sp z$iX!h7y0c(yF76{vr2KLg>B1xB{)O>v5d~Mv_jd>jh`Wk@8;zt2e>FgDRx^FXt64< z54%x`eF}Q-DEFYCR74_?np6n*tYp{{pSxsmEwUNJ)U~qka!Zxz2^Rd_*2%?Bygg>E zo!eJ-S=q<##^FqWhr&}vrdfHQ3LZmbaqF5&a+qpMz}KLbSf$2y+#9S=_TqFaL&P^UVV_GrXo-HD$| z4-R#VJrCNbS0mri$otDoVX}7hO^S!2FH(sDx8Ep43}T^)3c*Ys0rqP1LU8Z#Hp>JE z#r*U_my?^BjXgtwTjz=S;3M}?<~<{>SC$kkdCvpt(TSw@5KBqmEz?6R2efdp_;njn z#W!`CqR<~AtUUNH_Y2n?pNW+Y)v(L=iX7-j8)jlVuX@Wz=4$7qEDp`g9{k=(18P$( z3e{+E?xolSuqnbnqi?AOqv@g1cdN%V16X-bjQOEu`)rlZ*fBCPhvzVeq(06Q8Et=* zyu!2_Ob{ne!kBl-JitjP8w!PAbV6x;&)W2DOs6h)lP$U%sdc0NndU|7R$}yae29YG z=@1&W^RlTFM7#n8bWSU7#+YK(eph6gZ2m=I7b1h(1^YGM(E^DEqF&5XUs&OE(09l- zVPeax02=1aGS%`T;nt>jMTb~F3V3PsIFJutO1S@__HQiR8grrnV;ht*)Ii?EZsc#8td}8{h4bJ)v=;wEFJuZ5BhDn?Fx|fu6`68ac-Te2Qr=h zK{$H+<)!kbUB6|}rJhRz*$Z2?9=ZAI4d6c7{Vdu*4p;SZ7Dl5fK;TKgI26u+g_7yY zR$?xB+qaQ+Ur;+m7cZMtXEapl*G4=dl< z$AxR7wSK^u7KfO`R%)x0WUE0ihk6#1S3c-n-|&h_5Mk+AIXhyhaia-Xuc%#+|3I~Q-18%k@a zTT4G_6NnRlWx~U5z8ULtTDsB?Ue zTfaYHpc>^_QaK|Kd+$^*vXo}l^H;0}?_FHX94$@>?}jNRU$nvaq0|BZ{NLH<^v*lc ziO_3Mit7L2kqE8%e6LjVs$75UweF|h%_<)e?)Y_r4N;AhRnG=wB&9a&%V?q$xF z?oAYt`^1>%N=qm|77TWHNqD+yQ0pk}Da$sG_N_;sl*^AxOL)kt*+hPezzoVaS*d3 zis9A*5@pMINwBtb))$+ITchO;elJFfUN@F$78XaDuxxoXf_2D zp8%7H$E~jPguN+sL|5>Kd@k=pSHCUG#wCmi?4c~PBvI|*BY!0=DJP5Uxf_KQ)pu@7O^2N;GK%2+ z=4!tvyC0aw4D6y7_d(yp422?BBwlHoU0uSx)y@$?zEyjFF-)@8%B7BH%2PC4c&uf` zMThBRPjoC9S-qUmCYK%2zVaz?PtS?GZ~(se;uZMml|6;cDWF=(4=rY+xgYa2){tVg zn%5;@YCQNXUB~{Ij(qWyAVcKECj!JWe@aCUE83R=Q0^5?#y< z$H%APg=^=pnXvFgMvf!P?mzFE51aO+IzPALSe)M>l~S%-ywUvgYY6= z#AK#Ng5~j&n&aP%3*`-_cHTN#ut*nRHQlaid>;-38>r+S6@P;)|5_@820^SKvoTLF zQvpZF9aTOgqcN=SVr|+oR~l-Kjw4B3U@eOFsSN%(lDo+|A37sXz7+ezTT;^q(6!zn z8fUz+HCJ2ga}b+6$os5lJ#94R#*-R4+n5ZTx=eDnsR*eY@RXdZpb(-QIf%L`XeWC@ z?nA~vV~hhX|Cg0x!1QWxG+-0@v4~*Yx9unZ7Vj2P!Dyj^zGkU+O5s zmZs1onskiUGBCUdm-k}|y+3EaD3K1WN;`QLd-3L#I!g%-PcJ3ucQhSyoE?5KZIXeY z3&6fG2wrIaJy_CvY~?4C1FnVsSyc_0WiQdTHFva-`JtHb>e{2Hd6v@$?1D^*YcM_L zPS?!$*&ovQ9(!2zalT15sP)|_-}Cu`V8&I~e(`uI4lG*FDniv7Ya2Hvfs$zSMf>f1 z(Ql5nPxa^upmoa6-Kx5M*)!%yJ^@v=)Gq&-t8nJMXlgm{Iv`NF=r)u~lQ*w>=! zE{ZmuFS{v`QwDS&Ca*{NRwwCv$|+1VusliSl6@L#cG8k6;A`S5%CwdJK_dsa~iRu2Sium1cMc>$vdq=`M2r+`Fi z%S(h@ap%%pTW6xd37tn4-r5p#oF>43zjDS%PgUcvzi_OYN-)6m&t>3cJo)m_G%L;s z({SWwwEfxl3X5ufRH<=TfrEwf^1%fgDjuGoA+`g#jPSzXK8&1*=Hv2|Y#STvltRP@ z)9$lbx!dJfpO8DLvJGF%L-YhOS)f^7JgL@E^jp6e6bo(MaZO3eAxQBh=y?Qzy zCz&u=@0Yxl=9XIREV8b<)_f*iq^#eyOZXf6J2ERva{_u;+;`L~=+p91I8*i`Uoi(4 z5bk}n&|D*QpR>R)q_vRdj0?<-;g@54XdX}V`klKQHo}+hm{azVV zNou|H3Twj|m38>jw*BqNwW2)l(Tq1|;n#Zhpr(YoWVBEf;J0`(U6ava|JZ;tDbxO8N^-Cm0C! za5{<6(GOoz622_cR;_V;l&|zMW$^8*%xrIFCPpJmb;4wxJRZ-!_e$GMBcOD6zxc4m zS1(!1-stQ7$2lw##WjS@M()6q5YwB(^Ly(H8QdHa z0G&ft0Z9$mydYLF0~?BC`U=0%p1YUQ=MP% zZ{mAXXrEPAJZ+O6(AT$5s%R|Bso&5%Df;~wH>2ZdY;Tb`U>wrw5V26b@kYf$q(ARg zZ<76rT*Dqj99*3wV9VkigmQFoRt~Au6+%$%^!&`kWGzJJHhG`HKP!qoI!I1MT$fyv zVOx`1gc+f5=0F?ZM>BT5aLB%~^;&j9&f1LZRS}&2w(VZd1u!!QRxjS&0Hv=7vLq`g ziboC3kH>0-oSg&(yI$2qbExDQeo1;BeMVd7ZRsOX;b@GZ**gH}Y8uyH82C79B@@CV zW7n8fvU_{F)!e<%udJL_akKY1loG3P(I)wB3YcYfE@!$f}3;J9@FT;$HMuMZXhCzP-c&Veu7LjZ>__6qFZq)qU%^`~Hfu-DpyNt{B&y{pDr- zFTU=9`%=F}FQ)LL4Yta<$fe%Cz`bfaJ0W%Ia^*M znyw!}MpE&Nxk|mAPT3|q(F;mbJYp>^%H;up(qUeh0k}xag|x`XFt5D1>w`j%lgtb4oiH?!_YPP!@z$b z@4Fz+IFO<;cbBsqS7|;vzcnRSoe~|kz$MpKPVB8WHa6a&eeSMARmt2=V&&6A?GOF{ zegld#qZ_+FSqljPGt~@>ErG?1n~>xVkK1npt$|I?>1hI&x1y&-g?XQB^~=0S+#mTv zGBl9}>=wB*sU*9LV4fmorazQ7>;0a1=(3;HlWwB^Ztl07+E8MK=HTZsDo^83?Gq z`-iuS`-c;Sd?s7gCNJP%(bm@m3ZsI-N1VG!84QVEeK+?6IraTu|L@CyW**KHdq6l!;Dt^||IL>?1j^ISx`6=j2rqIf z$ax>wKd_@KkzbEr-~Idjy#)Vv*C%-Tha~e=YtnaXW&b0f*$I9YwVRZRZ-^jXM)nba z{+)l^{V}Z51v-p8rU&X8&}of-NY?%F$i-v4FP7~XzcXE$xA;pRX4_i#z54qcTgby) zt50Q-718vEy2+EFKf=kZv;mx8ZD*;YiHlKu?@0;lX!Y-JeZ26m-@55S46!)%gnhAk zC8HT?rVNhLY$-h&Ts_#^#?WD*w_Wi(OQaY$aQ1a6N)vxb>W|g4r1v{yTg{_J6j9aw zwk$m-dy4M4&w$e@e=cGDdYobN9Irtv2(n2JtjYmyPVfgo4pi5>H^EGqo)S{h{D6bG z@l1JgA%$yweVsJ8mmc{KRDl#6O8Y}{^3p8s#5EhW&j3dAxDI_-eIVazBEv*zg#Utm z`R7CW$D4pc4*rlxG5Ys&I zKWLiZk%ibZ|945?F-2ScBCw1Rf?zOCoc}vp1bL+5&;Hkl07Z0H`a^OQ3E3GXfZ;@- z8*>O|0-XAP3X}hy7#|xrKbvEHZI$>VNW&XO0k%2#fC51Q2EQf0&9Wm7;( zN6&z51S>2put~)#be|CNf+h)Gr!MtZxJcdE>zanutB(`1x;ZY ziV_$mas&E^*arseP1^%%`EuXW6`w8$ncb;ApEWfWxl%eTHg7m*I?bJ6H>I8&Gy4Fr z<<>~Xu4hn7dh{~f2g+Bs@VC^e)YDd0T+xDua_9e&BAkiCwnPhmigTRVM&;Q;{8=a@ z^#YKr4|Rig29O6gk;S58#4?_|^1tiJ)R~8WNJc-ymih2;6POD?B1U-c>nNO^S;&ZZ zJXU@I%dpk{6?Nth5Symn?uRQsqOj!-=imzEr|}}?&vM{eQ^#jzE}w3yCDNB5LN0N}zMF>3 zJ~6K9>PJ4TKNH?Cv2qHpnTXri1B~o!_R;bvCZur|4}G3dQ0X8x#(OVCm|Dh zFA$cp3ciG+>B$yL7+QV%+N{8>olGZ=7tYCR3B$@hK2izS zKich0H9*vB@EkbaGVTi6+yPkq*ok79gEC2v9A|y8~RmM=E+<6 zY^<;8UC*lshmFv604izqDbc1euk%}ic8p)m1@MAtNtG|7YKoo#cG$nEU9AT5O*``y zibPvFW=#gr3T_tW^i}urr1&_f9>i0yE3IVbmi$eN6HKE1(;%en(SaRq{%=`w51sVj zJFRtCz={Fvu=kZo)3MQDGy_q28_2`{qbdKd#ODU_Fa0YHSajNP*HI3Cx91|Jfq(xG zQ8h{P-;0Dn0$@$-yjrOhC>=$10qhO00Bkn+;vbdrIto5Y8< z_lfm_3#U_wtd3YmPVjs>OC0})F{kek%H zKQSq-;nkU^v|ty^Ah-3ps3>YtAJ8HP|IXF?d&3TwW$B{QGPmwD;6S7ai+wN{|j^{4{GfzJxYOTPu3HF0zjhSQ-2(f8N9wXkb z?lqY6jcaNruT5(JGcOXkiZ$OB?k(pXKvW964&_?^E8KyIm+knUg+!jkY{fbN0g|%q z1mj*ejY(&&0AH#Z@Ya({^hkgokRV{T2d7kO_oY81I_$l$^N*B-kOpgEX~hO5kF*~B zvzbjFJOj8JLg@;n0D8|fe&9ta3~`6DFsAwU6Cy@Gg?C6)o{H27ci#EXer^?cDq(|~ zuMx!ep?wSg))*&pq$sw}+G-}9?myojURoU#KeN$5s}c z@#--XicvR5E_7mQwx76-v@j|W;7`1*9s zyLPlN8PrWW*CZ{t7xBCCHugN9_%8j`3>Fjz4HqlB%rCv?k~u>R zB(sN@EOc!x!Th)WkT|IzR}z8TS0aiW%G@*TSdLfw>|1E^EQ8CguB_E0w8&a`9x*-N z3YdK%Z;8_>s7jxGg?!wgcKu{U4X3lab*b?zZ*3QPki$E->0aiGcyWHY?Q>QXS{t?S zXa>7X$S=TXCOQ_+;(W9w%4>%2&l6}R*J3XDQRRx{R%>viKv9_QYS&C z@~3Rh0~A?32>&gqEK&fUN5O${QT^kKg4^`Y1sK|sm?-9*IW?)fEt6g?t^D+`<@R59=bH{=KSKI z1`hjMpn#m<1b78Rh#_(SVJ~^nA;-erul;r|*&CVH-rtv%_KVM8^$zJ;CNT(B9Nniv zKqnw*13>^b8^hDtVhN0AzFwDNt2R0G)&7;4kKrGZ05XBv`ee|3u+L061nq;T*TKFb zWO^AR=z-F2)>Rd}eQJQ}iJm-rsnlLjg6vf1bFu1ZrAV=a@0UIz(pp)e^ZtO}yuXoy zx5K@6sa0K`zBgHWt!ClvjiQg0=D~(ZPKuNz>>u0uEmV0*AFZ4|)I&tHkECNgBC!cB z8nsoxCZ}AWRI?GO!#S4qdr;_?H1n*=gi^30 zk_ix2ozv+Bv2lpnocf4YF`Nxryd&3G{qq{5YhEZZqm>ofPGa=2=jfnQJguz;?s_`p zqki|akCIQb7#e7&NtQ}VHK5r%OFR5Ya{>$CEEHWdzTczHH}LC%XIRtCQxB&d)k3(z zCg=V>);3MgOJ6`mLlKzz<7~842;`y2NPzpJ-r(W>fbL%A0*V;bVQ8Z6u^^sy&9u56 zxY|_W*9r8RusmUz@EavZSf(O@WR-;kaWeigf&1H2@%SSn@vI@F&^(`^5 zae+rJR!PP{vj!Qx8#A9<8-vrkN!y>2(Y>1n2eyoPQma1RanGcly`pRp?i^@WhYODGIT?yqyssC>CQ{7V zHf3C8J=TyjTbP|&p*Gixg$(+vwQd~d3cF?x$O+XL7g7lln#3Z_2U_>{={6DrD(coHBoTxbJAWe1(5`DWRw) zc_x0{-ON&f_FEkFlQa9$h5W>pxG7{Dh;$8j^?W=pAr;CwugE^tQ&^<90<^b&ZjVW! zzkX_!X?1OBdiTv8Pd6!B(IXx_Mmg}gTrc%+=9K! zw(uPO#_<;b?Kaa(H5vl`7S}^V=bLmF?GxrjS7blI6520|ntPW`KYB@BpsIpqXhO^# z@;O@w^C)Lci($uTq||Lj>T9JJ_r`kpw7r$Z2K61W?BDZb|xkBPkWoZrbF7wMr*Gm)uS$41q?NB(i+A zcBPBRzM4N-qN$o+_WRhs#$$_FhSBERNs3hF?Ly|7g~qCxoL?xkssM-U++S^Ln7Fk^ z)vN{zh^I;^RaIe4>IMY{ERsEQj~=lzaaqN^pi2e#9Z}^9w9U3Z1p2KI*X`_PIJgoo zo;|M&mg)Z*X)4P2pyNc&Jn}W^jObC}K48^fk(>tft}{n(htZ?hYzmxv0mEU9u^$6* z_GLVsnlAm7r#H(~55q^)%~e)l<_8O~F4VV~?vFC6Ih`DZmc>e+9Oj>oGp|fqn(Pn0 zQ){GEYn_N05(>Xxl}fc~P$op;@{`Ho>k%3EJGmJe|EM%&mydZ-(fgn~j7 zW^N$Q!gjv{Go|&lD@ByEX!&+Q5%A7WVU|HUtKxVb?Z7J-COr2X-9BSVNB7oG&7*6L zhdv&fM-&!*dwiRqgtlaU@cDBEv&8v{^XDRnZ3k^M#lbuk$;qCv**`kN12!T6xvh{B+>N7EpWe}6 zD9gl<#YNYWcQSc8MNEGB<~-M8?7Jsvqw+ZYjfI$A;uZLeC>D&TKOj;{0^K&is2`qA z_$}Y7gI)97Tfr&zWa+i#jgK=2ug6P~CA?fP;$NvuAh{Fb_;a}Gr`6F51}7Qz9Ez{| zxh}jjXW1P3X>V3i)*h_dASAmBrV0d{4`ol+njzI7JZ;%54)hAA4SneQ`$$7WZD&_6 zge9zhPzk~Lf=!97m*>{=mt?=Ee#6i&APXhn1v+KSRBQ}-P!Sij0;ihmW^de1px{hV zK7#oqMRJ|#l2bOYesf1{0MUL}`%9!Pcz&V1QJ}Y1E420Ql#F?y(!G>jMeAGNNJ6X3 zJ;^%6xZwj%B_bRK_^od^5rB7waO!A?J`jO&1ri1nC$3a@$+{{}k_qia#8%V&$1JNy zw2zyfXJi$`&+csxL)~NhM5J(XYM<4r5kb}u&7@I3^$9dTzOi796_|#V8Pu2q3>B5e zYwHs0mps5|7kw}rk@LbAdM5}uegiBA7~0a+%ow1y0YZ}u z=>;X;6|-4eVxRqJvKfpps*O$H-!EUHG%Egt+;@z^H<%BVge4J$L&7gQ@{d@Q zlHfH3SJ=fJX4HqyepX8lZu8fwm6(l`D+~Vqdh9xhK`q>5BvcR|y70xX5=@~71i2w* zf^ji`biakCmv%y;6Jrv2pFqCG!p1kz!SdcEQFL@D2iuJb_s zm$SZ!5ag6|-uIW)%JiqgYQY@|q*vUokwtHjogi{y4v>YJ4hSo9IU5*;0j1lPvi&H4 zS6o(g=4x$d41cg!c<9XY{!BBWI-W|(Yj8n>jz@An zd_&)k*U~&EUt!}NTbSE|xO+C{^P1jk>c3bx(Nl0|y`3K9V z3VktbA6Xu7M?URV)p@7sb%0zhfsq4-p=(%rPaH7wgKsjByTb8ST#gN{G7&0acfZABudf1Xp`bu}=oyuL#;^iZ z=4;ItcEYO)_raiO8T*xFjCEFbO^Of(nn;*jq4Vkyq*J^fZL2@dOvNiQ>J1vg-%!zr|sWh~k%L&_Z zt@d_71pt#a;CL#0NwKkGcyril=>el%tK7uA^L^vRsQX!L+^Ti*xA~#kX9ELI$quB0 zotn;po_#GLK$|eb?0VM2h;w})EO}i8j7SCXZGA|{LfXiBjC%DXKZ?7~Z_pzeYi0ozOI9jtF@ zs|PBC?pfF6nFFY<42Q>@Q9}|CnrG3H1)62L2~$cU0r=$6!g3v|cdHI3j_N544^_XO zHz->l$?6cV+1@h_q$U&^rWxJ{w(gU8d~?T71}k@>Or&0z5_pT67w4J*XV{9W%*nK)%C8|P}j`l8btTMiT zL4R%CN>7Qd@7hw~r+_yrxLs@oTC3f4eg=?qH<7j=njIqL__49>(OZI}2%*k9K}X_K zP_DK`0*_*w+v^IY@e*Yl>v&6d=Ca-^w>4*D4V7Rv81+Th;a?sb4OkkQh(SzZ2||8A zIQ+2MbxGYOV5Un8_i&~IMTT25_~GR`yS9=kRTmc|nsunkouN|A^sw5RuK|E3mmRJRN%1=w*VV|0}+{xe@CaJ)Mo&UW!jrN{>yMTY$wIwu%OI>~ko_zdcrrbyiGD$hLU?+`T71{MP1+#!^Nu%A=|g zP}1&?e6%R%gMLXh&%_Y>CCn*YWZ%oOT6pwfN0|Ru&qPAHgV1~046XbclhUzlR6d-K zNIf)}N;%M2l0(9vDpa9(vgWqm%diedKPv!2g3Djhr3kA}0x*N_LH$deyIGuRyb^;49uj!7X1KQj?Sm_ z_HuAnO}id98MBt!M7)TUd_<-8U7IX6Dj2ni-<`=zSmR8xd7H&Es;#}DH?3M=6DMXk zO}#ni>}uEWut#PzH%NyM;0+D-LIP5b@3Lx7lN^Ope6lY13n@oOE06~aNmT>_IqkQ> zKvEbR9u@0PvzIoy>A2!Lf3$WZ0|R`Sg+au;4G7pZ73@k+N=+FvyI0U z0pUxi0ALU~Xb4|m%Wy!c%F+FrheQelDl7{XQa{`LJV0>L^= z{Z_QD;lbmKr(F-7igt^8mh27kZET~3*k6;a~PL0dB;KdtN z)`lG;=sq~(RlfK|-IixX`BA@9B2@^W;K60y!26D5U>aJ1kajz?CS!Kf@OY8jFyq+- zCWJF`e%u#jPo8Z5ei%1Rv&Rms=racR`UkV4X6PG;0$kK<0NZz_3TF{uaMzLV75~$o zY7w=HFD5L^$x3IC=xn}C@NCA~bjF1QbQ*dKbNb=#l;H6&<)LF~QP~)G<0lzyp23zM zLW3bbkAGdYTQfx9fhIk&WoV%hf9v=xg5G+{_I;_Es#I08=wDT5vY{fDv9FV|u-%Hp>0^HoiuR$B#QE%dxPoQm zemO1Q?gHPw(C_5Ctu-l2ON*p|(K}^aA3n*u2>r;G%LRxd1c7HD6cahNvEUkT2fKpl z%yI3l`#E3sIXv+BRrPSPPgmc_e~>QT(WEfyWa{|*fuBS8Esr*DLi7sxphUmdqUr5r zTzd3MWcvg{Gc!y7fu{RrR1_+&J|#jPtwW@&b@eL11w$F3y>)u%@)E@|WSCn&y+)I3 zw(~JsZ2#wA^Se%O39@J;j+^Yz9);F8n9nu#yUkY`bmMH?U|}L?=y|~vA^ph(PzD2 zgf2qq2$^6ja14azq+Gm9->A1MM(+27MoP!h)!N{V>V(A?-33ao8j`Y#dRcbIYv9*s z{G9Dybx3(+sksPwBoz$gXLvN(Q_3iY8)ku>BX#NRhb6i4ZrEfcIaT=4>}ieer=kHV zgO8nmOxY`~zyIU1$nOTwJ47CM8Tq0Uiw@mv<6y3GidB(wIwO$(;@bevEvz!YI|S#+ z+o1fDIgM~lH1fk+g3*q&wO+akP==5^MarPv{qh|JsYE}!<1}o!5MDbP0d{ts*Ojqe z3841WnqX3@pNKXp6H*4Ju?}>tN^+TgcMoln^+nWmZA@)-B?+m~%=IKCraoU7^M^Bq z4Lwi@FI{1qsYy1d_5$sd3Iw-b;i&E>uPR}zH-4nK zUTG%RSRfRzPg9+>+62~c5+F;Q^`gpHlE2i#;02$Z5h6s!aRsx62$#FF^r)ucvP??Y zB>95`>V&*^mp(>DXDw7GyG9e+hQ91r+K;)s#@xt_x^S;Df=0~zA#t@nOnU55mgHbQ zCC-ht4%i7?Lr-+xE{tvE`enoz*C5(r`Le#M>Xv$KSZ7};i;2hM*$vOEhMjAmd=T0| zz#pg`AyV3+X?qy;T56mHen%GlEWZEMn|hJB%jVt3!y4`fxeACARirh1u1UKUquhZE zCUVtdvO4M$&J%kXTAIY<4^jJcpOv{RBzlzDZouz4B5PghF~-=salj*8wRf#pncnl_ z`@T0rb)E4r&yNvPZLX`U^3udZ)k2*SVPO#1DcW1+?&{?Lp=h*FP?3jR1Ir(hxB7q$(|!kO zXMO>O{xoC0uRSMsBj&avgpjNu_WpCXOr9$Y&e5(a@b~%SW&;j%!!Xmf0@#G6Ge=uE1;^wQxL$ z9>jd!8UrCy=ogW_{*$jQ(XgO*-co(KUblyYwl@D-+j`dW@*6lH=YYncUKJ=EbcslY zL45dqTP1&*`*zk|`KjCt+owTyo~oL?y&(E*$9>?Z0)_jWC3cX?(@w33^Sn;$H86{U zbE$8__*K1IWw-8nxp>wrKIU}~U4J~vM%4XsOU`dTM`;Yjel)wa$?msv4M7)t*sz9X zj#iSa+ZD7)CmK{3BkrHb#y%M;ej`H3Y{H&o54Ho~1$c%gj*LN$uy(IjQU}ltuu~L@ zMZ?vd5V|&K98en2Awp@QK<0fY-*ho>F9t0v^q`&VF(h(-v3aZQ?c>jumI6uG^ey~6(cP2jAZPzfe^aZ($Z_3wW~pk38JgIjc@jRBgMCVy z5*H;5OtU~ov+KfXI}mOGmdr#^L20(7ARnFa%F9t1EC;_U_E(Hq-ZT2#6i*uDlN@{j z7jy2qoz)p$+oVUw=)5m}&@Q{dHC;O64a7o1 z=s9`t^h`>+HVcF}SUdQ55Ij;3v+k#dwfl=+Pe5W!ai3{=_t(y%X^Id`!0(-)ljk&h z0G{xyFRE+WXe6g#e%92eM#}0{znjtP`Fsj?CQ{_^*^J;Sd|rE3olt#(j551rSZ52NH;iC?TY`#(sScdg#s4HtcKM2La?!f2$@&tO)ZKYDEo{k--Tzs(X9NX@h5}K zJaum)hL#XbPLH4lA-~2{gmYuP5pEYxUi|y_Rr>tV&+=Wcw z(`uaR#ZzBUcY3tAjy;hDa|2##((6<*p~}$G<nOips72d;9lvNfI-+VkOVMqn(`` z+FthPBt+Zw13?D3f+*51hqE94`D#vG&E z3A*(_j-xS1kAf$b;+752Q=9%;=*+oMB8&4*;FqwMJD#YmrK%=Y zmB~KcGAd5>Venf+xe<;{JHMm{v&%ei>Xx11Ef<0FM^(Av8KSg-N`CRS(0}a5te^qm>uef2g%*DeuW&@d zCGt~kyZPZ^=shkF4(je>Z(nJy&t-O#R7)J?fNzKIvMU5zaR-R#xfn_L-| z@m9h@_nC=$Pr(6#!xKKKVg1z~&39JJ)$;9hlkVk-`zb<}plb7+6J1+|R*vIclck!v z#XZ_ClmnVeJ109MU@SkO_z7(86#JP&4uc4{#2hnGJp8U67PA@RXKGlnc0?a~FIi%P zVhJU6dd@_o@Nv&5OwahBE|D{L=K?-|4S2UM2yXiMcACB3Z-|T z!33;i*M9X)KQh4uI|nhsJgqhut4`! z8_fOCAcU`NH}<8mS+9kq_{|z=EQ2a#X)$fzHGUxfhY4M^VRFdMd+WR?ciJPwkn zJYu5#&0SAUMhAI}cOvA=arjbUv(Te)NLyK&E)LSV9~P<_*=5(8DmuUWko+9Js1HjJ zepl4-c70}yC<>fpI&=tdAidMR?m%w0QsBaOyHhI5JhgI%SWNCZ=Z!Fl9SU1Vk-4>N zdEXJW&aj$|#Qn1Q94(;Qk$*4q?jyrzuYQgDqb7e19HrB{2@gJ4weN7tOwU{!W_c(u zH4S%b1d1c3wOFBjP%wH6hzQQvXi?%sOsg6vP6QxN1qm6JPrmW`RWb9^f`xSR`fSKZ z8oH%d!VB&LA)Tuj+(rKr!d6iY}?(9e0jo4qHWiu@3(oD?QAJkrI&p~UNRf0`y9ux|4@8o_wl`Yt%>)&yRe zC#tqwLom15;4X3Gx$%NMwi@t8yq|S`=<8>%dj5x`)Hf{nYq7ZrTWN>0r=)ta?B;^K z|6N$wYq^G3lid%C#**l&qFv7AxpB$hi7=u|u<_|jLz?dsviv#k0T}A&?C{#)? zL1x)Lp{g_;)4Z+7!!JQzyu3unBTCwX0T7ejptYjyd&S&kbHp8&o4Esz?ke1ZtTbEi2t5E3I;5pY7AVLlzQVfBe z4noc;f$^_KGS+z8eB%$8xA)vqpIJc?N9zYvH!G%nDIT$eJizzjSS~2=x`YBECGKFA zDI}1OPzk(EIDliY%6BHJF0E70$=+nrr>4cLdVe;4;Z`Z#x8THgu-Cx-E;1zk<>kGA zPTzi1PWjWge4% zhG&g&_)SvMv$=%QOxKILF4?Ch%x$+tJjy5d9kP!xNLXNtp``~W)((nI@Tx0}JX zK)2!^yhg-cj$^9gx#j+~`fX={r0CKHBZJj+FRtHxv7%?mO0seLPS$MC?KU5WYHOv; z8x{m2ECU2FHi0o9}tZzWb6CYxmu_UVep)v0dI0D_om z-nEj7al|O!(0YU9Jur^jXYb+y;+xt56~}=utb8?H>G0f`N1;!=&nuc%*`@W7bq#{I zgW$vAo2qF>;_*{I=~%nIoBud_wOUdhh7rI5_{TaAxh5XF$V;+;eOZbm)PSSn_z(A=J9RvRo@0UhSwb>BF9+D8$$DgWK-rq%)+?PS~0 zKm;1C+pUNqzPvl`p6)$J4t_h4ChqDs@ zf{|ls1`-^%WL_2EZq*8?cNDLbO3&RLw-{e(OkiHKyCjrG+0$y(<(I(Zb^S|;elh~eY#3z!{*sFA0auV8S_C^nCz zR00+)T?G;d^S6r7NAadTD^g5iFvMo9Jy5w4_*4I;rCWt|Vj%~lI-noHXUd-BG2kV@ z+`T(fd8QATn>c9q5;vg;?0P_fE1BtFl;cIybOvd%A{f-YMDrBh@YFY5JbXN~@>R}B zvP)${EyO)p^ygnP6JE*FH5!hpL&mj=IuKbdKpiM1hjW+sTt^=5>U+Pv#y>GDHV$Gx zd=qfFYRKRYlH_)GB~lcx5*(LP@oWmkzDylPn++>S@*Oy>*Rc4@v6|hpawjjU0KLg8 zWuD!vyc%pKdxoUWgP>K>Zs394C=R@51@MOkl+PEqfgUsdNg2AF9V4&bSt|?W7OSQ_ zTA#P|_P8Twkx7U~`;5EtgthA{v0hm(jEARG`aLAfP>VY)F3&kNC0J$8$~_YRifxRW zKi9(PA<4_U=32dI2K5@ubSs^Ywq?Ho00T=jg2}YZ&u_jedi7L8%}9 z8C9zf82s1}LS*xUbf6gq5$@j_`b8#}u6W_+f`hkPHG?j#x;=mCEt@y=Dz6(ZzRWOP z@IZTDv@jRYM`0YWkqDh`j(g!9rW)nonsR>R*lPT}_|Bi|x5aL&^pMi}&|ae4fN3C? zQAix`UsF8o5%V{8v7WegR7E@XbT@Z;wl{byFeU(@Hd5>FG_xy$rfQ?$E2 zediUveTu)Szsv@y0($9~*483Ao7AH|^2_k$ILbq?AOs6Xb=HQm zbjKF8jtV5C^%Yy0h z5*C!QdQX@;Tye5W_Pe9?@=nWIrgnER=gcfy_J^Fw+Dha?BMPKA}(qOVe18+!Ui!;DY@ zTTVvS@a!3`SkK6D2MSI%gL4ij&y#eFcf?-Oy0tn@SE;iF#E}L(a>PcpfvKR}&>1-T zIVji+MEE4fV<&fMvPR%u&qP_DexyjK@C7J9ECR@qzoMxUX)o?GWHtp!KojaNVf z@_-oQTBbz*s^8DG7YozyE^B&&pG$~EWhV@&iVcK`y;O~uJ84|uFvxR?8;K9qn#tk zuzpye&;6;>l^&eEht8-98LWL&ZwqF`616TLsj*UY^(FcZnz%Ov%k3wP=-1FnC{<{cc!mAZgl`Pe;{*=<7>wZ3Q5ZXy z{h`J~uA+1{bHRPmC;mX?i<3E$_p4tfA3nELPvsRPxs#nK3K3KHV$cLsrwC+Ni?{r` z{L4n4^jAIb7Qse$*SCZ36W=H54X1F%vZzcwZw{-A0`GH@_I#&|xo>5O&U}z?`y+nu zRDRBI+EoRvszT>mw9=-yWWOtnIsOyP`o9nc_=Dsq`Vjz+nU_Fv`>_*b6jP_HJ>^kR z{AGu8atG_jNl#?`&m6G+c=oJJl6H^Feo_OmW1hM(L^}?; zS@@X7q2Jh0IeJN#iR|sDcJU zmgsD%v}%*DU}Q~7RSz@!!);MR;NiN+Pt|n87y}Cl84IcQ?ZlA9GS~886eBpL3(JmB zfW7cY^$cl&JXm_$@Q(hTp}WmnKBu^NVu0 z0=_uvx;rYsCR3Mi%5bQn510o)Zruu4}gs4;h7TXC*Z;Ou1T8)B6ohq=J?cO zwz02{9|xJQMYXG%)NaMM%=<9?GOmXPdI@TuWaeMw!M@E^;6p`b-pQbOr~1DI(pi9L zIVeURrieszL92hnw+NGmo1u7!u&&^$4RYLC6>~?jo!|6>|AEIM4v#x;>EoOd(Y2#g zZWQT0t*J%OmaLDjM@@D)iVOyw+KCU-&0Vh3b{M#P+DMWDgHPer7X*#CcdHZb>n|%% zg_@yrHy~BMw6M!R848>3QO#Tzo6EU-2?On=mx{}SB-5%|5>`J~a*IP<`_^5Dyji3& z!nV4Zh-`C%DLKv8^jMiR?S-G9-`h-_+G?@rDk6&iK$GTZ4canbR3SkZI?mMzVMbij zk}6%gg|nQG9kxcGi~}+4ccl#~a(M?;aLP)HEHHE5ink zd5Q22WK7K7On{EBzx?gNGraooR3-^m(`D6lb_x%ii_{O4j#R`)4G5}56>c=^m|gHq z<0P%TtfH*R9((2P{m5~|YDv(H)i^o8Ul5V+8vDVK1N;eZ#D^B)k&#tUXkI_sAq>;M zfaoFWye2#91tj~hCRpY6SQfn8Sio8$v#r*@l@IG$yR0VyND)k?tKOyLV<>M(R1?Jy*#X9Og}VwNU}AC|IB;K~kaw4Fa8@it@r za4s8j*LfAi!c)F$b5m74uFsiUW%f3O*Wlvyg|>Cii2>qEiwBx)xyR07KTw*Sqk(& zti0Du$<(=hA~G+k_%q+o^XA%A%U^C@e)hWm{8WH)(uIXNPBxsr?oQ8|9H?wyr?YVpL@*R>`d3HpFTi$w zWH$C0iR+7<#gI|#)hTSW4>aI4=JZV$#u#y}I`)W; z)s(T(VK7@;_#y?!kjNSYd${VSEljojcYmCJx~rXDK!EwT0BH(`6P%aM?4L*PZ&7{vBGvSfiZ=U@f?QqClKqXDuEPze zi1pWmtCGgE=$XK@_cXv9k)M!lmQ;TrS)Y@$alp^LK?)&YW9a-0vbY#QA>8_H+=hOCNnNJO%Q+?)POr1eQuVog$Tr|& zn#K2vAZ*CPc~nJOVYwFXoI*^?xsZV!VVKRp`d!ecc_igZ=MTYSnr?Lp5B-Re(>Q7? zM+qXFVhfM`W%I&-`Zf&$c4)*WEQd17XWq-{8(JsIzWuOvJW)3|+guxzHE!4WMK#06 z=ftFFU^IJ2s{S|mG;n4KwEM`}{E-0rh(0v$cP(E0vRppQLBM|8CrM9LD}$G!aPk5h z+lMDNN9UK;(G)Rw4~d_ay8}EyEozZ`JD-nyZTaf6ak4z`K-|eV4~Jp9xfA^oK1c2B zkLKG1+Xyw5%fQ&4YjzJ5&gD7mD0OQPBA-lClq2pV+Z3U*jgVUCIu~FWMzX~$nvZI( z(G!C(#UC!MWjTR+Cx-2djyjf$ueIY<6N>2dDiZ;B1R7~#4 zgEO^iXaNf-o_fL6L8D9lWv$Y0xuN;A`SM3^lhg%IewjZiG%KPMtYO{Lfqm3+f^3YZ zm~z4`97nX2@T_O5$5-xI&1ZyUL_f*nTS!bFdg5kLlMo|HFo4?2$Rr6^`c-7=yM7@$ zTV%a_LP6If2@b#`4-p0 z`y0n@v8O)FF_~8BMG{lVH?Sd0FFH&D9-eE9CJhNdWb|02OioahU z3gP|%>_9GEI?H3?7LI8>8kd5{KAMpxEu~KBfJjXGu*L(_@D~&0aw9?bTpWw^LPl8VC65=}b`o`= z2HylM5{~ZM<`e4WJ$j`TKPOoGDZk?NTIjIf&~tW}eoHZWzt{$J@I11=$Q;fu!Msy3 zu1`8fen;_!jn+X~5KN`y%9@4gkU-u{Z&%o}n?`|}5{i{fCmh;DkL_#gN!fMNsqvxV zST>W7%)3`GCG5RZJPnWcfw&n!vWSWq@n2?REeir;`oh6_h8u73HozL=G`iN z?&kUceaZC?5~I9VUM~fnRy@1^H*@7aC7Bv-Ep5TM?E0c?#WtMhP{M1=d-{Q!tE6B4 z*4v1Cw3uyKV;g*CN1{#pp7Hj}!#n!|y~ACqL>_HT8cCQ{E-|mM+?*9?qX7r}EodC3 zPCj;y)dJTa4a`yP{nfyPcYLzKQ-{16c`1Fku3t>~DaVJ-Td3Z_6m%^VM3c$#I}d*{ zR5^7iL^;(u^mHo3iHHzgBgZ{5NrXu+ft;KHi4TfdVa0Q9o0Dq;?VU||d9K+}jtjuS z6dvj~MgMAU%KVvm%p=Vpse!9lq6>3 ztrSIdSeEb&-aAi0gX*PYAkg@026j99{dx!&!irG$li>ov^?4R{YR1W{5utRweXK2G ztbeI{T$FF-oL`UU4dRW8H2^{mV95&<{|QG2ge*Cv6#lxyG$;m7`4rRr;iM=hWJ2Ci zEq)z%ZI12Z2TAgvT!L`T2?ZgTp%Zy?j)KO$7*1rnDlx3n+FAieiJy~o;`S&5oUKXNlId!MO^we+dhUAyaM3I_o$$7}<=sPVO&u&*7r+jxM+tXQhX>YV{;U>ea`)B)dSqp}4Tk=kP zPrs$+7(rEQ;eJ2l-Lu+*i&StQn_|IeKJ}ayr2uzu$ z6@8vk{1Ln~DA{5_%#5l<#paxB`9jsnU(pb$E$AB=%}^z6_y&2(%mo+<-hbbrRl;yN zqDi$)fh_w3E9gwbqj_jepOsj(;QcxRvX|K3$Fw@gl@B!YDEf-~o)}WE2iJF={%Q0& zx)mA;foK`x>>&rKS4VF}b>t`ymMtaC@%nm<9^uSVkyc11I_OogcBMRVk&ziKiNrJa zb00k)YLS{Vg|hrHv{;teG5*mk{zgeLdHC{in^6%_v&+XB{^8&GSmC}65^yf0WsyOk z)mi)LPlf`2n{5yvKJW&#I|FWB=<{jhIj1UI&$<#}mEIk$^poKVzG4}Km)v$mGeJkScFNn|q>PWBU9Q*j<4}4}qQYNiN z*_Xq??fn!D-G6N5kWgqg#7FDXygaRka#x)rU##ck^#v4As4YsZ*u?m;btBTsRZSW;GN%WZmB>2 zlObIYO(@X<7S6@*O@JMDG2|>L&KjOgkDdR{j_OmOZE*uY|B9d&NFbft{W0d7!zhyAqzYmw`c#>I zF65V{a`5{WU%Di?zkgUrpQ>F%F9wfkNBv}I@VMcPKK}-6yfq&}WC;Lzt!okpd(|aj%GHg_ z3u?2G@X=$q@81=Q`XgQZ=^mUP%?WK5NSo)dsieZ@GCqx7 z?2}8~*jlM}V^th5@#x2T38Sr~fczf<*3W$xrBJ*7~vRU?iAf3 z<&hZ@yR-RGbL?thYd?X)NX`O6{68mv@*72ul&-d<<~?lf(hql)t)Jd~zKdp<-C|B^ zQ4o}p<4H+OUHfOLtip&E3@G3)hm2CCpYQ=xtn;s63dm~rJJo zc6i@C-XJWM_cMsnjX?fLK@h_ANaW)0gp1n2Y6F?|m#wk`Hq-cTa&8QAwq_pr`FH91 z2YHYOE(-IF4MG+aLdbm-8T%y=Pl4d>ANTe3&!VgpN)Fe7ZW#-LUnu-VcA24f|0c-* zgW1;)0UCZ#iR_gB00`kMlFY37Ct0ohXMSV-1`Snz$(BJ=Do-9{%NV&i_e)C{B`J;8{i3P|aHllPZakXK z@b6jR6xj}ck-0uLXfg5a&C@66kyz-XA3MvoPX8!h|0KnMZ8my?w!EXJK)H8WzkLdr zG8=#4gC8NS{bXr$9DsWJQg)I0 zb=tt#juIPFo3nI#l7gUgz?~uIdbiL2q++SC^RGi}+x~?(wa`GX=>JQUz*iBK{;bBf zUpgQe*(vuC`b{25-v56krK89;uOmMhvOKVVMHGLa`IkUp%ZdC_0CA2y3#{X}|3ij1 zlxnXy_GYQ$-dqAF>dh53(I~2REHxpn^S_d=`Q-ldubzppsUT;Pbvuq0Dm=ZtRP@8_ zhw3^DAi{F5#px_&KwU}vjU&pyqD5_hu3=~jFzYE9&7X?2KM{^M`2EJ0 zzY*4F6Yza}+3m)W2R&C5xD&Jet*sy4$#nMp6At;GfF0Nn!WVrqBoc@=aga9$WE=Ds zyZm=>NhgqI0s7Q5-M{MhKy$#~f7ku!y>+z0Ze%R|P#2KwO;X6M{~au0|1)DRz5X9l z&wn6@{=QMv&ZM@})-N#xUgUow+W|I?9CD|7=KhWwp@i!Re;3ONJ9FnJSIjnu22ecD z0*h(czW_pg1&Ftab_Gy+>|fL+cJ)72!bR-SIg*eq1sL|PNVOF52P6i>{~thgBf=j& zLu>=@zdz+Hp-HNq0yG9tZwl>LF0TIApoRGWsx4IxB}&9#Bf?fPvgN(jr!J8 zbWyLb*le1DRdXHX{7mXqkA#%>BUNt?h&?NjXMdDsL!V?%2w8?-B7t5jc=t}!#L}Ee(VXuwIMOz0bH{vUW`KnSCDuKm z^$35Vb-VYNiIGyZf2u6dxWIb&4Ym89>fb-HdeE)6O`5re*K!|37O{#w$(ioEp&!%W zBUVyoFQ}>xlls^)_s<{^SRO6tchr>R`!5rrKw6aV?yT?pMKlA5GnMx*fHR-)vM=QSS#K6mEx` z#JkoDl!`FX9jKLY{3H&Q6mbNMML)XSz$5+o67k8!Pi+!*as~QF-bSl2aT9>o{tveB zpRO}Bv@ZPV;_-AL$3t>bcZU}4Qc*Utvs#Dt`;-d`O3Wmxb$EPc{z8DhE3v9^k|DDSEgUs98KqJ2#M-rr& z{tIKo9w0^mcw9eT{(P|I!@a;laG*PMKb;2v z5H>OpQX9ZAgA*NEuff&`hkf4ETDBIWX!kX};UgH7Bb@l%gHD-npGk@HoGw-wd7ktP z5)*1HLns!q%#Jtdla_Le=m6daS+a-*1war{It#mf+F%9p3gs-4!|g+E40o(woA^6~ zGw^&>1xwGRyiKFuH!)nIYwKT~y{om4JUa4|LA4eM-P(etB9(sF7G}Kj0c8|Vp2<8| z?jQNxwe|A4%=yWYXATL(O?3%~r5^xcJt7lOoFaKW7GTOBAlVOuR zjW$S4gsaAYK~s%hP9!$yp3q%pdyxk%iQ5yh7nywX!d2oJg7;JhJzo6N-@pRX$n;$@ z=bSHv!3oR)QBJ3VJ+yiDKv|LBrK#((d#A`WfQO~JF{FJMP{HCUyE_U{*5Ec7_LITi zbjj1nu>IbmnN|W`VWkYhJnBl(q{2opZXi@K!$}0PBHO2OcK!OKP3^_C5@TWq2v9e zT5<|S96n9GOc?EU6eYwIs|=@?$_MKN#M!)JdDr5&CUroOo?rP)f-gT0n-`Ano{}~my z2N3CjGtY5gPiN^<1um)67##o5`-nk*YG??aZEzkKFVW=9zZJF6x;P>dqJSkEw%*D0r{2IS{ui1VXVO@_uVTAX;J zUNvi%OPh!GrvfaT_{wAaRu>F;Kn@oR`pJwHVgr zkg6jtZxnUHZ%YWf*vh9`T05t9?a%mTxG#A6S6cFG5YpvcFUIjTLy1y&pK3hoA$4m| z+T`n7IM(;xEcr9*Yki?6J4X41saOe>&=xRq&L> z614Fka%ElnSW6ciz)f;4Ql<7aJQcRF->Y7sWaUK0mc`b&aK)CdXR9?sQ(dZkQXbvb zQD=fY0}kF#_ai2pc|^OB|V(IH_Vt`RLiR3AQo0wS=+KD=aMR&b-td{AimMo`S!=$`xlfFmL3o>N#_(EwVWM6=#)5| z>#nSr>3`)oB~$8ncdJRcqIUo5`AVFn%Q3YBqqVWUD?P&2O`dw!;wULy7M%QMaYj~> z^sPM>KyZa#PBl_($g#lLaBw+=Fmr@b{TDI&;^q@B=gu3gbss*Ml6c%uIi*p#N;$bi z{SJ?h-Wr4~Dzz3(v9?2m57Ff#zT})Br?AB|O6=aDNIu2gQmlJAUN$VA zI8^e`&ld6a10)4qwM69}B_+_}=_0^Fl_FsAF~zxLFKGdza1DI>pjqT#AkQu4sUETR zf~UW|W;k;D-bi^9IPFqev6eB>U58k^)NOjqumXPP{Rp$%I!`-Ks`@QA6(i<}rcm?7 z7`SZ$(FqC$2fThr_(}>6L0~<1MIHt+Gv|9Le{Z@IHo6vuVnep|^O{Y6s(eJ3ho|#D zTfb2=abG75_3jz_jf5b6;2DTY!nmOxMf|d*GZ7ZVosCF@8T*6UyH&5kr zIUg;WRzDh0HI*~)7&dfaZIgUwK}rV?X`p|>0^QiQNMP?oK1zcZwMX3Hq9uj%8b?pq znm8wa7H<4#FD?~Wr_=VnZ^PWqM}{xXD$O`xv)3X+ElxhI$fsU^*$EVb5Sf>7PF;|3 z*)ENHyO}wH-ujkx)|!`6b>!1!qEeDoPYIu8Q;KsUD=@8T;uSzO*h4yZ#2~tQCjos- zIb64$=-HToF8o*#%Gzk8{MArM|KPl#4dxi2DSoM!gicva9Y6N!HDKB~eX%aw@<6(D&%|KB2z}Kwx2Bpo zNC;;YR#lA@-wvU(u7V@8LtLcgU_3PYCuHYrVtrfq;QFls!rLPdLaMB1y`xKVjl~T^ zU(sWik6M=nH54A{)w4YNT^0r^2#Fxq>p55f7!?8J2QFPTpcm-`jTZCm>gl>7t4iCm zvB`AvZYQnzgwZ9ZbtABQE7}W;w*rfNG*K2GT#IKtdR59>LpCg2<)bG@iQa&&r;yPJ zz00oHx5fNS=ep>?UtH(Zi5i39&-cW)aFbK0vUu4siH}X($40N z66!2X3yhL+Pvy_nz=k{fWoOU`pD6Su#8QOQeN`u&}9VI^#P zPku6FoL}9>(3$(i*~zLbBpsG5NS!C6a0s$9hw|e6X-#UrpT>jF5tpgDePZKLtze?Pc_V`^spRQ`r)zS4n3>7aodZ^m_iXYJw%|zaBW{qFDQa+2oK(D) zZDUUd@Vzu2^T@LBw7wQ^6C-^>?`#+I)iFaCzED0Dzi|DM$Gt0-8T@rwg*&5^I%?lN zwMRNui#EX1skF_rN3w=4yeAHkr}bpq!*(GxTBUv7U55?Azi z(t3NGBX#tHQnjJPCF*^jd1mTaS{iirB}M>qE4Br~+#(7S;jSH$I5uVXXtufft>5bw zXB{nHjx^>&JJ$@ZvG2RM1FZqVXp59gt88Xcji#SKSdQ$V*rzz$E9+{i2Spnhgie>h z4qUYS(AP7SA1!h0W%JeG%L$!OXKS;pce^ubMwP?*!X`(~-~CqSp6vx;ItM`^YasE; zPGE2h(I$SI_-bbQ+n!H+{?rPu*>Z{BD$8%q3Gd@Ly7S-6-WP-+YCFk;t$U*#$m7^= z5n^9=&NJB$EW*O3HO=b6?3>h?EK{ZS4bd(KW2><1;Y4=QDRQ<{LIf}T0YVOMc-n1{ zKGGOowm9Z0)HXAiaO&Ij(lWjb^ z5Mr&~V7CVaSymus*`|+Bpg^c0L}&-*G4GdUFc~sJUWdDMG{n2H-(-j@KyNVEKr+cD zNneenPOS5kn=NMc1%%*(>fQit_i~zw5pslKY!`dX51X^o9$Ov*a(zXvjKa&l{&(J{ z8ggkO-j7^PM)bhW=BCVl+MOUdt=YF9w5@DSa+VMUw zHN#cbbW7~UUv3+SH5-~A2W^?pyg=3%p4)nxP{FCoK~zU%Hox1E%15Ux_i!H>Bw3B* z*yqGk(p4c6>zE)7DdDz8QA(LVMg@cB> zO!y5duO_LIJcolN3ObSp@wRI|k&h3h94t%}zppdlS{1`P;U9Bt?52S_Khpxg+t%|e zoyBU!lh0Cn#8c3>ZRh8oCEdSWRg~c@dpqxOcb{ygt8k0=wsM9{f;2_u$m$dgXpYES z>OSJ=`a!@rLNwIf{#ZH_F*dPc?d~+sB7RV3Kt4$NMLdN&^V8jE{`3%T{+owv*$Of8 zP~3!5O-%o;YDFR%^`I7@ni|-kHaEE9P^i~NB=RT~3Ni|hQmr+7V-bo)Z3UinQ5^!x zkrNY#N7T{~842r~uRgd*B^81U7`(XCqyjx&9Ep?4MQ(Bj%n};vIIkQRHyKT{xwrDM zLQBq0%6v~g_A`VJ>Y@?1}0gKy>BXlc7Z}A+{NIdDm`~ z`m`|~yQtXn5!M&HU{4zy%js^3qm@HvOMWsyFh2dUJldS(;<-6|1^e>ElY8&p6_F&f zofoDh%sZ=m>*^Exj)m$CbeXKpiE?h$1r!AMwHEi}&JEdoy}1DuDAz;I^ZGiWkVmwc;FF{WMCA#E`&0-XB?#joEpFNi zGhIQOH^d#htCyY^Z5MecW#65fyk1?6-XULNJjyWoQ=Xss@chkhBfVAQ1@5OB&iz;>3#Y%<<&3kL7}1s| zGR2;Q9D#*oxs?@RJ?~{a*PNK1aI|mcn)vjvq(@BcXn84f@&(Z-%MbhPgH@s>md4!o zY{Ds)RK3B7v-BazF@$qIV!|mN40~Bsxw=|sDv95;vk*jU&hhSEN57Q78nL{^nTur z+tHHAj~+YCXu21Fn1?UI`abvtoguq3KdTQ&8x2#vd)HaE;e(p$%S+jtHvYj27X<6J z#Tg&m*JS^mFn5k32QKy@xoH-3FIA-;1Kvtne1s@G72DCGJTPK}K8U@s?%ojJr|MU8 zrRPV?k%W{Q@dK087jynj-8YD|^ZxHYUmvK2B{EsmzpHF$tZuGO_mNwwPsvR^V!7bJ zZ{Xsp6`9ZB2N$b2*IMepx2b(SB_!T~@0OxSx8q)8Sl)_nB8XjFLQka4LXvEBn#nr& zelFRoC5MV}Vf^RHw3kB|B#yNf^)m6(zUhf3zRwTb`^C!$z}eOSP8?`(upqsny(%x& zhD?&hP0*;!5T;4X+rP|rvKijuZrIAHsp9myj$+Z;MRkIbyajj6i z0-w>5Pbxn`v>l#T97F~kxOF=*uG%$neyJ9|<7Zbci5{-xO1Qc0qglHroLu~{kXE3) z+ZZacI|~7w1<`^a8G!VYL5QvZhZzoQF;&3hT!-$KS$~wfGBS8Ib-2`9zyqt;P#60# z{n7N+#lwQ_#e4d67B29r{KVnWo^V}!?Aq$=XN7JEbF+i{p}a#VoLbq?x5NcWa~6+} zk8eKVRCePS+u{$t&yC)E*qh3>ICZ3h;n2)D<8t@cRw2fy9!$h12Za=B*KD8F83*A5rY@_uw=f&3^NFq2bzt%uI}9vlCVN6V7+%y8d) zk?pcsEpwdtl~w$$M;AXy0J-uT)T5t;{uN5FuQn`0D;13!6 zvtXd92o;Y_|@Ae*Cn<+xSSbPT({iC%(Pq@s^)0n&DFhkL~@|$3cvP}o{ zptce@jTAyI$t6#=?PZdnaayW(>$8G3#_?|{T6u|+64rXNIfu(I6S1T+;*a%gqNA@6 z;>u|3V}zBzH|w+d_V$Thgqi%1$c@8~d(M{>!uk7^lN8?_m&4fSK}%0Yr^}b+^?hUX z^Uam|rVcGQ{%sOgye+!jr=1h~C241^H@)!b(yJzP9faV=zJ{B_O!$%@v=q=haifhc zMjVNK0k;kwD)>^G-vaX}UsG;4@ig_EJLlQS-mUdknSG*FOBb=Y^H?fRHl1~i9D;L- zRkCwJSdjV8*OqlZkoa&kQ_lTBU8I=H1aDt$hI&fU@y0vvPgL%LK4o+kU5ar;KZNNt zbstV4E-T|X?z}d3t**{Sz&jd*F2uz5t1Y~JuwXmHz|DA{cY&|l6czE=saC&}ee6fi zS9l%{9k=7l1oL{S?phhNSB_G!ObOWA ziYG_)?~4IusD#Z&1FdZIMo5)AA1jG2aoO8 z3q#dpW(ayzRe8g=P}!iyh{&iCztE=`9h^{=6nh|UxzF#MKesgA@3Zt^h|T!Z zSt7?n2buWkjHO8k!Bl}P>I|Qp9qoiX#@1S4I@zNl_7gI)Ml)nmbql>h4xQQXKb>+z z_w=I&95N-{Noy;-T2bF21dlCUAnhjn*KrLohu(Z8m6l4R`BJae`37CKx#Qw$$yhUY zZnvId4XW6X9_*989ey4dt`^Bv0Q%(?fHrd1J=l`%u6fAXI)lY_F3#G#!9qs6BSR?X z4ARAydd1wVlY3Oyn=R?78R%WzrV^K#0OGMI#(on?nZ3HrK0%^XfyjYTt&1 zJzBKN5I$iOLfQsArv%VoTPlSTUnAm|ybHYXx)i}gi zEIQOBX;afS-&EzIqk-fNeyiLBZ&7XR5?xw_@om~$=Om_^0h&?w{acwT8JVV_pre2^ zv`1kq%(SVJY)=%tPAJbt^h(r;$%gd`&oN-ezl*2Jk*&;eR!=XO`@L-3I-L`=V$o^l zzZ6+*KAslabx|>08lh16V{}cE!WJ>&Hyi^w}>;{NU zW}Qqkjhq<0TL0{o!^=z6aooxKbDtOpItOkE5YbUT8ThDX6e#u50BH00Jj{~N^H|wV zYf?_vBztY^;yupI`vrD}))!T(sQG78Wiu&)T-T$mto;)T%RG8aF?!xR6aLR`_`3c; z=OMY8fdzK(60JDmJm}(KZJO99hkHAzv|MHQg6wlJAV0ma-lI$^>6~lpmdl+yce&O* zcRHISS+Eqr09ad+dVr8r{Tlk{obO>c+HkPe+d%2P&-a-0h^i|_h|euIXO(VJdy|!V zmXME-v$Lp4rp~Mb6E0YRAOmk7aYdzxZ&|Jd?bNqZ)w*|5ON4TC_cwFg+qV#*1=h|4 zu9PB*GU}oBDRR^+cv>selj1zSQkU@~(-)evRZ~d1q0ku|;snuVeIGD3)0ZOz2&%C=zC7f|=ZY5v+|us+ z2uUrCIPo-pTws6SM~upGt_L~kpq%3~5kZ%xJ;iuzj5~V!T9X}!uxmM#YXkBp?MiFq zR2GdcS0%q*IBDm7GE&lmZquQy#$LZ=Pci{}&-+!?)U1Gf2_{~~zJj~!4;4_Zl8)Kg zt?;z?OgD{azH;HL+!u0u!ro*0*?z75PG}7zfvQjJFeg8ui?&n}7t3DtmQ2B}n+Z64 zZBFm~ppktuQuXwA!wU@`mfz0VB;(x$#zIZBsu9bi%q+zu4e7z>6|Qb|RMW<0dx{27 z#wJ=)#4O(fpzlt^(7mJrQfwTnd2hEs{)F5|NQ#U7+?m?TcaCX|+6czXKD-|QL?))% zsncnky%iMg%My)9dBoUm1%6oExkTNztmvJE^`e-#u1fb~Qx5O#7gKHL0uS6-UF53& zUeC!+6@pN1*?Y8iX)Aj{+%Ju>z>x-?*&6|FDmiX`dM1WiTOXw6K^8fnHCO{|g-TDojFXQ_k3Mc@SbNhfM6+T% zgl^)D!_pD}$)92}F+&4ZZ_k^X!1R^v*ME*PtZ(}ke!cK--{7e>c#xO*))~jty+L8Gr{{=Q zOzI9`xS+GO*iC)9Dsn6wvrQDf_f&zhqhOIKNIh~7l9U=mg?2wQ-US0JTqw*Et7K#% zr+Y9ce?_O)pSOYaPw=_mw@Gc7c3Uxz{L-DHX(L@pGVX6`#sSJQn)r?8+*Nmzy$TtMD(LG7h~1LOB`cnOj`^Y8{M8 zN;55bNlIrvxhzFzMJrEd+q^@;R>(J?O?K*r+Yam|w71CFr$~OxY);njJ4|Q)k=|Pc zD_q%OtUe!gLJF{N`6tq(n8_bF-*djVh*qm$IAx{NGb4CkOUPM$PoyVziJKAzZtWDU z#s%Cgv}ow*Z-^Q0U+P&y zf4T`K{ zPv>YV(`k{Tf6ZYe>-&b|H9rfsJKNUPhgER333sMU-Uu~!Y%f09E`BBDbehTsUNzBI zyCrny6tF{2@?-Gz-B8W6uI;-)Ao3mV`Br;INW4kRvvV68;B!x`o^R=NhiIO#a>gvE zt+y|Y9ldNYP;lP0ZjZJYbavv44a|9dzyHvyy<{j28Lg&g_XZmOeGl^`h$g!Vs(yjn znsW=UPd&cXsgb{Ta5(cJl?yk@xk8s3N;MTba+vKzH18q1x--eeGOr)%ii6n6 zDyD|yble7qJyn?YTAK%9LoB?X{e7G7MI>udxs6MzZfF3Z(p82!BVox0yav@A!?I~0;aUE|uZ}V!q;wr&utqsp=N^1EM z!AgE9*v|wtlm$$95wLuy?3-cAga& zkr6c2HSNGMXTQ3m%<6P~;AU-_Lj!zxK1ofYCGogylh^~W_O%JgUQ=n)&{^R}#4QjZ4_jU}&|&iZjJ|l79z;T|fmF8xmc)wnG>Sdq z5;=^p(K#VsGTR?>?^%{x(Ok(l<2tmgcq8Wl=TDw?33o1BwD9QFn0H@JWTLaa0Arj{ zT*f#jHW0dF*{KlHixoInnCJvY-N|BPnV+Bc^l1i$CYw(P`}vFXd+6(~k~ z{aw(i&QsFkft&!OR@7n4ZK9L4$?lyqNUMmv?uBIpIp}%!+*_duGwPrb)tGOp(Nit= z0CNW!SzT}Cy=kl6QgA+@KYjvw;y3()dVAs&{QJphne7v%w*B_w>kC^N(ynFg zK4G2IFd(HeAROlu$dWq%9bOixo$VqVLaWuMnZlYy26vZ}8G7 zilMkqTui9R@%YK0@4AL;J_FwUDTH9a{un~AnD#Z#)@c}|%FUwK8+%H~X_jnqH`76) zh}hvFpA3hG>Q^6LR(HF$+;m3-c7>zldd*;*w>Rv(^45-026KS_L+i2|yIOjN-)1m( ziF+3M;zbt>d(>K`(5-h@ol4DtGJbO%+Uc$7SWPyfSOP@wbk6vI>V&evotyRcp*G?l z)7QU$7vYiM%+%?>rrxt;f~Lrk)4+^rWz0kEvsKLm-$&oI^xbij%L>Mm#QGg0K)G}LDoZje7;b5Fz#s}P}-FiSx`dO?^p zbeInQ&QC4b!Qh#w0u99oX>#-{BfRefW7`Zb*}c&7>(msyd&~@OruG}m2dUE*Ihp72NG zcIZy;=~mxtFxBN{vyh1Z2(Z*SB%Bym>awT;hibK7nB{$q?-w%vwEoWA;HwiHh@_jb zqLJZBbY>`p7tT&POljE*u^$5bQk?eN$5&fDGzHHsma%hd%CqN_gIwAO#k9wsBj|$4zLqr-W>tyxG?`R~i*&$=KN%QCs@jJOr+8)ULvvt&R=dr!rTxQ^G|dbd##NYn~M`!p|P5DxdC+1$i)S66}#Y7s}F+Pfc{J=fhA%PVLVZN_D-;hi@D9eB=`n z@sAA9w^)AWGMX#I=JM^;YvLkivtmna!Gdiei0KEq7|gm9pye}sAYxhx=S^yhY3$Sv zij5R;mChPYrhrs9E+P_ju7VFC(l~(NeL1sQ|HjU%F@D;VwUk{c{|f0;nYau`?o*xH z`$UCCzhWy*7QmaEMJO6H-)S5oAGKMa7+3HM?TzA76_QI!qODiBgG(Y0AE>yf4|VEp zM%2~85=zXUz3w`t2@QfR7h~g+1fHBY)ira4a{orcJol81=)6l1|MK!K&F@9DcJs9X zer;03wc{?|TbB~{0?|EV7B>7#Uw$&kP)^NA-ykfM+@Y}0kNisgGA9=U^3x#S!n5u{pXCa9Rrj#WM!_o-ud?Tc}_W;E06n1)z0U& zHMw=s<9>erfipSy#K>Eu6E7N#(oJL{L|klU+=u99=65D8G}XE2XJJ4`D+9hl)Mto> zMEK&cstPVX6OO58^^Z9u!d!a(EC__Vm)X61bu^ow>V3qm+1i9I0a_X)U;7JoJiJkp3X3JQ z^6fR^7_5(}BFTz%|JdRxWm9(dxcDpiG|fx$e7KSa{@0*gayac8=-2D zDC&+mRSzo~)ZKM+oS}`9Dro#V-2q>%dF4}rJ-g{T91&rk;$Mp_!cm>}a!|dNZWW|v zH*DX&zyFE6lh0%ssmSB;ppNmo-DNB~FI~xlr#C-CmPGv9rk^4*&yBOIx$l>bN80rTYikzU&Xm37 zbg8_Wx;0WL)2vUxG{VPApUnYDVxK;Yc{J|>+tSCk+njE#aFwmRPvuwSQ5&>n!`)Zm z{98@fp^q>D{FE}!(Q2Er*Ab6pci%qo7KBVcEfkn9w+{}hh%_V5`HSaSJsjjSb1Hs1 z;-P8>1h5-HR+by_ccE&*=)Aq#zM$P1kzMOw4Hn%EUXvzM2Ykz&NZnqOaEsktI{gmnz$)RHtStEAQ8b%e$}6D$Pa5cvgu1U{l>m+66Za zexQMAkYc@} zxXQowFL3f*SW;nMS+v%15|f;g4ZUQONKhy06^ipT?!h@tm0n zm05|6@Dr+4nXH0`blM4LTFH0Q!zSvc+X@Bc<6vWIM-@~O9Uf#pYhm}84$zw2XsTsv z*c`hskY8FL)wN*QC#Tfi-PP59F6qaz>HQbc&F`v9WFTTedcMXkoj(d^>|UdnG^XQJ zBivi+g;}EC?7?|CJG)4nfRV-N-PFF#aCLES%tT5WNB`wWuN&okhNn>6BTarMB%e!) zG$QI==R%+tBkbEBbE)}16rF$LXp&HqGm)V|?z?S%kBTH$(A8)wi#KU7eE=64a8451 zm{@g>uX<3V%~HqlWXA$un~g*|DM9b#C!x>mP?_OMS7h=}Z~APO9+a1~p8(DxdQ7E$^#c6>+eJ@!$w`UWV_k3q|UEAjB%PjnoQKJj7WZV(K6=qmLzFAHsQ=+f8bnz zTp)N!eoUVor2lakx2pS;G}Qkz1LXlrb^Pf3_+TOae#;@{h96A=p0km~I%220W(*?= z{qvzm4HEY9)M!);ZPB$n9+f+lJeNbLr+NzcZXb*2Hl52RVi@v0RseGV#rlKE!5~t` z$)|O?zt2`ye3R@}l7in_*%8-pcR$%J#bq;=|M-jDr-H5I=}$*+afO$lw|!ceh@9r@ zzHbEDp|4)W^ICzE(I6XIekxO>Q!+F*!jaH1OxMS}f4OrNyot>ks5xW0wY=dY5h_ z8l*YC-{EVLTy4Gx52>hGNJu?qP*v#7oPs`g;vU8Op$cj_)1T+wRW~l$I%5$3Nvo$9 zn{Cc{@j-T|RYngJ!MB|OT%sUT?^n$LY$?D3)G)749#NP~{Sigo8v7$?NMgOkM&{b4 zg6yT5W<_h+kFu_!9sJy8#jZQYr&vdxQ=?)hUm^F;Bg-}${9rG=UN2WrOB}xk6q_~( zoKX(aTZpr+v4{;pB?d?NoA?F2&*<3jT^vjEH23d3o7k7uuCe+j;JF#CQp-*slTY!O zRm{G8E3&N4MD;u>u87W&L?;Ya&<`*`YXJKyV@e?ieRhuiZB&Q%bI*pjVYlOUZKdMc z{U_XSwX{rljq2I{sQXSm&E%Jvf`-F5S%(-sT8!lP!;G7grq7L<>O^`sEM*rxSzJ*! zoyA`i1aB?7X1*S6V?)GMyS$01E;4^0+aW0SIPbzv@z6q!mUQj~MUjsq%m&*Fo5gk0 zM=zwuZP;4PN+`k%h!gz;eRV}leVK1OVR0gW2BT;-;}4*}m6NT0R2ES;p3CfJ8mZr} zNZ?O?GZU>&yJql4eBa29!8Q~`TGU66_zK2iCon?j9stXGnuandJ1zQ!PQ9Ls%(`>Y zAbIeE%jbHB2@eXTf)}WwyQ|ZM*&kOi@r8GatLChTGq9_qb{taQ+$)BG5VsY$ANg5* zXn|o`f*vIlaYQ00I9O?DE*MO3Be&+53wwEbl}G-taH7XdUw1nS_c^RlNUGu0K6C#B zU33woKlhI?lA94FGq^@vzkwqx0x$!W1gjZYZ~)i`rA z4mom!bONHy-Y>3NuZOM3mOPr` z5@$wxAA^4JOkDv(9SL#Hj&9x3KR+IfE1IhiPkT2tqnazg<-DNJ5R+yeZ)XVxWcbUL z4X6e_L#$)6a)9Aj6yHXA=wx#M?GM{vbAp*zsVb6Y|gU^Ls3$(jupDt#Kc!TdjJVQ`jLTkOK`-zh< zB0jf5r5jLd(g zmG3N}8p(G9?%+|fl&bU1npa0^u{mmp)*sVm%@gQP6X+&yDb1dDwaHtnp%c-6~_Lr@Y#Vbqje2>`+r;8s_s z3G~n1bsDL=VQX}te}lOI`;NAsb7R>2R0-gpD>eT6+Qi=#D*i|Ru%^U>t`?qdut&hk zu$cr__>E;KlC;G);V=6OBC=z)ZGrh2mnj*znTKR-A~R2#{~H%l&gDPAnVp7-?qqNA zQBhn1{_eemMFGsZ;=-5*W{abhHOJDdIo&Y6daq1+hXb=n1N=u`)j!8|-4yF zZv$oQE8k|+5sI+As*i{vmiu?ynmw^4m7N%M0@V}|GIovulKq_P-hK^9^s0Ug8R@`> z#>ssTb1M_Cevo3%fltT(Ol(Ty4{o+P)m!S9Wmneca<1fUoLx{W|5^ANK2aD5#y$9r zjyeT$zI(+E|45pfV(Tm~ea^v%tE;oFVION=)UKC#Ad@Og|pjM@$=R6kQ0AaY|r zjbXZC8Fu3@aqD_a4{)PH1eOA_+l#3@g!$?H3(_V7_AneV(cccx_lPV5ESO$19mF(V zX~dA;>@LzUeIQXT!vx4Ya zgjq=MLSb8)2xhd_-+u^lfqr&wF=O-7FNmpizt);FXcujzU4(9lsw4N{k zbo6)FA%FftZ}$dy1fQzP#P|tK>VmRKA}V*tY`&$%#O*Dn7GZP@)R|M%{4g6Zk1r^){M72XZ)3E z16GJhT(v-eY85{n$#_HjyJrCp`+t6xan>LE&@Shj`#u?zwPkHQ$Vj2n(Sz%aa28^Yh@ptQ%X1w6RZmq#;!?vqoKM={V zzrHms=B1TJ(zYmC83bYL^ea z^F7wv=$7`Dc+L60R^N%lK5|LM-_#Q~UWQ4oSR~S95vzJk&w9;EPx*V&I6kKMKGBEx z%@pih^uJ{d49R~|eCPhpiqDk!C+Cu*Cc;mk(i6AlgaM5U|33{FP*}&ADIC;41f@qjeV-N7K17*w>!=3ii0Obu`^!iqN+Yf(FLj^rA*`EI98zJ^BI*TaWA40s+vs*|e; zm>XLi3(C1~?}XfV9pPicNJ~H_=8HMX_EmhZOTO-H|L$)&hTCj^`w{Z*KfIbo$1{>a z*`&Z_oC7TnTX9~*tm2Qc%66<-@U3v>@0Qp;Oe-$~1me~`zaZHT&b_Ue@m$}O%5log zZ%ofv`~>TAPh@1}M?6jD49HYFi}v6r^!|2PW3v}q^Wj(zmIPl{nnTu9ekR7NSi(}9 zO-cetWGq7&R8t&TUASTrc3mwojXP<;@K6B%o)i4TmdcaEbr-3_wk;ysc}KZkFf zJ!9Q}-X?~ZtDpVEC0il&+u~EjDPPkpZg@)|tJ_7}$i7))#G+T364#7#o#^(-nEJf2 zQ@wKI3^7}U{`dMtKh?Q=mkY5f{^b|1TypybQ9GxfnA5B+U_XkWq_M<%{9OP>xIXhv zUC;EIB&O8==3e!^2{FPK+q9TR1oj?KRGLyO#G3A=qe0%kzIwbE6JEnlO>8ztG~vnO z&Dt(2WjA%s#$RrYz6Q|s*O z56f$JQ(d%;dFTKcS?c{Png9?WI^8BSRSlbd=t;@MoiyIwO1(3~_armSVhqe{*MnjO z9u$4R+^{C5{svmciM%`0M5JrIMEN7E55zZ`l*=nz8rBfFA6s^#(e8c?DnSdv%TobD z)?(xfX@WD3A?GzE|8h!vr5yj&Mej%Z)z3-yTAhzX_@XmVJf6Z?J*uzIbIiOtu=iQ% zBlHN2di4mD#VNUC#aNp>y|_zrp4g~SK#SFs(3-iDTt${3C_>KDYvAk#4NMoHniv&I~DKf0~% z7!4$INmSIt`nZ6q?2htJw0ii!?f$Y(OP5C9wNc)}hei7>^6d7T+PS0;Zasd)*`Bo3 zPQM4F(!l@lZY*HmKyU!$oE7Ft3(8VmCS}*~$d&x#bM(*+?k_PzA1v)(e7Gun>x0Y% z@jO?f(h=}`UQ8PXs0Z#tf`6M1v06YPSk=*)f_*7;B-NJcnVWO5>5J}AKYX=M?}=gJR{}$>dx}D6G^U}J_RxYS#@cBq|2HpdX8!WG*K@lltIeqr=;Bo!##C@sB&bex^*pSW!?5 z-zQ7$$w6%$eL7jYr-eY+*igK!5Baq4ZJVL09ECWFo2q6tbyO_??zq27pk-#F#>Lvx$OxFwVbvt=^D z@6E(h{?O4E#jR&VG;9NvWCrI{HP0I7%$2W4*wDm1JbULeG{3zHB6tn1VHqmV{6Pox z>EKPQq<(|*@o{PK$eYHkQ^6titt2=bBd-J$9#h}k+_{KuvZ!10HZ^QpreNMXq}HyD zuja2XRPyQ%NiSWeCK62+d(0S#^*xS{JCbj?mYW*t4J(f5wa<_g_aw3@$*r3*PqNXE z_kwW+990iLR6&Ft^tY!}A|@;uR(Iu8bPefO@@CD3wy23gO5r0KA_)!r5cP*!mAq!Y zy>qwQ7y4YkS9zIBe$BU&c74A&xQf_!9m|j#COF^LVL2IoiXA4e)^f$r_&(Jc&%8>T zd|_)?uv-Lc8-Z={73j~^GsO~_CuFBEUvUgEQReYZFmQkgw-OKg!cwM=jA4Q|s%tY{ z&2FrI{g!z4*7wULSA}^^{Jg%(w3qrvhyRH8#Oui=J9-xP!bLpxFK$V$AtVTPD_EcAg%F#6lk}zgyNxl(~4nG4GS=)7^*QIReq#b5`6y z8w{d5(dSAkLRE0wBR_3!8wh>(kt{4MdU!Z|9&7ax0ITnEy-ajx@zu9#wK8)P5?RkoWE+{0>Dn_+p zui^Y&EAp=1rr1RHZU|w38Fjl=42-0f>S<}Jbi*rw*>XAETeu$xnFUKM^JvvAOg#_A z)s3{`FZprb86nK1maqCf52kojrXrXnH%PJh=myfZ712)@^cM>6^_yU#+c5R}5hyGG zgn<$su7o2??1@JV^$#$-CJP$7hrL6xy(O3Ve)Nmqe0BFBq@enFxaeJrO_!=GGdFTD zXeyq`pX))LYTQ<6h7L~A6MC}xFF$oo<(x9QX{p!O5&qL+seD1$@N8uGlC%BD>3uIm zoPQu0fAH=mW1OUi+9ypHH)-L-FLk`M*_T7hsv=X)OP9LUZXo2~MyMmh5SFd%`&&hC z_e4K@{rFVvFx?P{#}h!F+W@c{mS52jjj&RVAb)=FhU+V+PNvFT(LQe0J~?Ef#FNV> zUY-*7PEUN;zu)op1-SF<%T5tJo}^`NO9gTDyPES(qa0xopU--9){fsnKg87Qlwu=% zPcPx7{$y-b>4zKYpw4AJeQnW%!W^y8UMjTSId66tbzF)QqN6#c+R31L+|FRKfD`7Q$`Q9p~bu={qOrG7a>2>-TkxyqPS~Qhif?qu_!fOd>nP77~ zLo@zqh5_+ctcKaVo5dDeO8Ra{5+f7qJU8LoGFtpV{%EM0ZF~%Q{ZuMB6QY@ z>Y8Dlogc9$$xW`H-gpBgcF;m7+<68_ow)R~4gD|z)d-7CQ2uaS!^dl?)5!48!$UD+ z%X7==D8|W4>Gdsh1MFDI-Bd8Rc@*7_6l99hPJHz`=sXGKm_L|femUG+iF5k0eh`0q z^dU{kvAF1GisuM6=u1rL-8Trzl$!We8i3<~-}UEZY;fVY6ACh&@(WRIOIw1x?=A2W z%$II^TCZ^rJU3(M3tq6>${^m+?TIOIwy=2UciFax$N0L64x$FkU-JN%HFgG!?%Q2D zjzzN9iFyxDTGnjBP<^Fp*UTQxzRZ63oL$#sWN%UYkvCyyR<-2TH<#jf1X(Q@kTs*c zv=ZL^pw7+|qd|jK-uFtnTprp;bv8(t?+h*2mr7g?VN$K1#lmE{G#`8O)B)WSe1mny zVY_jS`6q)!B{b9>4YczRR0C`;e8;NYFPk1bY(TwAN~(8Dp>?h>E)bWpcjQ@}Nb0SF z1e=v0p>w@x5ldYU_JO2zQ%5hG2Mhj*u`2fp;i*YiAlhEd?_PKDK*p|{$K^f9)!$>{ z?rQ36b*E-q@L0C;QxSn{H+5CgqJg#D%gFq|gaSP%i2j}?LF0H1K;Hx$>iB6~nK?*r z_uH$i_Pjr57;?^v z2JQ-B@aCa=0g)w!tTI6gTQ03uvv00D(_7l9esjxG@{brxse1OP?-^CiW(r~joBG@n zVXPy(yB{h6lid^r!{U8S)57vd@pB9ryd5~N*>M{ zDH4S>4ZvQr9ul3$nUM`%yLp4IVH@1eIEJdeZqNO%43srk6dNefrX> ziTi`ywUe^vC9Vi_Ij;qnGD=o+&wSd7cN-A4A70xY7_^Q3@2Xi@MTnkU}z{oQsCxMYpd$St@AT&!f@zIvCBjSwOS_w3`f znSyZC*6`L{L7o-gR34(Az$n`al(@yWNn)JOW}d(|k5g|EBF&M3OrMY5rY8Mz0mmhM zd7mE2U6$-WD4Mp?|6g!2=! z&25uTxM@UJVI2Tr%z5_RQp7@!*)K?s*uYeh)X#zCb&@bwLqEY4Lm9;c`{I^hKoY!n zbJRhpkuRXIXv(jBmtViKE;{DB2<}GINk?Ap!810k#x_xb>v+Cy0_FP(nUBmG8E0N$ zNZUUYMk+gasOde7^xg`R3*Qgt-SbxSO6w9*G^q2_n|oFlOq2ACs>Us$_Qyi68bZ#W9cK?^J^Dp7IH~e?_`5tE#4^ z-}Uz&n14+5-FpcVvn%p$35pV(_s}e{EOEhy?hNT!U^d+2u7t^&@uj;K9a&eUl2w?m&egxQcrK_6#SOC# zjqWIN6PYR`${VFF|4~`cJ-V@en#nEAI?@JU;!vz{%u)3V-ug{Q&ZoOwqK;OpxE)c}S$4{!%B* zaL#ndo7mAkUtc(X`jh2Wk!pTtIlqpn_1b9;PhYCac3;up4c;iB>eSrTo2IkQ0;SXq zCu@6Mt+5}2tbhf&GwTS95T?^ZaD0{b$_$@g)_vLWLwO>4ArK!-k1e{TOavM>)&3x0$tyjVgw7D&MbyiO&FlCJEYDLbsagx3<%dnw>te@LYF8Rgi--|_-jZFJl;4$JI5$gkP z$d@}c#Z6V3kH;6IgWTta*YM;OhJ1ou80%o|j;Xz34B7Gn7e7lRku7*Unp~?V;beA* znE!rYEaC~V{e`O~ZW?_d+j#pI!~j{0p*kU6xTwOZD0)pFe!beom3XuJvPFBUG6gEe zI#21hOm}H(;M!vpZyo$?VCsPsg2KV&i5pFc2qq#k(ZKJ_sXJK3z*3#*)zqbAjU%%! zp1Qzv%M${=vL|WFy=eY%d*p(LWS}-j`kYZyw7z&vc@5^WM4Fyr>A*vud<@kJK#&j< zPz+IQ{c(!~b=S9RLhb;B9h3b71C!h>Lr@9{AV250GL+qjK1jtbI#US~S})3CogOib zGHzPaMZUuz=8eXLfLE=TKnOKqUnF^nd4o#q~uVxWu$9f04?GjTtZfAE8+S|z71#dKiO zFgGkwstVDvnzJUB*SoXH;(9{GF+~YfGw6|@Pb?*IbYkdJT{Tzjkq2wiQl{uVMysbr z_G`g&CTkC|xY`&6Io=kazl4Lu`Lk$jPMsZi)gTj6ZrIFzac=YY7Ri}&=@wkB#&ed9 zT~k!x{6mf`uv76s+Ed4b850=Yym(2nE+(3$#pE}p zjW^;r36$JAD77or?~()Jm?Ubw^Fd4NPW6Y-HorGngOyO>C)eKT1V8uT_6$2$W6wHt zfl9o|0Lf{2#w8WQg$3HkrycPCupjFfH zyYJ-m$#{A^ZJ;s0>Qq@REuqXKCmAW*v2*-#gyEn9?SPF;GxTxBxX`lcViE5L+R4+) zy@pla6~Gi1rRi$JL7qG44HCj=C#!kSQgoUhnw=W(5>F;DR8^YH18MqSY7e>!TZ$Bv z1?UuTmlIWYmX3ioq?-CCAHBr{zqGg`!|zY*t;?h33bOW_$qu|Gv6_qq5hc_>Pu08Fpfj zaoVaby7cPgsIEbQstUWgpDy>X50>x6_vKqrnY}OxyD)a|LNH6jF1w5KNOheusR64XNwarDpdwUMEWyjqpb+SeKKtGMb91_Z#?9H}Mf0Tgs%_nD$h` zfv?rAOp7;qY;|ysLHBrr<_exCxG{$|i?ae4peSg|u z_^0QRfHbxyNQaHG8R;ve)rz5-k-}ib*^9#*!RS*=wj#ikJ<#x8b_yYIyQeE68K2$dIxQ5akr_ zslp|M;hpEJVmxC?d{M5W*G;nGGhs6~e|X@i4)SF_F3=@zzD~F~+5Bfkkwu9@9LTT< zk|L-?&O;t&HFeYw=UGSmwFj6+AmOCnloVRv<1-nc(bTV;+MEfW^l>#`63i6wq^z_< zF78o5FS~DN0L%NL>rDCXhYudMk)^dfDEM>>tGi`%Q%|uA${&Kh!6F?iL4UK_cgw$X zl7AmtZc8N=k+AIk)48|7D2v8uRXkUaJ@VvE;&SfY1$R1$btr%e`;$=tPU+BY^rDA$ zM$&NOvBBZ_$NEPrgXsMOcM>pXGZbNpK6f@qZ#OL*jA$!NK{#!}k^$sqpLiA3a;Eux z9gN}kesFj$p?LY!m|bV_NT&y1j4@eX=8sD@qKhAKs~t((Y%H!wMr{C93sA7{D0{DI zY1{YKoX#$+c8H0cxm=zU`1#88v5<2zXj$3WMjlmEO8L~ zxBv8Yt(_np^?5au(j*S~|uSC5%d+{aha0dFO%A=Iaq< zC9zx2{xEp}HvlAQS5Z;@$Rd!-vLPZ5?rVHWA;6rJ@xd8Ej`6SW4UsM~WdC zy^lY2I6auXrdm3kD1EcELJOWNp?aa&bxm)jr)c|ctj_hKw%-wy$s-yQkNPjc_A{jh zY-!2o4;PikpHB41PM0`vzgyq&MBx>92X8K(r8GyN8e$nrxCVu!2;yz3Rs7_1_qt+V zO^a=5H$2Ado=v{&$k(-_BQ9_21*Xx_=pit^gn7m~j;U8wb=I6#`HQtRwIAYlRZ+su<>Q#m1UCmAQ zxQ}y<)L&U@Pgy#C#Y!~_VFIfKm%4tAWM6U%N=L@zl4?yTT7xcdp{ zyGBgCQXLO#7}!(w%mVKnI+$%y(Jdr2)7S~Y3W8j%$7uei5& z|1cE3W9UhsyhZEC)VS`h4wR2ZRi)CT0|mm^(^I&Y0rc@!i{on zWp_ngkL|MQ+OxnJK*zf>(kJ*~JWk}N@?(E|_Xuj?vpyQ7 zPfo0qg)*gIkgjD5)!?o@%~yXat;Fi$dvlwv z9g9%$P&fGyI|x8?N-n++KM(oq7dV2J2wLo48`TNF8`UxYtWP}_067rtnWBiB&{;2} z1qvU7p(I-RyRUy@c^PkHVw8#N$hX_~&^+6JL(Sp7^3N*Ce^*xiANs@E)-MPg@M~!? zk)y~tP^5itSdFA2+A0Z0Fs*)lbqT*9+ZP;f-dCF(V5tqvUH>;C6R{%)%Km9L`arGI z|E4cF_YAbU6G6iE6Nc3l$7vxrb8@7B*ZkYF-V-c8mJlICL0nT4+McGw3y04uW1`0b zg;!hX+d;B}8|$iu+{CRpWD>Fh#XP;xi~taKbA|rZSegL#~r8?!SuJ20P9`^D45s~2f^pSvA z(Yzu@5@h!QyU>(+oUQ9^ZA+rS01-yLxx$ddd<7W=u_N?~iCw;SbE;`0^hkDUj1X)4oG9o(GYsA3up*35X2iC2IV{727if5~(CGqS&m048@)HKQyI3 zG&{MkH;>)ZN=(b*n5=*VO7#{0*A8t+=Sjzy{fn;;aQs}8?;~Z3OMMxxyInKAZFI`` z_Fd0UY`Jh(zrB9$&H9k&6kF3-!cq}f43w$5n}k*x2cR1$3X;d)lac+QQ>2WJov73w zT3j~TvoxJ-8_|^+XcvA#zT7yxD()ThTT|pKn~nJl8t=*eDb*7dN<=4SdJhN=uVF-u848QGDHzXktn$}+oYSRI>x5BHx=|V zXYNC5e5L#bq^Zuot$xYQ^`D7J*g%Xm=Eay=_oM6`k-qUT|EmEXud-K~td3H;dEiTS zDmom|-P?t!F?lFs&rSa0#bnL$w#BPncC{~8 z!*4&8;1A!Vdq7K1qC7m{;FK#v0#5dkXAi9@yqn#a!@3b`*&MHo-q~DY2!&Bw-fJcJ{yG98C~nb|WFpIeZ`?3pBp$I0fiSGM#! zV?L{RL1bU+?O7TBhySnXx2zA)gYhV*z(9drB9N0OF!i;@9yiBf{w9?}nPiKvCj4fyf9z&CzWEq3 z%4?bTdG*O{i1zj#QdAn1Ztg$9$$a=$)MK{YQE*gIw%Rw z!Q~zVjl}RHKZg42kSz75# zAL6%xnHA;W}JESLM|m#%jN+|n-X8PO7eHopqo7DLEDTpyo2)k<+;(J|E|tJJF3 zoYnbGcZ0>ErUhX79Teyj756L9_enbsVx3tlsh<-!F$s(I^RoR(mL_r!w-oklwpeMi zbLkU$u$d5@>xYEq_AcEYx_#A9CT2f6Wg~~#+s4JFy~kLBO+H}%6U^an>~Tig4VRW& z)ig)PZ%qaohqaRw*;I?x*?tSF1Eg-Wpjy~QP-Z|q?nsszr{Eg-6+|;@lND|$1#P-QSv-go#eQX~I7QK@iROHxCkY6TH zW(6^mS-Ea*R8hJHqm$;*doM5-CrJE8Mz8!w(zKQmM( z^b|mBg#ypF3I{^)pbSgFVW^Kq8vs!1)Cqq{nnGBO0TngbJSAYoPrE{{C=pBWKKmwQ zcRuhy)Sr>bj|X|Cp+LU|J7=9>+=PjvD1jpgqtc$P#NCYD6u~T)>Y6q7 zhG`Z3gP~mt9`B%;2kN(XdwRSS6$LT7Pfa;?r2HR&cq3u=ElY^0$?8-_FhyB>-8Fyq zBb|3l2hCTz_^}se$mv7=U#r8@RSwzwIOBD*v`XAsAp{}2Cr}U3CEI(OEhp>a@z1L> zR(q5*n)QIxMyzL*z9>Sqh0GtkUtP%&q_5`oTPtLhbGt`1)dhNy^ob+4TTHHHDJkR* zS2&Vxu~h9>FGD8XSQyfr_Ht2qzpcr-gzSQ@mZ^uG(mm>zsfv3-KAS|}Eq*#Ul0kX+ zMa+&j^8kZSb+78x)6MOf<;qnHSlcQ^=lBr9_eQ;QUGD7#kN|JA3HeDu*Hs>P3?j>W z&746o(e+&&I;@VOY5nw zKe{h$h+FvK%QPGxx4-@4ZcSxJPNA82+%+v@Uha2#Jr&Nb&6LXNUA5o3Q}0`&uiy9h zcN|=1P^;N@?*wwxYq9KTK~@HQJk!4xs2T85gQ77F`2;%$w5W72KT%Wn$*?A?i|%fxdF1sx3U9$ z{tKS5hiabWW6Qjn4FX&5zZ2Set^8W;l3T3Ck!&7o)@nTKKH4UH4LJ;@hXIMw*^LL> zB6^l0WfK&&y$knPT^5Am07C1_53By8*bjc~%Q#5d!^=(Ib2(>H$sJ?yNd_w9-gk3W-KkBUe6(QPnh4ZG5ZSA@aa>)nJ zrA(=hI_xu}H$#ya~fx7^dR zv$zg26%j9f+uOE}r%-X{59|EgQ{SovsTWwE_5uuNvtqSRv`_{BVN(oP**?xKkfPs= zoi$=auxh@qhL8}^;CFACm>w#XbzK(-o{J*HD`s&gJG)rrU*%N)u={=4?aHC+a*tO- zIMFu1?rbjTd=5CU-qMWWB7~Vk0=Rjid1zf~N0hES005##A%glnTdb3iiFU4Fwbm~u zr8}yNA+s@V-Jfx!g}CN~YoJPvTkra&(W2pmE(tG^(q!MM<>Qog&x1*x~4 zuIVF=V~91Hsyr5uLr;f^3Mi+eC@TLWg6u*_|B+IEyPVQq zYPWh|2vlc;-okq2g;FYmy{!RCS&RxzhfvFr^sH+lVN7NDNL6MBtv6EWl2cTubyv! zjw4Gjt@raU9n<0sN0fA)5J%6M->w%}=5Rn|?&sX?=U_aWufw&huW$d>lrs)(-~P+L zif|nm<-c_#1GgBoBm;lix`XALFSld$VLzTo0DTAbqxw_J@ie2a%Bu8Jklp!rQ8>C>nZT%H8wM9>PZ=m@l9b=em01+sl_&aR%XGbbmx^#`;UO5 z=l6S9R3mL4AjTQSv$Q~-H%!g{7LggIdgvGA8JO^oL>5c^(KZ%UJjg&U)>zhYd|nNs zL95)FwU@r_u>OSkI%1!#7ILUY#Gtd&8djOk3s8nT2~2l#d7lPFEmy*p5caPZva&D< z`Yfx4SukqqBEY4LIDB{YrNrXhw^+1}k{U^Li*qNBb>usvegXlaNve@9)QXlJuBt-W z<&r#P^m0QDWf-hq`jQNdzg2Q6M=}C(KvdPM5Xur*19Pjv|M4){qQ5~yAHcS_82r?_ zYS<3yUghGHM3Z%9XuLP^t@+Q7imLa-J{AXisuEe8Cnharn{gE+;t^AwUI`Cfm?4c- z>y-7 zclp9aNH!`7$|sZbb0y z>T5D5v*v=Zi^yaBd+tqg*Ip_F^eeSLBmLAeh-S>D+}{NmeJ-Ehlekw&dx6K`G63TE z@Bidle+;QO7t`M24~i`jQ;CyPA77~(nHa3?8}7O>i&tvKsKzKs#vBv~KY3Jrm6F@# z)8*3~@C%|>6G%Vl6j;GjB7jT z|5Y?HcJH?t{h+^gCSh9Ofz6WX@R=)sqx3E^yFIdUF2aAXSvk!|(Mb^ZwAgl8MQ{JI z5>fB5Y|1R}yz~6{UvKsgf|p3A8?`Ua7)rVZDWN4@PWfl^9?R-`XgoEe@vMI2BA4G< zY&8c@(}A|TH>F2;ctoE>4O^^0{bO-X0PXQF(v|Vo3whXMb|y0(@cTY!xt0C?nd2%i z9`4iOtO>g4=X-*6X6;6?wdu^gz0d^N(m=2KDVu8g_g0^{Ve=4w*%aTuUT}IbyLC&Q zGg=!Z-Bhc@yZYj*%OPAML}vbt=)0eaiuBpuZ(n3y{u)MG|$-6nK&uGtZgIZAV}8&ln{k7kRJ zB|H6f$-YS`8ga&ns^_aT!+Lw-tRf}8yZ3QDF-k9<6l?$4;$wc?te92 z!|8R!>zPCwp_o_d2GL|qQFr&=6TNG#8)_v>nu`CO=fy28W~wwl1{r{c(;J8F@-yHw z+-+$!N3X7=0IQa|eJ2zp>pHP^{%dTgn9@(}Dg43`()h0j{U1*L#+|jr_bSHW=s(+~ zn%cc(r`LpL#606&pP0IF41AkqV}^hGCb8s!J?co`4t-Z;9N$ROau4`Jb^O7Ls;w9o zWa`&Kq*Ev$(N5Y9{_E+h+mQ0gGm9RD3VRO7iC9#cTkO0e|L+$qgZ)qT z&mg30HD493DVHc=Tu19~ry1pTP)KpSuV&SBT9xJ>?;+tKw^I~Mkk?dz10KJD`K{|8 zBBuWfC5PW}zfe162tzQewWOOLWeEFc;fqWihAXm0q)6EU_QP!Cc-uRVJ{E6KWH_RO z*SLH-15E#$C#0XSaOzH9su}A!$dx?6qc#2Ca~sI#a1y*j_%&qawKo6@I2IrmJ*W;n z*vh&R!IInXVk*u4oprhiKFjwnX2t|D{Px<|V=q=UbY8J{Jpvo|40~9f+XUgkBlSH^ zIXLBTz=ezX%3?*rDMvmtD@DiZ!0b_&>TjftceBqhRQUw}SeW})J>k@Smu`SUe=t8V z!)PiM_Rk1pJDjFxgxbGS$CSHqp%1aWUa-n}xY@)L2^8fL+bC|y<0H85_ z{zUUduR|A^cC1tWxNzgPlu+^)fus8=zK=1_*LvNNrvD)B8Nc8CMc^*{FVBS!*o)g` zvtb*n;`3&GrMCVbxa8NjuG~?afspj|S%k97kzJikLxJPtvU_^)>?tQ&=a8m227I8g z0YHuXZxh`OKC127&v?IoR`M18cngO!u8`MIb}mGk zR+(JXR5hFX;|}yg#jZ=EdY1w?)P6T+{okCc#O?ZcIY*OMmSF-FJY_TXZ9JI#H_DZHrS3w1KX z*=&2N`J!Qo-T&;Z{ImPLSJjCpPUHz51_M;IfcvDlaeI|J(&gVvsos$Ldzh-rEe`@- z?tHqKp7=u)&Z|VUQm-kXL)`TqUm zBYU=l?4}TveJ9IM*^(tflBTi~B3l_oWM9S-+8BLoMfU76c1lr{eVMT&`wSXaX8Hck zzE6Jt`@VkpHLVe6O$f>-EQ8cCtsbdH7rNR;mOWqwE{~L<8uH z*8OYK?ZIN4ZroS^O`Q0zrv5vQxQYcFGh##~I?Eh-S3`UCk1etf*gOk`z7OEwU&HTR zemL8^?V4bsvtbwi)&GlJlF9{FA4OJGz>~e3C_7sg+y*pQ{ z37fv_)&KciJw?X|WTNCjX zY+zzEF8ctjN`{}&wl!hhJk&Gc89yv=?7@mTttwXk~5e=+_T)BofRFgMWeo_kX1Nr_6?Ktv)?AqXyW}(S*aS11YW<}oT88; z+^>-{jm|6qS~R6EV-bFc|8GAV1u%L{ZOh@ma_;feFb-U#X9fNdIUJEgCYtUW{6?L9 z$oK(@tg5b<)^Mp`x>!gnft)yAD^0`i?cK9&hB;x318l+?su-3k=G1I&XLalI>b^Xm@BARK^Udo! zsden4J9??*;**lhkQTYI5%X8{IJOxGtBm!I(h>|w<7xaiLO%D(pW0Thm=ig3kex~^ z@@!U9e3Z--)kBqlE)vkuz-6kV*&(e9V^lf9hvRd8o9`)Xm%M%2jugCVyDe6Kytge^ z-dtmMgeu5LXCEVAW+-G)l3SRF0)WeQaE)$jV2-W__8a{0d%%Bh%SY^t!Ikw=)zqW$ zAt-<2J7mwP<>NKG%NsFmqMhDebO)HjSSEY4k5xU!@Y>bhCsc)qi98+ss;& zFmaClI_DZQn!MDfKH;f+K3}`_7GCfQdsxSwDB^Lr?1kk zm!OEUcr*2REn;O^zdi40>Nlll{lTH^qQw-zNE}nOzZa7YIlVVIgKM9ms6Q&SvY(%j^$m)NlOBn8+G-Y zhj%aq$*YJBEA~-&W;GG#d6sLsTvzR$$8=cyz-M+C*<#^1N)q%PqN%(jp7>2YQ#>}w zfRCh++IT*C^tY~yt!!Gq+EYb=rx~5EwnFT>U>I-+V=ke)v>KG4(|MaCZ&50(P$r^R zSGZy7xAWPT#(uIC75DUGWP-srO~cz`JkQOvxH5-*7qJ)w(c3dNSokMN2}}~&4WPN& zyiWoYkS1orMHL72B*Q}j{_~PLzY^!LfU+0H%2!iKRdwV>F^u0TTl_8jvDDjk~u)J z>zfktDV*rBKz-KKr$m8+0MC;Al;QAD3(e<`M@PgiR2)<5>W&lMd^Dj;3cE_;#t^Z6 zf(5)|o4*4Drq%=>{AzT3Mp0N<@BGPDayo;_Tl4Ku8SBo`UvKLWxi1Iit*)gHj7KA0 zR!?D<0=628(Om&i8c<5tzhGDv0(7_3IwknVcJvS-OVud_2G?vkZ%#G9sz>fzxf zj^}3Loi3a8=12#X?L?cwm8$_N9?~dfLy3~c$RosC$tWBPgzRt3{8dwwm&8B2{&mH< z<4#kf-Db*$A-pE=m6^7@p-2CDg8AxLnOz@B7~Bd-+he{pZR(O-y8*@~N)Y1SSezKJ z7B)z&PSe4epmXe_MW)mm|Z>dCB(xuS2sz-_&ShS@Q>GoYij>` z{WRBf(iI0ZTOfz-Tn)+T1jzjy~Zvu9<1Bm#va4=iEG@sw3Yiz?3WhdFoH|$!M>r zVQ}KEVP>?*-=G!(QUIk!%csf(P_!VB?^K^te4U|{>*CP?yy)XI_b)j!A#SR z(+ll6$ajEx`O#@C=xE+vh;ax#u@Mm9iPt}&EoBUEwJV#6ZDPEySF5f6a03|!Ctks% z0AH}0fW8O#S^5z50o}L+w7~B)-+nEQMetw87cO#=PwyzXrAaz|_cJiRZua?_w#=Db zldo*7Q-R>@-3M>BdeXU{E{-LCrsW6Y*Z}g z&IaE*c0NmPtvcr529nCRLuZ2%A`mltU5~6v;L*WT>RZ;`FXBF65|6Kq**^1b{Pd5x z!q3cqG*b&(cr!EZPInpVId%a8*`1jg@^>&XErYAaZ5H7dAcrR7r7{0@ySLi~hbmGs zzh)OE<823LO|rNK4P9ezO@Z*W7aX6F@F8+Ktvm!bb+9zh{f$_*q#5U~uz$aE^WJaf z6jwd3^y?K51KRzv?A;ywrflT8qWIBWSN;X_ADKoFIxw=E1d2GM)`{bkX-Z${8QU0@ zKGE2E-?CQSY;UTs=B&d-e&?f4j#kHMEaPhZumjFWNN1+2nsRAA+-GUge&9*f$_srC z4qta)8uq>)Ui3o#Aj7alh>a!eAyBTzg0s36yg0#X7iiqE`af`&B%C*+~L+7J^G&m0Wu%1C_fvys`@E-dQjqB2h<_~>F6K>g$ zPaErqTDUomFAy)oA-RME9KNJOf+UmqkTA59fE7S7C{0oA2;!G&o9mXV^F@_yNjr`v zwvU(G8KSx4=q`=_o|LO}aIo+VpvY0#8{+u;0{Cy_H{~6F(`65z=`-w{4*!!dbaR2q z7eTh5)yjfB@ZBZqD_WR-46-H+XD{iqteTSKJ0vFLMXf!YuV+ctoThz#nZH#zB(Nk+ zWM5_^3pZ0u;W<$N!qxSYF>JGqc+XRq`L=8 zJ{a3H{+0)@i_kezC>m70npXN(BBtBLz&g1=npgAJ%F7ka$9Wl1UR#j1s1lZG+3hxJ zfpQ}1GblCI;;3TAL^z?c-B&c+n!tbG1;ismzD;9_%dL46tIb)StEGfV$6rlUffV}D zRRVB(G64xx{bDC5%m#`D@l}vUQ+&H@nVEwxz!Z63E~*>&0MrO92B&6nID3|{g7HX5 zm(snNLK%S!-A+YR&8aT)RKdi;W_E4~{&mPes}+1ItI~%9kioEoBNvgqN=%T|mv-Ia z@LVrK-TOunU-him(?9C+Fk5`*wVoZVFW_KEtdUq-L;}VFD*r`t0C5au0==c2hV-KZ zrVCrYOMR;r(ZA6>^-#67@^_DMooZjP?=>6M>xEpHuRBw&Mopku7CN!V-ur3n z1Un;-c1fo!a>N+MeA0g59H*eUDg9P$pyhG~`yiIixlHWK!2zJsqQmh| zKtx3Fi})9i82j(11*(Ys3npBpOFvpxI0?kIxu4OVDkv%3ZjHC*_O^RAe|mb?^sTQ| zYLAe#+2hA23#RZkYDhB3v|>i-bHHuHzlPo}jZ9g07YIXAf%5)Rx%(e0rj6wi7u7xr zjH%nIDZ{>ay~;Q*LX(G_DM8^Ji^xsuGAfGx9nC{Ud~es&vkVIhhta<@*(;pCoJoC0 z%E^)}=l;VY7&wDf0bjEm_ma*oN7_Sw5i1bNA2$8mdtNmwBELs(Idxe=8Lgxjxny~3 zh|W1o^qlf|Ui4iXwS5I~rU;nvE@fPQ^)$rd&nE8~hQ=M_W{MVAw~)kOIXE*u@L&5w1&Ht^ig% z(gSB$(~RQ&u4hRwSCY=%Uf*3;zy#dUj;DTh3zj!=;Awu4`uHz34=bZrW0W-bzVGxN zk;qNC2d-}*jAg?MVTKv`Am7~Eu`%4jNY*LLBU<6pcLP5!WqdXr?AhV_?)i4GUu`WJ z_D6}%)&}f>Ft9%{*r;BSfL@nJ6UJlhNcZx2uX)M3(Z%3~rk121gflYUE@3l641b=d zuLfr5R5_BLf=ix42R#T7NyIMH!+Ro?x*z3KHI;s>3ST_1Yiw?A9+f}1+^_pUjPy>C zWcW$zU9!j`%ZMK83-GdaU^8`TBk)a#_vp=?Hy>&FAUQoTFhJ*f_)MDP*qnN1FK+Ib zWuUP3ph#GwRTK3X_c(gy0eOM;2JQRh2K@X&@8KR~+8uO0bJ?536b6%+zw{_*CCJD; z@*!+@0g^j63%7lf4!7u{km9_)HL@liEjN-=Dg9lMqs}$A;aGQC+Q(Hh zqf_Z<&vtfvnkXURi8_ua+|#P|>%Iavb6ri{7~VO;`Am_Gl-VNu+?iiT_LrBlk*N#( zegqom-r|V}t_`|$re82Fd0HGtcH7x4U3+gbb_#a*p%0tODqWwhQ$4+w`TAZ>h^!80 zn+m3S3E(aH8Ax!dKps$J1W9SvWjz2Z?|Z?Mvu?e$FLO~u!5Osl;X7uQbhUfPu-xe>7>TXNRZ(CMn#|(F(-y=`pV~=uJet&{MoS(p%4i|Z6=UFNZ7{ISu8F?3(WA{?R#D=NZKkucD_f-lSpB zcX^VqeC=v}rAS};(Qk0u+E_bt>4q1V?mSjbHk*6=ky4dV66K=|LTT0vRG;Gzu_<>- zY9(Ovn6kCiV#f-2o}cpZjhCQ64!0js?YeHY#(`8-`*{-5BVs zQo7#XWm9jal~%pS9+kx?w2QtC&)(#9zNwfsabk3~*t=$A^`7J@?1I}qICKdVHFQ@5 z&ewWo2w$2I0D#c}#DO%u$kKNpgUee#NC(AKj_aQl-MsuNdnW?L`)4*c>F)E3z0t*D z6M+<6`VO7z)b}=ZG^Yk(U+%#pYw=y4jazvjdT8((Zw;gJ&UC3c&kQiVD5!sD8Tw1v zU+k9ou~2d0m~(}C$BKxBoM=eKlq$#ra(D^cy`hn*0dg|r45ISIeNBvJf&Ay18Kj=q z-Vj4fSlGqoSm}Fpt*R!}bhV!d;tgd4fr_n3Ibo07Ix`b^k`wJUut6OWa3=4(PXLKU zY~8&JomAbqt#i^(SR0nXK+dBIIMR>KyrmCzXc2MUJTV1g zV^Om7Z?{z2PL?&iK zp#j1l-Njzi{W?)Uy;k#iDnL>Cg_GOu=qGzF^(PIxu7yy+Ym7O&K3%p60&C_N=q)ju zj2R1V!(iZicQN+g+QUDOX}%jSeOP%r%d+UxOU|pVW(ObYI|;S?7L;JkQhUv~k0!@Z8{%1dUdYe2O^oSL%&N39MDBUf`l!Km99&rbw>A zClAF8yu&A)!gdRSie2w#23)30Ux>n143wR=4^r)o{G7oU#S{xUE{#w{^7Z>`0pDQT zkKb}=S?BM1zCH){R)gQn`~UO#$w7~9ESvbMu78<5`7*_8Qo6`H z;CJ$rz;9V9{}P@3G;szvVi2;jtpNshjcO6E#(DOFpS~xEw7GZ8PZm$RXO=ZSW0tU8 zx^2}yvA7E6bLebWi5N0??3lc$FK8C3?jj;FuR|0Xcw_8Wd2>B%+;(C5Y-_Uoj9zGM zzk#Eye3e=?Te38ig~3_Q?@7nD}|n#8A<9O1Cs~N=BFm+f2p|%$tFGSkIS%bg{+> zJ^yr5EA88y(_qy)kQV{UzDu?P;o|&-tCtUAwab)F>gn%#_mTO!n`%aou(@3Ud-ZAX zm3{$)Q5-%2$Le2Inm#`~t`HTG4O(|ES z1{Z|&=Cl^8yU<5A9M0RcNq4+1HDWv!twqvkv=dq>%sQ?r<%$Frz6*DwDdDeR51`C? z@Fu+LeFL!oTMQNKIQv~VrSW32w6?sV>$%xESKgxBS+<#1N5TtDGeJFx`3J28?T=2B zkZGW$;ylx|25ucA=2N`0!Ylg1<}Dj2NA3?wM3^mc7HVULRhius-#8h4rxoDvEjaNG zUizc~2LuqlD6Ubu2oiO<%~^r(=GQ9Z=5ecC`M|R#1&ca-pWPi)W>46D+$GfC@+BhZ zM^{KqO9t3-Z$u4x6G^btBBbS0D?H16G|AJN*g&;&NvFLCxuer(l?CtfwVjz3uemTW zj38dEv;gWoIDf?C!gbo)N-A$jWZM95Q{4LiZl(uiixhJT^2Mi-i4$G?pCJ_ldv-J9 zZyq{F>|c*d0;5nnppeP_dxU$9&euMMa$OuN@g3XHw42i?Nj}$}<(ycW_%6AP$W6)! z*Aw~Ewuqpfh#=!h3()}v$|yP7)A!9$N2aD54i~~-c+31~;5sikLVg;jB$+8tw7MMc zE^I6OShy1G(}!!yPy)WJQ(tqfSb1GS+t=xqT0`S|?bFtVX41>CBR;enByx&x5%tvg zyRAF%)8iv1EsZhSi#9d=jho5Ih0Hem%tAsl{n{+i2sIQ4;8~ABJLFN&D2h}9vN?ip z!-0&AOi9_x9f7q+X(QSHKuW&qmpxiN;!f{97ctwDMz`H&=e(R2Feyvt2q9tYX&?L$ z9@W!D1jTG(&*F&>Vwj?vzvy?bf8OBxocL*PI6bR4sCf(@f6&2 zB{^TU2u>%j_OJP=Z_w+^ifSKcs-j!nU$U}3H{WD<3)VHd-49OZ)~2QUpY+=L`9j=4 zHcLDDG}bxYNiM3uWt8{4z~1QD(zI9%0WUmJIDKsN%C5XW$CNcN`gHf{P;1k3Xf zN#7HpJxqh^P4(s{`er}(e^V~3_q(~;kH)`~I0t>yqKehx9~$t4TU>xFKztve6 zMmI&RjTFMfQel>`NCHI|3@#an{~e95Gsg7?aIDwe2*0K4jl3@SoMM`=@>pwjX7*eb z{2XeT~P;%ymf#QeVj)fX`V*lzP~SuZ~MI#S~OD5}9%J&;x|_bY@s zx+g@f`?ykFxq8CGYqsJw*HJXQ^(2LU6!=M|%a)!-kQ7e>5R;ekyWnRvJ*?~d@R^#c zZl%*d?di5}+7=tbjHO@2-!){N!V#|km!p-0_Qp*|^up_b$`?=E0i3NvGd%Q@Z>>j` z+Vyo`k+&Hp)h(}YV}8OUuFq?DaGSwE&`h*bf|Qh!5qJ>j6R*K}sB#^|j<_n6S}XC* zc$u?>@G^<{3pH~=q4?PO;gd+!bq=$sf)flb!(2f~qBR_npNK_xkId}#bnrpHDeB$` zHo(k0bxQMvVAA$`_4GflE}qovaPMV*=vIo*;ZxO?G_l>tfNPQefkIwW&46ibjAEbM z$e5XPUZb;$G~~CxbT!|uB>X6S{8S=LPV)0nLj8%&RF7yW=x;kMpVp4^z;c_COc%p8 zvk5dM{Kzv!nRL;&jxM8>v*kN20q^y4H&s% zv$)A<@MlNOx}xIbHQIo+vhq2TP8OYy)Cb`9Zx~2>&4XS@j1vkKkOaR2Mn&T_W;QB~ zHLhoE_fB>^=UBKvY{ZjXM6S9eP)*%_$P}FRcM7?Sh31 z`3U-Pq|hz-V?M{3xpos;8j>}q2m4PypR)hjY}@I0m2wW8sz3wHa5?fg5z~pDUc%?T zBo6dqkCjQmpa(TesftYp2(e-_(s)sb+18g`Kix7jML(*SJ!57>>oP_3SyvefH!3aE-DPy zqO*Ha5T;8!$ERkYSmcDPFAw*x6Ip-4L_TyAp4H8|NJ@7&R+(|al{xn@b+IQ7Qbv(j&m8ueiz1&xxX zUa*a^n|1^wFPjJPL;KpB?z)q^+lp3&H&3mzg*G(U>b~v5zo5B7WyB>T=nHWPNkk{h zJK7Rgli$gXhUluDdUA8-vxJTmv)QRc4_K+_In8Y!7@>oUK1FAMCMa-ktk}EXDG~65 zNAdB8TVH-pPQSRvd)D{qD>*+d4ylSGy=o?AcusoY8kXo>J-tBQCUMtCQs7{~5t&Gr zSktQZUG(Gc$SY=9@fJ-&0*d=Q>HoBl($VxYxvr7I>mYfS7QxC$UFm*zwoUb;H^;yg=wHmM}Uel?} zq{dA6&%>)9yYvwfKcEnj6xkoV@`R{KT+_}b(75wmM0O&MKzdZ!iAw3_A9@Ov-lXU6 z``h9z5`WIUomKnil5B6_88@erPZ>tlv)48XmR8^@Jue?L#q3{4d8S7Rn?1rQLBTa^LM2B1NkhEoD-J1A6I4)$XDZ1bbl`ZQjhmq zgg407n>X0?X*wy$=EANg^nnh6A9`m? zU0S~DSx97aCzSd$u_-qxaN(w2TMo8dmG5@A&|>zH-B4UJ8|=MlS{d%{PI>_^@CaL( z6vVFr7Ghai1OHeN2_Cm&;e0*!)W!P9@@@7|zLvaU2ev9h-TP4x_#)6_>@v~=6?diy z+A|G!Qh~~z5+VJ%UvU1pahvQ7tx>mkDuNW;x%PMHILQYw_jy2RS#ZIT)}-ePTBuq# zX=VG^1PLBuYKP3(5-6;vn!n!ok)KDP)Om9q_LU?CL!MGS1!N2dwNN~H&dNgP(Oodf@M~1^b=ozP&zVn-==tyL zmcJbowNfqm$@C!Fmo!3W)5UMW2?v0mi@f+PSZEPYN&b#_rf@g$Z920^@xYK_^U>7Y=rZt z9__w*o+Su)nJvp$_dXLlwY>e!2;32fizE^;%}dI20J6a{}Z(v;`;j;5g8~91)NzDA_JG zZ1CH#g3Z~(O;rG*ls7>n_6a1B>EFN%pDwY99{1P%%Him`w`%|Q!~S>8{&#Eq?{WHH ztMR|a@qdy-8Li&bC%)IBCjTLyPy5NUqFn9xPqYpu9?sIPM)b96ZXk~5aK987le4ma zK5g4FlY7@%SbwAJpJW)|u>1eT4+5Ys&Mi{U0*bZ`heOZ~|5Z{o_E)o9sT;d{t0Ca8 zX88@*Xx0nMGWaec!{#K$sLT{{?F)^ zKMx4j(FS?|b?}NL+iR}Jw+K-gv|?=g5y$gImMAiymR?`!IOLpP;H-HO^*ROhE->0M zs#tIp*AXri{U~I|GICVgTW2Gq@6QM)%XJC1fs&J=jvWlLj|)CL_)dyG!!SIP2di6! z66~up(D+(3(R@x2ARUO31C|N4380R7j4Jg&<~6}DVCb|$No0q6dr1^p#wHV!$D)-c z#N{uQ_Yr^3_yx2}5C`p8K;XKgMp%bKA>y2T1 zP2|RZuJ*8G=^U|8Px--U%z5sU&`J&it@xKvApO&EGbxfRrpl6o=UKsxs%3HBYmHIK z?VbkT8CG#DX!jjP6g%y?dcc!g;@|FIIv<&29Lk?Zr3zUy`X5iSQr%J0)onEL$UJmh zu8u*tSIJgFx{$*Z)I zU{TCbssb&6>P?*JoqlREsvps(6zsPt+|Ri|ercf{D-))8;LdDf-+zr}36d2nkR7-I zs@*PioTtLAnZDM|C~4>=iSH_Xj$}_&6RsS;eRLpzPt2cpJJeH3aSuU^6Cm69x!;~K z+4+#ebUP><<_Y7A;jwx$+WOE|HM;>LEp}w?u{JDH8-5u!2&Dypu0hY-BO%vZ@6xd< z*Gp*}^(T^|VP~X&Z_4ed(YcIi1=L827QG+G`@TBy7Apz;IK=W||44|R_ac|XlI4qV zBs_VHznGAR>q(fdS_(0ShV;HFwH^QfzEr)D+^`qMcP9B1VbD)*HM@$0}Ck)63 zW*{u(BA9KCBn1p8v7l^-)X)e$oIbLfbx7xo-9JZ9tFVR$^7Y7Hl6{daraaA0 zFF4Y#;j*9^WVMr5Q0CRSw$Z$#t)Iy27!Gga9MERm2`nhe?50FrWB9|oI0DIGwpK`E zgnc>#QESt22~r+VKOkRi{)RGsb7KR34CNgaQhj{>Mw^9yo$Eb^Z-bp`@|UmYO3Ck;1(|%sdH6YI z=9AlMMW4N@U!n|DL>lZ+r19}9cg3#-=-f5CnK>r=`0yw!J9H-}NVs{ax`W3x6;IY9 zSAQCT&W>!JB`uLXz=ld*1Ei~_n;&0yEm``I`v4SB7&23K`pprXtj(Sl#998e=Q#fb zHz%odW7DBc+SRUgM8azc8qe1~%g?O4dxO-m4&E7#4s2~#HlRdY<2n;%= z<2Y4{Xr0`CbDnE_Ute>;{A+Mqnk{8BG&fKA-H6z^;U4B7$~E`8pj$ZWe~|JOegii( z85FwUy`mH2amLr|@n;xe+zA~I|8$h?7V>D&QupOXIOu@ycmIQJ|AzH<^#xY1@x0t7 zoA+urE;rtn8jw_8;Hx;oc3Vi|eqb_nfc6j0)q2{F&aMkK84qa!^u?#J-6w$RUX&=+ zp(SGEM7ZYMU`srq#CruZ#Odty?4z`5H^-UQT-9f=rcHiV*R#__{$_uSj#^*cK2I7e z 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 VYeIH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/AccountService/Accounts/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/AccountService/Accounts/1/index.json new file mode 100644 index 00000000..781c45c6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/AccountService/Accounts/1/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#ManagerAccount.v1_14_2.ManagerAccount", + "Id": "1", + "Name": "User Account", + "Description": "User Account", + "Enabled": true, + "Password": null, + "PasswordChangeRequired": false, + "AccountTypes": [ + "Redfish" + ], + "UserName": "Administrator", + "RoleId": "Administrator", + "Locked": false, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + } + }, + "@odata.id": "/redfish/v1/AccountService/Accounts/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/AccountService/Accounts/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/AccountService/Accounts/index.json new file mode 100644 index 00000000..f509d474 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/AccountService/Accounts/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerAccountCollection.ManagerAccountCollection", + "Name": "Accounts Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Accounts/1" + } + ], + "@odata.id": "/redfish/v1/AccountService/Accounts", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/AccountService/Roles/Administrator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/AccountService/Roles/Administrator/index.json new file mode 100644 index 00000000..19d26a98 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/AccountService/Roles/Administrator/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Administrator", + "Name": "User Role", + "Description": "Admin User Role", + "RoleId": "Administrator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureManager", + "ConfigureUsers", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [ + "OemClearLog", + "OemPowerControl" + ], + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/AccountService/Roles/Operator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/AccountService/Roles/Operator/index.json new file mode 100644 index 00000000..90804a6a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/AccountService/Roles/Operator/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Operator", + "Name": "User Role", + "Description": "Operator User Role", + "RoleId": "Operator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/Operator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/AccountService/Roles/ReadOnly/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/AccountService/Roles/ReadOnly/index.json new file mode 100644 index 00000000..1df0cf03 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/AccountService/Roles/ReadOnly/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "ReadOnly", + "Name": "User Role", + "Description": "ReadOnly User Role", + "RoleId": "ReadOnly", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/AccountService/Roles/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/AccountService/Roles/index.json new file mode 100644 index 00000000..ba9ee112 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/AccountService/Roles/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#RoleCollection.RoleCollection", + "Name": "Roles Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/Operator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly" + } + ], + "@odata.id": "/redfish/v1/AccountService/Roles", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/AccountService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/AccountService/index.json new file mode 100644 index 00000000..adf93276 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/AccountService/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#AccountService.v1_19_0.AccountService", + "Id": "AccountService", + "Name": "Account Service", + "Description": "Account Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "AuthFailureLoggingThreshold": 3, + "MinPasswordLength": 8, + "AccountLockoutThreshold": 5, + "AccountLockoutDuration": 30, + "AccountLockoutCounterResetAfter": 30, + "Accounts": { + "@odata.id": "/redfish/v1/AccountService/Accounts" + }, + "Roles": { + "@odata.id": "/redfish/v1/AccountService/Roles" + }, + "@odata.id": "/redfish/v1/AccountService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/EnvironmentMetrics/index.json new file mode 100644 index 00000000..8c8a1c8a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/EnvironmentMetrics/index.json @@ -0,0 +1,10 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Chassis Environment Metrics", + "TemperatureCelsius": { + "Reading": 39 + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay1/Assembly/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay1/Assembly/index.json new file mode 100644 index 00000000..8201cfb0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay1/Assembly/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Assembly.v1_6_1.Assembly", + "Id": "Assembly", + "Name": "Power Supply-related Assembly data", + "Assemblies": [ + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay1/Assembly#/Assemblies/0", + "MemberId": "0", + "Name": "Contoso Power Supply", + "Model": "345TTT", + "PartNumber": "923943", + "SparePartNumber": "55-434", + "SKU": "55ZZATR", + "SerialNumber": "345394834", + "Vendor": "Contoso", + "ProductionDate": "2017-04-01T14:55:33+03:00", + "Producer": "Contoso Supply Co.", + "Version": "1.44B", + "EngineeringChangeLevel": "9", + "BinaryDataURI": "/dumpster/434" + } + ], + "@odata.id": "/redfish/v1/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay1/Assembly", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay1/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay1/Metrics/index.json new file mode 100644 index 00000000..7c9063d9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay1/Metrics/index.json @@ -0,0 +1,72 @@ +{ + "@odata.type": "#PowerSupplyMetrics.v1_3_0.PowerSupplyMetrics", + "Id": "Metrics", + "Name": "Metrics for Power Supply 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InputVoltage": { + "DataSourceUri": "/redfish/v1/Chassis/PowerShelf/Sensors/PS1InputVoltage", + "Reading": 230.2 + }, + "InputCurrentAmps": { + "DataSourceUri": "/redfish/v1/Chassis/PowerShelf/Sensors/PS1InputCurrent", + "Reading": 5.19 + }, + "InputPowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/PowerShelf/Sensors/PS1InputPower", + "Reading": 937.4 + }, + "RailVoltage": [ + { + "DataSourceUri": "/redfish/v1/Chassis/PowerShelf/Sensors/PS1_120VOutput", + "Reading": 122.3 + }, + { + "DataSourceUri": "/redfish/v1/Chassis/PowerShelf/Sensors/PS1_DCVOutput", + "Reading": 49.03 + } + ], + "RailCurrentAmps": [ + { + "DataSourceUri": "/redfish/v1/Chassis/PowerShelf/Sensors/PS1_120VCurrent", + "Reading": 9.84 + }, + { + "DataSourceUri": "/redfish/v1/Chassis/PowerShelf/Sensors/PS1_DCCurrent", + "Reading": 15.25 + } + ], + "OutputPowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/PowerShelf/Sensors/PS1OutputPower", + "Reading": 937.4 + }, + "EnergykWh": { + "DataSourceUri": "/redfish/v1/Chassis/PowerShelf/Sensors/PS1Energy", + "Reading": 325675 + }, + "FrequencyHz": { + "DataSourceUri": "/redfish/v1/Chassis/PowerShelf/Sensors/PS1Frequency", + "Reading": 60 + }, + "TemperatureCelsius": { + "DataSourceUri": "/redfish/v1/Chassis/PowerShelf/Sensors/PS1Temp", + "Reading": 43.9 + }, + "FanSpeedPercent": { + "DataSourceUri": "/redfish/v1/Chassis/PowerShelf/Sensors/PS1Fan", + "Reading": 68, + "SpeedRPM": 3290 + }, + "ChargePercent": { + "Reading": 100 + }, + "Actions": { + "#PowerSupplyMetrics.ResetMetrics": { + "target": "/redfish/v1/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay1/Metrics/Actions/PowerSupplyMetrics.ResetMetrics" + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay1/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay1/index.json new file mode 100644 index 00000000..3d99350e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay1/index.json @@ -0,0 +1,75 @@ +{ + "@odata.type": "#PowerSupply.v1_8_0.PowerSupply", + "Id": "Bay1", + "Name": "Power Supply Bay 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "LineInputStatus": "Normal", + "Model": "RKS-440DC", + "Manufacturer": "Contoso Power", + "FirmwareVersion": "1.00", + "SerialNumber": "3488247", + "PartNumber": "23456-133", + "SparePartNumber": "93284-133", + "LocationIndicatorActive": false, + "HotPluggable": true, + "PowerCapacityWatts": 2000, + "PhaseWiringType": "OnePhase3Wire", + "PlugType": "IEC_60320_C14", + "InputRanges": [ + { + "NominalVoltageType": "AC200To240V", + "CapacityWatts": 2000 + }, + { + "NominalVoltageType": "AC120V", + "CapacityWatts": 1200 + } + ], + "EfficiencyRatings": [ + { + "LoadPercent": 25, + "EfficiencyPercent": 75 + }, + { + "LoadPercent": 50, + "EfficiencyPercent": 85 + }, + { + "LoadPercent": 90, + "EfficiencyPercent": 80 + } + ], + "OutputRails": [ + { + "NominalVoltage": 48, + "PhysicalContext": "DCBus" + }, + { + "NominalVoltage": 120, + "PhysicalContext": "ACOutput" + } + ], + "Location": { + "PartLocation": { + "ServiceLabel": "PSU 1", + "LocationType": "Bay", + "LocationOrdinalValue": 0 + } + }, + "Assembly": { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay1/Assembly" + }, + "Metrics": { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay1/Metrics" + }, + "Actions": { + "#PowerSupply.Reset": { + "target": "/redfish/v1/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay1/Actions/PowerSupply.Reset" + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay2/index.json new file mode 100644 index 00000000..32d067ce --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay2/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#PowerSupply.v1_8_0.PowerSupply", + "Id": "Bay2", + "Name": "Power Supply Bay 2", + "Status": { + "State": "Absent" + }, + "PowerSupplyType": "PSU", + "HotPluggable": true, + "Location": { + "PartLocation": { + "ServiceLabel": "PSU 2", + "LocationType": "Bay", + "LocationOrdinalValue": 1 + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay3/index.json new file mode 100644 index 00000000..7af95d87 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay3/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#PowerSupply.v1_8_0.PowerSupply", + "Id": "Bay3", + "Name": "Power Supply Bay 3", + "Status": { + "State": "Absent" + }, + "PowerSupplyType": "PSU", + "HotPluggable": true, + "Location": { + "PartLocation": { + "ServiceLabel": "PSU 3", + "LocationType": "Bay", + "LocationOrdinalValue": 2 + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay4/index.json new file mode 100644 index 00000000..eb713f1f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay4/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#PowerSupply.v1_8_0.PowerSupply", + "Id": "Bay4", + "Name": "Power Supply Bay 4", + "Status": { + "State": "Absent" + }, + "PowerSupplyType": "PSU", + "HotPluggable": true, + "Location": { + "PartLocation": { + "ServiceLabel": "PSU 4", + "LocationType": "Bay", + "LocationOrdinalValue": 3 + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay5/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay5/index.json new file mode 100644 index 00000000..bee5251f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay5/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#PowerSupply.v1_8_0.PowerSupply", + "Id": "Bay5", + "Name": "Power Supply Bay 5", + "Status": { + "State": "Absent" + }, + "PowerSupplyType": "PSU", + "HotPluggable": true, + "Location": { + "PartLocation": { + "ServiceLabel": "PSU 5", + "LocationType": "Bay", + "LocationOrdinalValue": 4 + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay5", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay6/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay6/index.json new file mode 100644 index 00000000..d2584c6e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay6/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#PowerSupply.v1_8_0.PowerSupply", + "Id": "Bay6", + "Name": "Power Supply Bay 6", + "Status": { + "State": "Absent" + }, + "PowerSupplyType": "PSU", + "HotPluggable": true, + "Location": { + "PartLocation": { + "ServiceLabel": "PSU 6", + "LocationType": "Bay", + "LocationOrdinalValue": 5 + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay6", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/index.json new file mode 100644 index 00000000..ae65ead5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#PowerSupplyCollection.PowerSupplyCollection", + "Name": "Power Supply Collection", + "Members@odata.count": 6, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay1" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay3" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay3" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay4" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay5" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay6" + } + ], + "@odata.id": "/redfish/v1/Chassis/PowerShelf/PowerSubsystem/PowerSupplies", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/index.json new file mode 100644 index 00000000..5557e676 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/PowerSubsystem/index.json @@ -0,0 +1,75 @@ +{ + "@odata.type": "#PowerSubsystem.v1_2_0.PowerSubsystem", + "Id": "PowerSubsystem", + "Name": "Power Subsystem for Chassis", + "Status": { + "Health": "Warning", + "Conditions": [ + { + "MessageId": "Power.1.4.PowerBrakeApplied", + "TimeStamp": "2026-11-08T12:25:00-05:00 ", + "Message": "Power brake applied due to 'LoadPercent'.", + "MessageSeverity": "Warning", + "MessageArgs": [ + "LoadPercent" + ] + } + ] + }, + "CapacityWatts": 12000, + "MaxRampRateWattsPerSecond": { + "SetPoint": 1800, + "AllowableMin": 5, + "AllowableMax": 3600 + }, + "PowerBrake": { + "Enabled": true, + "Applied": true, + "TemperatureThreshold": "UpperCaution", + "LoadPercentThreshold": "UpperCaution" + }, + "PowerSupplyRedundancy": [ + { + "RedundancyType": "NPlusM", + "MaxSupportedInGroup": 6, + "MinNeededInGroup": 2, + "RedundancyGroup": [ + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay1" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay2" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay3" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay4" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay5" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/PowerSubsystem/PowerSupplies/Bay6" + } + ], + "Status": { + "State": "Disabled", + "Health": "OK" + } + } + ], + "PowerSupplies": { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/PowerSubsystem/PowerSupplies" + }, + "Links": { + "PowerBrakeTemperatureSensor": { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/BusBarTemp" + }, + "PowerBrakeLoadPercentSensor": { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/LoadPercent" + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/PowerSubsystem", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/BusBarTemp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/BusBarTemp/index.json new file mode 100644 index 00000000..3b0ab5ef --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/BusBarTemp/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "BusBarTemp", + "Name": "Rack Bus Bar Temperature", + "PhysicalContext": "DCBus", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 43.9, + "ReadingUnits": "Cel", + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "Thresholds": { + "UpperCaution": { + "Reading": 45 + }, + "UpperCritical": { + "Reading": 50 + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/BusBarTemp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/CurrentA/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/CurrentA/index.json new file mode 100644 index 00000000..1a484aa3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/CurrentA/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CurrentA", + "Name": "Current Branch Circuit A", + "ReadingType": "Current", + "ElectricalContext": "Line1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 25, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 20, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/CurrentA", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/CurrentB/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/CurrentB/index.json new file mode 100644 index 00000000..6ccc8c57 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/CurrentB/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CurrentB", + "Name": "Current for Circuit B and Outlet B1", + "ReadingType": "Current", + "ElectricalContext": "Line1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 25, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 20, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/CurrentB", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/CurrentDC/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/CurrentDC/index.json new file mode 100644 index 00000000..2b791930 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/CurrentDC/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CurrentDC", + "Name": "DC Output Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 16.93, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 10, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "PowerSupply", + "Thresholds": { + "UpperCritical": { + "Reading": 30, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 27, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/CurrentDC", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/CurrentMains1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/CurrentMains1/index.json new file mode 100644 index 00000000..e40a4b40 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/CurrentMains1/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CurrentMains1", + "Name": "Current Mains #1", + "ReadingType": "Current", + "ElectricalContext": "Line1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 25, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 20, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/CurrentMains1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/CurrentMains2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/CurrentMains2/index.json new file mode 100644 index 00000000..c5e24b69 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/CurrentMains2/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CurrentMains2", + "Name": "Current Mains #2", + "ReadingType": "Current", + "ElectricalContext": "Line1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 25, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 20, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/CurrentMains2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/EnergyDC/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/EnergyDC/index.json new file mode 100644 index 00000000..1c815392 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/EnergyDC/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "EnergyDC", + "Name": "Energy for DC output", + "ReadingType": "EnergykWh", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 7855, + "ReadingUnits": "kW.h", + "PhysicalContext": "Chassis", + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/EnergyDC", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/FreqMains1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/FreqMains1/index.json new file mode 100644 index 00000000..3fdab360 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/FreqMains1/index.json @@ -0,0 +1,39 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "FreqMains1", + "Name": "Frequency Mains #1", + "ReadingType": "Frequency", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 60.1, + "ReadingUnits": "Hz", + "ReadingRangeMin": 0, + "ReadingRangeMax": 160, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 60.37, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 60.2, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 59.5, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 58.75, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/FreqMains1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/FreqMains2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/FreqMains2/index.json new file mode 100644 index 00000000..da9bd09d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/FreqMains2/index.json @@ -0,0 +1,39 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "FreqMains2", + "Name": "Frequency Mains #2", + "ReadingType": "Frequency", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 60.1, + "ReadingUnits": "Hz", + "ReadingRangeMin": 0, + "ReadingRangeMax": 160, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 60.37, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 60.2, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 59.5, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 58.75, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/FreqMains2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/FrequencyA1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/FrequencyA1/index.json new file mode 100644 index 00000000..f8a8d601 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/FrequencyA1/index.json @@ -0,0 +1,39 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "FrequencyA1", + "Name": "Frequency reading for outlet A1", + "ReadingType": "Frequency", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 60.1, + "ReadingUnits": "Hz", + "ReadingRangeMin": 0, + "ReadingRangeMax": 160, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 60.37, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 60.2, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 59.5, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 58.75, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/FrequencyA1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/LoadPercent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/LoadPercent/index.json new file mode 100644 index 00000000..dc01101a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/LoadPercent/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "LoadPercent", + "Name": "Power Shelf Load Percent", + "PhysicalContext": "Chassis", + "Reading": 93, + "ReadingRangeMax": 100, + "ReadingRangeMin": 0, + "ReadingType": "Percent", + "ReadingUnits": "%", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Thresholds": { + "UpperCaution": { + "Reading": 90 + }, + "UpperCritical": { + "Reading": 95 + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/LoadPercent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1Energy/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1Energy/index.json new file mode 100644 index 00000000..4c70d4db --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1Energy/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Energy", + "Name": "Power Supply #1 Energy", + "ReadingType": "EnergykWh", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 7855, + "ReadingUnits": "kW.h", + "PhysicalContext": "PowerSupply", + "Actions": { + "#Sensor.ResetMetrics": { + "target": "/redfish/v1/Chassis/PowerShelf/Sensors/PS1Energy/Actions/Sensor.ResetMetrics" + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/PS1Energy", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1Fan/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1Fan/index.json new file mode 100644 index 00000000..45f5ed97 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1Fan/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Fan", + "Name": "Power Supply #1 Fan", + "PhysicalContext": "PowerSupply", + "Reading": 68, + "SpeedRPM": 3290, + "ReadingRangeMax": 100, + "ReadingRangeMin": 0, + "ReadingType": "Percent", + "ReadingUnits": "%", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Thresholds": { + "LowerCaution": { + "Reading": 5 + }, + "LowerCritical": { + "Reading": 0 + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/PS1Fan", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1Frequency/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1Frequency/index.json new file mode 100644 index 00000000..e73e5e77 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1Frequency/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Frequency", + "Name": "Power Supply #1 Frequency", + "ReadingType": "Frequency", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 60.1, + "ReadingUnits": "Hz", + "ReadingRangeMin": 0, + "ReadingRangeMax": 160, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "Thresholds": { + "UpperCritical": { + "Reading": 60.37, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 60.2, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 59.5, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 58.75, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/PS1Frequency", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1InputCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1InputCurrent/index.json new file mode 100644 index 00000000..4e0e8c09 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1InputCurrent/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1InputCurrent", + "Name": "Power Supply #1 Input Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "Thresholds": { + "UpperCritical": { + "Reading": 10, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 9, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/PS1InputCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1InputPower/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1InputPower/index.json new file mode 100644 index 00000000..3aa5d9d5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1InputPower/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1InputPower", + "Name": "Power Supply #1 Input Power", + "ReadingType": "Power", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Total", + "Reading": 374, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 500, + "ApparentVA": 350, + "ReactiveVAR": 29, + "PowerFactor": 0.83, + "Accuracy": 1, + "Precision": 1, + "SensingInterval": "PT0.1S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "Thresholds": { + "UpperCritical": { + "Reading": 525, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 510, + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/PS1InputPower", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1InputVoltage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1InputVoltage/index.json new file mode 100644 index 00000000..fa9275fe --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1InputVoltage/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1InputVoltage", + "Name": "Power Supply #1 Input Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Total", + "Reading": 119.27, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 260, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "Thresholds": { + "UpperCritical": { + "Reading": 125, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 122, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 118, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 115, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/PS1InputVoltage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1OutputPower/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1OutputPower/index.json new file mode 100644 index 00000000..3aa5d9d5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1OutputPower/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1InputPower", + "Name": "Power Supply #1 Input Power", + "ReadingType": "Power", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Total", + "Reading": 374, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 500, + "ApparentVA": 350, + "ReactiveVAR": 29, + "PowerFactor": 0.83, + "Accuracy": 1, + "Precision": 1, + "SensingInterval": "PT0.1S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "Thresholds": { + "UpperCritical": { + "Reading": 525, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 510, + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/PS1InputPower", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1Temp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1Temp/index.json new file mode 100644 index 00000000..2d696160 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1Temp/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Temp", + "Name": "Power Supply #1 Temperature", + "PhysicalContext": "Exhaust", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 43.9, + "ReadingUnits": "Cel", + "ReadingRangeMin": 0, + "ReadingRangeMax": 55, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/PS1Temp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1_120VCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1_120VCurrent/index.json new file mode 100644 index 00000000..74c1fc95 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1_120VCurrent/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1_120VCurrent", + "Name": "Power Supply #1 120V Output Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2.79, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 17, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 15.5, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/PS1_120VCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1_120VOutput/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1_120VOutput/index.json new file mode 100644 index 00000000..c373e863 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1_120VOutput/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1_120VOutput", + "Name": "Power Supply #1 120V Output Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Total", + "Reading": 121.08, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 150, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Output", + "Thresholds": { + "UpperCritical": { + "Reading": 128.5, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 125.35, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 115.85, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 112.5, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/PS1_120VOutput", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1_DCCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1_DCCurrent/index.json new file mode 100644 index 00000000..4e23b875 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1_DCCurrent/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1_DCCurrent", + "Name": "Power Supply #1 DC Output Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 16.93, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 10, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "PowerSupply", + "Thresholds": { + "UpperCritical": { + "Reading": 30, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 27, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/PS1_DCCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1_DCVOutput/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1_DCVOutput/index.json new file mode 100644 index 00000000..46541214 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PS1_DCVOutput/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1_DCVOutput", + "Name": "Power Supply #1 DC Output Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Total", + "Reading": 48.45, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 5, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Output", + "Thresholds": { + "UpperCritical": { + "Reading": 52.5, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 49.8, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 47.25, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 46.5, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/PS1_DCVOutput", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PowerA/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PowerA/index.json new file mode 100644 index 00000000..5842f3e2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PowerA/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PowerA", + "Name": "Power reading for branch A", + "ReadingType": "Power", + "ElectricalContext": "Line1ToNeutral", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 192.4, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 1200, + "ApparentVA": 0, + "ReactiveVAR": 0, + "PowerFactor": 0.97, + "Accuracy": 0.2, + "Precision": 2, + "SensingInterval": "PT0.25S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 1000, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 800, + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/PowerA", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PowerB/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PowerB/index.json new file mode 100644 index 00000000..972a6cc7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PowerB/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PowerB", + "Name": "Power reading for circuit B and outlet B1", + "ReadingType": "Power", + "ElectricalContext": "Line1ToNeutral", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 427.3, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 1200, + "ApparentVA": 0, + "ReactiveVAR": 0, + "PowerFactor": 0.97, + "Accuracy": 0.2, + "Precision": 2, + "SensingInterval": "PT0.25S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 1000, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 800, + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/PowerB", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PowerDC/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PowerDC/index.json new file mode 100644 index 00000000..feced0ed --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PowerDC/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PowerDC", + "Name": "Power reading for DC output", + "ReadingType": "Power", + "ElectricalContext": "Line1ToNeutral", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 427.3, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 1200, + "ApparentVA": 0, + "ReactiveVAR": 0, + "PowerFactor": 0.97, + "Accuracy": 0.2, + "Precision": 2, + "SensingInterval": "PT0.25S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 1000, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 800, + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/PowerDC", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PowerMains1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PowerMains1/index.json new file mode 100644 index 00000000..d8aee479 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PowerMains1/index.json @@ -0,0 +1,43 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PowerMains1", + "Name": "Mains Power #1", + "ReadingType": "Power", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 427.3, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 1200, + "ApparentVA": 0, + "ReactiveVAR": 0, + "PowerFactor": 0.97, + "Accuracy": 0.2, + "Precision": 2, + "SensingInterval": "PT0.25S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 1000, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 800, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 20, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 5, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/PowerMains1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PowerMains2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PowerMains2/index.json new file mode 100644 index 00000000..798f3ef3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/PowerMains2/index.json @@ -0,0 +1,43 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PowerMains2", + "Name": "Mains Power #2", + "ReadingType": "Power", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 418.84, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 1200, + "ApparentVA": 0, + "ReactiveVAR": 0, + "PowerFactor": 0.97, + "Accuracy": 0.2, + "Precision": 2, + "SensingInterval": "PT0.25S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 1000, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 800, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 20, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 5, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/PowerMains2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/SocPercent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/SocPercent/index.json new file mode 100644 index 00000000..5fdd76a1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/SocPercent/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "SocPercent", + "Name": "Power Shelf State-of-Charge Percent", + "PhysicalContext": "Chassis", + "Reading": 62, + "ReadingRangeMax": 100, + "ReadingRangeMin": 0, + "ReadingType": "Percent", + "ReadingUnits": "%", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Thresholds": { + "LowerCaution": { + "Reading": 10 + }, + "LowerCritical": { + "Reading": 5 + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/SocPercent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/SocVoltage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/SocVoltage/index.json new file mode 100644 index 00000000..1cbb9173 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/SocVoltage/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "SocVoltage", + "Name": "Voltage signal for state-of-charge", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Total", + "Reading": 6.45, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 7, + "SensingInterval": "PT0.1S", + "PhysicalContext": "PowerSubsystem", + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/SocVoltage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/VoltageA/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/VoltageA/index.json new file mode 100644 index 00000000..26d54539 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/VoltageA/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "VoltageA", + "Name": "Voltage reading for branch circuit A and outlet A1", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Line1ToNeutral", + "Reading": 119.27, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 260, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 125, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 122, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 118, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 115, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/VoltageA", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/VoltageB/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/VoltageB/index.json new file mode 100644 index 00000000..1f76a643 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/VoltageB/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "VoltageB", + "Name": "Voltage reading for branch B and outlet B1", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Line1ToNeutral", + "Reading": 119.27, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 260, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 125, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 122, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 118, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 115, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/VoltageB", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/VoltageDC/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/VoltageDC/index.json new file mode 100644 index 00000000..f3c27f4b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/VoltageDC/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "VoltageDC", + "Name": "Voltage reading for DC output", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Total", + "Reading": 48.45, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 100, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Output", + "Thresholds": { + "UpperCritical": { + "Reading": 52.5, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 49.8, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 47.25, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 46.5, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/VoltageDC", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/VoltageMains1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/VoltageMains1/index.json new file mode 100644 index 00000000..23b91ad7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/VoltageMains1/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "VoltageMains1", + "Name": "Voltage for Mains #1", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Line1ToNeutral", + "Reading": 239.27, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 260, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 255, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 245, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 225, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 210, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/VoltageMains1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/VoltageMains2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/VoltageMains2/index.json new file mode 100644 index 00000000..6c3e3595 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/VoltageMains2/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "VoltageMains2", + "Name": "Voltage for Mains #2", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Line1ToNeutral", + "Reading": 239.27, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 260, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 255, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 245, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 225, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 210, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/VoltageMains2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/index.json new file mode 100644 index 00000000..12d26bbf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/Sensors/index.json @@ -0,0 +1,114 @@ +{ + "@odata.type": "#SensorCollection.SensorCollection", + "Name": "Power Shelf Chassis Sensor Collection", + "Members@odata.count": 35, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/BusBarTemp" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/SocPercent" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/CurrentA" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/CurrentB" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/CurrentDC" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/CurrentMains1" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/CurrentMains2" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/EnergyDC" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/FreqMains1" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/FreqMains2" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/FrequencyA1" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/PowerA" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/PowerB" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/PowerDC" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/PowerMains1" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/PowerMains2" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/VoltageA" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/VoltageB" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/VoltageDC" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/VoltageMains1" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/VoltageMains2" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/LoadPercent" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/PS1_120VCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/PS1_120VOutput" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/PS1_DCCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/PS1_DCVOutput" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/PS1Energy" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/PS1Fan" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/PS1Frequency" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/PS1InputCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/PS1InputPower" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/PS1InputVoltage" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/PS1OutputPower" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/PS1Temp" + }, + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors/SocVoltage" + } + ], + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/index.json new file mode 100644 index 00000000..76189310 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/PowerShelf/index.json @@ -0,0 +1,63 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "PowerShelf", + "Name": "Power Shelf Chassis", + "ChassisType": "Enclosure", + "Version": "1.01a", + "Manufacturer": "Contoso", + "Model": "ZAP33000", + "SerialNumber": "29347ZT536", + "PartNumber": "AA-23", + "UUID": "32354641-4135-4332-4a35-313735303734", + "AssetTag": "PDX-92381", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "Warning", + "Conditions": [ + { + "MessageId": "Base.1.23.ConditionInRelatedResource", + "Message": "One or more conditions exist in a related resource. See the OriginOfCondition property.", + "MessageSeverity": "Warning", + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/PowerSubsystem" + } + } + ] + }, + "Location": { + "Placement": { + "Row": "North 1", + "Rack": "42" + } + }, + "Sensors": { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/Sensors" + }, + "PowerSubsystem": { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/PowerSubsystem" + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Chassis/PowerShelf/EnvironmentMetrics" + }, + "Links": { + "PowerDistribution": { + "@odata.id": "/redfish/v1/PowerEquipment/PowerShelves/1" + }, + "Facility": { + "@odata.id": "/redfish/v1/Facilities/Room237" + }, + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ], + "ManagersInChassis": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/PowerShelf", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/index.json new file mode 100644 index 00000000..97facd9f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Chassis/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ChassisCollection.ChassisCollection", + "Name": "Chassis Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf" + } + ], + "@odata.id": "/redfish/v1/Chassis", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/EventService/Subscriptions/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/EventService/Subscriptions/1/index.json new file mode 100644 index 00000000..4cf433da --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/EventService/Subscriptions/1/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#EventDestination.v1_17_1.EventDestination", + "Id": "1", + "Name": "EventSubscription 1", + "Destination": "http://www.dnsname.com/Destination1", + "EventTypes": [ + "Alert" + ], + "Context": "WebUser3", + "Protocol": "Redfish", + "SubscriptionType": "RedfishEvent", + "@odata.id": "/redfish/v1/EventService/Subscriptions/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/EventService/Subscriptions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/EventService/Subscriptions/index.json new file mode 100644 index 00000000..50ce173e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/EventService/Subscriptions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#EventDestinationCollection.EventDestinationCollection", + "Name": "Event Subscriptions Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/EventService/Subscriptions/1" + } + ], + "@odata.id": "/redfish/v1/EventService/Subscriptions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/EventService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/EventService/index.json new file mode 100644 index 00000000..f4b1a563 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/EventService/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#EventService.v1_12_0.EventService", + "Id": "EventService", + "Name": "Event Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "DeliveryRetryAttempts": 3, + "DeliveryRetryIntervalSeconds": 60, + "EventTypesForSubscription": [ + "StatusChange", + "ResourceUpdated", + "ResourceAdded", + "ResourceRemoved", + "Alert" + ], + "Subscriptions": { + "@odata.id": "/redfish/v1/EventService/Subscriptions" + }, + "Actions": { + "#EventService.SubmitTestEvent": { + "target": "/redfish/v1/EventService/Actions/EventService.SubmitTestEvent", + "EventType@Redfish.AllowableValues": [ + "StatusChange", + "ResourceUpdated", + "ResourceAdded", + "ResourceRemoved", + "Alert" + ] + } + }, + "@odata.id": "/redfish/v1/EventService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Facilities/Building/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Facilities/Building/index.json new file mode 100644 index 00000000..ad75313d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Facilities/Building/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#Facility.v1_4_2.Facility", + "Id": "Building", + "Name": "DMTF Facility", + "FacilityType": "Building", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Location": { + "PostalAddress": { + "Country": "US", + "Territory": "OR", + "City": "Portland", + "Street": "1001 SW 5th Avenue", + "HouseNumber": 1001, + "Name": "DMTF, Inc.", + "PostalCode": "97204" + } + }, + "Links": { + "ContainsFacilities": [ + { + "@odata.id": "/redfish/v1/Facilities/Room237" + } + ] + }, + "@odata.id": "/redfish/v1/Facilities/Building", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Facilities/Room237/PowerDomains/Row1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Facilities/Room237/PowerDomains/Row1/index.json new file mode 100644 index 00000000..947737b9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Facilities/Room237/PowerDomains/Row1/index.json @@ -0,0 +1,23 @@ +{ + "@odata.type": "#PowerDomain.v1_2_2.PowerDomain", + "Id": "Row1", + "Name": "Row #1 Domain", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ], + "PowerShelves": [ + { + "@odata.id": "/redfish/v1/PowerEquipment/PowerShelves/1" + } + ] + }, + "@odata.id": "/redfish/v1/Facilities/Room237/PowerDomains/Row1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Facilities/Room237/PowerDomains/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Facilities/Room237/PowerDomains/index.json new file mode 100644 index 00000000..b894d6cc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Facilities/Room237/PowerDomains/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PowerDomainCollection.PowerDomainCollection", + "Name": "Power Domains Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Facilities/Room237/PowerDomains/Row1" + } + ], + "@odata.id": "/redfish/v1/Facilities/Room237/PowerDomains", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Facilities/Room237/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Facilities/Room237/index.json new file mode 100644 index 00000000..b5777ac9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Facilities/Room237/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#Facility.v1_4_2.Facility", + "Id": "Room237", + "Name": "Room #237, 2nd Floor", + "FacilityType": "Room", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Location": { + "PostalAddress": { + "Country": "US", + "Territory": "OR", + "City": "Portland", + "Street": "1001 SW 5th Avenue", + "HouseNumber": 1001, + "Name": "DMTF, Inc.", + "PostalCode": "97204", + "Floor": "2", + "Room": "237" + } + }, + "PowerDomains": { + "@odata.id": "/redfish/v1/Facilities/Room237/PowerDomains" + }, + "Links": { + "ContainedByFacility": { + "@odata.id": "/redfish/v1/Facilities/Building" + }, + "PowerShelves": [ + { + "@odata.id": "/redfish/v1/PowerEquipment/PowerShelves/1" + } + ] + }, + "@odata.id": "/redfish/v1/Facilities/Room237", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Facilities/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Facilities/index.json new file mode 100644 index 00000000..b075654f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Facilities/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#FacilityCollection.FacilityCollection", + "Name": "Facility Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Facilities/Building" + }, + { + "@odata.id": "/redfish/v1/Facilities/Room237" + } + ], + "@odata.id": "/redfish/v1/Facilities", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/EthernetInterfaces/Dedicated/SD/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/EthernetInterfaces/Dedicated/SD/index.json new file mode 100644 index 00000000..a951bc17 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/EthernetInterfaces/Dedicated/SD/index.json @@ -0,0 +1,60 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "SD", + "Name": "Manager Ethernet Interface", + "Description": "Management Network Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:33:CF:EA", + "MACAddress": "23:11:8A:33:CF:EA", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.0.1" + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred" + } + ], + "NameServers": [ + "names.dmtf.org" + ], + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/Dedicated/SD", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/EthernetInterfaces/Dedicated/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/EthernetInterfaces/Dedicated/index.json new file mode 100644 index 00000000..bd71dce8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/EthernetInterfaces/Dedicated/index.json @@ -0,0 +1,76 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "Dedicated", + "Name": "Manager Ethernet Interface", + "Description": "Management Network Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:33:CF:EA", + "MACAddress": "23:11:8A:33:CF:EA", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.0.1" + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred" + } + ], + "NameServers": [ + "names.dmtf.org" + ], + "@Redfish.Settings": { + "@odata.type": "#Settings.v1_5_0.Settings", + "SettingsObject": { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/Dedicated/SD" + }, + "Time": "2012-03-07T14:44.30-05:00", + "ETag": "84ffcbb050ddc7fa9cddb59014546e59", + "Messages": [ + { + "MessageId": "Base.1.0.SettingsFailed", + "RelatedProperties": [ + "/IPv6Addresses/PrefixLength" + ] + } + ] + }, + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/Dedicated", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/EthernetInterfaces/index.json new file mode 100644 index 00000000..6ae61c44 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/EthernetInterfaces/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Network Interface Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/Dedicated" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/LogServices/Log/Entries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/LogServices/Log/Entries/index.json new file mode 100644 index 00000000..d46fd942 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/LogServices/Log/Entries/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 0, + "Members": [], + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/LogServices/Log/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/LogServices/Log/index.json new file mode 100644 index 00000000..6d2dbdfe --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/LogServices/Log/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#LogService.v1_9_0.LogService", + "Id": "Log", + "Name": "System Log Service", + "MaxNumberOfRecords": 1000, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Managers/BMC/LogServices/Log/Actions/LogService.ClearLog" + } + }, + "Entries": { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries" + }, + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/LogServices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/LogServices/index.json new file mode 100644 index 00000000..0de6f42a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/LogServices/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Description": "Collection of Log Services for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/LogServices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/NetworkProtocol/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/NetworkProtocol/index.json new file mode 100644 index 00000000..37fbbcea --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/NetworkProtocol/index.json @@ -0,0 +1,53 @@ +{ + "@odata.type": "#ManagerNetworkProtocol.v1_14_0.ManagerNetworkProtocol", + "Id": "NetworkProtocol", + "Name": "Manager Network Protocol", + "Description": "Manager Network Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "HTTP": { + "ProtocolEnabled": true, + "Port": 80 + }, + "HTTPS": { + "ProtocolEnabled": true, + "Port": 443 + }, + "IPMI": { + "ProtocolEnabled": true, + "Port": 623 + }, + "SSH": { + "ProtocolEnabled": true, + "Port": 22 + }, + "SNMP": { + "ProtocolEnabled": true, + "Port": 161 + }, + "VirtualMedia": { + "ProtocolEnabled": true, + "Port": 17988 + }, + "SSDP": { + "ProtocolEnabled": true, + "Port": 1900, + "NotifyMulticastIntervalSeconds": 600, + "NotifyTTL": 5, + "NotifyIPv6Scope": "Site" + }, + "Telnet": { + "ProtocolEnabled": true, + "Port": 23 + }, + "KVMIP": { + "ProtocolEnabled": true, + "Port": 5288 + }, + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/SerialInterfaces/TTY0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/SerialInterfaces/TTY0/index.json new file mode 100644 index 00000000..2cae0a79 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/SerialInterfaces/TTY0/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#SerialInterface.v1_3_0.SerialInterface", + "Id": "TTY0", + "Name": "Manager Serial Interface 1", + "Description": "Management for Serial Interface", + "InterfaceEnabled": true, + "SignalType": "Rs232", + "BitRate": "115200", + "Parity": "None", + "DataBits": "8", + "StopBits": "1", + "FlowControl": "None", + "ConnectorType": "RJ45", + "PinOut": "Cyclades", + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces/TTY0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/SerialInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/SerialInterfaces/index.json new file mode 100644 index 00000000..249de7d4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/SerialInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#SerialInterfaceCollection.SerialInterfaceCollection", + "Name": "Serial Interface Collection", + "Description": "Collection of Serial Interfaces for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces/TTY0" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/VirtualMedia/CD1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/VirtualMedia/CD1/index.json new file mode 100644 index 00000000..f91e066b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/VirtualMedia/CD1/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#VirtualMedia.v1_7_0.VirtualMedia", + "Id": "CD1", + "Name": "Virtual CD", + "MediaTypes": [ + "CD", + "DVD" + ], + "Image": "redfish.dmtf.org/freeImages/freeOS.1.1.iso", + "ImageName": "mymedia-read-only", + "ConnectedVia": "Applet", + "Inserted": true, + "WriteProtected": false, + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/CD1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/VirtualMedia/Floppy1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/VirtualMedia/Floppy1/index.json new file mode 100644 index 00000000..15191be4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/VirtualMedia/Floppy1/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#VirtualMedia.v1_7_0.VirtualMedia", + "Id": "Floppy1", + "Name": "Virtual Removable Media", + "MediaTypes": [ + "Floppy", + "USBStick" + ], + "Image": "https://www.dmtf.org/freeImages/Sardine.img", + "ImageName": "Sardine2.1.43.35.6a", + "ConnectedVia": "URI", + "Inserted": true, + "WriteProtected": false, + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/Floppy1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/VirtualMedia/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/VirtualMedia/index.json new file mode 100644 index 00000000..116eb0b0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/VirtualMedia/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#VirtualMediaCollection.VirtualMediaCollection", + "Name": "Virtual Media Services", + "Description": "Redfish-BMC Virtual Media Service Settings", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/Floppy1" + }, + { + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/CD1" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/index.json new file mode 100644 index 00000000..04bf21c1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/BMC/index.json @@ -0,0 +1,72 @@ +{ + "@odata.type": "#Manager.v1_25_0.Manager", + "Id": "BMC", + "Name": "Manager", + "ManagerType": "BMC", + "Description": "Contoso BMC", + "ServiceEntryPointUUID": "92384634-2938-2342-8820-489239905423", + "UUID": "58893887-8974-2487-2389-841168418919", + "Model": "Joo Janta 200", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PowerState": "On", + "GraphicalConsole": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 2, + "ConnectTypesSupported": [ + "KVMIP" + ] + }, + "SerialConsole": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 1, + "ConnectTypesSupported": [ + "Telnet", + "SSH", + "IPMI" + ] + }, + "CommandShell": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 4, + "ConnectTypesSupported": [ + "Telnet", + "SSH" + ] + }, + "FirmwareVersion": "1.00", + "NetworkProtocol": { + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces" + }, + "SerialInterfaces": { + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices" + }, + "VirtualMedia": { + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia" + }, + "Links": { + "ManagerForServers": [], + "ManagerForChassis": [] + }, + "Actions": { + "#Manager.Reset": { + "target": "/redfish/v1/Managers/BMC/Actions/Manager.Reset", + "ResetType@Redfish.AllowableValues": [ + "ForceRestart", + "GracefulRestart" + ] + } + }, + "@odata.id": "/redfish/v1/Managers/BMC", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/index.json new file mode 100644 index 00000000..2de83743 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/Managers/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerCollection.ManagerCollection", + "Name": "Manager Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ], + "@odata.id": "/redfish/v1/Managers", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Busway/Mains/AC/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Busway/Mains/AC/index.json new file mode 100644 index 00000000..5dc94835 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Busway/Mains/AC/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Circuit.v1_10_0.Circuit", + "Id": "AC", + "Name": "Bus AC Input", + "Status": { + "Health": "OK" + }, + "CircuitType": "Mains", + "PhaseWiringType": "OnePhase3Wire", + "NominalVoltage": "AC240V", + "Voltage": { + "Reading": 240.8 + }, + "CurrentAmps": { + "Reading": 25.68 + }, + "ElectricalSourceName": "Room 237 Feed", + "Links": { + "BranchCircuit": { + "@odata.id": "http://192.168.5.22/redfish/v1/PowerEquipment/ElectricalBuses/Room237/Feeders/1" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses/Busway/Mains/AC", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Busway/Mains/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Busway/Mains/index.json new file mode 100644 index 00000000..c89e13d7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Busway/Mains/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#CircuitCollection.CircuitCollection", + "Name": "Mains Circuit Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses/Busway/Mains/AC" + } + ], + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses/Busway/Mains", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Busway/Outlets/A1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Busway/Outlets/A1/index.json new file mode 100644 index 00000000..6b511838 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Busway/Outlets/A1/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Outlet.v1_5_0.Outlet", + "Id": "A1", + "Name": "Outlet A1", + "VoltageType": "AC", + "OutletType": "BusConnection", + "RatedCurrentAmps": 40, + "NominalVoltage": "AC240V", + "Links": { + "BranchCircuit": { + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses/Busway/Mains/AC" + }, + "PowerSupplies": [ + { + "@odata.id": "https://192.168.1.22/redfish/v1/Chassis/1/PowerSubsystem/PowerSupplies/Bay1" + } + ] + }, + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses/Busway/Outlets/A1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Busway/Outlets/A2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Busway/Outlets/A2/index.json new file mode 100644 index 00000000..1098446b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Busway/Outlets/A2/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Outlet.v1_5_0.Outlet", + "Id": "A2", + "Name": "Outlet A2", + "VoltageType": "AC", + "OutletType": "BusConnection", + "RatedCurrentAmps": 40, + "NominalVoltage": "AC240V", + "Links": { + "BranchCircuit": { + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses/Busway/Mains/AC" + }, + "PowerSupplies": [ + { + "@odata.id": "https://192.168.1.22/redfish/v1/Chassis/1/PowerSubsystem/PowerSupplies/Bay2" + } + ] + }, + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses/Busway/Outlets/A2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Busway/Outlets/A3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Busway/Outlets/A3/index.json new file mode 100644 index 00000000..fa98e14a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Busway/Outlets/A3/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Outlet.v1_5_0.Outlet", + "Id": "A3", + "Name": "Outlet A3", + "VoltageType": "AC", + "OutletType": "BusConnection", + "RatedCurrentAmps": 20, + "NominalVoltage": "AC240V", + "Links": { + "BranchCircuit": { + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses/Busway/Mains/AC" + }, + "Chassis": [ + { + "@odata.id": "https://192.168.1.48/redfish/v1/Chassis/1/" + } + ] + }, + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses/Busway/Outlets/A3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Busway/Outlets/A4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Busway/Outlets/A4/index.json new file mode 100644 index 00000000..21429596 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Busway/Outlets/A4/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#Outlet.v1_5_0.Outlet", + "Id": "A4", + "Name": "Outlet A4", + "VoltageType": "AC", + "OutletType": "BusConnection", + "RatedCurrentAmps": 20, + "NominalVoltage": "AC240V", + "ElectricalConsumerNames": [ + "Power Shelf" + ], + "Links": { + "BranchCircuit": { + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses/Busway/Mains/AC" + }, + "DistributionCircuits": [ + { + "@odata.id": "/redfish/v1/PowerEquipment/PowerShelves/1/Mains/AC1" + } + ] + }, + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses/Busway/Outlets/A4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Busway/Outlets/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Busway/Outlets/index.json new file mode 100644 index 00000000..f9979799 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Busway/Outlets/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#OutletCollection.OutletCollection", + "Name": "Outlet Collection", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses/Busway/Outlets/A1" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses/Busway/Outlets/A2" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses/Busway/Outlets/A3" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses/Busway/Outlets/A4" + } + ], + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses/Busway/Outlets", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Busway/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Busway/index.json new file mode 100644 index 00000000..1a5ca07f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Busway/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#PowerDistribution.v1_7_0.PowerDistribution", + "Id": "Busway", + "EquipmentType": "Bus", + "Name": "Datacenter Busway", + "ProductionDate": "2021-01-11T08:00:00Z", + "Manufacturer": "Contoso", + "Model": "ZAP33000", + "SerialNumber": "29347ZT536", + "PartNumber": "AA-23", + "AssetTag": "PDX-92381", + "Location": { + "Placement": { + "Row": "North 1" + } + }, + "Mains": { + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses/Busway/Mains" + }, + "Outlets": { + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses/Busway/Outlets" + }, + "Links": { + "Facility": { + "@odata.id": "/redfish/v1/Facilities/Room237" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses/Busway", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Rack42Busbar/Mains/DC/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Rack42Busbar/Mains/DC/index.json new file mode 100644 index 00000000..8b68104b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Rack42Busbar/Mains/DC/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#Circuit.v1_10_0.Circuit", + "Id": "DC", + "Name": "Busbar DC Input", + "Status": { + "Health": "OK" + }, + "CircuitType": "Mains", + "NominalVoltage": "DC48V", + "Links": { + "SourceCircuit": { + "@odata.id": "/redfish/v1/PowerEquipment/PowerShelves/1/Branches/DC" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses/Rack42Busbar/Mains/DC", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Rack42Busbar/Mains/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Rack42Busbar/Mains/index.json new file mode 100644 index 00000000..89417120 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Rack42Busbar/Mains/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#CircuitCollection.CircuitCollection", + "Name": "Mains Circuit Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses/Rack42Busbar/Mains/DC" + } + ], + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses/Rack42Busbar/Mains", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Rack42Busbar/Outlets/A1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Rack42Busbar/Outlets/A1/index.json new file mode 100644 index 00000000..ea02e7c6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Rack42Busbar/Outlets/A1/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Outlet.v1_5_0.Outlet", + "Id": "A1", + "Name": "Outlet A1", + "VoltageType": "DC", + "OutletType": "BusConnection", + "RatedCurrentAmps": 40, + "NominalVoltage": "DC48V", + "Links": { + "BranchCircuit": { + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses/Rack42Busbar/Mains/DC" + }, + "PowerSupplies": [ + { + "@odata.id": "https://192.168.1.44/redfish/v1/Chassis/1/PowerSubsystem/PowerSupplies/Bay1" + } + ] + }, + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses/Rack42Busbar/Outlets/A1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Rack42Busbar/Outlets/A2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Rack42Busbar/Outlets/A2/index.json new file mode 100644 index 00000000..7b3fa4e6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Rack42Busbar/Outlets/A2/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Outlet.v1_5_0.Outlet", + "Id": "A2", + "Name": "Outlet A2", + "VoltageType": "DC", + "OutletType": "BusConnection", + "RatedCurrentAmps": 20, + "NominalVoltage": "DC48V", + "Links": { + "BranchCircuit": { + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses/Rack42Busbar/Mains/DC" + }, + "Chassis": [ + { + "@odata.id": "https://192.168.1.48/redfish/v1/Chassis/1/" + } + ] + }, + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses/Rack42Busbar/Outlets/A2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Rack42Busbar/Outlets/A3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Rack42Busbar/Outlets/A3/index.json new file mode 100644 index 00000000..2b5151ce --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Rack42Busbar/Outlets/A3/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Outlet.v1_5_0.Outlet", + "Id": "A3", + "Name": "Outlet A3", + "VoltageType": "DC", + "OutletType": "BusConnection", + "RatedCurrentAmps": 20, + "NominalVoltage": "DC48V", + "ElectricalConsumerNames": [ + "Contoso 48-port Ethernet Switch" + ], + "Links": { + "BranchCircuit": { + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses/Rack42Busbar/Mains/DC" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses/Rack42Busbar/Outlets/A3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Rack42Busbar/Outlets/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Rack42Busbar/Outlets/index.json new file mode 100644 index 00000000..6c95fbd5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Rack42Busbar/Outlets/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#OutletCollection.OutletCollection", + "Name": "Outlet Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses/Rack42Busbar/Outlets/A1" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses/Rack42Busbar/Outlets/A2" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses/Rack42Busbar/Outlets/A3" + } + ], + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses/Rack42Busbar/Outlets", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Rack42Busbar/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Rack42Busbar/index.json new file mode 100644 index 00000000..daa5ee04 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/Rack42Busbar/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#PowerDistribution.v1_7_0.PowerDistribution", + "Id": "Rack42Busbar", + "EquipmentType": "Bus", + "Name": "Contoso Busbar", + "Version": "1.01a", + "ProductionDate": "2021-01-11T08:00:00Z", + "Manufacturer": "Contoso", + "Model": "Yellow-School", + "SerialNumber": "2953767", + "PartNumber": "BUS42U48V", + "AssetTag": "PDX-92382", + "Location": { + "Placement": { + "Row": "North 1", + "Rack": "42" + } + }, + "Mains": { + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses/Rack42Busbar/Mains" + }, + "Outlets": { + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses/Rack42Busbar/Outlets" + }, + "Links": { + "Facility": { + "@odata.id": "/redfish/v1/Facilities/Room237" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses/Rack42Busbar", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/index.json new file mode 100644 index 00000000..e2b52352 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/ElectricalBuses/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#PowerDistributionCollection.PowerDistributionCollection", + "Name": "Electrical Bus Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses/Rack42Busbar" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses/Busway" + } + ], + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Branches/A/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Branches/A/index.json new file mode 100644 index 00000000..a986c765 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Branches/A/index.json @@ -0,0 +1,43 @@ +{ + "@odata.type": "#Circuit.v1_10_0.Circuit", + "Id": "A", + "Name": "AC Outlet Circuit A", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CircuitType": "Branch", + "PhaseWiringType": "OnePhase3Wire", + "NominalVoltage": "AC120V", + "RatedCurrentAmps": 15, + "BreakerState": "Normal", + "Voltage": { + "DataSourceUri": "/redfish/v1/Chassis/PowerShelf/Sensors/VoltageA", + "Reading": 121.4 + }, + "CurrentAmps": { + "DataSourceUri": "/redfish/v1/Chassis/PowerShelf/Sensors/CurrentA", + "Reading": 1.59 + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/PowerShelf/Sensors/PowerA", + "Reading": 192.4 + }, + "Links": { + "Outlets": [ + { + "@odata.id": "/redfish/v1/PowerEquipment/PowerShelves/1/Outlets/A1" + } + ] + }, + "Actions": { + "#Circuit.BreakerControl": { + "target": "/redfish/v1/PowerEquipment/PowerShelves/1/Branches/A/Actions/Circuit.BreakerControl" + }, + "#Circuit.ResetMetrics": { + "target": "/redfish/v1/PowerEquipment/PowerShelves/1/Branches/A/Actions/Circuit.ResetMetrics" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/PowerShelves/1/Branches/A", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Branches/B/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Branches/B/index.json new file mode 100644 index 00000000..8f23f949 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Branches/B/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Circuit.v1_10_0.Circuit", + "Id": "B", + "Name": "Branch Circuit B", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CircuitType": "Branch", + "PhaseWiringType": "OnePhase3Wire", + "NominalVoltage": "AC120V", + "RatedCurrentAmps": 15, + "BreakerState": "Normal", + "Voltage": { + "DataSourceUri": "/redfish/v1/Chassis/PowerShelf/Sensors/VoltageB", + "Reading": 121.5 + }, + "CurrentAmps": { + "DataSourceUri": "/redfish/v1/Chassis/PowerShelf/Sensors/CurrentB", + "Reading": 5.95 + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/PowerShelf/Sensors/PowerB", + "Reading": 722.1 + }, + "Links": { + "Outlets": [ + { + "@odata.id": "/redfish/v1/PowerEquipment/PowerShelves/1/Outlets/B1" + } + ] + }, + "Actions": { + "#Circuit.BreakerControl": { + "target": "/redfish/v1/PowerEquipment/PowerShelves/1/Branches/B/Actions/Circuit.BreakerControl" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/PowerShelves/1/Branches/B", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Branches/DC/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Branches/DC/index.json new file mode 100644 index 00000000..336ff4ec --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Branches/DC/index.json @@ -0,0 +1,47 @@ +{ + "@odata.type": "#Circuit.v1_10_0.Circuit", + "Id": "DC", + "Name": "DC Output Circuit to Busbar", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CircuitType": "Bus", + "VoltageType": "DC", + "NominalVoltage": "DC48V", + "RatedCurrentAmps": 250, + "BreakerState": "Normal", + "Voltage": { + "DataSourceUri": "/redfish/v1/Chassis/PowerShelf/Sensors/VoltageDC", + "Reading": 48.45 + }, + "CurrentAmps": { + "DataSourceUri": "/redfish/v1/Chassis/PowerShelf/Sensors/CurrentDC", + "Reading": 16.93 + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/PowerShelf/Sensors/PowerDC", + "Reading": 816.5 + }, + "EnergykWh": { + "DataSourceUri": "/redfish/v1/Chassis/PowerShelf/Sensors/EnergyDC", + "Reading": 121666 + }, + "Links": { + "DistributionCircuits": [ + { + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses/Rack42Busbar/Mains/DC" + } + ] + }, + "Actions": { + "#Circuit.BreakerControl": { + "target": "/redfish/v1/PowerEquipment/PowerShelves/1/Branches/DC/Actions/Circuit.BreakerControl" + }, + "#Circuit.ResetMetrics": { + "target": "/redfish/v1/PowerEquipment/PowerShelves/1/Branches/DC/Actions/Circuit.ResetMetrics" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/PowerShelves/1/Branches/DC", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Branches/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Branches/index.json new file mode 100644 index 00000000..fb5dcde9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Branches/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#CircuitCollection.CircuitCollection", + "Name": "Branch Circuit Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/PowerEquipment/PowerShelves/1/Branches/A" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/PowerShelves/1/Branches/B" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/PowerShelves/1/Branches/DC" + } + ], + "@odata.id": "/redfish/v1/PowerEquipment/PowerShelves/1/Branches", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Mains/AC1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Mains/AC1/index.json new file mode 100644 index 00000000..90749710 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Mains/AC1/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#Circuit.v1_10_0.Circuit", + "Id": "AC1", + "Name": "Mains AC Input #1", + "Status": { + "Health": "OK" + }, + "CircuitType": "Mains", + "PhaseWiringType": "OnePhase3Wire", + "NominalVoltage": "AC200To240V", + "Voltage": { + "DataSourceUri": "/redfish/v1/Chassis/PowerShelf/Sensors/VoltageMains1", + "Reading": 222.8 + }, + "CurrentAmps": { + "DataSourceUri": "/redfish/v1/Chassis/PowerShelf/Sensors/CurrentMains1", + "Reading": 5.68 + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/PowerShelf/Sensors/PowerMains1", + "Reading": 897.4, + "ApparentVA": 897.4, + "ReactiveVAR": 0.1, + "PowerFactor": 0.99 + }, + "FrequencyHz": { + "DataSourceUri": "/redfish/v1/Chassis/PowerShelf/Sensors/FreqMains1", + "Reading": 60.1 + }, + "Links": { + "PowerOutlet": { + "@odata.id": "/redfish/v1/PowerEquipment/ElectricalBuses/Busway/Outlets/A4" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/PowerShelves/1/Mains/AC1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Mains/AC2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Mains/AC2/index.json new file mode 100644 index 00000000..ab9479ca --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Mains/AC2/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Circuit.v1_10_0.Circuit", + "Id": "AC2", + "Name": "Mains AC Input #2", + "Status": { + "Health": "OK" + }, + "CircuitType": "Mains", + "PhaseWiringType": "OnePhase3Wire", + "NominalVoltage": "AC200To240V", + "ElectricalSourceName": "Rack 42 UPS", + "ElectricalSourceManagerURI": "https://192.168.1.187/login.html", + "Voltage": { + "DataSourceUri": "/redfish/v1/Chassis/PowerShelf/Sensors/VoltageMains2", + "Reading": 222.8 + }, + "CurrentAmps": { + "DataSourceUri": "/redfish/v1/Chassis/PowerShelf/Sensors/CurrentMains2", + "Reading": 5.68 + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/PowerShelf/Sensors/PowerMains2", + "Reading": 897.4, + "ApparentVA": 897.4, + "ReactiveVAR": 0.1, + "PowerFactor": 0.99 + }, + "FrequencyHz": { + "DataSourceUri": "/redfish/v1/Chassis/PowerShelf/Sensors/FreqMains2", + "Reading": 60.1 + }, + "@odata.id": "/redfish/v1/PowerEquipment/PowerShelves/1/Mains/AC2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Mains/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Mains/index.json new file mode 100644 index 00000000..39f9a086 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Mains/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#CircuitCollection.CircuitCollection", + "Name": "Mains Circuit Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/PowerEquipment/PowerShelves/1/Mains/AC1" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/PowerShelves/1/Mains/AC2" + } + ], + "@odata.id": "/redfish/v1/PowerEquipment/PowerShelves/1/Mains", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Metrics/index.json new file mode 100644 index 00000000..32be8a2f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Metrics/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#PowerDistributionMetrics.v1_5_0.PowerDistributionMetrics", + "Id": "Metrics", + "Name": "Summary Metrics for the Power Shelf", + "ChargePercent": { + "DataSourceUri": "/redfish/v1/Chassis/PowerShelf/Sensors/SocPercent", + "Reading": 62 + }, + "PowerWatts": { + "Reading": 6438, + "ApparentVA": 6300, + "ReactiveVAR": 100, + "PowerFactor": 0.93 + }, + "EnergykWh": { + "Reading": 56438 + }, + "TemperatureCelsius": { + "Reading": 31 + }, + "Actions": { + "#PowerDistributionMetrics.ResetMetrics": { + "target": "/redfish/v1/PowerEquipment/PowerShelves/1/Metrics/Actions/PowerDistributionMetrics.ResetMetrics" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/PowerShelves/1/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Outlets/A1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Outlets/A1/index.json new file mode 100644 index 00000000..375c5cdf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Outlets/A1/index.json @@ -0,0 +1,43 @@ +{ + "@odata.type": "#Outlet.v1_5_0.Outlet", + "Id": "A1", + "Name": "Outlet A1, Branch Circuit A", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "PhaseWiringType": "OnePhase3Wire", + "VoltageType": "AC", + "OutletType": "NEMA_5_15R", + "RatedCurrentAmps": 15, + "NominalVoltage": "AC120V", + "LocationIndicatorActive": true, + "PowerOnDelaySeconds": 4, + "PowerOffDelaySeconds": 0, + "PowerState": "On", + "PowerEnabled": true, + "Voltage": { + "DataSourceUri": "/redfish/v1/Chassis/PowerShelf/Sensors/VoltageA", + "Reading": 121.4 + }, + "CurrentAmps": { + "DataSourceUri": "/redfish/v1/Chassis/PowerShelf/Sensors/CurrentA", + "Reading": 1.59 + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/PowerShelf/Sensors/PowerA", + "Reading": 192.4 + }, + "Actions": { + "#Outlet.PowerControl": { + "target": "/redfish/v1/PowerEquipment/PowerShelves/1/Outlets/A1/Actions/Outlet.PowerControl" + } + }, + "Links": { + "BranchCircuit": { + "@odata.id": "/redfish/v1/PowerEquipment/PowerShelves/1/Branches/A" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/PowerShelves/1/Outlets/A1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Outlets/B1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Outlets/B1/index.json new file mode 100644 index 00000000..ede26ee0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Outlets/B1/index.json @@ -0,0 +1,43 @@ +{ + "@odata.type": "#Outlet.v1_5_0.Outlet", + "Id": "B1", + "Name": "Outlet B1, Branch Circuit B", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "PhaseWiringType": "OnePhase3Wire", + "VoltageType": "AC", + "OutletType": "NEMA_5_15R", + "RatedCurrentAmps": 15, + "NominalVoltage": "AC120V", + "LocationIndicatorActive": true, + "PowerOnDelaySeconds": 4, + "PowerOffDelaySeconds": 0, + "PowerState": "On", + "PowerEnabled": true, + "Voltage": { + "DataSourceUri": "/redfish/v1/Chassis/PowerShelf/Sensors/VoltageB", + "Reading": 121.4 + }, + "CurrentAmps": { + "DataSourceUri": "/redfish/v1/Chassis/PowerShelf/Sensors/CurrentB", + "Reading": 1.59 + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/PowerShelf/Sensors/PowerB", + "Reading": 192.4 + }, + "Actions": { + "#Outlet.PowerControl": { + "target": "/redfish/v1/PowerEquipment/PowerShelves/1/Outlets/B1/Actions/Outlet.PowerControl" + } + }, + "Links": { + "BranchCircuit": { + "@odata.id": "/redfish/v1/PowerEquipment/PowerShelves/1/Branches/B" + } + }, + "@odata.id": "/redfish/v1/PowerEquipment/PowerShelves/1/Outlets/B1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Outlets/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Outlets/index.json new file mode 100644 index 00000000..2c6b5454 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/Outlets/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#OutletCollection.OutletCollection", + "Name": "Outlet Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/PowerEquipment/PowerShelves/1/Outlets/A1" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/PowerShelves/1/Outlets/B1" + } + ], + "@odata.id": "/redfish/v1/PowerEquipment/PowerShelves/1/Outlets", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/index.json new file mode 100644 index 00000000..593040f9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/1/index.json @@ -0,0 +1,67 @@ +{ + "@odata.type": "#PowerDistribution.v1_7_0.PowerDistribution", + "Id": "1", + "EquipmentType": "PowerShelf", + "Name": "PowerShelf1", + "FirmwareVersion": "1.2.1", + "Version": "1.01a", + "ProductionDate": "2021-01-11T08:00:00Z", + "Manufacturer": "Contoso", + "Model": "ZAP33000", + "SerialNumber": "29347ZT536", + "PartNumber": "AA-23", + "UUID": "32354641-4135-4332-4a35-313735303734", + "AssetTag": "PDX-92381", + "Status": { + "State": "Enabled", + "Health": "OK", + "Conditions": [] + }, + "Location": { + "Placement": { + "Row": "North 1", + "Rack": "42" + } + }, + "MainsRedundancy": { + "RedundancyType": "Sharing", + "MaxSupportedInGroup": 2, + "MinNeededInGroup": 1, + "RedundancyGroup": [ + { + "@odata.id": "/redfish/v1/PowerEquipment/PowerShelves/1/Mains/AC1" + }, + { + "@odata.id": "/redfish/v1/PowerEquipment/PowerShelves/1/Mains/AC2" + } + ], + "Status": { + "State": "Enabled", + "Health": "OK" + } + }, + "Mains": { + "@odata.id": "/redfish/v1/PowerEquipment/PowerShelves/1/Mains" + }, + "Branches": { + "@odata.id": "/redfish/v1/PowerEquipment/PowerShelves/1/Branches" + }, + "Outlets": { + "@odata.id": "/redfish/v1/PowerEquipment/PowerShelves/1/Outlets" + }, + "Metrics": { + "@odata.id": "/redfish/v1/PowerEquipment/PowerShelves/1/Metrics" + }, + "Links": { + "Facility": { + "@odata.id": "/redfish/v1/Facilities/Room237" + }, + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/PowerShelf" + } + ] + }, + "@odata.id": "/redfish/v1/PowerEquipment/PowerShelves/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/index.json new file mode 100644 index 00000000..e9dd7182 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/PowerShelves/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#PowerDistributionCollection.PowerDistributionCollection", + "Name": "Power Shelf Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/PowerEquipment/PowerShelves/1" + } + ], + "@odata.id": "/redfish/v1/PowerEquipment/PowerShelves", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/index.json new file mode 100644 index 00000000..d4e32463 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/PowerEquipment/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#PowerEquipment.v1_2_3.PowerEquipment", + "Id": "PowerEquipment", + "Name": "Example Power Shelf", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK", + "Conditions": [] + }, + "PowerShelves": { + "@odata.id": "/redfish/v1/PowerEquipment/PowerShelves" + }, + "@odata.id": "/redfish/v1/PowerEquipment", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/SessionService/Sessions/1234567890ABCDEF/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/SessionService/Sessions/1234567890ABCDEF/index.json new file mode 100644 index 00000000..90844a1b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/SessionService/Sessions/1234567890ABCDEF/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#Session.v1_9_0.Session", + "Id": "1234567890ABCDEF", + "Name": "User Session", + "Description": "Manager User Session", + "UserName": "Administrator", + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/SessionService/Sessions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/SessionService/Sessions/index.json new file mode 100644 index 00000000..8d8cdf58 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/SessionService/Sessions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SessionCollection.SessionCollection", + "Name": "Session Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF" + } + ], + "@odata.id": "/redfish/v1/SessionService/Sessions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/SessionService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/SessionService/index.json new file mode 100644 index 00000000..62a05690 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/SessionService/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#SessionService.v1_2_0.SessionService", + "Id": "SessionService", + "Name": "Session Service", + "Description": "Session Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "SessionTimeout": 30, + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + }, + "@odata.id": "/redfish/v1/SessionService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/explorer_config.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/explorer_config.json new file mode 100644 index 00000000..40c32e1c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/explorer_config.json @@ -0,0 +1,52 @@ +{ + "name": "Power Shelf", + "description": "This example shows an example power shelf with connections to an electrical bus.", + "navlinks": [ + { + "text": "Main", + "target": "main" + }, + { + "text": "Power Equipment", + "target": "PowerEquipment", + "navlinks": [ + { + "text": "default", + "target": "default" + } + ] + }, + { + "text": "Managers", + "target": "Managers", + "navlinks": [ + { + "text": "BMC", + "target": "BMC" + } + ] + }, + { + "text": "Task Service", + "target": "TaskService" + }, + { + "text": "Session Service", + "target": "SessionService" + }, + { + "target": "AccountService", + "text": "Account Service" + }, + { + "target": "EventService", + "text": "Event Service", + "navlinks": [ + { + "text": "Subscriptions", + "target": "Subscriptions" + } + ] + } + ] +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/index.json new file mode 100644 index 00000000..def2640e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-power-shelf/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#ServiceRoot.v1_22_0.ServiceRoot", + "Id": "RootService", + "Name": "Root Service", + "RedfishVersion": "1.15.0", + "UUID": "92384634-2938-2342-8820-489239905423", + "ProtocolFeaturesSupported": { + "ExpandQuery": { + "ExpandAll": true, + "Levels": true, + "MaxLevels": 6, + "Links": true, + "NoLinks": true + }, + "SelectQuery": false, + "FilterQuery": false, + "OnlyMemberQuery": true, + "ExcerptQuery": true + }, + "Facilities": { + "@odata.id": "/redfish/v1/Facilities" + }, + "Chassis": { + "@odata.id": "/redfish/v1/Chassis" + }, + "PowerEquipment": { + "@odata.id": "/redfish/v1/PowerEquipment" + }, + "Managers": { + "@odata.id": "/redfish/v1/Managers" + }, + "SessionService": { + "@odata.id": "/redfish/v1/SessionService" + }, + "AccountService": { + "@odata.id": "/redfish/v1/AccountService" + }, + "EventService": { + "@odata.id": "/redfish/v1/EventService" + }, + "Links": { + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + } + }, + "@odata.id": "/redfish/v1/", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/$metadata/index.xml b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/$metadata/index.xml new file mode 100644 index 00000000..b3674cab --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/$metadata/index.xml @@ -0,0 +1,320 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/Accounts/1/Certificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/Accounts/1/Certificates/index.json new file mode 100644 index 00000000..41b0634c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/Accounts/1/Certificates/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificate Collection", + "Members@odata.count": 0, + "Members": [], + "@Redfish.SupportedCertificates": [ + "PEM" + ], + "@odata.id": "/redfish/v1/AccountService/Accounts/1/Certificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/Accounts/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/Accounts/1/index.json new file mode 100644 index 00000000..95f3b12a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/Accounts/1/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#ManagerAccount.v1_14_2.ManagerAccount", + "Id": "1", + "Name": "User Account", + "Description": "User Account", + "Enabled": true, + "Password": null, + "PasswordChangeRequired": false, + "AccountTypes": [ + "Redfish" + ], + "UserName": "Administrator", + "EmailAddress": "Tiffany@contoso.com", + "PhoneNumber": "312-555-1212", + "OneTimePasscodeDeliveryAddress": "3125551212@smsrelay.contoso.com", + "RoleId": "Administrator", + "Locked": false, + "Certificates": { + "@odata.id": "/redfish/v1/AccountService/Accounts/1/Certificates" + }, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + } + }, + "Actions": { + "#ManagerAccount.ChangePassword": { + "target": "/redfish/v1/AccountService/Accounts/1/Actions/ManagerAccount.ChangePassword" + } + }, + "@odata.id": "/redfish/v1/AccountService/Accounts/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/Accounts/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/Accounts/2/index.json new file mode 100644 index 00000000..24252ff4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/Accounts/2/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#ManagerAccount.v1_14_2.ManagerAccount", + "Id": "2", + "Name": "Employee #457", + "Description": "This user is both a Redfish administrator and a SNMPv3 user.", + "Enabled": true, + "Password": null, + "UserName": "contoso_employee457", + "MFABypass": { + "BypassTypes": [ + "All" + ] + }, + "RoleId": "Administrator", + "Locked": false, + "AccountTypes": [ + "Redfish", + "SNMP" + ], + "SNMP": { + "AuthenticationKey": null, + "AuthenticationProtocol": "None", + "EncryptionKey": null, + "EncryptionProtocol": "CFB128_AES128" + }, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + } + }, + "Actions": { + "#ManagerAccount.ChangePassword": { + "target": "/redfish/v1/AccountService/Accounts/2/Actions/ManagerAccount.ChangePassword" + } + }, + "@odata.id": "/redfish/v1/AccountService/Accounts/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/Accounts/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/Accounts/index.json new file mode 100644 index 00000000..f509d474 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/Accounts/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerAccountCollection.ManagerAccountCollection", + "Name": "Accounts Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Accounts/1" + } + ], + "@odata.id": "/redfish/v1/AccountService/Accounts", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/ExternalAccountProviders/ExternalRedfishService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/ExternalAccountProviders/ExternalRedfishService/index.json new file mode 100644 index 00000000..52ded803 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/ExternalAccountProviders/ExternalRedfishService/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#ExternalAccountProvider.v1_9_0.ExternalAccountProvider", + "Id": "ExternalRedfishService", + "Name": "Remote Redfish Service", + "Description": "Remote Redfish Service providing additional Accounts to this Redfish Service", + "AccountProviderType": "RedfishService", + "ServiceAddresses": [ + "https://redfish.contoso.org/redfish/v1/AccountService" + ], + "Authentication": { + "AuthenticationType": "Token", + "Token": null + }, + "RemoteRoleMapping": [ + { + "RemoteGroup": "Admin", + "LocalRole": "Administrator" + }, + { + "RemoteGroup": "Operator", + "LocalRole": "Operator" + }, + { + "RemoteGroup": "ReadOnly", + "LocalRole": "ReadOnly" + } + ], + "@odata.id": "/redfish/v1/AccountService/ExternalAccountProviders/ExternalRedfishService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/ExternalAccountProviders/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/ExternalAccountProviders/index.json new file mode 100644 index 00000000..42e0d845 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/ExternalAccountProviders/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ExternalAccountProviderCollection.ExternalAccountProviderCollection", + "Name": "External Account Provider Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/ExternalAccountProviders/ExternalRedfishService" + } + ], + "@odata.id": "/redfish/v1/AccountService/ExternalAccountProviders", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/OutboundConnections/1/Certificates/1/RekeyActionInfo/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/OutboundConnections/1/Certificates/1/RekeyActionInfo/index.json new file mode 100644 index 00000000..9249a555 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/OutboundConnections/1/Certificates/1/RekeyActionInfo/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#ActionInfo.v1_6_0.ActionInfo", + "Id": "RekeyActionInfo", + "Name": "Rekey Action Info", + "Parameters": [ + { + "Name": "KeyPairAlgorithm", + "Required": true, + "DataType": "String", + "AllowableValues": [ + "TPM_ALG_RSA", + "TPM_ALG_ECDSA" + ] + }, + { + "Name": "KeyBitLength", + "Required": false, + "DataType": "Number" + }, + { + "Name": "KeyCurveId", + "Required": false, + "DataType": "String", + "AllowableValues": [ + "TPM_ECC_NIST_P256", + "TPM_ECC_NIST_P384", + "TPM_ECC_NIST_P521" + ] + } + ], + "@odata.id": "/redfish/v1/AccountService/OutboundConnections/1/Certificates/1/RekeyActionInfo", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/OutboundConnections/1/Certificates/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/OutboundConnections/1/Certificates/1/index.json new file mode 100644 index 00000000..3e65aee6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/OutboundConnections/1/Certificates/1/index.json @@ -0,0 +1,44 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "1", + "Name": "HTTPS Certificate", + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIFsTCCA5mgAwIBAgIJAMusGfV8beSJMA0GCSqGSIb3DQEBCwUAMG8xCzAJBgNV\nBAYTAlVTMQ8wDQYDVQQIDAZPcmVnb24xETAPBgNVBAcMCFBvcnRsYW5kMRAwDgYD\nVQQKDAdDb250b3NvMQwwCgYDVQQLDANBQkMxHDAaBgNVBAMME21hbmFnZXIuY29u\ndG9zby5vcmcwHhcNMTgwOTA3MTMyMjA1WhcNMTkwOTA3MTMyMjA1WjBvMQswCQYD\nVQQGEwJVUzEPMA0GATowerECAwGT3JlZ29uMREwDwYDVQQHDAhQb3J0bGFuZDEQMA4G\nATowerECgwHQ29udG9zbzEMMAoGATowerECwwDQUJDMRwwGgYDVQQDDBNtYW5hZ2VyLmNv\nbnRvc28ub3JnMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAw39VGz5K\n9bD8UUmyUxH+s+IaYsd3rd8V3R6g3bzttGOW52nopt3ZQD4COHPePBcCBh2+xRFk\n0Wd6oJUECXKNYhoFRJAhyz2fmkO5I37D40iY8/Ihqnt0Kmt/8hETL2VMKbALnR+4\nAUNNGSomRD24FQDlK1Vs6urZHvTsEL5Z+CNdbKY6Yn1ksxR8vmze4hdxnzrQCua1\no7zNVzudLdhVpfeC3BvmflMjszPOjlo5dSkXeRWqQ1LikgcHyEf3hYWq3WXMUpkV\nm2nlM3Tzeaz2nO1quQ/HJ/DUuvHHvWIIZdExL1RABzSN8Sr3ZkMShmTNN4QWmrEX\nEADN8g8OXrRKrup+R6nbUT55Getn5jPesI5fNDHk0KRBUG0ALY73l9+ZlAdRTesq\naV6AL2hUYrb1SNjh50i15s4yPOytspF4B9LaqsG1w3PGjgLaUtWHTXwGAMdHVhWs\nym//6zFv3Ri5tbjThpeYv+UIkreyb0yAFlx/Kz62EFbkFcnaGPATqVd4yLtVdYu0\nz5O8JWhOuybmWMe6ifO97X8w7/Nr9QyzkB64wXSqsNpRiuZraErqa+hBqvPkz8KE\nFEwiclRvZ9OrNk/iKr1FO1HNs1byvNyJ3S9Bu4bMwMnxzrdNzaB5Ti0IywIvQ/qw\nJ8icHIn+3EM5g+DmvQTZIXNKOryrndjIUA0CAwEAAaNQME4wHQYDVR0OBBYEFLLG\niNCud7LYUKojqRVNhKBWoApFMB8GATowerdIwQYMBaAFLLGiNCud7LYUKojqRVNhKBW\noApFMAwGATowerdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggIBAG+NJSRv1S0K4KjE\nwzAIlEsmYs65vPxKLg0a07EW8xO4m7AKtty9dyc3+xh0ftwosTmXp2GL3RbNFqpc\nqDjS/XLDGS7DCb5T/g2vZusfUCz6WXpJCZMBLNyNaVyhTHeV9f8sCWXAODwx8ED2\nIHADWI9EqYg3HovYJNP4iUXfivBkFdq6ptOwgMVLGpeMvt/VwBilOklL/+xrhiMD\n1SwZ+sPdWfgcIaeQ+Y3h0cbHzCeYlZDXjDR41zGrEb1lhSAj5n/BEQDjXsiIY386\n/czYW7Zz2ZxOK67ENaABUxg5w8iqu8wkF0pVHbjBThkEPvvdwWKAFLDC55q1KO4H\nsZLx8U/usUdHW9pz+/C7QW7UEJjKP7LfUWnosz7NJYtb7lXJ6pyLkstlA35/aXv3\nxS4eHxHFExl7hiTPgWuFYZUfhdTYSoUTO7WHI7IIZvAh05I/akrE7RpPXviMdIrI\nluKOGwMDHuKSUX93BfFcm9WyMx2cGvbORAXPonGadkPbNsuSK1YkalZ27x5Aq10T\nwJ6/u29+BMDIRB1qJPf5gm4itQpX0hLKXRAdSPKQgvA2gDN5fIlPDEAlWt3oo5JI\n6aWKaL1zAwSFcV2XE6c0r9ZrQPQw1cTzeAMDzMQ7MnEb6kt/YNdGfzTL/5b+vF+e\nHApck5WMN3G/8qlI5rFGXG5zljlu\n-----END CERTIFICATE-----", + "CertificateType": "PEM", + "Issuer": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "manager.contoso.org" + }, + "Subject": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "manager.contoso.org" + }, + "ValidNotBefore": "2018-09-07T13:22:05Z", + "ValidNotAfter": "2019-09-07T13:22:05Z", + "KeyUsage": [ + "KeyEncipherment", + "ServerAuthentication" + ], + "SerialNumber": "5d:7a:d8:df:f6:fc:c1:b3:ca:fe:fb:cc:38:f3:01:64:51:ea:05:cb", + "Fingerprint": "A6:E9:D2:5C:DC:52:DA:4B:3B:14:97:F3:A4:53:D9:99:A1:0B:56:41", + "FingerprintHashAlgorithm": "TPM_ALG_SHA1", + "SignatureAlgorithm": "sha256WithRSAEncryption", + "Actions": { + "#Certificate.Rekey": { + "target": "/redfish/v1/AccountService/OutboundConnections/1/Certificates/1/Actions/Certificate.Rekey", + "@Redfish.ActionInfo": "/redfish/v1/AccountService/OutboundConnections/1/Certificates/1/RekeyActionInfo" + }, + "#Certificate.Renew": { + "target": "/redfish/v1/AccountService/OutboundConnections/1/Certificates/1/Actions/Certificate.Renew" + } + }, + "@odata.id": "/redfish/v1/AccountService/OutboundConnections/1/Certificates/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/OutboundConnections/1/Certificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/OutboundConnections/1/Certificates/index.json new file mode 100644 index 00000000..055ed6e8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/OutboundConnections/1/Certificates/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificate Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/OutboundConnections/1/Certificates/1" + } + ], + "@Redfish.SupportedCertificates": [ + "PEM" + ], + "@odata.id": "/redfish/v1/AccountService/OutboundConnections/1/Certificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/OutboundConnections/1/ClientCertificates/1/RekeyActionInfo/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/OutboundConnections/1/ClientCertificates/1/RekeyActionInfo/index.json new file mode 100644 index 00000000..c14ea549 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/OutboundConnections/1/ClientCertificates/1/RekeyActionInfo/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#ActionInfo.v1_6_0.ActionInfo", + "Id": "RekeyActionInfo", + "Name": "Rekey Action Info", + "Parameters": [ + { + "Name": "KeyPairAlgorithm", + "Required": true, + "DataType": "String", + "AllowableValues": [ + "TPM_ALG_RSA", + "TPM_ALG_ECDSA" + ] + }, + { + "Name": "KeyBitLength", + "Required": false, + "DataType": "Number" + }, + { + "Name": "KeyCurveId", + "Required": false, + "DataType": "String", + "AllowableValues": [ + "TPM_ECC_NIST_P256", + "TPM_ECC_NIST_P384", + "TPM_ECC_NIST_P521" + ] + } + ], + "@odata.id": "/redfish/v1/AccountService/OutboundConnections/1/ClientCertificates/1/RekeyActionInfo", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/OutboundConnections/1/ClientCertificates/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/OutboundConnections/1/ClientCertificates/1/index.json new file mode 100644 index 00000000..ee92142f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/OutboundConnections/1/ClientCertificates/1/index.json @@ -0,0 +1,44 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "1", + "Name": "Client Certificate", + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIFsTCCA5mgAwIBAgIJAMusGfV8beSJMA0GCSqGSIb3DQEBCwUAMG8xCzAJBgNV\nBAYTAlVTMQ8wDQYDVQQIDAZPcmVnb24xETAPBgNVBAcMCFBvcnRsYW5kMRAwDgYD\nVQQKDAdDb250b3NvMQwwCgYDVQQLDANBQkMxHDAaBgNVBAMME21hbmFnZXIuY29u\ndG9zby5vcmcwHhcNMTgwOTA3MTMyMjA1WhcNMTkwOTA3MTMyMjA1WjBvMQswCQYD\nVQQGEwJVUzEPMA0GA1UECAwGT3JlZ29uMREwDwYDVQQHDAhQb3J0bGFuZDEQMA4G\nA1UECgwHQ29udG9zbzEMMAoGA1UECwwDQUJDMRwwGgYDVQQDDBNtYW5hZ2VyLmNv\nbnRvc28ub3JnMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAw39VGz5K\n9bD8UUmyUxH+s+IaYsd3rd8V3R6g3bzttGOW52nopt3ZQD4COHPePBcCBh2+xRFk\n0Wd6oJUECXKNYhoFRJAhyz2fmkO5I37D40iY8/Ihqnt0Kmt/8hETL2VMKbALnR+4\nAUNNGSomRD24FQDlK1Vs6urZHvTsEL5Z+CNdbKY6Yn1ksxR8vmze4hdxnzrQCua1\no7zNVzudLdhVpfeC3BvmflMjszPOjlo5dSkXeRWqQ1LikgcHyEf3hYWq3WXMUpkV\nm2nlM3Tzeaz2nO1quQ/HJ/DUuvHHvWIIZdExL1RABzSN8Sr3ZkMShmTNN4QWmrEX\nEADN8g8OXrRKrup+R6nbUT55Getn5jPesI5fNDHk0KRBUG0ALY73l9+ZlAdRTesq\naV6AL2hUYrb1SNjh50i15s4yPOytspF4B9LaqsG1w3PGjgLaUtWHTXwGAMdHVhWs\nym//6zFv3Ri5tbjThpeYv+UIkreyb0yAFlx/Kz62EFbkFcnaGPATqVd4yLtVdYu0\nz5O8JWhOuybmWMe6ifO97X8w7/Nr9QyzkB64wXSqsNpRiuZraErqa+hBqvPkz8KE\nFEwiclRvZ9OrNk/iKr1FO1HNs1byvNyJ3S9Bu4bMwMnxzrdNzaB5Ti0IywIvQ/qw\nJ8icHIn+3EM5g+DmvQTZIXNKOryrndjIUA0CAwEAAaNQME4wHQYDVR0OBBYEFLLG\niNCud7LYUKojqRVNhKBWoApFMB8GA1UdIwQYMBaAFLLGiNCud7LYUKojqRVNhKBW\noApFMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggIBAG+NJSRv1S0K4KjE\nwzAIlEsmYs65vPxKLg0a07EW8xO4m7AKtty9dyc3+xh0ftwosTmXp2GL3RbNFqpc\nqDjS/XLDGS7DCb5T/g2vZusfUCz6WXpJCZMBLNyNaVyhTHeV9f8sCWXAODwx8ED2\nIHADWI9EqYg3HovYJNP4iUXfivBkFdq6ptOwgMVLGpeMvt/VwBilOklL/+xrhiMD\n1SwZ+sPdWfgcIaeQ+Y3h0cbHzCeYlZDXjDR41zGrEb1lhSAj5n/BEQDjXsiIY386\n/czYW7Zz2ZxOK67ENaABUxg5w8iqu8wkF0pVHbjBThkEPvvdwWKAFLDC55q1KO4H\nsZLx8U/usUdHW9pz+/C7QW7UEJjKP7LfUWnosz7NJYtb7lXJ6pyLkstlA35/aXv3\nxS4eHxHFExl7hiTPgWuFYZUfhdTYSoUTO7WHI7IIZvAh05I/akrE7RpPXviMdIrI\nluKOGwMDHuKSUX93BfFcm9WyMx2cGvbORAXPonGadkPbNsuSK1YkalZ27x5Aq10T\nwJ6/u29+BMDIRB1qJPf5gm4itQpX0hLKXRAdSPKQgvA2gDN5fIlPDEAlWt3oo5JI\n6aWKaL1zAwSFcV2XE6c0r9ZrQPQw1cTzeAMDzMQ7MnEb6kt/YNdGfzTL/5b+vF+e\nHApck5WMN3G/8qlI5rFGXG5zljlu\n-----END CERTIFICATE-----", + "CertificateType": "PEM", + "Issuer": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "user1.contoso.org" + }, + "Subject": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "user1.contoso.org" + }, + "ValidNotBefore": "2018-09-07T13:22:05Z", + "ValidNotAfter": "2019-09-07T13:22:05Z", + "KeyUsage": [ + "KeyEncipherment", + "ServerAuthentication" + ], + "SerialNumber": "5d:7a:d8:df:f6:fc:c1:b3:ca:fe:fb:cc:38:f3:01:64:51:ea:05:cb", + "Fingerprint": "A6:E9:D2:5C:DC:52:DA:4B:3B:14:97:F3:A4:53:D9:99:A1:0B:56:41", + "FingerprintHashAlgorithm": "TPM_ALG_SHA1", + "SignatureAlgorithm": "sha256WithRSAEncryption", + "Actions": { + "#Certificate.Rekey": { + "target": "/redfish/v1/AccountService/OutboundConnections/1/ClientCertificates/1/Actions/Certificate.Rekey", + "@Redfish.ActionInfo": "/redfish/v1/AccountService/OutboundConnections/1/ClientCertificates/1/RekeyActionInfo" + }, + "#Certificate.Renew": { + "target": "/redfish/v1/AccountService/OutboundConnections/1/ClientCertificates/1/Actions/Certificate.Renew" + } + }, + "@odata.id": "/redfish/v1/AccountService/OutboundConnections/1/ClientCertificates/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/OutboundConnections/1/ClientCertificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/OutboundConnections/1/ClientCertificates/index.json new file mode 100644 index 00000000..fa524def --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/OutboundConnections/1/ClientCertificates/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificate Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/OutboundConnections/1/ClientCertificates/1" + } + ], + "@odata.id": "/redfish/v1/AccountService/OutboundConnections/1/ClientCertificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/OutboundConnections/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/OutboundConnections/1/index.json new file mode 100644 index 00000000..3a03d94f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/OutboundConnections/1/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#OutboundConnection.v1_0_3.OutboundConnection", + "Id": "1", + "Name": "Outbound Connection to contoso app", + "Status": { + "Health": "OK", + "HealthRollup": "OK", + "State": "Enabled" + }, + "Authentication": "MTLS", + "Certificates": { + "@odata.id": "/redfish/v1/AccountService/OutboundConnections/1/Certificates" + }, + "ClientCertificates": { + "@odata.id": "/redfish/v1/AccountService/OutboundConnections/1/ClientCertificates" + }, + "ConnectionEnabled": true, + "EndpointURI": "wss://ws.contoso.com:443", + "RetryPolicy": { + "ConnectionRetryPolicy": "RetryCount", + "RetryIntervalMinutes": 5, + "RetryCount": 60 + }, + "Roles": [ + "Administrator" + ], + "WebSocketPingIntervalMinutes": 10, + "Links": { + "Session": { + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEG" + } + }, + "@odata.id": "/redfish/v1/AccountService/OutboundConnections/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/OutboundConnections/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/OutboundConnections/index.json new file mode 100644 index 00000000..eb7e4aa0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/OutboundConnections/index.json @@ -0,0 +1,14 @@ +{ + "@odata.etag": "W/\"AB6D42B0\"", + "@odata.type": "#OutboundConnectionCollection.OutboundConnectionCollection", + "Description": "Outbound Connections for the AccountService", + "Name": "OutboundConnection", + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/OutboundConnections/1" + } + ], + "Members@odata.count": 1, + "@odata.id": "/redfish/v1/AccountService/OutboundConnections", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/Roles/Administrator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/Roles/Administrator/index.json new file mode 100644 index 00000000..19d26a98 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/Roles/Administrator/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Administrator", + "Name": "User Role", + "Description": "Admin User Role", + "RoleId": "Administrator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureManager", + "ConfigureUsers", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [ + "OemClearLog", + "OemPowerControl" + ], + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/Roles/Operator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/Roles/Operator/index.json new file mode 100644 index 00000000..90804a6a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/Roles/Operator/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Operator", + "Name": "User Role", + "Description": "Operator User Role", + "RoleId": "Operator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/Operator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/Roles/ReadOnly/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/Roles/ReadOnly/index.json new file mode 100644 index 00000000..1df0cf03 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/Roles/ReadOnly/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "ReadOnly", + "Name": "User Role", + "Description": "ReadOnly User Role", + "RoleId": "ReadOnly", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/Roles/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/Roles/index.json new file mode 100644 index 00000000..ba9ee112 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/Roles/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#RoleCollection.RoleCollection", + "Name": "Roles Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/Operator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly" + } + ], + "@odata.id": "/redfish/v1/AccountService/Roles", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/index.json new file mode 100644 index 00000000..e21b7754 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/AccountService/index.json @@ -0,0 +1,160 @@ +{ + "@odata.type": "#AccountService.v1_19_0.AccountService", + "Id": "AccountService", + "Name": "Account Service", + "Description": "Account Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "AuthFailureLoggingThreshold": 3, + "MinPasswordLength": 8, + "AccountLockoutThreshold": 5, + "AccountLockoutDuration": 30, + "AccountLockoutCounterResetAfter": 30, + "AccountLockoutCounterResetEnabled": true, + "EnforcePasswordHistoryCount": 10, + "Accounts": { + "@odata.id": "/redfish/v1/AccountService/Accounts" + }, + "Roles": { + "@odata.id": "/redfish/v1/AccountService/Roles" + }, + "LocalAccountAuth": "Enabled", + "MultiFactorAuth": { + "OneTimePasscode": { + "Enabled": true + } + }, + "LDAP": { + "AccountProviderType": "LDAPService", + "ServiceEnabled": false, + "ServiceAddresses": [ + "ldaps://ldap.example.org:636" + ], + "Authentication": { + "AuthenticationType": "UsernameAndPassword", + "Username": "cn=Manager,dc=example,dc=org", + "Password": null + }, + "LDAPService": { + "SearchSettings": { + "BaseDistinguishedNames": [ + "dc=example,dc=org" + ], + "UsernameAttribute": "uid", + "GroupsAttribute": "memberof", + "EmailAttribute": "mail" + } + }, + "RemoteRoleMapping": [ + { + "RemoteUser": "cn=Manager,dc=example,dc=org", + "LocalRole": "Administrator", + "LocalAccountTypes": [ + "Redfish", + "HostConsole", + "ManagerConsole" + ] + }, + { + "RemoteGroup": "cn=Admins,ou=Groups,dc=example,dc=org", + "LocalRole": "Administrator", + "LocalAccountTypes": [ + "Redfish", + "HostConsole", + "ManagerConsole" + ] + }, + { + "RemoteGroup": "cn=PowerUsers,ou=Groups,dc=example,dc=org", + "LocalRole": "Operator", + "LocalAccountTypes": [ + "Redfish", + "HostConsole" + ] + }, + { + "RemoteGroup": "(cn=*)", + "LocalRole": "ReadOnly", + "LocalAccountTypes": [ + "Redfish" + ] + } + ] + }, + "ActiveDirectory": { + "AccountProviderType": "ActiveDirectoryService", + "ServiceEnabled": true, + "ServiceAddresses": [ + "ad1.example.org", + "ad2.example.org", + null, + null + ], + "Authentication": { + "AuthenticationType": "KerberosKeytab", + "KerberosKeytab": null + }, + "RemoteRoleMapping": [ + { + "RemoteGroup": "Administrators", + "LocalRole": "Administrator", + "LocalAccountTypes": [ + "Redfish", + "HostConsole", + "ManagerConsole" + ] + }, + { + "RemoteUser": "DOMAIN\\Bob", + "LocalRole": "Operator", + "LocalAccountTypes": [ + "Redfish", + "HostConsole" + ] + }, + { + "RemoteGroup": "PowerUsers", + "LocalRole": "Operator", + "LocalAccountTypes": [ + "Redfish", + "HostConsole" + ] + }, + { + "RemoteGroup": "Everybody", + "LocalRole": "ReadOnly", + "LocalAccountTypes": [ + "Redfish" + ] + } + ] + }, + "OAuth2": { + "AccountProviderType": "OAuth2", + "ServiceEnabled": true, + "ServiceAddresses": [ + "https://contoso.org/.well-known/oauth-authorization-server" + ], + "OAuth2Service": { + "Mode": "Discovery", + "Issuer": "https://contoso.org/services/oauth2", + "Audience": [ + "23:11:8A:33:CF:EA", + "92384634-2938-2342-8820-489239905423" + ], + "OAuthServiceSigningKeys": "ewogICAgImtleXMiOiBbCiAgICAgICAgewogICAgICAgICAgICAiZSI6ICJBUUFCIiwKICAgICAgICAgICAgImtpZCI6ICJvV1F2Tl8tRUxnd25HMzFNTEl4Rm5hTVlfNTd0Wk9FSUVQYnpaYlBqS2FBIiwKICAgICAgICAgICAgImt0eSI6ICJSU0EiLAogICAgICAgICAgICAibiI6ICJvYS1Kb2pkSGw2VHQ3N2Vma2h6aW5MMU9XNmZjMGhjQjloOTN2WUZyRVlPakozRjhfTFh1c1ItMW95MUFKdExZcF9KeVI4Q1ZET28yVGNCaTBuSkhKczF1dkN4WWljX202WE5vMHptVm1VQ2hVMnBYSlBGelZKRGV5VVhIWWVONG5yQ1k4XzlTLXlzWnlKa2RRaWJmeHlBRndUMHdpNlZldF9MYTE4N3JNZUFCU0tXdEdIVmpkOWk1UmhELWNGU1JaNk05M0s2bXFPUUpaX0pMXzJKUU93aGk5dFl4Q2drVVpqc1gyWXowMEZpdUVTWDhHcXRGQlI1UzhIT2p0b2FhZUJrTk5hYWZFOFdSUVl6QlVmOHpiNkVobUFMemc0Z0YxTVhRb3dZV25GcGpzYXcwNVRONHk3SWZJUVhLODlqbGxnbWFkWVVjbndaUmRMc1o2VTdBS1EiCiAgICAgICAgfQogICAgXQp9" + } + }, + "AdditionalExternalAccountProviders": { + "@odata.id": "/redfish/v1/AccountService/ExternalAccountProviders" + }, + "OutboundConnections": { + "@odata.id": "/redfish/v1/AccountService/OutboundConnections" + }, + "RequireChangePasswordAction": false, + "@odata.id": "/redfish/v1/AccountService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/CertificateService/CertificateEnrollments/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/CertificateService/CertificateEnrollments/1/index.json new file mode 100644 index 00000000..c6ca91d4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/CertificateService/CertificateEnrollments/1/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#CertificateEnrollment.v1_0_2.CertificateEnrollment", + "Id": "1", + "Name": "Certificate Enrollment", + "EnrollmentType": "ACME", + "ACME": { + "Email": "something@xyz.com", + "ChallengeType": "Http01" + }, + "Enabled": true, + "ServerURI": "myacmeserver.com", + "VerifyCertificate": true, + "RenewBeforeExpiryDays": 30, + "CSRParameters": { + "AlternativeNames": [ + "192.168.10.42" + ], + "City": "San Francisco", + "CommonName": "www.bmc987.com", + "Country": "US", + "Organization": "DMTF", + "OrganizationalUnit": "IT", + "State": "California" + }, + "Links": { + "EnrolledCertificateLocation": { + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol/HTTPS/Certificates" + }, + "EnrolledCertificate": { + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1" + }, + "CACertificates": [ + { + "@odata.id": "/redfish/v1/CertificateService/EnrollmentCACertificates/1" + } + ] + }, + "EnrollmentState": { + "LastOperation": "Renew", + "LastOperationTime": "2025-07-05T03:29:19Z", + "LastOperationStatus": "Success" + }, + "@odata.id": "/redfish/v1/CertificateService/CertificateEnrollments/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/CertificateService/CertificateEnrollments/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/CertificateService/CertificateEnrollments/index.json new file mode 100644 index 00000000..97211de1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/CertificateService/CertificateEnrollments/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#CertificateEnrollmentCollection.CertificateEnrollmentCollection", + "Name": "Certificate Enrollments Collection", + "Description": "Collection of certificate enrollment configurations", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/CertificateService/CertificateEnrollments/1" + } + ], + "@odata.id": "/redfish/v1/CertificateService/CertificateEnrollments", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/CertificateService/CertificateLocations/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/CertificateService/CertificateLocations/index.json new file mode 100644 index 00000000..15a9d8d9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/CertificateService/CertificateLocations/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#CertificateLocations.v1_0_4.CertificateLocations", + "Id": "CertificateLocations", + "Name": "Certificate Locations", + "Links": { + "Certificates": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1" + }, + { + "@odata.id": "/redfish/v1/UpdateService/ClientCertificates/1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/VirtualMedia/CD1/Certificates/1" + } + ] + }, + "@odata.id": "/redfish/v1/CertificateService/CertificateLocations", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/CertificateService/EnrollmentCACertificates/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/CertificateService/EnrollmentCACertificates/1/index.json new file mode 100644 index 00000000..c0d0c672 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/CertificateService/EnrollmentCACertificates/1/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "1", + "Name": "Enrollment CA Certificate", + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIFsTCCA5mgAwIBAgIJAMusGfV8beSJMA0GCSqGSIb3DQEBCwUAMG8xCzAJBgNV\nBAYTAlVTMQ8wDQYDVQQIDAZPcmVnb24xETAPBgNVBAcMCFBvcnRsYW5kMRAwDgYD\nVQQKDAdDb250b3NvMQwwCgYDVQQLDANBQkMxHDAaBgNVBAMME21hbmFnZXIuY29u\ndG9zby5vcmcwHhcNMTgwOTA3MTMyMjA1WhcNMTkwOTA3MTMyMjA1WjBvMQswCQYD\nVQQGEwJVUzEPMA0GA1UECAwGT3JlZ29uMREwDwYDVQQHDAhQb3J0bGFuZDEQMA4G\nA1UECgwHQ29udG9zbzEMMAoGA1UECwwDQUJDMRwwGgYDVQQDDBNtYW5hZ2VyLmNv\nbnRvc28ub3JnMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAw39VGz5K\n9bD8UUmyUxH+s+IaYsd3rd8V3R6g3bzttGOW52nopt3ZQD4COHPePBcCBh2+xRFk\n0Wd6oJUECXKNYhoFRJAhyz2fmkO5I37D40iY8/Ihqnt0Kmt/8hETL2VMKbALnR+4\nAUNNGSomRD24FQDlK1Vs6urZHvTsEL5Z+CNdbKY6Yn1ksxR8vmze4hdxnzrQCua1\no7zNVzudLdhVpfeC3BvmflMjszPOjlo5dSkXeRWqQ1LikgcHyEf3hYWq3WXMUpkV\nm2nlM3Tzeaz2nO1quQ/HJ/DUuvHHvWIIZdExL1RABzSN8Sr3ZkMShmTNN4QWmrEX\nEADN8g8OXrRKrup+R6nbUT55Getn5jPesI5fNDHk0KRBUG0ALY73l9+ZlAdRTesq\naV6AL2hUYrb1SNjh50i15s4yPOytspF4B9LaqsG1w3PGjgLaUtWHTXwGAMdHVhWs\nym//6zFv3Ri5tbjThpeYv+UIkreyb0yAFlx/Kz62EFbkFcnaGPATqVd4yLtVdYu0\nz5O8JWhOuybmWMe6ifO97X8w7/Nr9QyzkB64wXSqsNpRiuZraErqa+hBqvPkz8KE\nFEwiclRvZ9OrNk/iKr1FO1HNs1byvNyJ3S9Bu4bMwMnxzrdNzaB5Ti0IywIvQ/qw\nJ8icHIn+3EM5g+DmvQTZIXNKOryrndjIUA0CAwEAAaNQME4wHQYDVR0OBBYEFLLG\niNCud7LYUKojqRVNhKBWoApFMB8GA1UdIwQYMBaAFLLGiNCud7LYUKojqRVNhKBW\noApFMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggIBAG+NJSRv1S0K4KjE\nwzAIlEsmYs65vPxKLg0a07EW8xO4m7AKtty9dyc3+xh0ftwosTmXp2GL3RbNFqpc\nqDjS/XLDGS7DCb5T/g2vZusfUCz6WXpJCZMBLNyNaVyhTHeV9f8sCWXAODwx8ED2\nIHADWI9EqYg3HovYJNP4iUXfivBkFdq6ptOwgMVLGpeMvt/VwBilOklL/+xrhiMD\n1SwZ+sPdWfgcIaeQ+Y3h0cbHzCeYlZDXjDR41zGrEb1lhSAj5n/BEQDjXsiIY386\n/czYW7Zz2ZxOK67ENaABUxg5w8iqu8wkF0pVHbjBThkEPvvdwWKAFLDC55q1KO4H\nsZLx8U/usUdHW9pz+/C7QW7UEJjKP7LfUWnosz7NJYtb7lXJ6pyLkstlA35/aXv3\nxS4eHxHFExl7hiTPgWuFYZUfhdTYSoUTO7WHI7IIZvAh05I/akrE7RpPXviMdIrI\nluKOGwMDHuKSUX93BfFcm9WyMx2cGvbORAXPonGadkPbNsuSK1YkalZ27x5Aq10T\nwJ6/u29+BMDIRB1qJPf5gm4itQpX0hLKXRAdSPKQgvA2gDN5fIlPDEAlWt3oo5JI\n6aWKaL1zAwSFcV2XE6c0r9ZrQPQw1cTzeAMDzMQ7MnEb6kt/YNdGfzTL/5b+vF+e\nHApck5WMN3G/8qlI5rFGXG5zljlu\n-----END CERTIFICATE-----", + "CertificateType": "PEM", + "Issuer": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "manager.contoso.org" + }, + "Subject": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "manager.contoso.org" + }, + "ValidNotBefore": "2025-09-03T13:22:05Z", + "ValidNotAfter": "2026-09-03T13:22:05Z", + "KeyUsage": [ + "KeyEncipherment", + "ServerAuthentication" + ], + "SerialNumber": "5d:7a:d8:df:f6:fc:c1:b3:ca:fe:fb:cc:38:f3:01:64:51:ea:05:cb", + "Fingerprint": "A6:E9:D2:5C:DC:52:DA:4B:3B:14:97:F3:A4:53:D9:99:A1:0B:56:41", + "FingerprintHashAlgorithm": "TPM_ALG_SHA1", + "SignatureAlgorithm": "sha256WithRSAEncryption", + "@odata.id": "/redfish/v1/CertificateService/EnrollmentCACertificates/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/CertificateService/EnrollmentCACertificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/CertificateService/EnrollmentCACertificates/index.json new file mode 100644 index 00000000..3764a3d3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/CertificateService/EnrollmentCACertificates/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificate Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/CertificateService/EnrollmentCACertificates/1" + } + ], + "@Redfish.SupportedCertificates": [ + "PEM" + ], + "@odata.id": "/redfish/v1/CertificateService/EnrollmentCACertificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/CertificateService/GenerateCSRActionInfo/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/CertificateService/GenerateCSRActionInfo/index.json new file mode 100644 index 00000000..87d8af94 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/CertificateService/GenerateCSRActionInfo/index.json @@ -0,0 +1,104 @@ +{ + "@odata.type": "#ActionInfo.v1_6_0.ActionInfo", + "Id": "GenerateCSRActionInfo", + "Name": "Generate CSR Action Info", + "Parameters": [ + { + "Name": "CommonName", + "Required": true, + "DataType": "String" + }, + { + "Name": "AlternativeNames", + "Required": false, + "DataType": "StringArray", + "NoDefaultValue": true + }, + { + "Name": "Organization", + "Required": true, + "DataType": "String" + }, + { + "Name": "OrganizationalUnit", + "Required": true, + "DataType": "String" + }, + { + "Name": "City", + "Required": true, + "DataType": "String" + }, + { + "Name": "State", + "Required": true, + "DataType": "String" + }, + { + "Name": "Country", + "Required": true, + "DataType": "String" + }, + { + "Name": "Email", + "Required": false, + "DataType": "String", + "NoDefaultValue": true + }, + { + "Name": "KeyPairAlgorithm", + "Required": true, + "DataType": "String", + "AllowableValues": [ + "TPM_ALG_RSA", + "TPM_ALG_ECDSA" + ] + }, + { + "Name": "KeyBitLength", + "Required": false, + "DataType": "Number", + "DefaultValue": "4096" + }, + { + "Name": "KeyCurveId", + "Required": false, + "DataType": "String", + "AllowableValues": [ + "TPM_ECC_NIST_P256", + "TPM_ECC_NIST_P384", + "TPM_ECC_NIST_P521" + ], + "DefaultValue": "TPM_ECC_NIST_P384" + }, + { + "Name": "CertificateCollection", + "Required": true, + "DataType": "Object" + }, + { + "Name": "KeyUsage", + "Required": false, + "DataType": "StringArray", + "AllowableValues": [ + "DigitalSignature", + "NonRepudiation", + "KeyEncipherment", + "DataEncipherment", + "KeyAgreement", + "KeyCertSign", + "CRLSigning", + "EncipherOnly", + "DecipherOnly", + "ServerAuthentication", + "ClientAuthentication", + "CodeSigning", + "EmailProtection", + "OCSPSigning" + ], + "NoDefaultValue": true + } + ], + "@odata.id": "/redfish/v1/CertificateService/GenerateCSRActionInfo", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/CertificateService/ReplaceCertificateActionInfo/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/CertificateService/ReplaceCertificateActionInfo/index.json new file mode 100644 index 00000000..4d0724e6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/CertificateService/ReplaceCertificateActionInfo/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#ActionInfo.v1_6_0.ActionInfo", + "Id": "ReplaceCertificateActionInfo", + "Name": "Replace Certificate Action Info", + "Parameters": [ + { + "Name": "CertificateString", + "Required": true, + "DataType": "String" + }, + { + "Name": "CertificateType", + "Required": true, + "DataType": "String", + "AllowableValues": [ + "PEM" + ] + }, + { + "Name": "CertificateUri", + "Required": true, + "DataType": "Object" + } + ], + "@odata.id": "/redfish/v1/CertificateService/ReplaceCertificateActionInfo", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/CertificateService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/CertificateService/index.json new file mode 100644 index 00000000..3b2863c6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/CertificateService/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#CertificateService.v1_2_2.CertificateService", + "Id": "CertificateService", + "Name": "Certificate Service", + "Actions": { + "#CertificateService.GenerateCSR": { + "target": "/redfish/v1/CertificateService/Actions/CertificateService.GenerateCSR", + "@Redfish.ActionInfo": "/redfish/v1/CertificateService/GenerateCSRActionInfo" + }, + "#CertificateService.ReplaceCertificate": { + "target": "/redfish/v1/CertificateService/Actions/CertificateService.ReplaceCertificate", + "@Redfish.ActionInfo": "/redfish/v1/CertificateService/ReplaceCertificateActionInfo" + } + }, + "CertificateLocations": { + "@odata.id": "/redfish/v1/CertificateService/CertificateLocations" + }, + "AutomaticCertificateEnrollment": { + "ServiceEnabled": true, + "EnrollmentTypes": [ + "ACME", + "SCEP" + ], + "CertificatesSupported": [ + "Web", + "LDevID" + ] + }, + "CertificateEnrollments": { + "@odata.id": "/redfish/v1/CertificateService/CertificateEnrollments" + }, + "EnrollmentCACertificates": { + "@odata.id": "/redfish/v1/CertificateService/EnrollmentCACertificates" + }, + "@odata.id": "/redfish/v1/CertificateService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Controls/CPU1Freq/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Controls/CPU1Freq/index.json new file mode 100644 index 00000000..b033f4af --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Controls/CPU1Freq/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Control.v1_8_1.Control", + "Id": "CPU1Freq", + "Name": "CPU #1 Frequency Range", + "PhysicalContext": "CPU", + "ControlType": "Frequency", + "ControlMode": "Automatic", + "SettingMin": 2000, + "SettingMax": 2400, + "SetPointUnits": "Hz", + "AllowableMin": 1500, + "AllowableMax": 3700, + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "@odata.id": "/redfish/v1/Chassis/1U/Controls/CPU1Freq", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Controls/PowerLimit/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Controls/PowerLimit/index.json new file mode 100644 index 00000000..e1f924d4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Controls/PowerLimit/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#Control.v1_8_1.Control", + "Id": "PowerLimit", + "Name": "System Power Limit", + "PhysicalContext": "Chassis", + "ControlType": "Power", + "ControlMode": "Automatic", + "SetPoint": 500, + "SetPointUnits": "W", + "AllowableMax": 1000, + "AllowableMin": 150, + "Sensor": { + "Reading": 374, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/TotalPower" + }, + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "@odata.id": "/redfish/v1/Chassis/1U/Controls/PowerLimit", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Controls/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Controls/index.json new file mode 100644 index 00000000..7411cb6b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Controls/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#ControlCollection.ControlCollection", + "Name": "Chassis controls", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Controls/PowerLimit" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Controls/CPU1Freq" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/Controls", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/EnvironmentMetrics/index.json new file mode 100644 index 00000000..fb8f0f64 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/EnvironmentMetrics/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Chassis Environment Metrics", + "TemperatureCelsius": { + "Reading": 39, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/CPU1Temp" + }, + "PowerWatts": { + "Reading": 374, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/TotalPower" + }, + "PowerLimitWatts": { + "SetPoint": 500, + "AllowableMax": 1000, + "AllowableMin": 150, + "ControlMode": "Automatic", + "DataSourceUri": "/redfish/v1/Chassis/1U/Controls/PowerLimit" + }, + "FanSpeedsPercent": [ + { + "DeviceName": "Chassis Fan #1", + "Reading": 45, + "SpeedRPM": 1900, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/FanBay1" + }, + { + "DeviceName": "Chassis Fan #2", + "Reading": 55, + "SpeedRPM": 2100, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/FanBay2" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Power/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Power/index.json new file mode 100644 index 00000000..a9af33ce --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Power/index.json @@ -0,0 +1,139 @@ +{ + "@odata.type": "#Power.v1_7_3.Power", + "Id": "Power", + "Name": "Power", + "PowerControl": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Power#/PowerControl/0", + "MemberId": "0", + "Name": "System Input Power", + "PowerConsumedWatts": 344, + "PowerRequestedWatts": 800, + "PowerAvailableWatts": 0, + "PowerCapacityWatts": 800, + "PowerAllocatedWatts": 800, + "PowerMetrics": { + "IntervalInMin": 30, + "MinConsumedWatts": 271, + "MaxConsumedWatts": 489, + "AverageConsumedWatts": 319 + }, + "PowerLimit": { + "LimitInWatts": 500, + "LimitException": "LogEventOnly", + "CorrectionInMs": 50 + }, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ], + "Status": { + "State": "Enabled", + "Health": "OK" + } + } + ], + "Voltages": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Power#/Voltages/0", + "MemberId": "0", + "Name": "VRM1 Voltage", + "SensorNumber": 11, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingVolts": 12, + "UpperThresholdNonCritical": 12.5, + "UpperThresholdCritical": 13, + "UpperThresholdFatal": 15, + "LowerThresholdNonCritical": 11.5, + "LowerThresholdCritical": 11, + "LowerThresholdFatal": 10, + "MinReadingRange": 0, + "MaxReadingRange": 20, + "PhysicalContext": "VoltageRegulator", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Power#/Voltages/1", + "MemberId": "1", + "Name": "VRM2 Voltage", + "SensorNumber": 12, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingVolts": 5, + "UpperThresholdNonCritical": 5.5, + "UpperThresholdCritical": 7, + "LowerThresholdNonCritical": 4.75, + "LowerThresholdCritical": 4.5, + "MinReadingRange": 0, + "MaxReadingRange": 20, + "PhysicalContext": "VoltageRegulator", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ] + } + ], + "PowerSupplies": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Power#/PowerSupplies/0", + "MemberId": "0", + "Name": "Power Supply Bay", + "Status": { + "State": "Enabled", + "Health": "Warning" + }, + "PowerSupplyType": "AC", + "LineInputVoltageType": "ACWideRange", + "LineInputVoltage": 120, + "PowerCapacityWatts": 800, + "LastPowerOutputWatts": 325, + "Model": "499253-B21", + "Manufacturer": "ManufacturerName", + "FirmwareVersion": "1.00", + "SerialNumber": "1Z0000001", + "PartNumber": "0000001A3A", + "SparePartNumber": "0000001A3A", + "InputRanges": [ + { + "InputType": "AC", + "MinimumVoltage": 100, + "MaximumVoltage": 120, + "OutputWattage": 800 + }, + { + "InputType": "AC", + "MinimumVoltage": 200, + "MaximumVoltage": 240, + "OutputWattage": 1300 + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ] + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/Power", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/PowerSubsystem/Batteries/Module1/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/PowerSubsystem/Batteries/Module1/Metrics/index.json new file mode 100644 index 00000000..1e055711 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/PowerSubsystem/Batteries/Module1/Metrics/index.json @@ -0,0 +1,65 @@ +{ + "@odata.type": "#BatteryMetrics.v1_1_0.BatteryMetrics", + "Id": "Metrics", + "Name": "Metrics for Battery 1", + "DischargeCycles": 8.67, + "InputVoltage": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/Battery1InputVoltage", + "Reading": 12.22 + }, + "InputCurrentAmps": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/Battery1InputCurrent", + "Reading": 0 + }, + "OutputVoltages": [ + { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/Battery1OutputVoltage", + "Reading": 12.22 + } + ], + "OutputCurrentAmps": [ + { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/Battery1OutputCurrent", + "Reading": 0 + } + ], + "StoredEnergyWattHours": { + "Reading": 19.41 + }, + "TemperatureCelsius": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/Battery1Temp", + "Reading": 33 + }, + "ChargePercent": { + "Reading": 100 + }, + "CellVoltages": [ + { + "Reading": 3.44 + }, + { + "Reading": 3.45 + }, + { + "Reading": 3.43 + }, + { + "Reading": 3.43 + }, + { + "Reading": 3.45 + }, + { + "Reading": 3.44 + }, + { + "Reading": 3.43 + }, + { + "Reading": 3.44 + } + ], + "ERate": 0, + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/Batteries/Module1/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/PowerSubsystem/Batteries/Module1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/PowerSubsystem/Batteries/Module1/index.json new file mode 100644 index 00000000..b66c6897 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/PowerSubsystem/Batteries/Module1/index.json @@ -0,0 +1,47 @@ +{ + "@odata.type": "#Battery.v1_5_0.Battery", + "Id": "Module1", + "Name": "Battery 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#Battery.SelfTest": { + "target": "/redfish/v1/Chassis/1U/PowerSubsystem/Batteries/Module1/Actions/Battery.SelfTest" + }, + "#Battery.Calibrate": { + "target": "/redfish/v1/Chassis/1U/PowerSubsystem/Batteries/Module1/Actions/Battery.Calibrate" + } + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Battery 1", + "LocationType": "Bay", + "LocationOrdinalValue": 0 + } + }, + "Model": "RKS-440DC", + "Manufacturer": "Contoso Power", + "FirmwareVersion": "1.00", + "Version": "A05", + "ProductionDate": "2019-10-01T06:00:00Z", + "SerialNumber": "3488247", + "PartNumber": "23456-133", + "SparePartNumber": "93284-133", + "LocationIndicatorActive": false, + "HotPluggable": true, + "CapacityRatedWattHours": 20, + "CapacityActualWattHours": 19.41, + "MaxDischargeRateAmps": 10, + "StateOfHealthPercent": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/Battery1StateOfHealth", + "Reading": 91 + }, + "ChargeState": "Idle", + "Metrics": { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/Batteries/Module1/Metrics" + }, + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/Batteries/Module1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/PowerSubsystem/Batteries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/PowerSubsystem/Batteries/index.json new file mode 100644 index 00000000..83620f57 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/PowerSubsystem/Batteries/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#BatteryCollection.BatteryCollection", + "Name": "Battery Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/Batteries/Module1" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/Batteries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Assembly/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Assembly/index.json new file mode 100644 index 00000000..ac3441cf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Assembly/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Assembly.v1_6_1.Assembly", + "Id": "Assembly", + "Name": "Power Supply-related Assembly data", + "Assemblies": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Assembly#/Assemblies/0", + "MemberId": "0", + "Name": "Contoso Power Supply", + "Model": "345TTT", + "PartNumber": "923943", + "SparePartNumber": "55-434", + "SKU": "55ZZATR", + "SerialNumber": "345394834", + "Vendor": "Contoso", + "ProductionDate": "2017-04-01T14:55:33+03:00", + "Producer": "Contoso Supply Co.", + "Version": "1.44B", + "EngineeringChangeLevel": "9", + "BinaryDataURI": "/dumpster/434" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Assembly", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Metrics/index.json new file mode 100644 index 00000000..9b70c742 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Metrics/index.json @@ -0,0 +1,85 @@ +{ + "@odata.type": "#PowerSupplyMetrics.v1_3_0.PowerSupplyMetrics", + "Id": "Metrics", + "Name": "Metrics for Power Supply 1", + "Status": { + "State": "Enabled", + "Health": "Warning" + }, + "InputVoltage": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1InputVoltage", + "Reading": 230.2 + }, + "InputCurrentAmps": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1InputCurrent", + "Reading": 5.19 + }, + "InputPowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1InputPower", + "Reading": 937.4 + }, + "RailVoltage": [ + { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1Out3V", + "Reading": 3.31 + }, + { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1Out5V", + "Reading": 5.03 + }, + { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1Out12V", + "Reading": 12.06 + } + ], + "RailCurrentAmps": [ + { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1Out3VCurrent", + "Reading": 9.84 + }, + { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1Out5VCurrent", + "Reading": 1.25 + }, + { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1Out12VCurrent", + "Reading": 2.58 + } + ], + "OutputPowerWatts": { + "Reading": 937.4 + }, + "RailPowerWatts": [ + { + "Reading": 79.84 + }, + { + "Reading": 26.25 + }, + { + "Reading": 91.58 + } + ], + "EnergykWh": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1Energy", + "Reading": 325675 + }, + "FrequencyHz": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1Frequency", + "Reading": 60 + }, + "TemperatureCelsius": { + "Reading": 43.9 + }, + "FanSpeedPercent": { + "Reading": 68, + "SpeedRPM": 3290 + }, + "Actions": { + "#PowerSupplyMetrics.ResetMetrics": { + "target": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Metrics/Actions/PowerSupplyMetrics.ResetMetrics" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/index.json new file mode 100644 index 00000000..e63a0b44 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/index.json @@ -0,0 +1,99 @@ +{ + "@odata.type": "#PowerSupply.v1_8_0.PowerSupply", + "Id": "Bay1", + "Name": "Power Supply Bay 1", + "Status": { + "State": "Enabled", + "Health": "Warning", + "Conditions": [ + { + "MessageId": "Power.1.0.PowerSupplyPredictiveFailure", + "Timestamp": "2023-06-08T12:25:00-05:00", + "Message": "Power supply 'PSU 1' has a predicted failure condition.", + "Severity": "Warning", + "MessageArgs": [ + "PSU 1" + ] + } + ] + }, + "LineInputStatus": "Normal", + "Model": "RKS-440DC", + "Manufacturer": "Contoso Power", + "FirmwareVersion": "1.00", + "SerialNumber": "3488247", + "PartNumber": "23456-133", + "SparePartNumber": "93284-133", + "LocationIndicatorActive": false, + "HotPluggable": false, + "PowerCapacityWatts": 400, + "PhaseWiringType": "OnePhase3Wire", + "PlugType": "IEC_60320_C14", + "InputRanges": [ + { + "NominalVoltageType": "AC200To240V", + "CapacityWatts": 400 + }, + { + "NominalVoltageType": "AC120V", + "CapacityWatts": 350 + }, + { + "NominalVoltageType": "DC380V", + "CapacityWatts": 400 + } + ], + "EfficiencyRatings": [ + { + "LoadPercent": 25, + "EfficiencyPercent": 75 + }, + { + "LoadPercent": 50, + "EfficiencyPercent": 85 + }, + { + "LoadPercent": 90, + "EfficiencyPercent": 80 + } + ], + "OutputRails": [ + { + "NominalVoltage": 3.3, + "PhysicalContext": "SystemBoard" + }, + { + "NominalVoltage": 5, + "PhysicalContext": "SystemBoard" + }, + { + "NominalVoltage": 12, + "PhysicalContext": "StorageDevice" + } + ], + "Location": { + "PartLocation": { + "ServiceLabel": "PSU 1", + "LocationType": "Bay", + "LocationOrdinalValue": 0 + } + }, + "Links": { + "Outlet": { + "@odata.id": "https://redfishpdu.contoso.com/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/A4" + } + }, + "Assembly": { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Assembly" + }, + "Metrics": { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Metrics" + }, + "Actions": { + "#PowerSupply.Reset": { + "target": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Actions/PowerSupply.Reset" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay2/index.json new file mode 100644 index 00000000..b8b4f076 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay2/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#PowerSupply.v1_8_0.PowerSupply", + "Id": "Bay2", + "Name": "Power Supply Bay 2", + "Status": { + "State": "Absent" + }, + "PowerSupplyType": "PSU", + "HotPluggable": false, + "Location": { + "PartLocation": { + "ServiceLabel": "PSU 2", + "LocationType": "Bay", + "LocationOrdinalValue": 1 + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/PowerSubsystem/PowerSupplies/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/PowerSubsystem/PowerSupplies/index.json new file mode 100644 index 00000000..9c87502c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/PowerSubsystem/PowerSupplies/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#PowerSupplyCollection.PowerSupplyCollection", + "Name": "Power Supply Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay2" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/PowerSubsystem/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/PowerSubsystem/index.json new file mode 100644 index 00000000..e971aa0f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/PowerSubsystem/index.json @@ -0,0 +1,47 @@ +{ + "@odata.type": "#PowerSubsystem.v1_2_0.PowerSubsystem", + "Id": "PowerSubsystem", + "Name": "Power Subsystem for Chassis", + "CapacityWatts": 2000, + "Allocation": { + "RequestedWatts": 1500, + "AllocatedWatts": 1200 + }, + "PowerSupplyRedundancy": [ + { + "RedundancyType": "Failover", + "MaxSupportedInGroup": 2, + "MinNeededInGroup": 1, + "MinNeededForFaultTolerance": 2, + "RedundancyGroup": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay2" + } + ], + "ActiveRedundancyGroup": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1" + } + ], + "Status": { + "State": "UnavailableOffline", + "Health": "OK" + } + } + ], + "PowerSupplies": { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies" + }, + "Batteries": { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/Batteries" + }, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/AmbientTemp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/AmbientTemp/index.json new file mode 100644 index 00000000..473a4d32 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/AmbientTemp/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "AmbientTemp", + "Name": "Ambient Temperature", + "PhysicalContext": "Room", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 22.5, + "ReadingUnits": "Cel", + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/AmbientTemp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/Battery1InputCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/Battery1InputCurrent/index.json new file mode 100644 index 00000000..5242fe4b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/Battery1InputCurrent/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "Battery1InputCurrent", + "Name": "Battery #1 Input Current", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingType": "Current", + "Reading": 0, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "PhysicalContext": "Battery", + "PhysicalSubContext": "Input", + "Thresholds": { + "UpperCritical": { + "Reading": 60, + "Activation": "Increasing", + "DwellTime": "PT1S" + }, + "UpperCaution": { + "Reading": 55, + "Activation": "Increasing", + "DwellTime": "PT1S" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/Battery1InputCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/Battery1InputVoltage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/Battery1InputVoltage/index.json new file mode 100644 index 00000000..8f2441ea --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/Battery1InputVoltage/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "Battery1InputVoltage", + "Name": "Battery #1 Input Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingType": "Voltage", + "Reading": 12.22, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 15, + "PhysicalContext": "Battery", + "PhysicalSubContext": "Input", + "Thresholds": { + "UpperCritical": { + "Reading": 14, + "Activation": "Increasing", + "DwellTime": "PT1S" + }, + "UpperCaution": { + "Reading": 13, + "Activation": "Increasing", + "DwellTime": "PT1S" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/Battery1InputVoltage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/Battery1OutputCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/Battery1OutputCurrent/index.json new file mode 100644 index 00000000..d4cde449 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/Battery1OutputCurrent/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "Battery1OutputCurrent", + "Name": "Battery #1 Output Current", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingType": "Current", + "Reading": 0, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 15, + "PhysicalContext": "Battery", + "PhysicalSubContext": "Output", + "Thresholds": { + "UpperCritical": { + "Reading": 10, + "Activation": "Increasing", + "DwellTime": "PT1S" + }, + "UpperCaution": { + "Reading": 8, + "Activation": "Increasing", + "DwellTime": "PT1S" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/Battery1OutputCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/Battery1OutputVoltage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/Battery1OutputVoltage/index.json new file mode 100644 index 00000000..02929b72 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/Battery1OutputVoltage/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "Battery1OutputVoltage", + "Name": "Battery #1 Output Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingType": "Voltage", + "Reading": 12.22, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 15, + "PhysicalContext": "Battery", + "PhysicalSubContext": "Output", + "Thresholds": { + "UpperCritical": { + "Reading": 14, + "Activation": "Increasing", + "DwellTime": "PT1S" + }, + "UpperCaution": { + "Reading": 13, + "Activation": "Increasing", + "DwellTime": "PT1S" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/Battery1OutputVoltage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/Battery1StateOfHealth/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/Battery1StateOfHealth/index.json new file mode 100644 index 00000000..8a21e879 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/Battery1StateOfHealth/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "Battery1StateOfHealth", + "Name": "Battery #1 State of Health", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingType": "Percent", + "Reading": 91, + "ReadingUnits": "%", + "ReadingRangeMin": 0, + "ReadingRangeMax": 100, + "PhysicalContext": "Battery", + "Thresholds": { + "LowerCritical": { + "Reading": 30, + "Activation": "Decreasing", + "DwellTime": "PT1S" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/Battery1StateOfHealth", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/Battery1Temp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/Battery1Temp/index.json new file mode 100644 index 00000000..308c21bf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/Battery1Temp/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "Battery1Temp", + "Name": "Battery #1 Temperature", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingType": "Temperature", + "Reading": 33, + "ReadingUnits": "Cel", + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "PhysicalContext": "Battery", + "Thresholds": { + "UpperCritical": { + "Reading": 60, + "DwellTime": "PT15S", + "Activation": "Increasing" + }, + "UpperCaution": { + "Reading": 50, + "Activation": "Increasing", + "DwellTime": "PT15S" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/Battery1Temp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/CPU1Power/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/CPU1Power/index.json new file mode 100644 index 00000000..66aac52a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/CPU1Power/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CPU1Power", + "Name": "Power reading for CPU #1", + "ReadingType": "Power", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 90, + "ReadingUnits": "W", + "Implementation": "Reported", + "ReadingTime": "2019-08-13T04:14:33+06:00", + "ReadingRangeMin": 0, + "ReadingRangeMax": 150, + "Accuracy": 0.2, + "Precision": 1, + "SensingInterval": "PT0.01S", + "PhysicalContext": "CPU", + "Thresholds": { + "UpperCriticalUser": { + "Reading": 115, + "Activation": "Increasing", + "DwellTime": "PT0.03S" + }, + "UpperCautionUser": { + "Reading": 82, + "DwellTime": "PT1S" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/CPU1Power", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/CPU1Temp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/CPU1Temp/index.json new file mode 100644 index 00000000..e77355ef --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/CPU1Temp/index.json @@ -0,0 +1,83 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CPU1Temp", + "Name": "CPU #1 Temperature", + "PhysicalContext": "CPU", + "Status": { + "State": "Enabled", + "Health": "Warning", + "Conditions": [ + { + "MessageId": "Sensor.1.0.ReadingAboveUpperCautionThreshold", + "Timestamp": "2024-08-12T12:25:00-05:00", + "Message": "Sensor 'CPU1 Temp' reading of 44 (Cel) is above the 42 upper caution threshold.", + "Severity": "Warning", + "MessageArgs": [ + "CPU1 Temp", + "44", + "Cel", + "42" + ] + } + ] + }, + "Reading": 44, + "ReadingUnits": "Cel", + "Thresholds": { + "UpperCaution": { + "Reading": 42, + "DwellTime": "PT5M", + "Activation": "Increasing", + "HysteresisReading": -2, + "HysteresisDuration": "PT1M", + "@Redfish.WriteableProperties": [] + }, + "UpperCautionUser": { + "Reading": 40, + "DwellTime": "PT5M", + "HysteresisReading": 0, + "HysteresisDuration": "PT10M", + "@Redfish.WriteableProperties": [ + "Reading", + "DwellTime", + "HysteresisReading", + "HysteresisDuration" + ] + }, + "UpperCritical": { + "Reading": 45, + "DwellTime": "PT1M", + "Activation": "Increasing", + "HysteresisReading": -2, + "HysteresisDuration": "PT1M", + "@Redfish.WriteableProperties": [] + }, + "UpperCriticalUser": { + "Reading": 45, + "DwellTime": "PT10S", + "HysteresisReading": -1, + "HysteresisDuration": "PT5M", + "@Redfish.WriteableProperties": [ + "Reading", + "DwellTime", + "HysteresisReading", + "HysteresisDuration" + ] + }, + "UpperFatal": { + "Reading": 50, + "DwellTime": "PT30S", + "Activation": "Increasing", + "@Redfish.WriteableProperties": [] + } + }, + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/CPU1Temp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/CPUFan1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/CPUFan1/index.json new file mode 100644 index 00000000..d49350fe --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/CPUFan1/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CPUFan1", + "Name": "CPU #1 Fan Speed", + "PhysicalContext": "CPU", + "Reading": 45, + "SpeedRPM": 1490, + "ReadingRangeMax": 100, + "ReadingRangeMin": 0, + "ReadingType": "Percent", + "ReadingUnits": "%", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Thresholds": { + "LowerCaution": { + "Reading": 5, + "DwellTime": "PT30S", + "Activation": "Decreasing", + "HysteresisReading": 2, + "HysteresisDuration": "PT1M", + "@Redfish.WriteableProperties": [] + }, + "LowerCritical": { + "Reading": 0, + "DwellTime": "PT10S", + "Activation": "Decreasing", + "HysteresisReading": 2, + "HysteresisDuration": "PT1M", + "@Redfish.WriteableProperties": [] + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/CPUFan1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/CPUFan2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/CPUFan2/index.json new file mode 100644 index 00000000..3e47cf5e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/CPUFan2/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CPUFan2", + "Name": "CPU #2 Fan Speed", + "PhysicalContext": "CPU", + "Reading": 45, + "SpeedRPM": 1490, + "ReadingRangeMax": 100, + "ReadingRangeMin": 0, + "ReadingType": "Percent", + "ReadingUnits": "%", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Thresholds": { + "LowerCaution": { + "Reading": 5, + "DwellTime": "PT30S", + "Activation": "Decreasing", + "HysteresisReading": 2, + "HysteresisDuration": "PT1M", + "@Redfish.WriteableProperties": [] + }, + "LowerCritical": { + "Reading": 0, + "DwellTime": "PT10S", + "Activation": "Decreasing", + "HysteresisReading": 2, + "HysteresisDuration": "PT1M", + "@Redfish.WriteableProperties": [] + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/CPUFan2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/DIMM1Temp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/DIMM1Temp/index.json new file mode 100644 index 00000000..2f3c2048 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/DIMM1Temp/index.json @@ -0,0 +1,71 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "DIMM1Temp", + "Name": "DIMM #1 Temperature", + "PhysicalContext": "Memory", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 44, + "ReadingUnits": "Cel", + "Thresholds": { + "UpperCaution": { + "Reading": 55, + "DwellTime": "PT5M", + "Activation": "Increasing", + "HysteresisReading": -2, + "HysteresisDuration": "PT1M", + "@Redfish.WriteableProperties": [] + }, + "UpperCautionUser": { + "Reading": 50, + "DwellTime": "PT5M", + "HysteresisReading": 0, + "HysteresisDuration": "PT10M", + "@Redfish.WriteableProperties": [ + "Reading", + "DwellTime", + "HysteresisReading", + "HysteresisDuration" + ] + }, + "UpperCritical": { + "Reading": 65, + "DwellTime": "PT5M", + "Activation": "Increasing", + "HysteresisReading": -2, + "HysteresisDuration": "PT1M", + "@Redfish.WriteableProperties": [] + }, + "UpperCriticalUser": { + "Reading": 60, + "DwellTime": "PT5M", + "HysteresisReading": -1, + "HysteresisDuration": "PT5M", + "@Redfish.WriteableProperties": [ + "Reading", + "DwellTime", + "HysteresisReading", + "HysteresisDuration" + ] + }, + "UpperFatal": { + "Reading": 75, + "DwellTime": "PT30S", + "Activation": "Increasing", + "HysteresisReading": -2, + "HysteresisDuration": "PT30S", + "@Redfish.WriteableProperties": [] + } + }, + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM1" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/DIMM1Temp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/DIMM2Temp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/DIMM2Temp/index.json new file mode 100644 index 00000000..77e80281 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/DIMM2Temp/index.json @@ -0,0 +1,71 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "DIMM2Temp", + "Name": "DIMM #2 Temperature", + "PhysicalContext": "Memory", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 43, + "ReadingUnits": "Cel", + "Thresholds": { + "UpperCaution": { + "Reading": 55, + "DwellTime": "PT5M", + "Activation": "Increasing", + "HysteresisReading": -2, + "HysteresisDuration": "PT1M", + "@Redfish.WriteableProperties": [] + }, + "UpperCautionUser": { + "Reading": 50, + "DwellTime": "PT5M", + "HysteresisReading": 0, + "HysteresisDuration": "PT10M", + "@Redfish.WriteableProperties": [ + "Reading", + "DwellTime", + "HysteresisReading", + "HysteresisDuration" + ] + }, + "UpperCritical": { + "Reading": 65, + "DwellTime": "PT5M", + "Activation": "Increasing", + "HysteresisReading": -2, + "HysteresisDuration": "PT1M", + "@Redfish.WriteableProperties": [] + }, + "UpperCriticalUser": { + "Reading": 60, + "DwellTime": "PT5M", + "HysteresisReading": -1, + "HysteresisDuration": "PT5M", + "@Redfish.WriteableProperties": [ + "Reading", + "DwellTime", + "HysteresisReading", + "HysteresisDuration" + ] + }, + "UpperFatal": { + "Reading": 75, + "DwellTime": "PT30S", + "Activation": "Increasing", + "HysteresisReading": -2, + "HysteresisDuration": "PT30S", + "@Redfish.WriteableProperties": [] + } + }, + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM2" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/DIMM2Temp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/DIMM3Temp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/DIMM3Temp/index.json new file mode 100644 index 00000000..dc219443 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/DIMM3Temp/index.json @@ -0,0 +1,71 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "DIMM3Temp", + "Name": "DIMM #3 Temperature", + "PhysicalContext": "Memory", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 45, + "ReadingUnits": "Cel", + "Thresholds": { + "UpperCaution": { + "Reading": 55, + "DwellTime": "PT5M", + "Activation": "Increasing", + "HysteresisReading": -2, + "HysteresisDuration": "PT1M", + "@Redfish.WriteableProperties": [] + }, + "UpperCautionUser": { + "Reading": 50, + "DwellTime": "PT5M", + "HysteresisReading": 0, + "HysteresisDuration": "PT10M", + "@Redfish.WriteableProperties": [ + "Reading", + "DwellTime", + "HysteresisReading", + "HysteresisDuration" + ] + }, + "UpperCritical": { + "Reading": 65, + "DwellTime": "PT5M", + "Activation": "Increasing", + "HysteresisReading": -2, + "HysteresisDuration": "PT1M", + "@Redfish.WriteableProperties": [] + }, + "UpperCriticalUser": { + "Reading": 60, + "DwellTime": "PT5M", + "HysteresisReading": -1, + "HysteresisDuration": "PT5M", + "@Redfish.WriteableProperties": [ + "Reading", + "DwellTime", + "HysteresisReading", + "HysteresisDuration" + ] + }, + "UpperFatal": { + "Reading": 75, + "DwellTime": "PT30S", + "Activation": "Increasing", + "HysteresisReading": -2, + "HysteresisDuration": "PT30S", + "@Redfish.WriteableProperties": [] + } + }, + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM3" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/DIMM3Temp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/ExhaustTemp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/ExhaustTemp/index.json new file mode 100644 index 00000000..48af5269 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/ExhaustTemp/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "ExhaustTemp", + "Name": "Fan Bay #1 Exhaust Temperature", + "PhysicalContext": "Exhaust", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 40.5, + "ReadingUnits": "Cel", + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/ExhaustTemp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/FanBay1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/FanBay1/index.json new file mode 100644 index 00000000..2badaa5e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/FanBay1/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "FanBay1", + "Name": "Chassis Fan #1", + "PhysicalContext": "Chassis", + "Reading": 45, + "SpeedRPM": 1900, + "ReadingRangeMax": 100, + "ReadingRangeMin": 0, + "ReadingType": "Percent", + "ReadingUnits": "%", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Thresholds": { + "LowerCaution": { + "Reading": 5 + }, + "LowerCritical": { + "Reading": 0 + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/FanBay1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/FanBay2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/FanBay2/index.json new file mode 100644 index 00000000..268ae841 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/FanBay2/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "FanBay2", + "Name": "Chassis Fan #2", + "PhysicalContext": "Chassis", + "Reading": 45, + "SpeedRPM": 2100, + "ReadingRangeMax": 100, + "ReadingRangeMin": 0, + "ReadingType": "Percent", + "ReadingUnits": "%", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Thresholds": { + "LowerCaution": { + "Reading": 5 + }, + "LowerCritical": { + "Reading": 0 + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/FanBay2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/IntakeTemp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/IntakeTemp/index.json new file mode 100644 index 00000000..123cb985 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/IntakeTemp/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "IntakeTemp", + "Name": "Front Panel Intake Temperature", + "PhysicalContext": "Intake", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 24.8, + "ReadingUnits": "Cel", + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/IntakeTemp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1Energy/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1Energy/index.json new file mode 100644 index 00000000..10796971 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1Energy/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Energy", + "Name": "Power Supply #1 Energy", + "ReadingType": "EnergykWh", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 7855, + "ReadingUnits": "kW.h", + "PhysicalContext": "PowerSupply", + "Actions": { + "#Sensor.ResetMetrics": { + "target": "/redfish/v1/Chassis/1U/Sensors/PS1Energy/Actions/Sensor.ResetMetrics" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Energy", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1Frequency/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1Frequency/index.json new file mode 100644 index 00000000..773b3dd8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1Frequency/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Frequency", + "Name": "Power Supply #1 Frequency", + "ReadingType": "Frequency", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 60.1, + "ReadingUnits": "Hz", + "ReadingRangeMin": 0, + "ReadingRangeMax": 160, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "Thresholds": { + "UpperCritical": { + "Reading": 60.37, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 60.2, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 59.5, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 58.75, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Frequency", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1InputCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1InputCurrent/index.json new file mode 100644 index 00000000..ab8a3880 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1InputCurrent/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1InputCurrent", + "Name": "Power Supply #1 Input Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "Thresholds": { + "UpperCritical": { + "Reading": 10, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 9, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1InputCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1InputPower/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1InputPower/index.json new file mode 100644 index 00000000..aa6a0061 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1InputPower/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1InputPower", + "Name": "Power Supply #1 Input Power", + "ReadingType": "Power", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Total", + "Reading": 374, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 500, + "ApparentVA": 350, + "ReactiveVAR": 29, + "PowerFactor": 0.83, + "Accuracy": 1, + "Precision": 1, + "SensingInterval": "PT0.1S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "Thresholds": { + "UpperCritical": { + "Reading": 525, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 510, + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1InputPower", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1InputVoltage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1InputVoltage/index.json new file mode 100644 index 00000000..49358c14 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1InputVoltage/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1InputVoltage", + "Name": "Power Supply #1 Input Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Total", + "Reading": 119.27, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 260, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "Thresholds": { + "UpperCritical": { + "Reading": 125, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 122, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 118, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 115, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1InputVoltage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1Out12V/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1Out12V/index.json new file mode 100644 index 00000000..4b6f68a9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1Out12V/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Out12V", + "Name": "Power Supply #1 12V Output Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Total", + "Reading": 12.08, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 15, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Output", + "Thresholds": { + "UpperCritical": { + "Reading": 12.5, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 12.35, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 11.85, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 11.5, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out12V", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1Out12VCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1Out12VCurrent/index.json new file mode 100644 index 00000000..8bd2ff72 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1Out12VCurrent/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Out12VCurrent", + "Name": "Power Supply #1 12V Output Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2.79, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 7, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 6, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out12VCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1Out3V/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1Out3V/index.json new file mode 100644 index 00000000..f99f4a56 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1Out3V/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Out3V", + "Name": "Power Supply #1 3V Output Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Total", + "Reading": 3.32, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 5, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Output", + "Thresholds": { + "UpperCritical": { + "Reading": 3.5, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 3.35, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 3.25, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 3.1, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out3V", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1Out3VCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1Out3VCurrent/index.json new file mode 100644 index 00000000..499c19e4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1Out3VCurrent/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Out3VCurrent", + "Name": "Power Supply #1 3V Output Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Output", + "Thresholds": { + "UpperCritical": { + "Reading": 25, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 20, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out3VCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1Out5V/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1Out5V/index.json new file mode 100644 index 00000000..3f70c055 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1Out5V/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Out5V", + "Name": "Power Supply #1 5V Output Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Total", + "Reading": 5.04, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 10, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Output", + "Thresholds": { + "UpperCritical": { + "Reading": 5.5, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 5.35, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 4.9, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 4.5, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out5V", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1Out5VCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1Out5VCurrent/index.json new file mode 100644 index 00000000..d2c5ccda --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS1Out5VCurrent/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Out5VCurrent", + "Name": "Power Supply #1 5V Output Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 3.41, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 10, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "PowerSupply", + "Thresholds": { + "UpperCritical": { + "Reading": 8, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 5, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out5VCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2Energy/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2Energy/index.json new file mode 100644 index 00000000..f6cea81b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2Energy/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Energy", + "Name": "Power Supply #2 Energy", + "ReadingType": "EnergykWh", + "ElectricalContext": "Total", + "Status": { + "State": "Absent" + }, + "PhysicalContext": "PowerSupply", + "Actions": { + "#Sensor.ResetMetrics": { + "target": "/redfish/v1/Chassis/1U/Sensors/PS2Energy/Actions/Sensor.ResetMetrics" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Energy", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2Frequency/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2Frequency/index.json new file mode 100644 index 00000000..b0986644 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2Frequency/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Frequency", + "Name": "Power Supply #2 Frequency", + "ReadingType": "Frequency", + "Status": { + "State": "Absent" + }, + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Frequency", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2InputCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2InputCurrent/index.json new file mode 100644 index 00000000..ce670bfa --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2InputCurrent/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2InputCurrent", + "Name": "Power Supply #2 Input Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Absent" + }, + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2InputCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2InputPower/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2InputPower/index.json new file mode 100644 index 00000000..150218b0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2InputPower/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2InputPower", + "Name": "Power Supply #2 Input Power", + "ReadingType": "Power", + "Status": { + "State": "Absent" + }, + "ElectricalContext": "Total", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2InputPower", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2InputVoltage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2InputVoltage/index.json new file mode 100644 index 00000000..cf7b7422 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2InputVoltage/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2InputVoltage", + "Name": "Power Supply #2 Input Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Absent" + }, + "ElectricalContext": "Total", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2InputVoltage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2Out12V/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2Out12V/index.json new file mode 100644 index 00000000..25345ab7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2Out12V/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Out12V", + "Name": "Power Supply #2 12V Output Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Absent" + }, + "ElectricalContext": "Total", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Output", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out12V", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2Out12VCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2Out12VCurrent/index.json new file mode 100644 index 00000000..3a5397a5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2Out12VCurrent/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Out12VCurrent", + "Name": "Power Supply #2 12V Output Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Absent" + }, + "PhysicalContext": "PowerSupply", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out12VCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2Out3V/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2Out3V/index.json new file mode 100644 index 00000000..ec1763c8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2Out3V/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Out3V", + "Name": "Power Supply #2 3V Output Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Absent" + }, + "ElectricalContext": "Total", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Output", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out3V", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2Out3VCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2Out3VCurrent/index.json new file mode 100644 index 00000000..9c1e555b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2Out3VCurrent/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Out3VCurrent", + "Name": "Power Supply #2 3V Output Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Absent" + }, + "PhysicalContext": "PowerSupply", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out3VCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2Out5V/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2Out5V/index.json new file mode 100644 index 00000000..39ebca0a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2Out5V/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Out5V", + "Name": "Power Supply #2 5V Output Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Absent" + }, + "ElectricalContext": "Total", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Output", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out5V", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2Out5VCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2Out5VCurrent/index.json new file mode 100644 index 00000000..16b75e56 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/PS2Out5VCurrent/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Out5VCurrent", + "Name": "Power Supply #2 5V Output Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Absent" + }, + "PhysicalContext": "PowerSupply", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out5VCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/TotalEnergy/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/TotalEnergy/index.json new file mode 100644 index 00000000..49ebac6b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/TotalEnergy/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "TotalEnergy", + "Name": "Total Energy", + "ReadingType": "EnergykWh", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 325675, + "ReadingUnits": "kW.h", + "PhysicalContext": "Chassis", + "Actions": { + "#Sensor.ResetMetrics": { + "target": "/redfish/v1/Chassis/1U/Sensors/TotalEnergy/Actions/Sensor.ResetMetrics" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/TotalEnergy", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/TotalPower/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/TotalPower/index.json new file mode 100644 index 00000000..010d1a28 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/TotalPower/index.json @@ -0,0 +1,53 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "TotalPower", + "Name": "Power reading for the Chassis", + "ReadingType": "Power", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 374, + "ReadingUnits": "W", + "Implementation": "Synthesized", + "ReadingTime": "2019-08-13T04:14:33+06:00", + "ReadingRangeMin": 0, + "ReadingRangeMax": 600, + "ApparentVA": 2749.2, + "ReactiveVAR": 281.4, + "PowerFactor": 0.99, + "Accuracy": 0.2, + "Precision": 1, + "SensingInterval": "PT0.25S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 600, + "Activation": "Increasing", + "DwellTime": "PT1M", + "HysteresisReading": -10, + "HysteresisDuration": "PT1M", + "@Redfish.WriteableProperties": [ + "Reading", + "DwellTime", + "HysteresisReading", + "HysteresisDuration" + ] + }, + "UpperCaution": { + "Reading": 580, + "DwellTime": "PT10M", + "HysteresisReading": -10, + "HysteresisDuration": "PT10M", + "@Redfish.WriteableProperties": [ + "Reading", + "DwellTime", + "HysteresisReading", + "HysteresisDuration" + ] + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/TotalPower", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/index.json new file mode 100644 index 00000000..df437b82 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Sensors/index.json @@ -0,0 +1,132 @@ +{ + "@odata.type": "#SensorCollection.SensorCollection", + "Name": "Chassis sensors", + "Members@odata.count": 41, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/AmbientTemp" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/CPUFan1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/CPUFan2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/CPU1Temp" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/DIMM1Temp" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/DIMM2Temp" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/DIMM3Temp" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/ExhaustTemp" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/FanBay1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/FanBay2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/IntakeTemp" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Energy" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Frequency" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1InputCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1InputPower" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1InputVoltage" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out12V" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out12VCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out3V" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out3VCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out5V" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out5VCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Energy" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Frequency" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2InputCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2InputPower" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2InputVoltage" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out12V" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out12VCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out3V" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out3VCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out5V" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out5VCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/TotalEnergy" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/TotalPower" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/Battery1Temp" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/Battery1InputVoltage" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/Battery1InputCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/Battery1OutputVoltage" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/Battery1OutputCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/Battery1StateOfHealth" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/Sensors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Thermal/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Thermal/index.json new file mode 100644 index 00000000..db748c50 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/Thermal/index.json @@ -0,0 +1,159 @@ +{ + "@odata.type": "#Thermal.v1_7_3.Thermal", + "Id": "Thermal", + "Name": "Thermal", + "Temperatures": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Temperatures/0", + "MemberId": "0", + "Name": "CPU1 Temp", + "SensorNumber": 5, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 41, + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 45, + "UpperThresholdFatal": 48, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 60, + "PhysicalContext": "CPU", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Temperatures/1", + "MemberId": "1", + "Name": "CPU2 Temp", + "SensorNumber": 6, + "Status": { + "State": "Disabled" + }, + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 45, + "UpperThresholdFatal": 48, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 60, + "PhysicalContext": "CPU", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU2" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Temperatures/2", + "MemberId": "2", + "Name": "Chassis Intake Temp", + "SensorNumber": 9, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 25, + "UpperThresholdNonCritical": 30, + "UpperThresholdCritical": 40, + "UpperThresholdFatal": 50, + "LowerThresholdNonCritical": 10, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 0, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 60, + "PhysicalContext": "Intake", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + } + ] + } + ], + "Fans": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Fans/0", + "MemberId": "0", + "Name": "BaseBoard System Fan", + "PhysicalContext": "Backplane", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2100, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 0, + "MinReadingRange": 0, + "MaxReadingRange": 5000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Fans/1", + "MemberId": "1", + "Name": "BaseBoard System Fan Backup", + "PhysicalContext": "Backplane", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2050, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 0, + "MinReadingRange": 0, + "MaxReadingRange": 5000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ] + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Redundancy/0", + "MemberId": "0", + "Name": "BaseBoard System Fans", + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Fans/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Fans/1" + } + ], + "Mode": "N+m", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MinNumNeeded": 1, + "MaxNumSupported": 2 + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/Thermal", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/Fans/Bay1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/Fans/Bay1/index.json new file mode 100644 index 00000000..330c1dbb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/Fans/Bay1/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Fan.v1_6_0.Fan", + "Id": "Bay1", + "Name": "Fan Bay 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PhysicalContext": "Chassis", + "Model": "RKS-440DC", + "Manufacturer": "Contoso Fans", + "PartNumber": "23456-133", + "SparePartNumber": "93284-133", + "LocationIndicatorActive": true, + "HotPluggable": true, + "SpeedPercent": { + "Reading": 45, + "SpeedRPM": 2200, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/FanBay1" + }, + "RatedSpeedRPM": 4900, + "Location": { + "PartLocation": { + "ServiceLabel": "Chassis Fan Bay 1", + "LocationType": "Bay", + "LocationOrdinalValue": 0 + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/Bay1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/Fans/Bay2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/Fans/Bay2/index.json new file mode 100644 index 00000000..3860deb1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/Fans/Bay2/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Fan.v1_6_0.Fan", + "Id": "Bay2", + "Name": "Fan Bay 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PhysicalContext": "Chassis", + "Model": "RKS-440DC", + "Manufacturer": "Contoso Fans", + "PartNumber": "23456-133", + "SparePartNumber": "93284-133", + "LocationIndicatorActive": false, + "HotPluggable": true, + "SpeedPercent": { + "Reading": 45, + "SpeedRPM": 2400, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/FanBay2" + }, + "RatedSpeedRPM": 4900, + "Location": { + "PartLocation": { + "ServiceLabel": "Chassis Fan Bay 2", + "LocationType": "Bay", + "LocationOrdinalValue": 1 + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/Bay2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/Fans/CPU1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/Fans/CPU1/index.json new file mode 100644 index 00000000..9c31445f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/Fans/CPU1/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Fan.v1_6_0.Fan", + "Id": "CPU1", + "Name": "Fan for CPU 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PhysicalContext": "CPU", + "Model": "RKS-440DC", + "Manufacturer": "Contoso Fans", + "PartNumber": "23456-133", + "SparePartNumber": "93284-133", + "LocationIndicatorActive": false, + "HotPluggable": false, + "SpeedPercent": { + "Reading": 45, + "SpeedRPM": 1490, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/CPUFan1" + }, + "RatedSpeedRPM": 3300, + "Location": { + "PartLocation": { + "ServiceLabel": "CPU #1 Fan", + "LocationType": "Bay", + "LocationOrdinalValue": 0 + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/CPU1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/Fans/CPU2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/Fans/CPU2/index.json new file mode 100644 index 00000000..06bdb40e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/Fans/CPU2/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Fan.v1_6_0.Fan", + "Id": "CPU2", + "Name": "Fan for CPU 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PhysicalContext": "CPU", + "Model": "RKS-440DC", + "Manufacturer": "Contoso Fans", + "PartNumber": "23456-133", + "SparePartNumber": "93284-133", + "LocationIndicatorActive": false, + "HotPluggable": false, + "SpeedPercent": { + "Reading": 45, + "SpeedRPM": 1490, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/CPUFan2" + }, + "RatedSpeedRPM": 3300, + "Location": { + "PartLocation": { + "ServiceLabel": "CPU #2 Fan", + "LocationType": "Bay", + "LocationOrdinalValue": 1 + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/CPU2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/Fans/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/Fans/index.json new file mode 100644 index 00000000..a8de534c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/Fans/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#FanCollection.FanCollection", + "Name": "Fan Club", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/Bay1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/Bay2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/CPU1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/CPU2" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/Heaters/CPU1Heater/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/Heaters/CPU1Heater/Metrics/index.json new file mode 100644 index 00000000..9db2953b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/Heaters/CPU1Heater/Metrics/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#HeaterMetrics.v1_0_2.HeaterMetrics", + "Id": "HeaterMetrics", + "Description": "Heater Metrics for CPU1 Heater", + "Name": "CPU1 Heater Metrics", + "PrePowerOnHeatingTimeSeconds": 600, + "RuntimeHeatingTimeSeconds": 3600, + "PowerWatts": { + "Reading": 200.3 + }, + "TemperatureReadingsCelsius": [ + { + "DeviceName": "Heater Average Temperature", + "Reading": 2.5 + } + ], + "Actions": { + "#HeaterMetrics.ResetMetrics": { + "target": "/redfish/v1/Chassis/1U/ThermalSubsystem/Heaters/CPU1Heater/Metrics/Actions/HeaterMetrics.ResetMetrics" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Heaters/CPU1Heater/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/Heaters/CPU1Heater/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/Heaters/CPU1Heater/index.json new file mode 100644 index 00000000..2036e8cf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/Heaters/CPU1Heater/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#Heater.v1_0_2.Heater", + "Id": "CPU1Heater", + "Description": "Heater for CPU1", + "Name": "Heater 1", + "PhysicalContext": "CPU", + "Manufacturer": "Contoso Heaters", + "Model": "CPUHeater", + "SerialNumber": "SNDHM0123456789", + "PartNumber": "12345-123", + "SparePartNumber": "54321-321", + "LocationIndicatorActive": false, + "HotPluggable": true, + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Links": { + "Processors": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1" + } + ] + }, + "Metrics": { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Heaters/CPU1Heater/Metrics" + }, + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Heaters/CPU1Heater", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/Heaters/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/Heaters/index.json new file mode 100644 index 00000000..106a013c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/Heaters/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#HeaterCollection.HeaterCollection", + "Name": "Heater Collection", + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Heaters/CPU1Heater" + } + ], + "Members@odata.count": 1, + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Heaters", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/ThermalMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/ThermalMetrics/index.json new file mode 100644 index 00000000..abac31b4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/ThermalMetrics/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#ThermalMetrics.v1_3_3.ThermalMetrics", + "Id": "ThermalMetrics", + "Name": "Chassis Thermal Metrics", + "TemperatureSummaryCelsius": { + "Internal": { + "Reading": 39, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/CPU1Temp" + }, + "Intake": { + "Reading": 24.8, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/IntakeTemp" + }, + "Ambient": { + "Reading": 22.5, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/AmbientTemp" + }, + "Exhaust": { + "Reading": 40.5, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/ExhaustTemp" + } + }, + "TemperatureReadingsCelsius": [ + { + "Reading": 24.8, + "DeviceName": "Intake", + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/IntakeTemp" + }, + { + "Reading": 40.5, + "DeviceName": "Exhaust", + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/ExhaustTemp" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/ThermalMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/index.json new file mode 100644 index 00000000..53bcf67a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/ThermalSubsystem/index.json @@ -0,0 +1,57 @@ +{ + "@odata.type": "#ThermalSubsystem.v1_5_0.ThermalSubsystem", + "Id": "ThermalSubsystem", + "Name": "Thermal Subsystem for Chassis", + "FanRedundancy": [ + { + "RedundancyType": "NPlusM", + "MaxSupportedInGroup": 2, + "MinNeededInGroup": 1, + "MinNeededForFaultTolerance": 2, + "RedundancyGroup": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/Bay1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/Bay2" + } + ], + "Status": { + "State": "Enabled", + "Health": "OK" + } + }, + { + "RedundancyType": "NPlusM", + "MaxSupportedInGroup": 2, + "MinNeededInGroup": 1, + "MinNeededForFaultTolerance": 2, + "RedundancyGroup": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/CPU1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/CPU2" + } + ], + "Status": { + "State": "Disabled" + } + } + ], + "Fans": { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans" + }, + "ThermalMetrics": { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/ThermalMetrics" + }, + "Heaters": { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Heaters" + }, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/AC-RoT0/Certificates/DeviceCert/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/AC-RoT0/Certificates/DeviceCert/index.json new file mode 100644 index 00000000..fd1610cb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/AC-RoT0/Certificates/DeviceCert/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "DeviceCert", + "Name": "SPDM Device Certificate", + "CertificateType": "PEM", + "Links": { + "Issuer": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Certificates/contoso-subca" + } + }, + "CertificateUsageTypes": [ + "Device" + ], + "SPDM": { + "SlotId": 0 + }, + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIDvzCCAqegAwIBAgIBATANBgkqhkiG9w0BAQ0FADCBgDELMAkGA1UEBhMCVVMx\nEDAOBgNVBAgMB1JlZGZpc2gxHDAaBgNVBAcME1NvbWV3aGVyZSBJbmJldHdlZW4x\nEDAOBgNVBAoMB0NvbnRvc28xEDAOBgNVBAsMB01vY2t1cHMxHTAbBgNVBAMMFENl\ncnRpZmljYXRlIERpdmlzaW9uMCAXDTIxMTAwNzIwMzExOFoYDzIwOTkxMDA4MjAz\nMTE4WjBnMQswCQYDVQQGEwJVUzEQMA4GA1UECAwHUmVkZmlzaDEQMA4GA1UECgwH\nQ29udG9zbzEZMBcGA1UECwwQU3RvcmFnZSBCdXNpbmVzczEZMBcGA1UEAwwQU3Rv\ncmFnZSBQcm9kdWN0czCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJrI\nfABOA7LBs9eLmWvNqwaZEKHXksvfF7YLqkamROep4AAAdLmLI39yQCmQVdNkHVXf\nMHofF7d+ej8EPil3ORT2Y/Yv3+Cc4ZtvDCOTNyJUD8IRa/O7UcGNrCY/Pv0ZHRca\nG+prcaHibpm7YVW5wNFyZ+Rt9pV5KUQ1hJPtdPZEPkfMF1s6SoYkRQwtXXDVuG3G\nPYSBMiFa51rf0H3EtHWxjTjkp6MKi5maqBiaOOVoYbuWeh1DzgAMs48++8KGDI2T\nkPynhl21gCuLzEUgAI5akGXmlgJ6FrxOXvSCCoD7ghk786CKg933FcYoiwNy167u\nyfMDzrgGugLZXcHDr/sCAwEAAaNaMFgwHQYDVR0OBBYEFK9kV2zMi8Y3xB+1No9K\nyX5+Gqc8MB8GA1UdIwQYMBaAFPzQI/w1tukTiYkEcfcbxMIQyTcWMAkGA1UdEwQC\nMAAwCwYDVR0PBAQDAgWgMA0GCSqGSIb3DQEBDQUAA4IBAQBTWhkRvj2nFP6Pvttk\nqbYwCawCMqn0W//pJ/eVZpYx3OT5315VacMrhUDwePZbJXOKNhuuEiymQxM4iHd0\nfh6Bq7ykonZAYWuYNt1KRA98QI1lZh42TvcZ43HaWkao/R9OoR8uiICGjIGRV987\nAATMKsuZkA3rB06XdNlSlHGehwSZAOPguVG5QWOUE9qA9p1Uu6cot1h4jXYhO/vV\nr1/9zwS01fRnc77lMOTOsBloy+OUj8ibY+BzCXOjhAZfvv0hLszWMAUGfktMGcWc\n3gprFHocW18ReuosiZyffDvxJfo5HQfZM429tTxA7ixozI2F0MRDSFuQ/OATDJpu\npzcr\n-----END CERTIFICATE-----\n", + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/AC-RoT0/Certificates/DeviceCert", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/AC-RoT0/Certificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/AC-RoT0/Certificates/index.json new file mode 100644 index 00000000..80c75db5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/AC-RoT0/Certificates/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "AC-RoT0 Certificates Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/AC-RoT0/Certificates/DeviceCert" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/AC-RoT0/Certificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/AC-RoT0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/AC-RoT0/index.json new file mode 100644 index 00000000..0bf5fd9a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/AC-RoT0/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#TrustedComponent.v1_5_0.TrustedComponent", + "Id": "AC-RoT0", + "Name": "Trusted Component", + "Description": "Root of trust chip for CPU1", + "UUID": "A3981CF9-576A-4335-A19F-B8CD7EC2821D", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "TrustedComponentType": "Discrete", + "Certificates": { + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/AC-RoT0/Certificates" + }, + "Links": { + "ComponentsProtected": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1" + } + ], + "ComponentIntegrity": [ + { + "@odata.id": "/redfish/v1/ComponentIntegrity/SS-SPDM-0" + } + ], + "ActiveSoftwareImage": { + "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/AC-RoT0" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/AC-RoT0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/TPM/Certificates/EKCert/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/TPM/Certificates/EKCert/index.json new file mode 100644 index 00000000..4b0f46b1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/TPM/Certificates/EKCert/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "EKCert", + "Name": "EKCert of the TPM of the computer system", + "CertificateType": "PEM", + "Links": { + "Issuer": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Certificates/contoso-subca" + } + }, + "CertificateUsageTypes": [ + "Device" + ], + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIDejCCAmICAQIwDQYJKoZIhvcNAQENBQAwgYAxCzAJBgNVBAYTAlVTMRAwDgYD\nVQQIDAdSZWRmaXNoMRwwGgYDVQQHDBNTb21ld2hlcmUgSW5iZXR3ZWVuMRAwDgYD\nVQQKDAdDb250b3NvMRAwDgYDVQQLDAdNb2NrdXBzMR0wGwYDVQQDDBRDZXJ0aWZp\nY2F0ZSBEaXZpc2lvbjAgFw0yMTEwMDcyMzQxNTNaGA8yMDk5MTAwODIzNDE1M1ow\ngYIxCzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdSZWRmaXNoMR8wHQYDVQQHDBZFdmVy\neXdoZXJlIGFuZCBub3doZXJlMRAwDgYDVQQKDAdDb250b3NvMRYwFAYDVQQLDA1U\nUE0gU29sdXRpb25zMRYwFAYDVQQDDA1EaXNjcmV0ZSBUUE1zMIIBIjANBgkqhkiG\n9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuVZyaRkASJBM9TuAYReCBLGB2NAF1moUBn0q\nH8mUOpO/Iv6Qm1EpAx398L85K/5KwQf0WwNY6wmzAdwJ5aKftnm92krEC0VnXytb\nYQC8D7b/f/Dw2NMWsTwE+NBsoRdj7Cz1pGRMYEJv7BG4t8VXRXe5UiZ9QHCLzMbT\n6y/T32WKCR/9XWtxWjaoqQEIsyGyQfrmYq2i/mAAcSrtFSAntJUwymEBGI9CKBqy\n2V/Ih0YQ3FwItt6mJNwba8fZ8aSXAEmTlIo8pX71eN9pQOnhSDce62naXqfEgz7I\ncW3Z9Ll6j2omYuOdu3EXylIAU/+Hdn31PoV7KOOsA2U9E/P5PwIDAQABMA0GCSqG\nSIb3DQEBDQUAA4IBAQCG4m5j1LUgC18gFDUztShcEmjyxhJ8QuEbDcVHT6UowhST\n/TDAhwgGSAa2kNCefayG/EEur6s7SJ5Qryx97637iz9Icv4uq+Dg6w4vlpCB2E7j\nT2/liiRq0CSOIQ8bpfot+skp68kFPyw+hgLyci2tjYV3FGkZmsfKCV58hh+jkNr+\nIQHpyF/FEd96edWrUqsau6rIBzFk6EsdTncYTcMyVXjAQWva1u1Xygy7CvR2IEae\nBEN7S34RKluP+UKuB56Wi7b2BZQmLCfGbEUVaN3UyjNwZf2BqYT7yjm+B7D6ncvJ\nMoKeFJfWNY1KzDF7HwhHSVfJAKLRimplM2f/ImBZ\n-----END CERTIFICATE-----\n", + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/TPM/Certificates/EKCert", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/TPM/Certificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/TPM/Certificates/index.json new file mode 100644 index 00000000..a7d9ea07 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/TPM/Certificates/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "TPM Certificates Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/TPM/Certificates/EKCert" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/TPM/Certificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/TPM/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/TPM/index.json new file mode 100644 index 00000000..cb9f9247 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/TPM/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#TrustedComponent.v1_5_0.TrustedComponent", + "Id": "TPM", + "Name": "Trusted Component", + "Description": "TPM for computer system", + "UUID": "D0810BE9-EB91-4CE2-BADE-42B42326700C", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "TrustedComponentType": "Discrete", + "Certificates": { + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/TPM/Certificates" + }, + "TPM": { + "HardwareInterfaceVendorID": "0xABCD", + "CapabilitiesVendorID": "SIM0" + }, + "Links": { + "ComponentsProtected": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + } + ], + "ComponentIntegrity": [ + { + "@odata.id": "/redfish/v1/ComponentIntegrity/TPM-0" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/TPM", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/iRoT0/Certificates/DeviceCert/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/iRoT0/Certificates/DeviceCert/index.json new file mode 100644 index 00000000..ac573133 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/iRoT0/Certificates/DeviceCert/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "DeviceCert", + "Name": "SPDM Device Certificate", + "CertificateType": "PEM", + "Links": { + "Issuer": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Certificates/contoso-subca" + } + }, + "CertificateUsageTypes": [ + "Device" + ], + "SPDM": { + "SlotId": 0 + }, + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIDvzCCAqegAwIBAgIBATANBgkqhkiG9w0BAQ0FADCBgDELMAkGA1UEBhMCVVMx\nEDAOBgNVBAgMB1JlZGZpc2gxHDAaBgNVBAcME1NvbWV3aGVyZSBJbmJldHdlZW4x\nEDAOBgNVBAoMB0NvbnRvc28xEDAOBgNVBAsMB01vY2t1cHMxHTAbBgNVBAMMFENl\ncnRpZmljYXRlIERpdmlzaW9uMCAXDTIxMTAwNzIwMzExOFoYDzIwOTkxMDA4MjAz\nMTE4WjBnMQswCQYDVQQGEwJVUzEQMA4GA1UECAwHUmVkZmlzaDEQMA4GA1UECgwH\nQ29udG9zbzEZMBcGA1UECwwQU3RvcmFnZSBCdXNpbmVzczEZMBcGA1UEAwwQU3Rv\ncmFnZSBQcm9kdWN0czCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJrI\nfABOA7LBs9eLmWvNqwaZEKHXksvfF7YLqkamROep4AAAdLmLI39yQCmQVdNkHVXf\nMHofF7d+ej8EPil3ORT2Y/Yv3+Cc4ZtvDCOTNyJUD8IRa/O7UcGNrCY/Pv0ZHRca\nG+prcaHibpm7YVW5wNFyZ+Rt9pV5KUQ1hJPtdPZEPkfMF1s6SoYkRQwtXXDVuG3G\nPYSBMiFa51rf0H3EtHWxjTjkp6MKi5maqBiaOOVoYbuWeh1DzgAMs48++8KGDI2T\nkPynhl21gCuLzEUgAI5akGXmlgJ6FrxOXvSCCoD7ghk786CKg933FcYoiwNy167u\nyfMDzrgGugLZXcHDr/sCAwEAAaNaMFgwHQYDVR0OBBYEFK9kV2zMi8Y3xB+1No9K\nyX5+Gqc8MB8GA1UdIwQYMBaAFPzQI/w1tukTiYkEcfcbxMIQyTcWMAkGA1UdEwQC\nMAAwCwYDVR0PBAQDAgWgMA0GCSqGSIb3DQEBDQUAA4IBAQBTWhkRvj2nFP6Pvttk\nqbYwCawCMqn0W//pJ/eVZpYx3OT5315VacMrhUDwePZbJXOKNhuuEiymQxM4iHd0\nfh6Bq7ykonZAYWuYNt1KRA98QI1lZh42TvcZ43HaWkao/R9OoR8uiICGjIGRV987\nAATMKsuZkA3rB06XdNlSlHGehwSZAOPguVG5QWOUE9qA9p1Uu6cot1h4jXYhO/vV\nr1/9zwS01fRnc77lMOTOsBloy+OUj8ibY+BzCXOjhAZfvv0hLszWMAUGfktMGcWc\n3gprFHocW18ReuosiZyffDvxJfo5HQfZM429tTxA7ixozI2F0MRDSFuQ/OATDJpu\npzcr\n-----END CERTIFICATE-----\n", + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/iRoT0/Certificates/DeviceCert", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/iRoT0/Certificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/iRoT0/Certificates/index.json new file mode 100644 index 00000000..de0645af --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/iRoT0/Certificates/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "iRoT0 Certificates Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/iRoT0/Certificates/DeviceCert" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/iRoT0/Certificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/iRoT0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/iRoT0/index.json new file mode 100644 index 00000000..fa2b456d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/iRoT0/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#TrustedComponent.v1_5_0.TrustedComponent", + "Id": "iRoT0", + "Name": "Trusted Component", + "Description": "Integrated Root of trust chip for CPU1", + "UUID": "A3981CF9-576A-4335-A19F-B8CD7EC2821E", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "TrustedComponentType": "Integrated", + "Certificates": { + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/iRoT0/Certificates" + }, + "Links": { + "ComponentsProtected": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1" + } + ], + "IntegratedInto": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1" + }, + "ComponentIntegrity": [ + { + "@odata.id": "/redfish/v1/ComponentIntegrity/SS-SPDM-1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/iRoT0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/index.json new file mode 100644 index 00000000..f91d0777 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/TrustedComponents/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#TrustedComponentCollection.TrustedComponentCollection", + "Name": "Trusted Component Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/AC-RoT0" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/iRoT0" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/TPM" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/index.json new file mode 100644 index 00000000..35dae85f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/1U/index.json @@ -0,0 +1,104 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "1U", + "Name": "Computer System Chassis", + "ChassisType": "RackMount", + "AssetTag": "Portland-45Z-2381", + "Manufacturer": "Contoso", + "Model": "3500RX", + "SKU": "8675309", + "SerialNumber": "437XR1138R2", + "PartNumber": "224071-J23", + "PowerState": "On", + "LocationIndicatorActive": true, + "RackUnits": "EIA_310", + "HeightRackUnits": 1, + "HeightMm": 44.45, + "WidthMm": 431.8, + "DepthMm": 711, + "WeightKg": 15.31, + "Location": { + "PhysicalAddress": { + "Country": "US", + "StateOrProvince": "Oregon", + "City": "Portland", + "StreetAddress": "1001 SW 5th Avenue", + "PostalCode": "97204", + "ISOCountryCode": "USA", + "ISOSubdivisionCode": "OR" + }, + "Placement": { + "Row": "North", + "Rack": "WEB43", + "RackOffsetUnits": "EIA_310", + "RackOffset": 12, + "Room": "35", + "FacilityName": "Onsite-Main" + } + }, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ThermalSubsystem": { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem" + }, + "PowerSubsystem": { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem" + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Chassis/1U/EnvironmentMetrics" + }, + "Sensors": { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors" + }, + "Controls": { + "@odata.id": "/redfish/v1/Chassis/1U/Controls" + }, + "TrustedComponents": { + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents" + }, + "Thermal@Redfish.Deprecated": "Please migrate to use /redfish/v1/Chassis/1U/ThermalSubsystem", + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + }, + "Power@Redfish.Deprecated": "Please migrate to use /redfish/v1/Chassis/1U/PowerSubsystem", + "Power": { + "@odata.id": "/redfish/v1/Chassis/1U/Power" + }, + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ], + "ManagersInChassis": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ] + }, + "Actions": { + "#Chassis.Reset": { + "target": "/redfish/v1/Chassis/1U/Actions/Chassis.Reset", + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "GracefulRestart", + "ForceRestart", + "Nmi", + "ForceOn", + "PushPowerButton", + "FullPowerCycle" + ] + } + }, + "@odata.id": "/redfish/v1/Chassis/1U", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/index.json new file mode 100644 index 00000000..9066a5e8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Chassis/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ChassisCollection.ChassisCollection", + "Name": "Chassis Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ], + "@odata.id": "/redfish/v1/Chassis", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/ComponentIntegrity/SS-SPDM-0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/ComponentIntegrity/SS-SPDM-0/index.json new file mode 100644 index 00000000..d5bd4d11 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/ComponentIntegrity/SS-SPDM-0/index.json @@ -0,0 +1,71 @@ +{ + "@odata.type": "#ComponentIntegrity.v1_5_0.ComponentIntegrity", + "Id": "SS-SPDM-0", + "Name": "Component Integrity", + "Description": "SPDM Integrity Information for CPU1 reported by AC-RoT0", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "ComponentIntegrityType": "SPDM", + "ComponentIntegrityTypeVersion": "1.1.0", + "ComponentIntegrityEnabled": true, + "TargetComponentURI": "/redfish/v1/Chassis/1U/TrustedComponents/AC-RoT0", + "LastUpdated": "2021-11-02T14:05:39-07:00", + "SPDM": { + "Requester": { + "@odata.id": "/redfish/v1/Managers/BMC" + }, + "MeasurementSet": { + "MeasurementSpecification": "DMTF", + "MeasurementSummary": "oylHo8JAT1RqtB0Vlx9dCzogavikhSvIZpVEDhI1X1+TKeyZZvwuUb5qF9uWqPVa", + "MeasurementSummaryHashAlgorithm": "TPM_ALG_SHA_384", + "MeasurementSummaryType": "TCB", + "Measurements": [ + { + "MeasurementIndex": 1, + "PartofSummaryHash": false, + "LastUpdated": "2021-10-31T19:08:02-07:00", + "Measurement": "K0zqzG/MFbeV7OVAhvDugxEzc7nMnRvdoKy8g2zU5JovPrUNSeFJxibTZE+0kOR9QhDR5RzumnomFECF8zI/Lw==", + "MeasurementHashAlgorithm": "TPM_ALG_SHA_512" + }, + { + "MeasurementIndex": 3, + "PartofSummaryHash": true, + "LastUpdated": "2021-10-31T19:08:02-07:00", + "Measurement": "4wEF1nnub2ozuYTWyjyvFGrYnSn0eidy54uaIYXjp/HKRByaco9UtCZeyNfA3rQ3YsRD/6csLcqGw9Nd9/HPAw==", + "MeasurementHashAlgorithm": "TPM_ALG_SHA_512", + "MeasurementType": "ImmutableROM" + }, + { + "MeasurementIndex": 150, + "PartofSummaryHash": true, + "LastUpdated": "2021-10-31T19:08:02-07:00", + "Measurement": "dZyksxnM/LZbSUY8INpp4wqcCM8m6XOKoy8cLaXOjUzqYYJT92AmEp7hKVFULNz1aCpKk69VULMyaDIv9hmJSQ==", + "MeasurementHashAlgorithm": "TPM_ALG_SHA_512" + } + ] + }, + "IdentityAuthentication": { + "ResponderAuthentication": { + "ComponentCertificate": { + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/AC-RoT0/Certificates/DeviceCert" + } + } + }, + "ComponentCommunication": { + "Sessions": [ + { + "SessionId": 15999129, + "SessionType": "EncryptedAuthenticated" + }, + { + "SessionId": 1193013, + "SessionType": "EncryptedAuthenticated" + } + ] + } + }, + "@odata.id": "/redfish/v1/ComponentIntegrity/SS-SPDM-0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/ComponentIntegrity/SS-SPDM-1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/ComponentIntegrity/SS-SPDM-1/index.json new file mode 100644 index 00000000..248be2d7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/ComponentIntegrity/SS-SPDM-1/index.json @@ -0,0 +1,67 @@ +{ + "@odata.type": "#ComponentIntegrity.v1_5_0.ComponentIntegrity", + "Id": "SS-SPDM-1", + "Name": "Component Integrity", + "Description": "SPDM Integrity Information for CPU1", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "ComponentIntegrityType": "SPDM", + "ComponentIntegrityTypeVersion": "1.1.0", + "ComponentIntegrityEnabled": true, + "TargetComponentURI": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1", + "LastUpdated": "2021-11-02T14:06:39-07:00", + "SPDM": { + "Requester": { + "@odata.id": "/redfish/v1/Managers/BMC" + }, + "MeasurementSet": { + "MeasurementSpecification": "DMTF", + "MeasurementSummary": "oylHo8JAT1RqtB0Vlx9dCzogavikhSvIZpVEDhI1X1+TKeyZZvwuUb5qF9uWqPVa", + "MeasurementSummaryHashAlgorithm": "TPM_ALG_SHA_384", + "MeasurementSummaryType": "TCB", + "Measurements": [ + { + "MeasurementIndex": 1, + "PartofSummaryHash": false, + "LastUpdated": "2021-10-31T19:08:02-07:00", + "Measurement": "K0zqzG/MFbeV7OVAhvDugxEzc7nMnRvdoKy8g2zU5JovPrUNSeFJxibTZE+0kOR9QhDR5RzumnomFECF8zI/Lw==", + "MeasurementHashAlgorithm": "TPM_ALG_SHA_512" + }, + { + "MeasurementIndex": 3, + "PartofSummaryHash": true, + "LastUpdated": "2021-10-31T19:08:02-07:00", + "Measurement": "4wEF1nnub2ozuYTWyjyvFGrYnSn0eidy54uaIYXjp/HKRByaco9UtCZeyNfA3rQ3YsRD/6csLcqGw9Nd9/HPAw==", + "MeasurementHashAlgorithm": "TPM_ALG_SHA_512", + "MeasurementType": "ImmutableROM" + }, + { + "MeasurementIndex": 150, + "PartofSummaryHash": true, + "LastUpdated": "2021-10-31T19:08:02-07:00", + "Measurement": "dZyksxnM/LZbSUY8INpp4wqcCM8m6XOKoy8cLaXOjUzqYYJT92AmEp7hKVFULNz1aCpKk69VULMyaDIv9hmJSQ==", + "MeasurementHashAlgorithm": "TPM_ALG_SHA_512" + } + ] + }, + "IdentityAuthentication": { + "ResponderAuthentication": { + "ComponentCertificate": { + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/iRoT0/Certificates/DeviceCert" + } + } + }, + "ComponentCommunication": { + "Sessions": [ + { + "SessionId": 15999130, + "SessionType": "Plain" + } + ] + } + }, + "@odata.id": "/redfish/v1/ComponentIntegrity/SS-SPDM-1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/ComponentIntegrity/TPM-0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/ComponentIntegrity/TPM-0/index.json new file mode 100644 index 00000000..25b7c8e4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/ComponentIntegrity/TPM-0/index.json @@ -0,0 +1,61 @@ +{ + "@odata.type": "#ComponentIntegrity.v1_5_0.ComponentIntegrity", + "Id": "TPM-0", + "Name": "Component Integrity", + "Description": "This TPM is physically attached to a GPU and thus this TPM provides integrity protection for the GPU.", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "ComponentIntegrityType": "TPM", + "ComponentIntegrityTypeVersion": "1.2.0", + "ComponentIntegrityEnabled": true, + "LastUpdated": "2021-11-02T14:09:54-07:00", + "TargetComponentURI": "/redfish/v1/Chassis/1U/TrustedComponents/TPM", + "TPM": { + "MeasurementSet": { + "Measurements": [ + { + "PCR": 1, + "Measurement": "h6spEuxbyOtGhP35UoGhTcVX3iRaZQGDw4Yk5oQcabw=", + "LastUpdated": "2021-10-31T20:14:27-07:00", + "MeasurementHashAlgorithm": "TPM_ALG_SHA256" + }, + { + "PCR": 3, + "Measurement": "GnbzS4ToNQb+Y7SxXw4AvRDTf4SzO5eeAlAlDca28AA=", + "LastUpdated": "2021-10-31T20:14:27-07:00", + "MeasurementHashAlgorithm": "TPM_ALG_SHA256" + }, + { + "PCR": 1, + "Measurement": "pLJa5Dyh8CDYFZ1WNOrsiSG1eyCPBlre42CD7CTywg7VkcC4afw4ZG3gQxi2XEFCt5jxz6tN1/cbx/DNx2/tOg==", + "LastUpdated": "2021-10-31T20:14:27-07:00", + "MeasurementHashAlgorithm": "TPM_ALG_SHA512" + }, + { + "PCR": 3, + "Measurement": "GBgEucATV8omirTmYqY+vvbbisHR1jBKfVAEK1XSifBHnnIYXopsc0NExURDSSyPjO21NrPqnwiq5LhI1p6rzQ==", + "LastUpdated": "2021-10-31T20:14:27-07:00", + "MeasurementHashAlgorithm": "TPM_ALG_SHA512" + } + ] + }, + "IdentityAuthentication": { + "VerificationStatus": "Success", + "ComponentCertificate": { + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/TPM/Certificates/EKCert" + } + }, + "ComponentCommunication": { + "Sessions": [ + { + "SessionId": 4556, + "SessionType": "Plain" + } + ] + } + }, + "@odata.id": "/redfish/v1/ComponentIntegrity/TPM-0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/ComponentIntegrity/USB-Integrity/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/ComponentIntegrity/USB-Integrity/index.json new file mode 100644 index 00000000..66a1daad --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/ComponentIntegrity/USB-Integrity/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#ComponentIntegrity.v1_5_0.ComponentIntegrity", + "Id": "USB-Integrity", + "Name": "Component Integrity", + "Description": "SPDM Integrity Information for a USB controller. The SPDM protocol to this USB controller is completely disabled.", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "ComponentIntegrityType": "SPDM", + "ComponentIntegrityTypeVersion": "", + "ComponentIntegrityEnabled": false, + "TargetComponentURI": "/redfish/v1/Systems/437XR1138R2/USBControllers/USB1", + "@odata.id": "/redfish/v1/ComponentIntegrity/USB-Integrity", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/ComponentIntegrity/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/ComponentIntegrity/index.json new file mode 100644 index 00000000..aea9f60d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/ComponentIntegrity/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#ComponentIntegrityCollection.ComponentIntegrityCollection", + "Name": "ComponentIntegrity Collection", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/ComponentIntegrity/SS-SPDM-0" + }, + { + "@odata.id": "/redfish/v1/ComponentIntegrity/SS-SPDM-1" + }, + { + "@odata.id": "/redfish/v1/ComponentIntegrity/USB-Integrity" + }, + { + "@odata.id": "/redfish/v1/ComponentIntegrity/TPM-0" + } + ], + "@odata.id": "/redfish/v1/ComponentIntegrity", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/EventService/SubmitTestEventActionInfo/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/EventService/SubmitTestEventActionInfo/index.json new file mode 100644 index 00000000..45c74bf4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/EventService/SubmitTestEventActionInfo/index.json @@ -0,0 +1,72 @@ +{ + "@odata.type": "#ActionInfo.v1_6_0.ActionInfo", + "Id": "SubmitTestEventActionInfo", + "Name": "SubmitTestEvent Action Info", + "Parameters": [ + { + "Name": "EventType", + "Required": false, + "DataType": "String", + "AllowableValues": [ + "StatusChange", + "ResourceUpdated", + "ResourceAdded", + "ResourceRemoved", + "Alert", + "Other" + ] + }, + { + "Name": "EventId", + "Required": false, + "DataType": "String" + }, + { + "Name": "EventTimestamp", + "Required": false, + "DataType": "String" + }, + { + "Name": "Severity", + "Required": false, + "DataType": "String" + }, + { + "Name": "Message", + "Required": false, + "DataType": "String" + }, + { + "Name": "MessageId", + "Required": true, + "DataType": "String" + }, + { + "Name": "MessageArgs", + "Required": false, + "DataType": "StringArray" + }, + { + "Name": "OriginOfCondition", + "Required": false, + "DataType": "String" + }, + { + "Name": "EventGroupId", + "Required": false, + "DataType": "Number" + }, + { + "Name": "Username", + "Required": false, + "DataType": "String" + }, + { + "Name": "UserAuthenticationSource", + "Required": false, + "DataType": "String" + } + ], + "@odata.id": "/redfish/v1/EventService/SubmitTestEventActionInfo", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/EventService/Subscriptions/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/EventService/Subscriptions/1/index.json new file mode 100644 index 00000000..4cf433da --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/EventService/Subscriptions/1/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#EventDestination.v1_17_1.EventDestination", + "Id": "1", + "Name": "EventSubscription 1", + "Destination": "http://www.dnsname.com/Destination1", + "EventTypes": [ + "Alert" + ], + "Context": "WebUser3", + "Protocol": "Redfish", + "SubscriptionType": "RedfishEvent", + "@odata.id": "/redfish/v1/EventService/Subscriptions/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/EventService/Subscriptions/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/EventService/Subscriptions/2/index.json new file mode 100644 index 00000000..4c065265 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/EventService/Subscriptions/2/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#EventDestination.v1_17_1.EventDestination", + "Id": "2", + "Name": "SNMPv3 EventSubscription", + "Destination": "contoso_user@snmp_server.contoso.com", + "ResourceTypes": [ + "Certificate", + "Volume", + "Thermal", + "VirtualMedia", + "Power" + ], + "Context": "My_SNMPv3_Events", + "Protocol": "SNMPv3", + "SubscriptionType": "SNMPInform", + "SNMP": { + "TrapCommunity": null, + "AuthenticationKey": null, + "AuthenticationProtocol": "HMAC_SHA96", + "EncryptionKey": null, + "EncryptionProtocol": "CFB128_AES128" + }, + "@odata.id": "/redfish/v1/EventService/Subscriptions/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/EventService/Subscriptions/3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/EventService/Subscriptions/3/index.json new file mode 100644 index 00000000..3b5d5c16 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/EventService/Subscriptions/3/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#EventDestination.v1_17_1.EventDestination", + "Id": "3", + "Name": "EventSubscription for SMTP", + "Destination": "mailto:spam@contoso.com", + "ResourceTypes": [ + "Certificate", + "ComputerSystem" + ], + "Context": "EmailUser3", + "Protocol": "SMTP", + "SubscriptionType": "OEM", + "@odata.id": "/redfish/v1/EventService/Subscriptions/3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/EventService/Subscriptions/4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/EventService/Subscriptions/4/index.json new file mode 100644 index 00000000..c83687a9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/EventService/Subscriptions/4/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#EventDestination.v1_17_1.EventDestination", + "Id": "4", + "Name": "EventSubscription for Remote syslog", + "Destination": "syslog://123.45.10:514", + "Context": "Syslog-Mockup", + "Protocol": "SyslogTCP", + "SubscriptionType": "Syslog", + "SyslogFilters": [ + { + "LogFacilities": [ + "Kern", + "User" + ], + "LowestSeverity": "Warning" + } + ], + "@odata.id": "/redfish/v1/EventService/Subscriptions/4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/EventService/Subscriptions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/EventService/Subscriptions/index.json new file mode 100644 index 00000000..e58d455c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/EventService/Subscriptions/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#EventDestinationCollection.EventDestinationCollection", + "Name": "Event Subscriptions Collection", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/EventService/Subscriptions/1" + }, + { + "@odata.id": "/redfish/v1/EventService/Subscriptions/2" + }, + { + "@odata.id": "/redfish/v1/EventService/Subscriptions/3" + }, + { + "@odata.id": "/redfish/v1/EventService/Subscriptions/4" + } + ], + "@odata.id": "/redfish/v1/EventService/Subscriptions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/EventService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/EventService/index.json new file mode 100644 index 00000000..0676aea7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/EventService/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#EventService.v1_12_0.EventService", + "Id": "EventService", + "Name": "Event Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "DeliveryRetryAttempts": 3, + "DeliveryRetryIntervalSeconds": 60, + "EventTypesForSubscription": [ + "StatusChange", + "ResourceUpdated", + "ResourceAdded", + "ResourceRemoved", + "Alert" + ], + "Subscriptions": { + "@odata.id": "/redfish/v1/EventService/Subscriptions" + }, + "Actions": { + "#EventService.SubmitTestEvent": { + "target": "/redfish/v1/EventService/Actions/EventService.SubmitTestEvent", + "@Redfish.ActionInfo": "/redfish/v1/EventService/SubmitTestEventActionInfo" + } + }, + "SMTP": { + "ServiceEnabled": true, + "Port": 25, + "ServerAddress": "smtp.contoso.com", + "FromAddress": "no_reply@contoso.com", + "ConnectionProtocol": "AutoDetect", + "Authentication": "AutoDetect", + "Username": "employee123", + "Password": null + }, + "@odata.id": "/redfish/v1/EventService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/KeyService/NVMeoFKeyPolicies/0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/KeyService/NVMeoFKeyPolicies/0/index.json new file mode 100644 index 00000000..3884d260 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/KeyService/NVMeoFKeyPolicies/0/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#KeyPolicy.v1_0_1.KeyPolicy", + "Id": "0", + "Name": "Default NVMeoF Key Policy", + "IsDefault": true, + "KeyPolicyType": "NVMeoF", + "NVMeoF": { + "SecurityTransportAllowList": [ + "TLSv2", + "TLSv3" + ], + "CipherSuiteAllowList": [ + "TLS_AES_128_GCM_SHA256", + "TLS_AES_256_GCM_SHA384" + ], + "SecurityProtocolAllowList": [ + "DHHC", + "TLS_PSK" + ], + "DHGroupAllowList": [ + "FFDHE2048", + "FFDHE3072", + "FFDHE4096", + "FFDHE6144", + "FFDHE8192" + ], + "SecureHashAllowList": [ + "SHA384", + "SHA512" + ] + }, + "@odata.id": "/redfish/v1/KeyService/NVMeoFKeyPolicies/0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/KeyService/NVMeoFKeyPolicies/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/KeyService/NVMeoFKeyPolicies/index.json new file mode 100644 index 00000000..071a5acb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/KeyService/NVMeoFKeyPolicies/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#KeyPolicyCollection.KeyPolicyCollection", + "Name": "Key Policy Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/KeyService/NVMeoFKeyPolicies/0" + } + ], + "@odata.id": "/redfish/v1/KeyService/NVMeoFKeyPolicies", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/KeyService/NVMeoFSecrets/0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/KeyService/NVMeoFSecrets/0/index.json new file mode 100644 index 00000000..2efc8959 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/KeyService/NVMeoFSecrets/0/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#Key.v1_4_1.Key", + "Id": "0", + "Name": "NVMeoF key 0, target subsystem", + "KeyType": "NVMeoF", + "KeyString": "DHHC-1:00:ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n:", + "NVMeoF": { + "NQN": "nqn.corp.com:nvme:target-subsystem-0001", + "SecurityProtocolType": "DHHC", + "HostKeyId": "1", + "SecureHashAllowList": [ + "SHA384", + "SHA512" + ] + }, + "@odata.id": "/redfish/v1/KeyService/NVMeoFSecrets/0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/KeyService/NVMeoFSecrets/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/KeyService/NVMeoFSecrets/1/index.json new file mode 100644 index 00000000..2a7d5b11 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/KeyService/NVMeoFSecrets/1/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#Key.v1_4_1.Key", + "Id": "1", + "Name": "NVMeoF key 1, host subsystem", + "KeyType": "NVMeoF", + "KeyString": "DHHC-1:00:ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n:", + "NVMeoF": { + "NQN": "nqn.corp.com:nvme:host-subsystem-0001", + "SecurityProtocolType": "DHHC", + "SecureHashAllowList": [ + "SHA384", + "SHA512" + ] + }, + "@odata.id": "/redfish/v1/KeyService/NVMeoFSecrets/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/KeyService/NVMeoFSecrets/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/KeyService/NVMeoFSecrets/index.json new file mode 100644 index 00000000..c5d28ddd --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/KeyService/NVMeoFSecrets/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#KeyCollection.KeyCollection", + "Name": "Key Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/KeyService/NVMeoFSecrets/0" + }, + { + "@odata.id": "/redfish/v1/KeyService/NVMeoFSecrets/1" + } + ], + "@odata.id": "/redfish/v1/KeyService/NVMeoFSecrets", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/KeyService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/KeyService/index.json new file mode 100644 index 00000000..f235b3df --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/KeyService/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#KeyService.v1_0_1.KeyService", + "Id": "KeyService", + "Name": "Key Service", + "NVMeoFSecrets": { + "@odata.id": "/redfish/v1/KeyService/NVMeoFSecrets" + }, + "NVMeoFKeyPolicies": { + "@odata.id": "/redfish/v1/KeyService/NVMeoFKeyPolicies" + }, + "@odata.id": "/redfish/v1/KeyService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/DedicatedNetworkPorts/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/DedicatedNetworkPorts/1/index.json new file mode 100644 index 00000000..7fccb5e6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/DedicatedNetworkPorts/1/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "1", + "Name": "Manager Dedicated Network Port", + "CurrentSpeedGbps": 0.1, + "Ethernet": { + "FlowControlConfiguration": "TX_RX", + "FlowControlStatus": "TX_RX", + "WakeOnLANEnabled": false, + "LLDPEnabled": true + }, + "LinkConfiguration": [ + { + "AutoSpeedNegotiationCapable": true, + "AutoSpeedNegotiationEnabled": true, + "CapableLinkSpeedGbps": [ + 0.1 + ] + } + ], + "LinkNetworkTechnology": "Ethernet", + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "MaxFrameSize": 1500, + "MaxSpeedGbps": 0.1, + "PortMedium": "Electrical", + "PortType": "UpstreamPort", + "Links": { + "EthernetInterfaces": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/eth0" + } + ] + }, + "@odata.id": "/redfish/v1/Managers/BMC/DedicatedNetworkPorts/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/DedicatedNetworkPorts/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/DedicatedNetworkPorts/index.json new file mode 100644 index 00000000..95475b50 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/DedicatedNetworkPorts/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "Port Collection", + "Description": "Collection of dedicated network ports for this manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/DedicatedNetworkPorts/1" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/DedicatedNetworkPorts", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/EthernetInterfaces/ToHost/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/EthernetInterfaces/ToHost/index.json new file mode 100644 index 00000000..9b3cffd1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/EthernetInterfaces/ToHost/index.json @@ -0,0 +1,57 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "ToHost", + "Name": "Manager Ethernet Interface", + "Description": "Management Network Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "AA:BB:CC:DD:EE:FF", + "MACAddress": "AA:BB:CC:DD:EE:FF", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "bmc-host-interface", + "FQDN": "bmc-host-interface.dmtf.org", + "MaxIPv6StaticAddresses": 1, + "IPv4Addresses": [ + { + "Address": "192.168.20.55", + "SubnetMask": "255.255.255.0", + "AddressOrigin": "Static", + "Gateway": "192.168.20.1" + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "Static", + "AddressState": "Preferred" + } + ], + "Links": { + "HostInterface": { + "@odata.id": "/redfish/v1/Managers/BMC/HostInterfaces/1" + } + }, + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/ToHost", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/EthernetInterfaces/eth0/SD/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/EthernetInterfaces/eth0/SD/index.json new file mode 100644 index 00000000..bd5602c8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/EthernetInterfaces/eth0/SD/index.json @@ -0,0 +1,60 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "SD", + "Name": "Manager Ethernet Interface", + "Description": "Management network interface on a dedicated port", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:33:CF:EA", + "MACAddress": "23:11:8A:33:CF:EA", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.0.1" + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred" + } + ], + "NameServers": [ + "names.dmtf.org" + ], + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/eth0/SD", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/EthernetInterfaces/eth0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/EthernetInterfaces/eth0/index.json new file mode 100644 index 00000000..e74eba62 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/EthernetInterfaces/eth0/index.json @@ -0,0 +1,83 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "eth0", + "Name": "Manager Ethernet Interface", + "Description": "Management network interface on a dedicated port", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:33:CF:EA", + "MACAddress": "23:11:8A:33:CF:EA", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.0.1" + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred" + } + ], + "NameServers": [ + "names.dmtf.org" + ], + "Links": { + "Ports": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/DedicatedNetworkPorts/1" + } + ] + }, + "@Redfish.Settings": { + "@odata.type": "#Settings.v1_5_0.Settings", + "SettingsObject": { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/eth0/SD" + }, + "Time": "2012-03-07T14:44.30-05:00", + "ETag": "84ffcbb050ddc7fa9cddb59014546e59", + "Messages": [ + { + "MessageId": "Base.1.0.SettingsFailed", + "RelatedProperties": [ + "/IPv6Addresses/PrefixLength" + ] + } + ] + }, + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/eth0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/EthernetInterfaces/index.json new file mode 100644 index 00000000..bfd84db3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/EthernetInterfaces/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Network Interface Collection", + "Description": "Collection of EthernetInterfaces for this Manager", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/eth0" + }, + { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/ToHost" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/HostInterfaces/1/HostEthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/HostInterfaces/1/HostEthernetInterfaces/index.json new file mode 100644 index 00000000..dcbe4e0d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/HostInterfaces/1/HostEthernetInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Network Interface Collection", + "Description": "Collection of EthernetInterfaces hosts connected to this HostInterface on the Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/ToManager" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/HostInterfaces/1/HostEthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/HostInterfaces/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/HostInterfaces/1/index.json new file mode 100644 index 00000000..961c7788 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/HostInterfaces/1/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#HostInterface.v1_4_0.HostInterface", + "Id": "1", + "Name": "Host Interface", + "Description": "Management Host Interface", + "HostInterfaceType": "NetworkHostInterface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "ExternallyAccessible": false, + "AuthenticationModes": [ + "AuthNone", + "BasicAuth", + "RedfishSessionAuth", + "OemAuth" + ], + "CredentialBootstrapping": { + "RoleId": "Administrator", + "Enabled": true, + "EnableAfterReset": true + }, + "HostEthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/BMC/HostInterfaces/1/HostEthernetInterfaces" + }, + "ManagerEthernetInterface": { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/ToHost" + }, + "NetworkProtocol": { + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol" + }, + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + } + ], + "CredentialBootstrappingRole": { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + } + }, + "@odata.id": "/redfish/v1/Managers/BMC/HostInterfaces/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/HostInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/HostInterfaces/index.json new file mode 100644 index 00000000..4e95dcd1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/HostInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#HostInterfaceCollection.HostInterfaceCollection", + "Name": "Host Interface Collection", + "Description": "Collection of HostInterfaces for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/HostInterfaces/1" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/HostInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/LogServices/Log/Entries/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/LogServices/Log/Entries/1/index.json new file mode 100644 index 00000000..4845e486 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/LogServices/Log/Entries/1/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "Event", + "Severity": "Critical", + "Created": "2012-03-07T14:44:00Z", + "SensorNumber": 1, + "Message": "System May be Melting", + "MessageId": "Event.1.0.TempWayTooHot", + "MessageArgs": [ + "88" + ], + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + } + }, + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/LogServices/Log/Entries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/LogServices/Log/Entries/index.json new file mode 100644 index 00000000..83b2e539 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/LogServices/Log/Entries/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries/1", + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "Event", + "Severity": "Critical", + "Created": "2012-03-07T14:44:00Z", + "SensorNumber": 1, + "Message": "System May be Melting", + "MessageId": "Event.1.0.TempWayTooHot", + "MessageArgs": [ + "88" + ], + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + } + } + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/LogServices/Log/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/LogServices/Log/index.json new file mode 100644 index 00000000..6d2dbdfe --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/LogServices/Log/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#LogService.v1_9_0.LogService", + "Id": "Log", + "Name": "System Log Service", + "MaxNumberOfRecords": 1000, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Managers/BMC/LogServices/Log/Actions/LogService.ClearLog" + } + }, + "Entries": { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries" + }, + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/LogServices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/LogServices/index.json new file mode 100644 index 00000000..0de6f42a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/LogServices/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Description": "Collection of Log Services for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/LogServices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1/RekeyActionInfo/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1/RekeyActionInfo/index.json new file mode 100644 index 00000000..5b47f8da --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1/RekeyActionInfo/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#ActionInfo.v1_6_0.ActionInfo", + "Id": "RekeyActionInfo", + "Name": "Rekey Action Info", + "Parameters": [ + { + "Name": "KeyPairAlgorithm", + "Required": true, + "DataType": "String", + "AllowableValues": [ + "TPM_ALG_RSA", + "TPM_ALG_ECDSA" + ] + }, + { + "Name": "KeyBitLength", + "Required": false, + "DataType": "Number" + }, + { + "Name": "KeyCurveId", + "Required": false, + "DataType": "String", + "AllowableValues": [ + "TPM_ECC_NIST_P256", + "TPM_ECC_NIST_P384", + "TPM_ECC_NIST_P521" + ] + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1/RekeyActionInfo", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1/index.json new file mode 100644 index 00000000..30731b38 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1/index.json @@ -0,0 +1,49 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "1", + "Name": "HTTPS Certificate", + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIFsTCCA5mgAwIBAgIJAMusGfV8beSJMA0GCSqGSIb3DQEBCwUAMG8xCzAJBgNV\nBAYTAlVTMQ8wDQYDVQQIDAZPcmVnb24xETAPBgNVBAcMCFBvcnRsYW5kMRAwDgYD\nVQQKDAdDb250b3NvMQwwCgYDVQQLDANBQkMxHDAaBgNVBAMME21hbmFnZXIuY29u\ndG9zby5vcmcwHhcNMTgwOTA3MTMyMjA1WhcNMTkwOTA3MTMyMjA1WjBvMQswCQYD\nVQQGEwJVUzEPMA0GA1UECAwGT3JlZ29uMREwDwYDVQQHDAhQb3J0bGFuZDEQMA4G\nA1UECgwHQ29udG9zbzEMMAoGA1UECwwDQUJDMRwwGgYDVQQDDBNtYW5hZ2VyLmNv\nbnRvc28ub3JnMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAw39VGz5K\n9bD8UUmyUxH+s+IaYsd3rd8V3R6g3bzttGOW52nopt3ZQD4COHPePBcCBh2+xRFk\n0Wd6oJUECXKNYhoFRJAhyz2fmkO5I37D40iY8/Ihqnt0Kmt/8hETL2VMKbALnR+4\nAUNNGSomRD24FQDlK1Vs6urZHvTsEL5Z+CNdbKY6Yn1ksxR8vmze4hdxnzrQCua1\no7zNVzudLdhVpfeC3BvmflMjszPOjlo5dSkXeRWqQ1LikgcHyEf3hYWq3WXMUpkV\nm2nlM3Tzeaz2nO1quQ/HJ/DUuvHHvWIIZdExL1RABzSN8Sr3ZkMShmTNN4QWmrEX\nEADN8g8OXrRKrup+R6nbUT55Getn5jPesI5fNDHk0KRBUG0ALY73l9+ZlAdRTesq\naV6AL2hUYrb1SNjh50i15s4yPOytspF4B9LaqsG1w3PGjgLaUtWHTXwGAMdHVhWs\nym//6zFv3Ri5tbjThpeYv+UIkreyb0yAFlx/Kz62EFbkFcnaGPATqVd4yLtVdYu0\nz5O8JWhOuybmWMe6ifO97X8w7/Nr9QyzkB64wXSqsNpRiuZraErqa+hBqvPkz8KE\nFEwiclRvZ9OrNk/iKr1FO1HNs1byvNyJ3S9Bu4bMwMnxzrdNzaB5Ti0IywIvQ/qw\nJ8icHIn+3EM5g+DmvQTZIXNKOryrndjIUA0CAwEAAaNQME4wHQYDVR0OBBYEFLLG\niNCud7LYUKojqRVNhKBWoApFMB8GA1UdIwQYMBaAFLLGiNCud7LYUKojqRVNhKBW\noApFMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggIBAG+NJSRv1S0K4KjE\nwzAIlEsmYs65vPxKLg0a07EW8xO4m7AKtty9dyc3+xh0ftwosTmXp2GL3RbNFqpc\nqDjS/XLDGS7DCb5T/g2vZusfUCz6WXpJCZMBLNyNaVyhTHeV9f8sCWXAODwx8ED2\nIHADWI9EqYg3HovYJNP4iUXfivBkFdq6ptOwgMVLGpeMvt/VwBilOklL/+xrhiMD\n1SwZ+sPdWfgcIaeQ+Y3h0cbHzCeYlZDXjDR41zGrEb1lhSAj5n/BEQDjXsiIY386\n/czYW7Zz2ZxOK67ENaABUxg5w8iqu8wkF0pVHbjBThkEPvvdwWKAFLDC55q1KO4H\nsZLx8U/usUdHW9pz+/C7QW7UEJjKP7LfUWnosz7NJYtb7lXJ6pyLkstlA35/aXv3\nxS4eHxHFExl7hiTPgWuFYZUfhdTYSoUTO7WHI7IIZvAh05I/akrE7RpPXviMdIrI\nluKOGwMDHuKSUX93BfFcm9WyMx2cGvbORAXPonGadkPbNsuSK1YkalZ27x5Aq10T\nwJ6/u29+BMDIRB1qJPf5gm4itQpX0hLKXRAdSPKQgvA2gDN5fIlPDEAlWt3oo5JI\n6aWKaL1zAwSFcV2XE6c0r9ZrQPQw1cTzeAMDzMQ7MnEb6kt/YNdGfzTL/5b+vF+e\nHApck5WMN3G/8qlI5rFGXG5zljlu\n-----END CERTIFICATE-----", + "CertificateType": "PEM", + "Issuer": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "manager.contoso.org" + }, + "Subject": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "manager.contoso.org", + "AlternativeNames": [ + "manager.contoso.org", + "manager.contoso.com", + "manager.contoso.us" + ] + }, + "ValidNotBefore": "2018-09-07T13:22:05Z", + "ValidNotAfter": "2019-09-07T13:22:05Z", + "KeyUsage": [ + "KeyEncipherment", + "ServerAuthentication" + ], + "SerialNumber": "5d:7a:d8:df:f6:fc:c1:b3:ca:fe:fb:cc:38:f3:01:64:51:ea:05:cb", + "Fingerprint": "A6:E9:D2:5C:DC:52:DA:4B:3B:14:97:F3:A4:53:D9:99:A1:0B:56:41", + "FingerprintHashAlgorithm": "TPM_ALG_SHA1", + "SignatureAlgorithm": "sha256WithRSAEncryption", + "Actions": { + "#Certificate.Rekey": { + "target": "/redfish/v1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1/Actions/Certificate.Rekey", + "@Redfish.ActionInfo": "/redfish/v1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1/RekeyActionInfo" + }, + "#Certificate.Renew": { + "target": "/redfish/v1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1/Actions/Certificate.Renew" + } + }, + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/index.json new file mode 100644 index 00000000..1ee534fa --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificate Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1" + } + ], + "@Redfish.SupportedCertificates": [ + "PEM" + ], + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol/HTTPS/Certificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/NetworkProtocol/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/NetworkProtocol/index.json new file mode 100644 index 00000000..0444ca24 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/NetworkProtocol/index.json @@ -0,0 +1,87 @@ +{ + "@odata.type": "#ManagerNetworkProtocol.v1_14_0.ManagerNetworkProtocol", + "Id": "NetworkProtocol", + "Name": "Manager Network Protocol", + "Description": "Manager Network Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "HTTP": { + "ProtocolEnabled": true, + "Port": 80 + }, + "HTTPS": { + "ProtocolEnabled": true, + "Port": 443, + "Certificates": { + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol/HTTPS/Certificates" + } + }, + "Proxy": { + "Enabled": true, + "ProxyServerURI": "https://proxy.intranet.contoso.com:9900", + "Username": "proxy", + "Password": null, + "PasswordSet": true, + "ExcludeAddresses": [], + "ProxyAutoConfigURI": "proxy.intranet.contoso.com/proxy.pac" + }, + "IPMI": { + "ProtocolEnabled": true, + "Port": 623 + }, + "SSH": { + "ProtocolEnabled": true, + "Port": 22 + }, + "SNMP": { + "ProtocolEnabled": true, + "EnableSNMPv1": true, + "EnableSNMPv2c": false, + "EnableSNMPv3": true, + "Port": 161, + "CommunityStrings": [ + { + "Name": "Read-only community", + "CommunityString": null, + "AccessMode": "Limited" + }, + { + "Name": "Full access community", + "CommunityString": null, + "AccessMode": "Full" + } + ], + "EngineId": { + "PrivateEnterpriseId": "00 00 01 9C", + "EnterpriseSpecificMethod": "00 11 22 33 44 55 66 77" + }, + "HideCommunityStrings": true, + "AuthenticationProtocol": "HMAC_SHA96", + "EncryptionProtocol": "CFB128_AES128" + }, + "VirtualMedia": { + "ProtocolEnabled": true, + "Port": 17988 + }, + "SSDP": { + "ProtocolEnabled": true, + "Port": 1900, + "NotifyMulticastIntervalSeconds": 600, + "NotifyTTL": 5, + "NotifyIPv6Scope": "Site" + }, + "Telnet": { + "ProtocolEnabled": true, + "Port": 23 + }, + "KVMIP": { + "ProtocolEnabled": true, + "Port": 5288 + }, + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SecurityPolicy/SPDM/RevokedCertificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SecurityPolicy/SPDM/RevokedCertificates/index.json new file mode 100644 index 00000000..0d9f9d88 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SecurityPolicy/SPDM/RevokedCertificates/index.json @@ -0,0 +1,8 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificates Collection", + "Members@odata.count": 0, + "Members": [], + "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy/SPDM/RevokedCertificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SecurityPolicy/SPDM/TrustedCertificates/contoso-root/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SecurityPolicy/SPDM/TrustedCertificates/contoso-root/index.json new file mode 100644 index 00000000..cd0a95c5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SecurityPolicy/SPDM/TrustedCertificates/contoso-root/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "contoso-root", + "Name": "Contoso Root CA", + "CertificateType": "PEM", + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIFPjCCAyYCCQCSFsIudUer0DANBgkqhkiG9w0BAQsFADBgMQswCQYDVQQGEwJV\nUzEQMA4GA1UECAwHUmVkZmlzaDEbMBkGA1UEBwwSTm90LUhlcmUtTm90LVRoZXJl\nMRAwDgYDVQQKDAdDb250b3NvMRAwDgYDVQQLDAdSZWRmaXNoMCAXDTIxMTAwNzE4\nNTkwN1oYDzIwOTkxMDA4MTg1OTA3WjBgMQswCQYDVQQGEwJVUzEQMA4GA1UECAwH\nUmVkZmlzaDEbMBkGA1UEBwwSTm90LUhlcmUtTm90LVRoZXJlMRAwDgYDVQQKDAdD\nb250b3NvMRAwDgYDVQQLDAdSZWRmaXNoMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A\nMIICCgKCAgEAwK877tRnOqMACIu/fpN1BD0nZWhy0l5s/gtcuGTM3WhlvQr1/j1D\nj5J8/gCFWNWtGNlLUNdqCUgE/Mki4zdkc4RGqlW9SpdIq+3Wn/lnNmTzjWPfsNaM\n7GMW+gYxDuQf/Pw/h6qXMBZ6JIy/ilAwzV6qJCuJhmSm6O9V+KENoKPWNUYyWnsb\nEJdTYmf58opMgSxdi032hML5gAdMWlIXQcQjX0crr0Ey9VC5WyDSm9/SKY9x6uMM\nTEGBl5NAFa3J05AGrmsgpA8QU4WzKe77DqWeTx9ZKHkqqRUK0onbXGDL8KDOXJr8\nvQSFgiAa3bnVNhUjsDik0xq2QrmHcy72i9xd9AlH3yC/2EMNHnVeJ8Sbhz9rHaSj\nPVxXvorMM650ZDCocVgIBqf3TwxDzC+aBRkXQVLadvnwpg54AHKoIGA0djvROgrZ\nZp7Au+wxy6OzYT6+hGe3I7mPPmRgz9D1BV9M4QdvbKVJPSMcWIEEd6ENrXP97H4j\ngpvql+zTJcZ5kF/RwVLRwxIPyN49gwJP8MMdWp+jvItO8obmdDLZFhGXyF5f19jt\nMWCHybucvLJml7jFJYqNqi5rr1ShAYdV9WbS3hYfBz1xytYP0Rb/5xaBFMvRUBzt\nvU8V1AOLNb8TfbNaqZx1XJTL1NhrKebtBSAtRRcTiD8p8wmDjSZcV0cCAwEAATAN\nBgkqhkiG9w0BAQsFAAOCAgEAOABtLDFso1UBwas4l+LZt0f2OxJWMRNLtNDwOy22\na3diIO3WaX6qD5oy9aj+cANZ15k1UZ3idW0hIVYvz5YESKqP8VW0QW2G/2fWGFlB\nRp+mfd0rW++2uFzKlQjfqRUllG17tfy+zUixWubgkqL39/FFRP0HRUt9cm9qfXys\nvM0VzlXxrlP0Y00onXoqlvGRcmSUOU+Kt5KJkXSSaGAfouPpWEU6qwl+qTAqHMf7\nAXhcsHEFJZe+iVr2cR5GTjGiNbQG0bjgnuSRHCFR9+E8mOoiVfZ5cRy4njGkSUi0\nD/KCpoIiSrxqyaHeSyFA81q8Co2aELirS8bpg38b3IZW6U7ITZH/IcvqBCvpOdXi\n43vVgruJlclqtjoPMYQLTbP2bsiNRdqG+xQF2jOVqrN3Kpmvm+4HDaKUN4TlPVOs\n25z7JTGn0i6fSlv7Gg+4Cox0FPrbSmX1OON61pDGfUJs343EBQ0AQwU4qVYkWFqb\nMd1/YMhYIJVRsIX8XXF7hSmA614um+vvc8TlfJwfUIl54I9m8Uu11GeUceL1Ts75\n97yFurEMLmR9sJSzuM3Sez96LNb0LeYwJRdpI6ttc2/v8hfRXOlRPRJAoJkdRQDh\nH++X8r/eTIWoZT/vOAY+CdFsJ10MCcjndA4AwDmQ1AWXvbuFV5ByO53mjNn4xRpu\nwUo=\n-----END CERTIFICATE-----", + "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy/SPDM/TrustedCertificates/contoso-root", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SecurityPolicy/SPDM/TrustedCertificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SecurityPolicy/SPDM/TrustedCertificates/index.json new file mode 100644 index 00000000..8f11d168 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SecurityPolicy/SPDM/TrustedCertificates/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificates Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy/SPDM/TrustedCertificates/contoso-root" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy/SPDM/TrustedCertificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SecurityPolicy/TLS/Client/RevokedCertificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SecurityPolicy/TLS/Client/RevokedCertificates/index.json new file mode 100644 index 00000000..8e5fc3d6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SecurityPolicy/TLS/Client/RevokedCertificates/index.json @@ -0,0 +1,8 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificates Collection", + "Members@odata.count": 0, + "Members": [], + "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy/TLS/Client/RevokedCertificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SecurityPolicy/TLS/Client/TrustedCertificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SecurityPolicy/TLS/Client/TrustedCertificates/index.json new file mode 100644 index 00000000..693cd742 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SecurityPolicy/TLS/Client/TrustedCertificates/index.json @@ -0,0 +1,8 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificates Collection", + "Members@odata.count": 0, + "Members": [], + "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy/TLS/Client/TrustedCertificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SecurityPolicy/TLS/Server/RevokedCertificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SecurityPolicy/TLS/Server/RevokedCertificates/index.json new file mode 100644 index 00000000..375b5ecf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SecurityPolicy/TLS/Server/RevokedCertificates/index.json @@ -0,0 +1,8 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificates Collection", + "Members@odata.count": 0, + "Members": [], + "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy/TLS/Server/RevokedCertificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SecurityPolicy/TLS/Server/TrustedCertificates/contoso-root/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SecurityPolicy/TLS/Server/TrustedCertificates/contoso-root/index.json new file mode 100644 index 00000000..812ea408 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SecurityPolicy/TLS/Server/TrustedCertificates/contoso-root/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "contoso-root", + "Name": "Contoso Root CA", + "CertificateType": "PEM", + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIFPjCCAyYCCQCSFsIudUer0DANBgkqhkiG9w0BAQsFADBgMQswCQYDVQQGEwJV\nUzEQMA4GA1UECAwHUmVkZmlzaDEbMBkGA1UEBwwSTm90LUhlcmUtTm90LVRoZXJl\nMRAwDgYDVQQKDAdDb250b3NvMRAwDgYDVQQLDAdSZWRmaXNoMCAXDTIxMTAwNzE4\nNTkwN1oYDzIwOTkxMDA4MTg1OTA3WjBgMQswCQYDVQQGEwJVUzEQMA4GA1UECAwH\nUmVkZmlzaDEbMBkGA1UEBwwSTm90LUhlcmUtTm90LVRoZXJlMRAwDgYDVQQKDAdD\nb250b3NvMRAwDgYDVQQLDAdSZWRmaXNoMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A\nMIICCgKCAgEAwK877tRnOqMACIu/fpN1BD0nZWhy0l5s/gtcuGTM3WhlvQr1/j1D\nj5J8/gCFWNWtGNlLUNdqCUgE/Mki4zdkc4RGqlW9SpdIq+3Wn/lnNmTzjWPfsNaM\n7GMW+gYxDuQf/Pw/h6qXMBZ6JIy/ilAwzV6qJCuJhmSm6O9V+KENoKPWNUYyWnsb\nEJdTYmf58opMgSxdi032hML5gAdMWlIXQcQjX0crr0Ey9VC5WyDSm9/SKY9x6uMM\nTEGBl5NAFa3J05AGrmsgpA8QU4WzKe77DqWeTx9ZKHkqqRUK0onbXGDL8KDOXJr8\nvQSFgiAa3bnVNhUjsDik0xq2QrmHcy72i9xd9AlH3yC/2EMNHnVeJ8Sbhz9rHaSj\nPVxXvorMM650ZDCocVgIBqf3TwxDzC+aBRkXQVLadvnwpg54AHKoIGA0djvROgrZ\nZp7Au+wxy6OzYT6+hGe3I7mPPmRgz9D1BV9M4QdvbKVJPSMcWIEEd6ENrXP97H4j\ngpvql+zTJcZ5kF/RwVLRwxIPyN49gwJP8MMdWp+jvItO8obmdDLZFhGXyF5f19jt\nMWCHybucvLJml7jFJYqNqi5rr1ShAYdV9WbS3hYfBz1xytYP0Rb/5xaBFMvRUBzt\nvU8V1AOLNb8TfbNaqZx1XJTL1NhrKebtBSAtRRcTiD8p8wmDjSZcV0cCAwEAATAN\nBgkqhkiG9w0BAQsFAAOCAgEAOABtLDFso1UBwas4l+LZt0f2OxJWMRNLtNDwOy22\na3diIO3WaX6qD5oy9aj+cANZ15k1UZ3idW0hIVYvz5YESKqP8VW0QW2G/2fWGFlB\nRp+mfd0rW++2uFzKlQjfqRUllG17tfy+zUixWubgkqL39/FFRP0HRUt9cm9qfXys\nvM0VzlXxrlP0Y00onXoqlvGRcmSUOU+Kt5KJkXSSaGAfouPpWEU6qwl+qTAqHMf7\nAXhcsHEFJZe+iVr2cR5GTjGiNbQG0bjgnuSRHCFR9+E8mOoiVfZ5cRy4njGkSUi0\nD/KCpoIiSrxqyaHeSyFA81q8Co2aELirS8bpg38b3IZW6U7ITZH/IcvqBCvpOdXi\n43vVgruJlclqtjoPMYQLTbP2bsiNRdqG+xQF2jOVqrN3Kpmvm+4HDaKUN4TlPVOs\n25z7JTGn0i6fSlv7Gg+4Cox0FPrbSmX1OON61pDGfUJs343EBQ0AQwU4qVYkWFqb\nMd1/YMhYIJVRsIX8XXF7hSmA614um+vvc8TlfJwfUIl54I9m8Uu11GeUceL1Ts75\n97yFurEMLmR9sJSzuM3Sez96LNb0LeYwJRdpI6ttc2/v8hfRXOlRPRJAoJkdRQDh\nH++X8r/eTIWoZT/vOAY+CdFsJ10MCcjndA4AwDmQ1AWXvbuFV5ByO53mjNn4xRpu\nwUo=\n-----END CERTIFICATE-----", + "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy/TLS/Server/TrustedCertificates/contoso-root", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SecurityPolicy/TLS/Server/TrustedCertificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SecurityPolicy/TLS/Server/TrustedCertificates/index.json new file mode 100644 index 00000000..f88e055c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SecurityPolicy/TLS/Server/TrustedCertificates/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificates Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy/TLS/Server/TrustedCertificates/contoso-root" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy/TLS/Server/TrustedCertificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SecurityPolicy/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SecurityPolicy/index.json new file mode 100644 index 00000000..0f1c0ddc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SecurityPolicy/index.json @@ -0,0 +1,129 @@ +{ + "@odata.type": "#SecurityPolicy.v1_1_0.SecurityPolicy", + "Id": "SecurityPolicy", + "Name": "Manager's Global Security Policy", + "Description": "This is the global security policy for all components and communications managed by this Manager.", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "OverrideParentManager": true, + "SPDM": { + "Enabled": true, + "SecureSessionEnabled": true, + "VerifyCertificate": true, + "TrustedCertificates": { + "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy/SPDM/TrustedCertificates" + }, + "RevokedCertificates": { + "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy/SPDM/RevokedCertificates" + }, + "Allowed": { + "Versions": [ + "ALL" + ], + "Algorithms": { + "AEAD": [ + "AES-GCM-256", + "AES-GCM-128" + ], + "BaseAsym": [ + "TPM_ALG_RSASSA_2048", + "TPM_ALG_ECDSA_ECC_NIST_P384", + "TPM_ALG_SM2_ECC_SM2_P256" + ], + "BaseHash": [ + "TPM_ALG_SHA_512", + "TPM_ALG_SHA3_512" + ] + } + }, + "Denied": { + "Versions": [ + "NONE" + ], + "Algorithms": { + "AEAD": [], + "BaseAsym": [ + "EdDSA ed25519" + ], + "BaseHash": [ + "TPM_ALG_SHA_256" + ] + } + }, + "AllowExtendedAlgorithms": false + }, + "TLS": { + "Client": { + "VerifyCertificate": true, + "TrustedCertificates": { + "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy/TLS/Server/TrustedCertificates" + }, + "RevokedCertificates": { + "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy/TLS/Server/RevokedCertificates" + }, + "Allowed": { + "Versions": [ + "1.2", + "1.3" + ], + "Algorithms": { + "CipherSuites": [ + "TLS_AES_128_GCM_SHA256", + "TLS_AES_128_GCM_SHA384" + ], + "SignatureAlgorithms": [] + } + }, + "Denied": { + "Versions": [ + "1.1" + ], + "Algorithms": { + "CipherSuites": [], + "SignatureAlgorithms": [ + "rsa_pkcs1_sha1", + "ecdsa_sha1" + ] + } + } + }, + "Server": { + "VerifyCertificate": false, + "TrustedCertificates": { + "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy/TLS/Client/TrustedCertificates" + }, + "RevokedCertificates": { + "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy/TLS/Client/RevokedCertificates" + }, + "Allowed": { + "Versions": [ + "1.3" + ], + "Algorithms": { + "CipherSuites": [ + "TLS_AES_128_GCM_SHA256", + "TLS_AES_128_GCM_SHA384" + ], + "SignatureAlgorithms": [] + } + }, + "Denied": { + "Versions": [ + "1.1", + "1.2" + ], + "Algorithms": { + "CipherSuites": [], + "SignatureAlgorithms": [ + "rsa_pkcs1_sha1", + "ecdsa_sha1" + ] + } + } + } + }, + "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SerialInterfaces/TTY0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SerialInterfaces/TTY0/index.json new file mode 100644 index 00000000..2cae0a79 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SerialInterfaces/TTY0/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#SerialInterface.v1_3_0.SerialInterface", + "Id": "TTY0", + "Name": "Manager Serial Interface 1", + "Description": "Management for Serial Interface", + "InterfaceEnabled": true, + "SignalType": "Rs232", + "BitRate": "115200", + "Parity": "None", + "DataBits": "8", + "StopBits": "1", + "FlowControl": "None", + "ConnectorType": "RJ45", + "PinOut": "Cyclades", + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces/TTY0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SerialInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SerialInterfaces/index.json new file mode 100644 index 00000000..249de7d4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/SerialInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#SerialInterfaceCollection.SerialInterfaceCollection", + "Name": "Serial Interface Collection", + "Description": "Collection of Serial Interfaces for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces/TTY0" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/index.json new file mode 100644 index 00000000..52003b47 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/BMC/index.json @@ -0,0 +1,100 @@ +{ + "@odata.type": "#Manager.v1_25_0.Manager", + "Id": "BMC", + "Name": "Manager", + "ManagerType": "BMC", + "Description": "Contoso BMC", + "ServiceEntryPointUUID": "92384634-2938-2342-8820-489239905423", + "UUID": "58893887-8974-2487-2389-841168418919", + "Model": "Joo Janta 200", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "DateTimeSource": "NTP", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PowerState": "On", + "GraphicalConsole": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 2, + "ConnectTypesSupported": [ + "KVMIP" + ] + }, + "SerialConsole": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 1, + "ConnectTypesSupported": [ + "Telnet", + "SSH", + "IPMI" + ] + }, + "CommandShell": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 4, + "ConnectTypesSupported": [ + "Telnet", + "SSH" + ] + }, + "FirmwareVersion": "1.45.455b66-rev4", + "AdditionalFirmwareVersions": { + "Bootloader": "v2022.01", + "Kernel": "Linux 5.13.0-30-generic arm71", + "Oem": { + "Contoso": { + "@odata.type": "#ContosoSoftwareInventory.v1_0_0.AdditionalVersions", + "ManagementApp": "1.30" + } + } + }, + "NetworkProtocol": { + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces" + }, + "HostInterfaces": { + "@odata.id": "/redfish/v1/Managers/BMC/HostInterfaces" + }, + "SerialInterfaces": { + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices" + }, + "DedicatedNetworkPorts": { + "@odata.id": "/redfish/v1/Managers/BMC/DedicatedNetworkPorts" + }, + "SecurityPolicy": { + "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy" + }, + "Links": { + "ManagerForServers": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + } + ], + "ManagerForChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ], + "ManagerInChassis": { + "@odata.id": "/redfish/v1/Chassis/1U" + } + }, + "Actions": { + "#Manager.Reset": { + "target": "/redfish/v1/Managers/BMC/Actions/Manager.Reset", + "ResetType@Redfish.AllowableValues": [ + "ForceRestart", + "GracefulRestart" + ] + } + }, + "@odata.id": "/redfish/v1/Managers/BMC", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/index.json new file mode 100644 index 00000000..2de83743 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Managers/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerCollection.ManagerCollection", + "Name": "Manager Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ], + "@odata.id": "/redfish/v1/Managers", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Registries/Base.1.5.0.json/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Registries/Base.1.5.0.json/index.json new file mode 100644 index 00000000..88e4ced8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Registries/Base.1.5.0.json/index.json @@ -0,0 +1,558 @@ +{ + "@odata.type": "#MessageRegistry.v1_0_0.MessageRegistry", + "Id": "Base.1.5.0", + "Name": "Base Message Registry", + "Language": "en", + "Description": "This registry defines the base messages for Redfish", + "RegistryPrefix": "Base", + "RegistryVersion": "1.5.0", + "OwningEntity": "DMTF", + "Messages": { + "Success": { + "Description": "Indicates that all conditions of a successful operation have been met.", + "Message": "Successfully Completed Request", + "Severity": "OK", + "NumberOfArgs": 0, + "Resolution": "None" + }, + "GeneralError": { + "Description": "Indicates that a general error has occurred. Use in ExtendedInfo is discouraged. When used in ExtendedInfo, implementations are expected to include a Resolution property with this error to indicate how to resolve the problem.", + "Message": "A general error has occurred. See Resolution for information on how to resolve the error.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "None." + }, + "Created": { + "Description": "Indicates that all conditions of a successful creation operation have been met.", + "Message": "The resource has been created successfully", + "Severity": "OK", + "NumberOfArgs": 0, + "Resolution": "None" + }, + "NoOperation": { + "Description": "Indicates that the requested operation will not perform any changes on the service.", + "Message": "The request body submitted contain no data to act upon and no changes to the resource took place.", + "Severity": "Warning", + "NumberOfArgs": 0, + "Resolution": "Add properties in the JSON object and resubmit the request." + }, + "PropertyDuplicate": { + "Description": "Indicates that a duplicate property was included in the request body.", + "Message": "The property %1 was duplicated in the request.", + "Severity": "Warning", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Remove the duplicate property from the request body and resubmit the request if the operation failed." + }, + "PropertyUnknown": { + "Description": "Indicates that an unknown property was included in the request body.", + "Message": "The property %1 is not in the list of valid properties for the resource.", + "Severity": "Warning", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Remove the unknown property from the request body and resubmit the request if the operation failed." + }, + "PropertyValueTypeError": { + "Description": "Indicates that a property was given the wrong value type, such as when a number is supplied for a property that requires a string.", + "Message": "The value %1 for the property %2 is of a different type than the property can accept.", + "Severity": "Warning", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Correct the value for the property in the request body and resubmit the request if the operation failed." + }, + "PropertyValueFormatError": { + "Description": "Indicates that a property was given the correct value type but the value of that property was not supported.", + "Message": "The value %1 for the property %2 is of a different format than the property can accept.", + "Severity": "Warning", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Correct the value for the property in the request body and resubmit the request if the operation failed." + }, + "PropertyValueNotInList": { + "Description": "Indicates that a property was given the correct value type but the value of that property was not supported. This values not in an enumeration", + "Message": "The value %1 for the property %2 is not in the list of acceptable values.", + "Severity": "Warning", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Choose a value from the enumeration list that the implementation can support and resubmit the request if the operation failed." + }, + "PropertyNotWritable": { + "Description": "Indicates that a property was given a value in the request body, but the property is a readonly property.", + "Message": "The property %1 is a read only property and cannot be assigned a value.", + "Severity": "Warning", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Remove the property from the request body and resubmit the request if the operation failed." + }, + "PropertyMissing": { + "Description": "Indicates that a required property was not supplied as part of the request.", + "Message": "The property %1 is a required property and must be included in the request.", + "Severity": "Warning", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Ensure that the property is in the request body and has a valid value and resubmit the request if the operation failed." + }, + "MalformedJSON": { + "Description": "Indicates that the request body was malformed JSON. Could be duplicate, syntax error,etc.", + "Message": "The request body submitted was malformed JSON and could not be parsed by the receiving service.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Ensure that the request body is valid JSON and resubmit the request." + }, + "EmptyJSON": { + "Description": "Indicates that the request body contained an empty JSON object when one or more properties are expected in the body.", + "Message": "The request body submitted contained an empty JSON object and the service is unable to process it.", + "Severity": "Warning", + "NumberOfArgs": 0, + "Resolution": "Add properties in the JSON object and resubmit the request." + }, + "ActionNotSupported": { + "Description": "Indicates that the action supplied with the POST operation is not supported by the resource.", + "Message": "The action %1 is not supported by the resource.", + "Severity": "Critical", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "The action supplied cannot be resubmitted to the implementation. Perhaps the action was invalid, the wrong resource was the target or the implementation documentation may be of assistance." + }, + "ActionParameterMissing": { + "Description": "Indicates that the action requested was missing a parameter that is required to process the action.", + "Message": "The action %1 requires the parameter %2 to be present in the request body.", + "Severity": "Critical", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Supply the action with the required parameter in the request body when the request is resubmitted." + }, + "ActionParameterDuplicate": { + "Description": "Indicates that the action was supplied with a duplicated parameter in the request body.", + "Message": "The action %1 was submitted with more than one value for the parameter %2.", + "Severity": "Warning", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Resubmit the action with only one instance of the parameter in the request body if the operation failed." + }, + "ActionParameterUnknown": { + "Description": "Indicates that an action was submitted but a parameter supplied did not match any of the known parameters.", + "Message": "The action %1 was submitted with the invalid parameter %2.", + "Severity": "Warning", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Correct the invalid parameter and resubmit the request if the operation failed." + }, + "ActionParameterValueTypeError": { + "Description": "Indicates that a parameter was given the wrong value type, such as when a number is supplied for a parameter that requires a string.", + "Message": "The value %1 for the parameter %2 in the action %3 is of a different type than the parameter can accept.", + "Severity": "Warning", + "NumberOfArgs": 3, + "ParamTypes": [ + "string", + "string", + "string" + ], + "Resolution": "Correct the value for the parameter in the request body and resubmit the request if the operation failed." + }, + "ActionParameterValueFormatError": { + "Description": "Indicates that a parameter was given the correct value type but the value of that parameter was not supported. This includes value size/length exceeded.", + "Message": "The value %1 for the parameter %2 in the action %3 is of a different format than the parameter can accept.", + "Severity": "Warning", + "NumberOfArgs": 3, + "ParamTypes": [ + "string", + "string", + "string" + ], + "Resolution": "Correct the value for the parameter in the request body and resubmit the request if the operation failed." + }, + "ActionParameterNotSupported": { + "Description": "Indicates that the parameter supplied for the action is not supported on the resource.", + "Message": "The parameter %1 for the action %2 is not supported on the target resource.", + "Severity": "Warning", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Remove the parameter supplied and resubmit the request if the operation failed." + }, + "QueryParameterValueTypeError": { + "Description": "Indicates that a query parameter was given the wrong value type, such as when a number is supplied for a query parameter that requires a string.", + "Message": "The value %1 for the query parameter %2 is of a different type than the parameter can accept.", + "Severity": "Warning", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Correct the value for the query parameter in the request and resubmit the request if the operation failed." + }, + "QueryParameterValueFormatError": { + "Description": "Indicates that a query parameter was given the correct value type but the value of that parameter was not supported. This includes value size/length exceeded.", + "Message": "The value %1 for the parameter %2 is of a different format than the parameter can accept.", + "Severity": "Warning", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Correct the value for the query parameter in the request and resubmit the request if the operation failed." + }, + "QueryParameterOutOfRange": { + "Description": "Indicates that a query parameter was supplied that is out of range for the given resource. This can happen with values that are too low or beyond that possible for the supplied resource, such as when a page is requested that is beyond the last page.", + "Message": "The value %1 for the query parameter %2 is out of range %3.", + "Severity": "Warning", + "NumberOfArgs": 3, + "ParamTypes": [ + "string", + "string", + "string" + ], + "Resolution": "Reduce the value for the query parameter to a value that is within range, such as a start or count value that is within bounds of the number of resources in a collection or a page that is within the range of valid pages." + }, + "QueryNotSupportedOnResource": { + "Description": "Indicates that query is not supported on the given resource, such as when a start/count query is attempted on a resource that is not a collection.", + "Message": "Querying is not supported on the requested resource.", + "Severity": "Warning", + "NumberOfArgs": 0, + "Resolution": "Remove the query parameters and resubmit the request if the operation failed." + }, + "QueryNotSupported": { + "Description": "Indicates that query is not supported on the implementation.", + "Message": "Querying is not supported by the implementation.", + "Severity": "Warning", + "NumberOfArgs": 0, + "Resolution": "Remove the query parameters and resubmit the request if the operation failed." + }, + "SessionLimitExceeded": { + "Description": "Indicates that a session establishment has been requested but the operation failed due to the number of simultaneous sessions exceeding the limit of the implementation.", + "Message": "The session establishment failed due to the number of simultaneous sessions exceeding the limit of the implementation.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Reduce the number of other sessions before trying to establish the session or increase the limit of simultaneous sessions (if supported)." + }, + "EventSubscriptionLimitExceeded": { + "Description": "Indicates that a event subscription establishment has been requested but the operation failed due to the number of simultaneous connection exceeding the limit of the implementation.", + "Message": "The event subscription failed due to the number of simultaneous subscriptions exceeding the limit of the implementation.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Reduce the number of other subscriptions before trying to establish the event subscription or increase the limit of simultaneous subscriptions (if supported)." + }, + "ResourceCannotBeDeleted": { + "Description": "Indicates that a delete operation was attempted on a resource that cannot be deleted.", + "Message": "The delete request failed because the resource requested cannot be deleted.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Do not attempt to delete a non-deletable resource." + }, + "ResourceInUse": { + "Description": "Indicates that a change was requested to a resource but the change was rejected due to the resource being in use or transition.", + "Message": "The change to the requested resource failed because the resource is in use or in transition.", + "Severity": "Warning", + "NumberOfArgs": 0, + "Resolution": "Remove the condition and resubmit the request if the operation failed." + }, + "ResourceAlreadyExists": { + "Description": "Indicates that a resource change or creation was attempted but that the operation cannot proceed because the resource already exists.", + "Message": "The requested resource of type %1 with the property %2 with the value %3 already exists.", + "Severity": "Critical", + "NumberOfArgs": 3, + "ParamTypes": [ + "string", + "string", + "string" + ], + "Resolution": "Do not repeat the create operation as the resource has already been created." + }, + "ResourceNotFound": { + "Description": "Indicates that the operation expected a resource identifier that corresponds to an existing resource but one was not found.", + "Message": "The requested resource of type %1 named %2 was not found.", + "Severity": "Critical", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Provide a valid resource identifier and resubmit the request." + }, + "CreateFailedMissingReqProperties": { + "Description": "Indicates that a create was attempted on a resource but that properties that are required for the create operation were missing from the request.", + "Message": "The create operation failed because the required property %1 was missing from the request.", + "Severity": "Critical", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Correct the body to include the required property with a valid value and resubmit the request if the operation failed." + }, + "CreateLimitReachedForResource": { + "Description": "Indicates that no more resources can be created on the resource as it has reached its create limit.", + "Message": "The create operation failed because the resource has reached the limit of possible resources.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Either delete resources and resubmit the request if the operation failed or do not resubmit the request." + }, + "ServiceShuttingDown": { + "Description": "Indicates that the operation failed as the service is shutting down, such as when the service reboots.", + "Message": "The operation failed because the service is shutting down and can no longer take incoming requests.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "When the service becomes available, resubmit the request if the operation failed." + }, + "ServiceInUnknownState": { + "Description": "Indicates that the operation failed because the service is in an unknown state and cannot accept additional requests.", + "Message": "The operation failed because the service is in an unknown state and can no longer take incoming requests.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Restart the service and resubmit the request if the operation failed." + }, + "NoValidSession": { + "Description": "Indicates that the operation failed because a valid session is required in order to access any resources.", + "Message": "There is no valid session established with the implementation.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Establish as session before attempting any operations." + }, + "InsufficientPrivilege": { + "Description": "Indicates that the credentials associated with the established session do not have sufficient privileges for the requested operation", + "Message": "There are insufficient privileges for the account or credentials associated with the current session to perform the requested operation.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Either abandon the operation or change the associated access rights and resubmit the request if the operation failed." + }, + "AccountModified": { + "Description": "Indicates that the account was successfully modified.", + "Message": "The account was successfully modified.", + "Severity": "OK", + "NumberOfArgs": 0, + "Resolution": "No resolution is required." + }, + "AccountNotModified": { + "Description": "Indicates that the modification requested for the account was not successful.", + "Message": "The account modification request failed.", + "Severity": "Warning", + "NumberOfArgs": 0, + "Resolution": "The modification may have failed due to permission issues or issues with the request body." + }, + "AccountRemoved": { + "Description": "Indicates that the account was successfully removed.", + "Message": "The account was successfully removed.", + "Severity": "OK", + "NumberOfArgs": 0, + "Resolution": "No resolution is required." + }, + "AccountForSessionNoLongerExists": { + "Description": "Indicates that the account for the session has been removed, thus the session has been removed as well.", + "Message": "The account for the current session has been removed, thus the current session has been removed as well.", + "Severity": "OK", + "NumberOfArgs": 0, + "Resolution": "Attempt to connect with a valid account." + }, + "InvalidObject": { + "Description": "Indicates that the object in question is invalid according to the implementation. Examples include a firmware update malformed URI.", + "Message": "The object at %1 is invalid.", + "Severity": "Critical", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Either the object is malformed or the URI is not correct. Correct the condition and resubmit the request if it failed." + }, + "InternalError": { + "Description": "Indicates that the request failed for an unknown internal error but that the service is still operational.", + "Message": "The request failed due to an internal service error. The service is still operational.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Resubmit the request. If the problem persists, consider resetting the service." + }, + "UnrecognizedRequestBody": { + "Description": "Indicates that the service encountered an unrecognizable request body that could not even be interpreted as malformed JSON.", + "Message": "The service detected a malformed request body that it was unable to interpret.", + "Severity": "Warning", + "NumberOfArgs": 0, + "Resolution": "Correct the request body and resubmit the request if it failed." + }, + "ResourceMissingAtURI": { + "Description": "Indicates that the operation expected an image or other resource at the provided URI but none was found. Examples of this are in requests that require URIs like Firmware Update.", + "Message": "The resource at the URI %1 was not found.", + "Severity": "Critical", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Place a valid resource at the URI or correct the URI and resubmit the request." + }, + "ResourceAtUriInUnknownFormat": { + "Description": "Indicates that the URI was valid but the resource or image at that URI was in a format not supported by the service.", + "Message": "The resource at %1 is in a format not recognized by the service.", + "Severity": "Critical", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Place an image or resource or file that is recognized by the service at the URI." + }, + "ResourceAtUriUnauthorized": { + "Description": "Indicates that the attempt to access the resource/file/image at the URI was unauthorized.", + "Message": "While accessing the resource at %1, the service received an authorization error %2.", + "Severity": "Critical", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Ensure that the appropriate access is provided for the service in order for it to access the URI." + }, + "CouldNotEstablishConnection": { + "Description": "Indicates that the attempt to access the resource/file/image at the URI was unsuccessful because a session could not be established.", + "Message": "The service failed to establish a connection with the URI %1.", + "Severity": "Critical", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Ensure that the URI contains a valid and reachable node name, protocol information and other URI components." + }, + "SourceDoesNotSupportProtocol": { + "Description": "Indicates that while attempting to access, connect to or transfer a resource/file/image from another location that the other end of the connection did not support the protocol", + "Message": "The other end of the connection at %1 does not support the specified protocol %2.", + "Severity": "Critical", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Change protocols or URIs. " + }, + "AccessDenied": { + "Description": "Indicates that while attempting to access, connect to or transfer to/from another resource, the service denied access.", + "Message": "While attempting to establish a connection to %1, the service denied access.", + "Severity": "Critical", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Attempt to ensure that the URI is correct and that the service has the appropriate credentials." + }, + "ServiceTemporarilyUnavailable": { + "Description": "Indicates the service is temporarily unavailable.", + "Message": "The service is temporarily unavailable. Retry in %1 seconds.", + "Severity": "Critical", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Wait for the indicated retry duration and retry the operation." + }, + "InvalidIndex": { + "Description": "The Index is not valid.", + "Message": "The Index %1 is not a valid offset into the array.", + "Severity": "Warning", + "NumberOfArgs": 1, + "ParamTypes": [ + "number" + ], + "Resolution": "Verify the index value provided is within the bounds of the array." + }, + "PropertyValueModified": { + "Description": "Indicates that a property was given the correct value type but the value of that property was modified. Examples are truncated or rounded values.", + "Message": "The property %1 was assigned the value %2 due to modification by the service.", + "Severity": "Warning", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "No resolution is required." + }, + "ResourceInStandby": { + "Description": "Indicates that the request could not be performed because the resource is in standby.", + "Message": "The request could not be performed because the resource is in standby.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Ensure that the resource is in the correct power state and resubmit the request." + }, + "ResourceExhaustion": { + "Description": "Indicates that a resource could not satisfy the request due to some unavailability of resources. An example is that available capacity has been allocated.", + "Message": "The resource %1 was unable to satisfy the request due to unavailability of resources.", + "Severity": "Critical", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Ensure that the resources are available and resubmit the request." + }, + "StringValueTooLong": { + "Description": "Indicates that a string value passed to the given resource exceeded its length limit. An example is when a shorter limit is imposed by an implementation than that allowed by the specification.", + "Message": "The string %1 exceeds the length limit %2.", + "Severity": "Warning", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "number" + ], + "Resolution": "Resubmit the request with an appropriate string length." + }, + "SessionTerminated": { + "Description": "Indicates that the DELETE operation on the Session resource resulted in the successful termination of the session.", + "Message": "The session was successfully terminated.", + "Severity": "OK", + "NumberOfArgs": 0, + "Resolution": "No resolution is required." + }, + "SubscriptionTerminated": { + "Description": "An event subscription has been terminated by the Service. No further events will be delivered.", + "Message": "The event subscription has been terminated.", + "Severity": "OK", + "NumberOfArgs": 0, + "Resolution": "No resolution is required." + }, + "ResourceTypeIncompatible": { + "Description": "Indicates that the resource type of the operation does not match that for the operation destination. Examples of when this can happen include during a POST to a collection using the wrong resource type, an update where the @odata.types do not match or on a major version incompatability.", + "Message": "The @odata.type of the request body %1 is incompatible with the @odata.type of the resource which is %2.", + "Severity": "Critical", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Resubmit the request with a payload compatible with the resource's schema." + }, + "PasswordChangeRequired": { + "Description": "Indicates that the password for the account provided must be changed before accessing the service. The password can be changed with a PATCH to the 'Password' property in the ManagerAccount resource instance. Implementations that provide a default password for an account may require a password change prior to first access to the service.", + "Message": "The password provided for this account must be changed before access is granted. PATCH the 'Password' property for this account located at the target URI '%1' to complete this process.", + "Severity": "Critical", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Change the password for this account using a PATCH to the 'Password' property at the URI provided." + } + }, + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Registries/Base.1.5.0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Registries/Base.1.5.0/index.json new file mode 100644 index 00000000..e9ef0c72 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Registries/Base.1.5.0/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#MessageRegistryFile.v1_1_5.MessageRegistryFile", + "Id": "Base.1.5.0", + "Name": "Base Message Registry File", + "Description": "Base Message Registry File locations", + "Languages": [ + "en" + ], + "Registry": "Base.1.5.0", + "Location": [ + { + "Language": "en", + "PublicationUri": "https://redfish.contoso.org/registries/Base.1.5.0.json", + "Uri": "/redfish/v1/Registries/Base.1.5.0.json" + } + ], + "@odata.id": "/redfish/v1/Registries/Base.1.5.0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Registries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Registries/index.json new file mode 100644 index 00000000..1b82fd5d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Registries/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#MessageRegistryFileCollection.MessageRegistryFileCollection", + "Name": "Registry File Collection", + "Description": "Registry Repository", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Registries/Base.1.5.0" + } + ], + "@odata.id": "/redfish/v1/Registries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/ServiceConditions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/ServiceConditions/index.json new file mode 100644 index 00000000..c1665135 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/ServiceConditions/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#ServiceConditions.v1_0_1.ServiceConditions", + "Id": "ServiceConditions", + "Name": "Redfish Service Conditions", + "HealthRollup": "Warning", + "Conditions": [ + { + "MessageId": "Power.1.0.PowerSupplyPredictiveFailure", + "Timestamp": "2023-06-08T12:25:00-05:00", + "Message": "Power supply 'PSU 1' has a predicted failure condition.", + "Severity": "Warning", + "MessageArgs": [ + "PSU 1" + ], + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1" + } + }, + { + "MessageId": "Sensor.1.0.ReadingAboveUpperCautionThreshold", + "Timestamp": "2024-08-12T12:25:00-05:00", + "Message": "Sensor 'CPU1 Temp' reading of 44 (Cel) is above the 42 upper caution threshold.", + "Severity": "Warning", + "MessageArgs": [ + "CPU1 Temp", + "44", + "Cel", + "42" + ], + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/CPU1Temp" + } + } + ], + "@odata.id": "/redfish/v1/ServiceConditions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/SessionService/Sessions/1234567890ABCDEF/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/SessionService/Sessions/1234567890ABCDEF/index.json new file mode 100644 index 00000000..c78e5a4a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/SessionService/Sessions/1234567890ABCDEF/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#Session.v1_9_0.Session", + "Id": "1234567890ABCDEF", + "Name": "User Session", + "Description": "Manager User Session", + "UserName": "Administrator", + "CreatedTime": "2024-11-15T06:18:37Z", + "ExpirationTime": "2024-11-15T07:18:37Z", + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/SessionService/Sessions/1234567890ABCDEG/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/SessionService/Sessions/1234567890ABCDEG/index.json new file mode 100644 index 00000000..a701dde9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/SessionService/Sessions/1234567890ABCDEG/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#Session.v1_9_0.Session", + "Id": "1234567890ABCDEG", + "Name": "Outbound connection Session", + "Description": "OutboundConnection Session", + "UserName": "Administrator", + "SessionType": "OutboundConnection", + "Links": { + "OutboundConnection": { + "@odata.id": "/redfish/v1/AccountService/OutboundConnections/1" + } + }, + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEG", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/SessionService/Sessions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/SessionService/Sessions/index.json new file mode 100644 index 00000000..c89fdfa0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/SessionService/Sessions/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#SessionCollection.SessionCollection", + "Name": "Session Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF" + }, + { + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEG" + } + ], + "@odata.id": "/redfish/v1/SessionService/Sessions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/SessionService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/SessionService/index.json new file mode 100644 index 00000000..27d658ea --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/SessionService/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#SessionService.v1_2_0.SessionService", + "Id": "SessionService", + "Name": "Session Service", + "Description": "Session Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "SessionTimeout": 30, + "AbsoluteSessionTimeout": 3600, + "AbsoluteSessionTimeoutEnabled": true, + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + }, + "@odata.id": "/redfish/v1/SessionService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Bios/Settings/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Bios/Settings/index.json new file mode 100644 index 00000000..2768ab90 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Bios/Settings/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#Bios.v1_3_0.Bios", + "Id": "Settings", + "Name": "BIOS Configuration Pending Settings", + "AttributeRegistry": "BiosAttributeRegistryP89.v1_0_0", + "Attributes": { + "AdminPhone": "(404) 555-1212", + "BootMode": "Uefi", + "EmbeddedSata": "Ahci", + "NicBoot1": "NetworkBoot", + "NicBoot2": "NetworkBoot", + "PowerProfile": "MaxPerf", + "ProcCoreDisable": 0, + "ProcHyperthreading": "Enabled", + "ProcTurboMode": "Disabled", + "UsbControl": "UsbEnabled" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Bios/Settings", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Bios/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Bios/index.json new file mode 100644 index 00000000..40948e01 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Bios/index.json @@ -0,0 +1,55 @@ +{ + "@odata.type": "#Bios.v1_3_0.Bios", + "Id": "Bios", + "Name": "BIOS Configuration Current Settings", + "AttributeRegistry": "BiosAttributeRegistryP89.v1_0_0", + "Attributes": { + "AdminPhone": "", + "BootMode": "Uefi", + "EmbeddedSata": "Raid", + "NicBoot1": "NetworkBoot", + "NicBoot2": "Disabled", + "PowerProfile": "MaxPerf", + "ProcCoreDisable": 0, + "ProcHyperthreading": "Enabled", + "ProcTurboMode": "Enabled", + "UsbControl": "UsbEnabled" + }, + "Passwords": { + "Setup": { + "Set": true, + "Name": "SetupPassword." + }, + "Boot": { + "Set": false, + "Name": "SystemPassword" + } + }, + "ResetBiosToDefaultsPending": true, + "@Redfish.Settings": { + "@odata.type": "#Settings.v1_5_0.Settings", + "ETag": "9234ac83b9700123cc32", + "Messages": [ + { + "MessageId": "Base.1.0.SettingsFailed", + "RelatedProperties": [ + "/Attributes/ProcTurboMode" + ] + } + ], + "SettingsObject": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Bios/Settings" + }, + "Time": "2016-03-07T14:44.30-05:00" + }, + "Actions": { + "#Bios.ResetBios": { + "target": "/redfish/v1/Systems/437XR1138R2/Bios/Actions/Bios.ResetBios" + }, + "#Bios.ChangePassword": { + "target": "/redfish/v1/Systems/437XR1138R2/Bios/Actions/Bios.ChangePassword" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Bios", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Certificates/contoso-root/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Certificates/contoso-root/index.json new file mode 100644 index 00000000..ee31c887 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Certificates/contoso-root/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "contoso-root", + "Name": "Contoso Root CA", + "CertificateType": "PEM", + "Links": { + "Subjects": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Certificates/contoso-subca" + } + ] + }, + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIFPjCCAyYCCQCSFsIudUer0DANBgkqhkiG9w0BAQsFADBgMQswCQYDVQQGEwJV\nUzEQMA4GA1UECAwHUmVkZmlzaDEbMBkGA1UEBwwSTm90LUhlcmUtTm90LVRoZXJl\nMRAwDgYDVQQKDAdDb250b3NvMRAwDgYDVQQLDAdSZWRmaXNoMCAXDTIxMTAwNzE4\nNTkwN1oYDzIwOTkxMDA4MTg1OTA3WjBgMQswCQYDVQQGEwJVUzEQMA4GA1UECAwH\nUmVkZmlzaDEbMBkGA1UEBwwSTm90LUhlcmUtTm90LVRoZXJlMRAwDgYDVQQKDAdD\nb250b3NvMRAwDgYDVQQLDAdSZWRmaXNoMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A\nMIICCgKCAgEAwK877tRnOqMACIu/fpN1BD0nZWhy0l5s/gtcuGTM3WhlvQr1/j1D\nj5J8/gCFWNWtGNlLUNdqCUgE/Mki4zdkc4RGqlW9SpdIq+3Wn/lnNmTzjWPfsNaM\n7GMW+gYxDuQf/Pw/h6qXMBZ6JIy/ilAwzV6qJCuJhmSm6O9V+KENoKPWNUYyWnsb\nEJdTYmf58opMgSxdi032hML5gAdMWlIXQcQjX0crr0Ey9VC5WyDSm9/SKY9x6uMM\nTEGBl5NAFa3J05AGrmsgpA8QU4WzKe77DqWeTx9ZKHkqqRUK0onbXGDL8KDOXJr8\nvQSFgiAa3bnVNhUjsDik0xq2QrmHcy72i9xd9AlH3yC/2EMNHnVeJ8Sbhz9rHaSj\nPVxXvorMM650ZDCocVgIBqf3TwxDzC+aBRkXQVLadvnwpg54AHKoIGA0djvROgrZ\nZp7Au+wxy6OzYT6+hGe3I7mPPmRgz9D1BV9M4QdvbKVJPSMcWIEEd6ENrXP97H4j\ngpvql+zTJcZ5kF/RwVLRwxIPyN49gwJP8MMdWp+jvItO8obmdDLZFhGXyF5f19jt\nMWCHybucvLJml7jFJYqNqi5rr1ShAYdV9WbS3hYfBz1xytYP0Rb/5xaBFMvRUBzt\nvU8V1AOLNb8TfbNaqZx1XJTL1NhrKebtBSAtRRcTiD8p8wmDjSZcV0cCAwEAATAN\nBgkqhkiG9w0BAQsFAAOCAgEAOABtLDFso1UBwas4l+LZt0f2OxJWMRNLtNDwOy22\na3diIO3WaX6qD5oy9aj+cANZ15k1UZ3idW0hIVYvz5YESKqP8VW0QW2G/2fWGFlB\nRp+mfd0rW++2uFzKlQjfqRUllG17tfy+zUixWubgkqL39/FFRP0HRUt9cm9qfXys\nvM0VzlXxrlP0Y00onXoqlvGRcmSUOU+Kt5KJkXSSaGAfouPpWEU6qwl+qTAqHMf7\nAXhcsHEFJZe+iVr2cR5GTjGiNbQG0bjgnuSRHCFR9+E8mOoiVfZ5cRy4njGkSUi0\nD/KCpoIiSrxqyaHeSyFA81q8Co2aELirS8bpg38b3IZW6U7ITZH/IcvqBCvpOdXi\n43vVgruJlclqtjoPMYQLTbP2bsiNRdqG+xQF2jOVqrN3Kpmvm+4HDaKUN4TlPVOs\n25z7JTGn0i6fSlv7Gg+4Cox0FPrbSmX1OON61pDGfUJs343EBQ0AQwU4qVYkWFqb\nMd1/YMhYIJVRsIX8XXF7hSmA614um+vvc8TlfJwfUIl54I9m8Uu11GeUceL1Ts75\n97yFurEMLmR9sJSzuM3Sez96LNb0LeYwJRdpI6ttc2/v8hfRXOlRPRJAoJkdRQDh\nH++X8r/eTIWoZT/vOAY+CdFsJ10MCcjndA4AwDmQ1AWXvbuFV5ByO53mjNn4xRpu\nwUo=\n-----END CERTIFICATE-----", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Certificates/contoso-root", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Certificates/contoso-subca/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Certificates/contoso-subca/index.json new file mode 100644 index 00000000..26e20862 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Certificates/contoso-subca/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "contoso-subca", + "Name": "Contoso Intermediate CA - Level 1", + "CertificateType": "PEM", + "Links": { + "Issuer": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Certificates/contoso-root" + }, + "Subjects": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/AC-RoT0/Certificates/DeviceCert" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/iRoT0/Certificates/DeviceCert" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/TPM/Certificates/EKCert" + } + ] + }, + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIFFTCCAv2gAwIBAgIBATANBgkqhkiG9w0BAQ0FADBgMQswCQYDVQQGEwJVUzEQ\nMA4GA1UECAwHUmVkZmlzaDEbMBkGA1UEBwwSTm90LUhlcmUtTm90LVRoZXJlMRAw\nDgYDVQQKDAdDb250b3NvMRAwDgYDVQQLDAdSZWRmaXNoMCAXDTIxMTAwNzE5Mzcx\nNFoYDzIwOTkxMDA4MTkzNzE0WjCBgDELMAkGA1UEBhMCVVMxEDAOBgNVBAgMB1Jl\nZGZpc2gxHDAaBgNVBAcME1NvbWV3aGVyZSBJbmJldHdlZW4xEDAOBgNVBAoMB0Nv\nbnRvc28xEDAOBgNVBAsMB01vY2t1cHMxHTAbBgNVBAMMFENlcnRpZmljYXRlIERp\ndmlzaW9uMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAywVlS8JJShc/\n81nnNBVMlv2jZvwUGWET2pRzayBsDSuotCuHFRexslsHZhHZygIGn6JTxlw24Bt7\nB4NVHrwCfy+yMPbcqo3fyaNz7bEWBHfzh4vbSqwvfd8A0N8z/Nz6nXcUFM1o5ajI\nN8pVODJZsS4oXDFi0BEyto4EEYGpZgGwi/S9k+vi3BDS5Fplo9RGuCcVnf7Iq6RL\nlU/uu6+sleBfjKPty8VIOnLX+4YuA32BPZjbeBnsdDHq1cu0QTGWQLXQisC8TPYt\n1lRkiNqD7/4E8k07SRHPs/XxWLIqZKDQe4XQC1I0CkEyOceW7BWp3/Z2kXJT4zR/\nLZunbX3FsQIDAQABo4G2MIGzMB0GA1UdDgQWBBT80CP8NbbpE4mJBHH3G8TCEMk3\nFjB6BgNVHSMEczBxoWSkYjBgMQswCQYDVQQGEwJVUzEQMA4GA1UECAwHUmVkZmlz\naDEbMBkGA1UEBwwSTm90LUhlcmUtTm90LVRoZXJlMRAwDgYDVQQKDAdDb250b3Nv\nMRAwDgYDVQQLDAdSZWRmaXNoggkAkhbCLnVHq9AwCQYDVR0TBAIwADALBgNVHQ8E\nBAMCBaAwDQYJKoZIhvcNAQENBQADggIBABMdLmvS2fjYhlJGBIfmht5HDL829ORG\n4LnLqtDOzY4LkWE9ri14unaWmqeD0tfq5cy2un9C30LFvwMxb0O+UlLdpcuxR74B\n8Oq97VCRiwdlVt4YxWRxfVbA9D/YjOZFjumnHebMz6EOpl0HgsaQ95QmF8Hdb6Wg\n6j0m/7WZFED3thfw2SAel+B/OlJkUSN4zsPC2w2e7Gy4VpSpP8BYvsnQ9nE6TEyA\nOCj1VNQJsVGqu1g21CStDWOb6mqQDM8Ns1VMrHKRbZQRaugdvrRtTJ74wnV+YOFl\n/IhM5JIDs2cyiM4NepMfIzbgQG28IyuP8l4U7y+cZCf7p5+SWJgfzCQOMVGZhgsI\n8pKZqWIRmwl+nLFAXAa+RDcyI8DWh2y01Jk+7+9QgWhfvmFsPm7/qTOEhi79PU9H\nIAMkL9Xi1OcPEeAMk4Xfh578e0Xleq2cZVtYxZl71HJ0s39huyVNSKbsljA9S2rv\nSgczNruYDIIjniTkbWkebY1kbPBTjbSOUS1WT60iFRFgNbJ06gpz3yCpMnny7vVg\nVMPUq1m9AfVw3s6x1db3B0TCoNLUK16bmterp0CZe69azzK111scNlM0jFV0R2Kl\nsIZ5E0vmKzfg2XAgEY0rb7S0O363ASINOgAQSJVB9aXkJeNt68SC0UsTwy6x0ikX\n4kvr+YAqTSOA\n-----END CERTIFICATE-----", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Certificates/contoso-subca", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Certificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Certificates/index.json new file mode 100644 index 00000000..7fc7b968 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Certificates/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificates Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Certificates/contoso-root" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Certificates/contoso-subca" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Certificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/index.json new file mode 100644 index 00000000..1fa2e05e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "12446A3B0411", + "Name": "Ethernet Interface", + "Description": "System NIC 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "EthernetInterfaceType": "Physical", + "LinkStatus": "LinkUp", + "PermanentMACAddress": "12:44:6A:3B:04:11", + "MACAddress": "12:44:6A:3B:04:11", + "SpeedMbps": 1000, + "FullDuplex": true, + "HostName": "web483", + "FQDN": "web483.contoso.com", + "IPv6DefaultGateway": "fe80::3ed9:2bff:fe34:600", + "NameServers": [ + "names.contoso.com" + ], + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "Static", + "Gateway": "192.168.0.1" + } + ], + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "Static", + "AddressState": "Preferred" + } + ], + "TeamMode": "None", + "Links": { + "AffiliatedInterfaces": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/VLAN1" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890/index.json new file mode 100644 index 00000000..89fff151 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "12446A3B8890", + "Name": "Ethernet Interface", + "Description": "System NIC 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "EthernetInterfaceType": "Physical", + "LinkStatus": "LinkUp", + "PermanentMACAddress": "12:44:6A:3B:88:90", + "MACAddress": "AA:BB:CC:DD:EE:00", + "SpeedMbps": 1000, + "FullDuplex": true, + "HostName": "backup-web483", + "FQDN": "backup-web483.contoso.com", + "IPv6DefaultGateway": "fe80::3ed9:2bff:fe34:600", + "NameServers": [ + "names.contoso.com" + ], + "IPv4Addresses": [ + { + "Address": "192.168.0.11", + "SubnetMask": "255.255.255.0", + "AddressOrigin": "Static", + "Gateway": "192.168.0.1" + } + ], + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e33", + "PrefixLength": 64, + "AddressOrigin": "Static", + "AddressState": "Preferred" + } + ], + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "TeamMode": "None", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/EthernetInterfaces/ToManager/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/EthernetInterfaces/ToManager/index.json new file mode 100644 index 00000000..7638f53b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/EthernetInterfaces/ToManager/index.json @@ -0,0 +1,55 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "ToManager", + "Name": "Host Ethernet Interface", + "Description": "Host Network Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "AA:BB:CC:DD:EE:FE", + "MACAddress": "AA:BB:CC:DD:EE:FE", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "MaxIPv6StaticAddresses": 1, + "IPv4Addresses": [ + { + "Address": "192.168.20.56", + "SubnetMask": "255.255.255.0", + "AddressOrigin": "Static", + "Gateway": "192.168.20.1" + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e25", + "PrefixLength": 64 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e25", + "PrefixLength": 64, + "AddressOrigin": "Static", + "AddressState": "Preferred" + } + ], + "Links": { + "HostInterface": { + "@odata.id": "/redfish/v1/Managers/BMC/HostInterfaces/1" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/ToManager", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/EthernetInterfaces/VLAN1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/EthernetInterfaces/VLAN1/index.json new file mode 100644 index 00000000..473450c7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/EthernetInterfaces/VLAN1/index.json @@ -0,0 +1,52 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "VLAN1", + "Name": "Ethernet Interface", + "Description": "VLAN from System NIC 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "EthernetInterfaceType": "Virtual", + "LinkStatus": "LinkUp", + "PermanentMACAddress": "12:44:6A:3B:04:11", + "MACAddress": "12:44:6A:3B:04:11", + "SpeedMbps": 1000, + "FullDuplex": true, + "HostName": "web483", + "FQDN": "web483.contoso.com", + "IPv6DefaultGateway": "fe80::3ed9:2bff:fe34:600", + "NameServers": [ + "names.contoso.com" + ], + "IPv4Addresses": [ + { + "Address": "192.168.150.236", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "Static", + "Gateway": "192.168.150.1" + } + ], + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "Static", + "AddressState": "Preferred" + } + ], + "VLAN": { + "VLANEnable": true, + "VLANId": 1000 + }, + "TeamMode": "None", + "Links": { + "RelatedInterfaces": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/VLAN1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/EthernetInterfaces/index.json new file mode 100644 index 00000000..ccf3551c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/EthernetInterfaces/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Interface Collection", + "Description": "System NICs on Contoso Servers", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B8890" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/VLAN1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/ToManager" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/GraphicsControllers/GPU1/Ports/DisplayPort/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/GraphicsControllers/GPU1/Ports/DisplayPort/index.json new file mode 100644 index 00000000..430c9ea3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/GraphicsControllers/GPU1/Ports/DisplayPort/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "DisplayPort", + "Name": "Display Port", + "Description": "Display Port", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "1", + "PortProtocol": "DisplayPort", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 21.6, + "Width": 4, + "MaxSpeedGbps": 32.4, + "CurrentProtocolVersion": "1.2", + "CapableProtocolVersions": [ + "1.0", + "1.1", + "1.1a", + "1.2", + "1.2a", + "1.3" + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/GraphicsControllers/GPU1/Ports/DisplayPort", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/GraphicsControllers/GPU1/Ports/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/GraphicsControllers/GPU1/Ports/index.json new file mode 100644 index 00000000..106513b7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/GraphicsControllers/GPU1/Ports/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "Port Collection", + "Description": "GPU Port Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/GraphicsControllers/GPU1/Ports/DisplayPort" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/GraphicsControllers/GPU1/Ports", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/GraphicsControllers/GPU1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/GraphicsControllers/GPU1/index.json new file mode 100644 index 00000000..d278b970 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/GraphicsControllers/GPU1/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#GraphicsController.v1_0_2.GraphicsController", + "Id": "GPU1", + "Name": "Contoso Graphics Controller 1", + "AssetTag": "", + "Manufacturer": "Contoso", + "Model": "GPU1", + "SKU": "80937", + "SerialNumber": "2M220100SL", + "PartNumber": "G37891", + "SparePartNumber": "G37890", + "BiosVersion": "90.02.17.00.7D", + "DriverVersion": "27.21.14.6079 (Contoso 460.79) DCH / Win 10 64", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Slot 1", + "LocationOrdinalValue": 1, + "LocationType": "Slot", + "Orientation": "LeftToRight", + "Reference": "Rear" + } + }, + "Ports": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/GraphicsControllers/GPU1/Ports" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/GraphicsControllers/GPU1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/GraphicsControllers/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/GraphicsControllers/index.json new file mode 100644 index 00000000..d3a24227 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/GraphicsControllers/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#GraphicsControllerCollection.GraphicsControllerCollection", + "Name": "GraphicsControllers", + "Description": "Redfish Graphics Controllers", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/GraphicsControllers/GPU1" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/GraphicsControllers", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json new file mode 100644 index 00000000..1fda6c42 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "SEL", + "Severity": "Critical", + "Created": "2012-03-07T14:44:00Z", + "EntryCode": "Upper Critical - going high", + "SensorType": "Temperature", + "SensorNumber": 1, + "Message": "Temperature threshold exceeded", + "MessageId": "0x592A28", + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/LogServices/Log1/Entries/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/LogServices/Log1/Entries/2/index.json new file mode 100644 index 00000000..b7585da8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/LogServices/Log1/Entries/2/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "2", + "Name": "Log Entry 2", + "EntryType": "SEL", + "Severity": "Critical", + "Created": "2012-03-07T14:45:00Z", + "EntryCode": "Upper Critical - going high", + "SensorType": "Temperature", + "SensorNumber": 2, + "Message": "Temperature threshold exceeded", + "MessageId": "0x592E28", + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/LogServices/Log1/Entries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/LogServices/Log1/Entries/index.json new file mode 100644 index 00000000..50c62a57 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/LogServices/Log1/Entries/index.json @@ -0,0 +1,49 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries/1", + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "SEL", + "Severity": "Critical", + "Created": "2012-03-07T14:44:00Z", + "EntryCode": "Upper Critical - going high", + "SensorType": "Temperature", + "SensorNumber": 1, + "Message": "Temperature threshold exceeded", + "MessageId": "0x592A28", + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + } + } + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries/2", + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "2", + "Name": "Log Entry 2", + "EntryType": "SEL", + "Severity": "Critical", + "Created": "2012-03-07T14:45:00Z", + "EntryCode": "Upper Critical - going high", + "SensorType": "Temperature", + "SensorNumber": 2, + "Message": "Temperature threshold exceeded", + "MessageId": "0x592E28", + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Thermal" + } + } + } + ], + "@odata.nextLink": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries?$skiptoken=2", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/LogServices/Log1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/LogServices/Log1/index.json new file mode 100644 index 00000000..4a80e140 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/LogServices/Log1/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#LogService.v1_9_0.LogService", + "Id": "Log1", + "Name": "System Log Service", + "MaxNumberOfRecords": 1000, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Actions/LogService.ClearLog" + } + }, + "Entries": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/LogServices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/LogServices/index.json new file mode 100644 index 00000000..fb9f6518 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/LogServices/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Memory/DIMM1/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Memory/DIMM1/EnvironmentMetrics/index.json new file mode 100644 index 00000000..2cfb6925 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Memory/DIMM1/EnvironmentMetrics/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Memory Environment Metrics", + "TemperatureCelsius": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/DIMM1Temp", + "Reading": 44 + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM1/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Memory/DIMM1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Memory/DIMM1/index.json new file mode 100644 index 00000000..051c553c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Memory/DIMM1/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM1", + "Name": "DIMM Slot 1", + "RankCount": 2, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 32768, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "Location": { + "PartLocation": { + "ServiceLabel": "DIMM 1", + "LocationType": "Slot", + "LocationOrdinalValue": 0 + } + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM1/EnvironmentMetrics" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Memory/DIMM2/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Memory/DIMM2/EnvironmentMetrics/index.json new file mode 100644 index 00000000..71b80223 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Memory/DIMM2/EnvironmentMetrics/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Memory Environment Metrics", + "TemperatureCelsius": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/DIMM1Temp", + "Reading": 44 + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM2/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Memory/DIMM2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Memory/DIMM2/index.json new file mode 100644 index 00000000..1a6a577f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Memory/DIMM2/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM2", + "Name": "DIMM Slot 2", + "RankCount": 2, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 32768, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 2 + }, + "Location": { + "PartLocation": { + "ServiceLabel": "DIMM 2", + "LocationType": "Slot", + "LocationOrdinalValue": 1 + } + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM2/EnvironmentMetrics" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Memory/DIMM3/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Memory/DIMM3/EnvironmentMetrics/index.json new file mode 100644 index 00000000..3d088ec0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Memory/DIMM3/EnvironmentMetrics/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Memory Environment Metrics", + "TemperatureCelsius": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/DIMM1Temp", + "Reading": 44 + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM3/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Memory/DIMM3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Memory/DIMM3/index.json new file mode 100644 index 00000000..be59d2ae --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Memory/DIMM3/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM3", + "Name": "DIMM Slot 3", + "RankCount": 2, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 32768, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 2, + "MemoryController": 2, + "Channel": 1, + "Slot": 3 + }, + "Location": { + "PartLocation": { + "ServiceLabel": "DIMM 3", + "LocationType": "Slot", + "LocationOrdinalValue": 2 + } + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM3/EnvironmentMetrics" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Memory/DIMM4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Memory/DIMM4/index.json new file mode 100644 index 00000000..f9b71b1c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Memory/DIMM4/index.json @@ -0,0 +1,23 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM4", + "Name": "DIMM Slot 4", + "MemoryLocation": { + "Socket": 2, + "MemoryController": 2, + "Channel": 1, + "Slot": 4 + }, + "Location": { + "PartLocation": { + "ServiceLabel": "DIMM 4", + "LocationType": "Slot", + "LocationOrdinalValue": 3 + } + }, + "Status": { + "State": "Absent" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Memory/index.json new file mode 100644 index 00000000..0abde074 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Memory/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Module Collection", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM2" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM3" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM4" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Processors/CPU1/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Processors/CPU1/EnvironmentMetrics/index.json new file mode 100644 index 00000000..fbd9af54 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Processors/CPU1/EnvironmentMetrics/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Processor Environment Metrics", + "TemperatureCelsius": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/CPU1Temp", + "Reading": 44 + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/CPU1Power", + "Reading": 12.87 + }, + "FanSpeedsPercent": [ + { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/CPUFan1", + "DeviceName": "CPU #1 Fan Speed", + "Reading": 80 + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Processors/CPU1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Processors/CPU1/index.json new file mode 100644 index 00000000..9e701e8d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Processors/CPU1/index.json @@ -0,0 +1,68 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU1", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Multi-Core Intel(R) Xeon(R) processor 7xxx Series", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "CPU 1", + "LocationType": "Socket", + "LocationOrdinalValue": 0 + } + }, + "AdditionalFirmwareVersions": { + "Microcode": "0x46" + }, + "MaxSpeedMHz": 3700, + "OperatingSpeedMHz": 2333, + "OperatingSpeedRangeMHz": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Controls/CPU1Freq", + "ControlMode": "Automatic", + "AllowableMin": 1200, + "SettingMin": 2000, + "SettingMax": 2400, + "AllowableMax": 3700 + }, + "TotalCores": 8, + "TotalThreads": 16, + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "Warning", + "Conditions": [ + { + "MessageId": "Sensor.1.0.ReadingAboveUpperCautionThreshold", + "Timestamp": "2024-08-12T12:25:00-05:00", + "Message": "Sensor 'CPU1 Temp' reading of 44 (Cel) is above the 42 upper caution threshold.", + "Severity": "Warning", + "MessageArgs": [ + "CPU1 Temp", + "44", + "Cel", + "42" + ], + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/CPU1Temp" + } + } + ] + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1/EnvironmentMetrics" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Processors/CPU2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Processors/CPU2/index.json new file mode 100644 index 00000000..903a8d15 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Processors/CPU2/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU2", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "CPU", + "Status": { + "State": "Absent" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "CPU 2", + "LocationType": "Socket", + "LocationOrdinalValue": 1 + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Processors/FPGA1/AccelerationFunctions/Compression/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Processors/FPGA1/AccelerationFunctions/Compression/index.json new file mode 100644 index 00000000..ad25bbff --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Processors/FPGA1/AccelerationFunctions/Compression/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#AccelerationFunction.v1_0_5.AccelerationFunction", + "Id": "Compression", + "Name": "Compression Accelerator", + "Description": "Compression Acceleration Function", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "UUID": "00000000-0000-0000-0000-000000000000", + "FpgaReconfigurationSlots": [ + "AFU0" + ], + "AccelerationFunctionType": "Compression", + "Manufacturer": "Intel (R) Corporation", + "Version": "Green Compression Type 1 v.1.00.86", + "PowerWatts": 15, + "Links": { + "Endpoints": [], + "PCIeFunctions": [] + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/FPGA1/AccelerationFunctions/Compression", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Processors/FPGA1/AccelerationFunctions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Processors/FPGA1/AccelerationFunctions/index.json new file mode 100644 index 00000000..c4c0370b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Processors/FPGA1/AccelerationFunctions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#AccelerationFunctionCollection.AccelerationFunctionCollection", + "Name": "Acceleration Function Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/FPGA1/AccelerationFunctions/Compression" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/FPGA1/AccelerationFunctions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Processors/FPGA1/ProcessorMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Processors/FPGA1/ProcessorMetrics/index.json new file mode 100644 index 00000000..4b4cb3ea --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Processors/FPGA1/ProcessorMetrics/index.json @@ -0,0 +1,69 @@ +{ + "@odata.type": "#ProcessorMetrics.v1_7_1.ProcessorMetrics", + "Id": "Metrics", + "Description": "Processor Metrics", + "Name": "Processor Metrics", + "BandwidthPercent": 62, + "AverageFrequencyMHz": 2400, + "ThrottlingCelsius": 65, + "TemperatureCelsius": 41, + "ConsumedPowerWatt": 82, + "FrequencyRatio": 0.00432, + "Cache": [ + { + "Level": "3", + "CacheMiss": 0.12, + "HitRatio": 0.719, + "CacheMissesPerInstruction": 0.00088, + "OccupancyBytes": 3030144, + "OccupancyPercent": 90.1 + } + ], + "LocalMemoryBandwidthBytes": 18253611008, + "RemoteMemoryBandwidthBytes": 81788928, + "KernelPercent": 2.3, + "UserPercent": 34.7, + "CoreMetrics": [ + { + "CoreId": "core0", + "InstructionsPerCycle": 1.16, + "UnhaltedCycles": 6254383746, + "MemoryStallCount": 58372, + "IOStallCount": 2634872, + "CoreCache": [ + { + "Level": "2", + "CacheMiss": 0.472, + "HitRatio": 0.57, + "CacheMissesPerInstruction": 0.00346, + "OccupancyBytes": 198231, + "OccupancyPercent": 77.4 + } + ], + "CStateResidency": [ + { + "Level": "C0", + "ResidencyPercent": 1.13 + }, + { + "Level": "C1", + "ResidencyPercent": 26 + }, + { + "Level": "C3", + "ResidencyPercent": 0.00878 + }, + { + "Level": "C6", + "ResidencyPercent": 0.361 + }, + { + "Level": "C7", + "ResidencyPercent": 72.5 + } + ] + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/FPGA1/ProcessorMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Processors/FPGA1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Processors/FPGA1/index.json new file mode 100644 index 00000000..737da224 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Processors/FPGA1/index.json @@ -0,0 +1,88 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "FPGA1", + "Name": "FPGA", + "ProcessorType": "FPGA", + "ProcessorArchitecture": "OEM", + "InstructionSet": "OEM", + "Manufacturer": "Intel(R) Corporation", + "Model": "Stratix 10", + "UUID": "00000000-0000-0000-0000-000000000000", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Metrics": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/FPGA1/ProcessorMetrics" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "U168", + "LocationType": "Embedded", + "LocationOrdinalValue": 0 + } + }, + "TDPWatts": 120, + "MaxTDPWatts": 150, + "ProcessorMemory": [ + { + "IntegratedMemory": true, + "MemoryType": "HBM2", + "CapacityMiB": 512, + "SpeedMHz": 1066 + } + ], + "FPGA": { + "FpgaType": "Discrete", + "Model": "Stratix10", + "FirmwareId": "0x6400002fc614bb9", + "FirmwareManufacturer": "Intel(R) Corporation", + "FirmwareVersion": "Blue v.1.00.86", + "HostInterface": { + "InterfaceType": "PCIe", + "PCIe": { + "MaxPCIeType": "Gen4", + "MaxLanes": 8 + } + }, + "ExternalInterfaces": [ + { + "InterfaceType": "Ethernet", + "Ethernet": { + "MaxSpeedMbps": 10240, + "MaxLanes": 4 + } + } + ], + "PCIeVirtualFunctions": 1, + "ProgrammableFromHost": true, + "ReconfigurationSlots": [ + { + "SlotId": "AFU0", + "UUID": "00000000-0000-0000-0000-000000000000", + "ProgrammableFromHost": true, + "AccelerationFunction": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/FPGA1/AccelerationFunctions/Compression" + } + } + ] + }, + "AccelerationFunctions": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/FPGA1/AccelerationFunctions" + }, + "Links": { + "Endpoints": [], + "ConnectedProcessors": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1" + } + ] + }, + "Actions": { + "#Processor.Reset": { + "target": "/redfish/v1/Systems/437XR1138R2/Processors/FPGA1/Actions/Processor.Reset" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/FPGA1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Processors/index.json new file mode 100644 index 00000000..56997dde --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/Processors/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processors Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU2" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/FPGA1" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/Certificates/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/Certificates/1/index.json new file mode 100644 index 00000000..01819493 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/Certificates/1/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "1", + "Name": "Contoso KEK Certificate", + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIDbzCCAlegAwIBAgIUf2b1tKa8CXy2saePf6i1mIwnRTcwDQYJKoZIhvcNAQEL\nBQAwVzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdo\nMQ8wDQYDVQQKEwZMZW5vdm8xGDAWBgNVBAMTD0xlbm92byBVRUZJIEtFSzAeFw0x\nNzA1MjcwMzU0NDJaFw00MTA1MjcwMzU0NDJaMFcxCzAJBgNVBAYTAlVTMQswCQYD\nVQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEPMA0GA1UEChMGTGVub3ZvMRgwFgYD\nVQQDEw9MZW5vdm8gVUVGSSBLRUswggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\nAoIBAQDCu6lcSg/MmtcXRGPmxSaMRuFUa/Hoge40OnklJ936OYqPTTZGPZMld0mq\nzrfW/jZ7YYbtbS2vLTU4uzKo6YHRgp+IlAalmXZNh+D1MsJpJ1zqbxkcBW/ohPZY\nTgNPugYeVw+kbcunxQPqa6dvgidGu6qo3uLCJ0kWmZeCqGLgJ8NkKyGpiALALCcK\njVHNd87WUVnf9V1VsaeGytIOk42VbxBjuP1yS/nW1yJ+9wmftYtDy6/MuFT7DIM7\n1cVsRZGlM0WZbfVxHVAd8KGOvsXMOu7vgfKrLd/ZOWwtk+Iqthg23+Cc7aY2tc9q\nS1pa378idhbY8beJIyjCQgdheL8vAgMBAAGjMzAxMA8GA1UdEwEB/wQFMAMBAf8w\nDgYDVR0PAQH/BAQDAgIEMA4GA1UdDwEB/wQEAwIHgDANBgkqhkiG9w0BAQsFAAOC\nAQEAtcTQVLt/t8ijoB6Na4pvdtG0c11ZG9vJvx0mZEgp30VUwgWPqnlAmkA5RNhh\nate/fGNvwAuyJZjiHJ4nqtJ9/pEDc+RMnPiGZDzKZcZlYiqOwod6nZklGw6X3f45\nxmiM+YYfeY1vlptTnm2FyuFtgqiJ6lAVJ4c17KyrsDBw79G/3hsB9H3E8YeyA0kq\nXELejPl9JSAEvY6+KtO/BFRR36Q1Xwz9lUWI+tLkAiOLIgLsJBu4ADX276pCGGTw\nIj9pRcFEjGwp3iwXid4323b36iLiUDyQTkBGjzZlIZekSS+BMEyZ9RKoIyrxyUjC\npmPlF6edID9hg2iv9pPjGfFfKQ==\n-----END CERTIFICATE-----", + "CertificateType": "PEM", + "Issuer": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "KEK.contoso.org" + }, + "Subject": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "Contoso UEFI KEK" + }, + "ValidNotBefore": "2018-09-07T13:22:05Z", + "ValidNotAfter": "2041-09-07T13:22:05Z", + "KeyUsage": [ + "KeyCertSign", + "DigitalSignature", + "CRLSigning" + ], + "UefiSignatureOwner": "5491316d-9694-4639-b72d-b8630ffa7dab", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/Certificates/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/Certificates/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/Certificates/2/index.json new file mode 100644 index 00000000..48b440f2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/Certificates/2/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "2", + "Name": "Microsoft Corporation KEK Certificate", + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIDbzCCAlegAwIBAgIUf2b1tKa8CXy2shrPf6i1mIwnRTcwDQYJKoZIhvcNAQEL\nBQAwVzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdo\nMQ8wDQYDVQQKEwZMZW5vdm8xGDAWBgNVBAMTD0xlbm92byBVRUZJIEtFSzAeFw0x\nNzA1MjcwMzU0NDJaFw00MTA1MjcwMzU0NDJaMFcxCzAJBgNVBAYTAlVTMQswCQYD\nVQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEPMA0GA1UEChMGTGVub3ZvMRgwFgYD\nVQQDEw9MZW5vdm8gVUVGSSBLRUswggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\nAoIBAQDCu6lcSg/MmtcXRGPmxSaMRuFUa/Hoge40OnklJ936OYqPTTZGPZMld0mq\nzrfW/jZ7YYbtbS2vLTU4uzKo6YHRgp+IlAalmXZNh+D1MsJpJ1zqbxkcBW/ohPZY\nTgNPugYeVw+kbcunxQPqa6dvgidGu6qo3uLCJ0kWmZeCqGLgJ8NkKyGpiALALCcK\njVHNd87WUVnf9V1VsqRGytIOk42VbxBjuP1yS/nW1yJ+9wmftYtDy6/MuFT7DIM7\n1cVsRZGlM0WZbfVxHVAd8KGOvsXMOu7vgfKrLd/ZOWwtk+Iqthg23+Cc7aY2tc9q\nS1pa378idhbY8beJIyjCQgdheL8vAgMBAAGjMzAxMA8GA1UdEwEB/wQFMAMBAf8w\nDgYDVR0PAQH/BAQDAgIEMA4GA1UdDwEB/wQEAwIHgDANBgkqhkiG9w0BAQsFAAOC\nAQEAtcTQVLt/t8ijoB6Na4pvdtG0c11ZG9vJvx0mZEgp30VUwgWPqnlAmkA5RNhh\nate/fGNvwAuyJZjiHJ4nqtJ9/pEDc+RMnPiGZDzKZcZlYiqOwod6nZklGw6X3f45\nxmiM+YYfeY1vlptTnm2FyuFtgqiJ6lAVJ4c17KyrsDBw79G/3hsB9H3E8YeyA0kq\nXELejPl9JSSCvY6+KtO/BFRR36Q1Xwz9lUWI+tLkAiOLIgLsJBu4ADX276pCGGTw\nIj9pRcFEjGwp3iwXid4323b36iLiUDyQTkBGjzZlIZekSS+BMEyZ9RKoIyrxyUjC\npmPlF6edID9hg2iv9pPjGfFfKQ==\n-----END CERTIFICATE-----", + "CertificateType": "PEM", + "Issuer": { + "Country": "US", + "State": "Washington", + "City": "Redmond", + "Organization": "Microsoft Corporation", + "CommonName": "Microsoft Corporation Third Party Marketplace Root" + }, + "Subject": { + "Country": "US", + "State": "Washington", + "City": "Redmond", + "Organization": "Microsoft Corporation", + "CommonName": "Microsoft Corporation KEK CA 2011" + }, + "ValidNotBefore": "2011-06-24T13:41:29Z", + "ValidNotAfter": "2026-06-24T13:51:29Z", + "KeyUsage": [ + "KeyCertSign", + "DigitalSignature", + "CRLSigning" + ], + "UefiSignatureOwner": "77fa9abd-0359-4d32-bd60-28f4e78f784b", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/Certificates/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/Certificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/Certificates/index.json new file mode 100644 index 00000000..f03b08e8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/Certificates/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificate Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/Certificates/1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/Certificates/2" + } + ], + "@Redfish.SupportedCertificates": [ + "PEM" + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/Certificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/index.json new file mode 100644 index 00000000..be25d791 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#SecureBootDatabase.v1_0_3.SecureBootDatabase", + "Id": "KEK", + "Name": "KEK - Key Exchange Key Database", + "Description": "UEFI KEK Secure Boot Database", + "DatabaseId": "KEK", + "Certificates": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/Certificates" + }, + "Actions": { + "#SecureBootDatabase.ResetKeys": { + "target": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK/Actions/SecureBootDatabase.ResetKeys", + "ResetKeysType@Redfish.AllowableValues": [ + "ResetAllKeysToDefault", + "DeleteAllKeys" + ] + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/1/index.json new file mode 100644 index 00000000..80d16a8a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/1/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "1", + "Name": "Contoso KEK Certificate", + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIDbzCCAlegAwIBAgIUf2b1tKa8CXy2saePf6i1mIwnRTcwDQYJKoZIhvcNAQEL\nBQAwVzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdo\nMQ8wDQYDVQQKEwZMZW5vdm8xGDAWBgNVBAMTD0xlbm92byBVRUZJIEtFSzAeFw0x\nNzA1MjcwMzU0NDJaFw00MTA1MjcwMzU0NDJaMFcxCzAJBgNVBAYTAlVTMQswCQYD\nVQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEPMA0GA1UEChMGTGVub3ZvMRgwFgYD\nVQQDEw9MZW5vdm8gVUVGSSBLRUswggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\nAoIBAQDCu6lcSg/MmtcXRGPmxSaMRuFUa/Hoge40OnklJ936OYqPTTZGPZMld0mq\nzrfW/jZ7YYbtbS2vLTU4uzKo6YHRgp+IlAalmXZNh+D1MsJpJ1zqbxkcBW/ohPZY\nTgNPugYeVw+kbcunxQPqa6dvgidGu6qo3uLCJ0kWmZeCqGLgJ8NkKyGpiALALCcK\njVHNd87WUVnf9V1VsaeGytIOk42VbxBjuP1yS/nW1yJ+9wmftYtDy6/MuFT7DIM7\n1cVsRZGlM0WZbfVxHVAd8KGOvsXMOu7vgfKrLd/ZOWwtk+Iqthg23+Cc7aY2tc9q\nS1pa378idhbY8beJIyjCQgdheL8vAgMBAAGjMzAxMA8GA1UdEwEB/wQFMAMBAf8w\nDgYDVR0PAQH/BAQDAgIEMA4GA1UdDwEB/wQEAwIHgDANBgkqhkiG9w0BAQsFAAOC\nAQEAtcTQVLt/t8ijoB6Na4pvdtG0c11ZG9vJvx0mZEgp30VUwgWPqnlAmkA5RNhh\nate/fGNvwAuyJZjiHJ4nqtJ9/pEDc+RMnPiGZDzKZcZlYiqOwod6nZklGw6X3f45\nxmiM+YYfeY1vlptTnm2FyuFtgqiJ6lAVJ4c17KyrsDBw79G/3hsB9H3E8YeyA0kq\nXELejPl9JSAEvY6+KtO/BFRR36Q1Xwz9lUWI+tLkAiOLIgLsJBu4ADX276pCGGTw\nIj9pRcFEjGwp3iwXid4323b36iLiUDyQTkBGjzZlIZekSS+BMEyZ9RKoIyrxyUjC\npmPlF6edID9hg2iv9pPjGfFfKQ==\n-----END CERTIFICATE-----", + "CertificateType": "PEM", + "Issuer": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "KEK.contoso.org" + }, + "Subject": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "Contoso UEFI KEK" + }, + "ValidNotBefore": "2018-09-07T13:22:05Z", + "ValidNotAfter": "2041-09-07T13:22:05Z", + "KeyUsage": [ + "KeyCertSign", + "DigitalSignature", + "CRLSigning" + ], + "UefiSignatureOwner": "5491316d-9694-4639-b72d-b8630ffa7dab", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/2/index.json new file mode 100644 index 00000000..b54709c8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/2/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "2", + "Name": "Microsoft Corporation KEK Certificate", + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIDbzCCAlegAwIBAgIUf2b1tKa8CXy2shrPf6i1mIwnRTcwDQYJKoZIhvcNAQEL\nBQAwVzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdo\nMQ8wDQYDVQQKEwZMZW5vdm8xGDAWBgNVBAMTD0xlbm92byBVRUZJIEtFSzAeFw0x\nNzA1MjcwMzU0NDJaFw00MTA1MjcwMzU0NDJaMFcxCzAJBgNVBAYTAlVTMQswCQYD\nVQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEPMA0GA1UEChMGTGVub3ZvMRgwFgYD\nVQQDEw9MZW5vdm8gVUVGSSBLRUswggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\nAoIBAQDCu6lcSg/MmtcXRGPmxSaMRuFUa/Hoge40OnklJ936OYqPTTZGPZMld0mq\nzrfW/jZ7YYbtbS2vLTU4uzKo6YHRgp+IlAalmXZNh+D1MsJpJ1zqbxkcBW/ohPZY\nTgNPugYeVw+kbcunxQPqa6dvgidGu6qo3uLCJ0kWmZeCqGLgJ8NkKyGpiALALCcK\njVHNd87WUVnf9V1VsqRGytIOk42VbxBjuP1yS/nW1yJ+9wmftYtDy6/MuFT7DIM7\n1cVsRZGlM0WZbfVxHVAd8KGOvsXMOu7vgfKrLd/ZOWwtk+Iqthg23+Cc7aY2tc9q\nS1pa378idhbY8beJIyjCQgdheL8vAgMBAAGjMzAxMA8GA1UdEwEB/wQFMAMBAf8w\nDgYDVR0PAQH/BAQDAgIEMA4GA1UdDwEB/wQEAwIHgDANBgkqhkiG9w0BAQsFAAOC\nAQEAtcTQVLt/t8ijoB6Na4pvdtG0c11ZG9vJvx0mZEgp30VUwgWPqnlAmkA5RNhh\nate/fGNvwAuyJZjiHJ4nqtJ9/pEDc+RMnPiGZDzKZcZlYiqOwod6nZklGw6X3f45\nxmiM+YYfeY1vlptTnm2FyuFtgqiJ6lAVJ4c17KyrsDBw79G/3hsB9H3E8YeyA0kq\nXELejPl9JSSCvY6+KtO/BFRR36Q1Xwz9lUWI+tLkAiOLIgLsJBu4ADX276pCGGTw\nIj9pRcFEjGwp3iwXid4323b36iLiUDyQTkBGjzZlIZekSS+BMEyZ9RKoIyrxyUjC\npmPlF6edID9hg2iv9pPjGfFfKQ==\n-----END CERTIFICATE-----", + "CertificateType": "PEM", + "Issuer": { + "Country": "US", + "State": "Washington", + "City": "Redmond", + "Organization": "Microsoft Corporation", + "CommonName": "Microsoft Corporation Third Party Marketplace Root" + }, + "Subject": { + "Country": "US", + "State": "Washington", + "City": "Redmond", + "Organization": "Microsoft Corporation", + "CommonName": "Microsoft Corporation KEK CA 2011" + }, + "ValidNotBefore": "2011-06-24T13:41:29Z", + "ValidNotAfter": "2026-06-24T13:51:29Z", + "KeyUsage": [ + "KeyCertSign", + "DigitalSignature", + "CRLSigning" + ], + "UefiSignatureOwner": "77fa9abd-0359-4d32-bd60-28f4e78f784b", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/index.json new file mode 100644 index 00000000..f01bee6a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificate Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/2" + } + ], + "@Redfish.SupportedCertificates": [ + "PEM" + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/index.json new file mode 100644 index 00000000..7f30e0c5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SecureBootDatabase.v1_0_3.SecureBootDatabase", + "Id": "KEKDefault", + "Name": "KEKDefault - Default Key Exchange Key Database", + "Description": "UEFI KEKDefault Secure Boot Database", + "DatabaseId": "KEKDefault", + "Certificates": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PK/Certificates/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PK/Certificates/1/index.json new file mode 100644 index 00000000..415e1fed --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PK/Certificates/1/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "1", + "Name": "PK Certificate", + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIDbTCCAlWgAwIBAgIUAZjZIHcy1np+3qP8RaHzTWaghuQwDQYJKoZIhvcNAQEL\nBQAwVjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdo\nMQ8wDQYDVQQKEwZMZW5vdm8xFzAVBgNVBAMTDkxlbm92byBVRUZJIFBLMB4XDTE3\nMDUyNzAzNTMzN1oXDTQxMDUyNzAzNTMzN1owVjELMAkGA1UEBhMCVVMxCzAJBgNV\nBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMQ8wDQYDVQQKEwZMZW5vdm8xFzAVBgNV\nBAMTDkxlbm92byBVRUZJIFBLMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC\nAQEA62pJedCNMZbqqqOfvpQb091Ov1SUZaAhIZl1GsaeZ9P0xHH1H93UdQSTA918\nqSHIxp31WLHdI+LiYEnJbXZgnJ2RhEPVXE55VvzUTI6zEV5elo5adnxXmXH7oz6x\n35nIBYCKGayfM+jg/S1oJr5s5H9/67M88nijZS/8dDg29UTVcu+YM4IgbNhY48Gi\nrPG+iIQ4kh4PcdPY+SAEHIxD94HhlTQHnrLrWjF9hdepVty48KrqcQYfKmsUAJ6M\nzyxYIyIEJSG61Lv49DlbPppC7uVjVV+laPwJyzoqg5c1lkhz0HaODy0OI7i8gTiH\nAe2vGt6liKQbsDvXS/Xy8kmn8wIDAQABozMwMTAPBgNVHRMBAf8EBTADAQH/MA4G\nA1UdDwEB/wQEAwICBDAOBgNVHQ8BAf8EBAMCB4AwDQYJKoZIhvcNAQELBQADggEB\nAAl2n3X/rZSKQju2AbBcmuRnPUXwqih5Qql+oOYzsE3XaZC1vILAAJLBUcHvbGkL\n40JQ9NaUAzxsaeERoMl7vneyNTutY03tmIDdC0nYzN9eEZO0GSEAVKoxgxLZ+od3\na2yGZ9htjCvaqUNniOlXCKQ0T595Z24mwY20F/ras1j8WXAYjyiCBUDpWi70VAdB\n0aCpZzterITmo7ymx7zK2hHIaYbRlXIXLMesdfSS/4hSLR49SvfVbOcnajdfmcI/\nXIWNRE/Xvg17lrgjMZ0vdU4wCVe2sAh6ckB45tJM/v97ICCZZld0Ee8IH1ayabmo\njSgtuHs9sxviahyMDv3gEGk=\n-----END CERTIFICATE-----", + "CertificateType": "PEM", + "Issuer": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "PK.contoso.org" + }, + "Subject": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "Contoso UEFI PK" + }, + "ValidNotBefore": "2018-09-07T13:22:05Z", + "ValidNotAfter": "2041-09-07T13:22:05Z", + "KeyUsage": [ + "KeyCertSign", + "DigitalSignature" + ], + "UefiSignatureOwner": "5491316d-9694-4639-b72d-b8630ffa7dab", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PK/Certificates/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PK/Certificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PK/Certificates/index.json new file mode 100644 index 00000000..1a94a783 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PK/Certificates/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificate Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PK/Certificates/1" + } + ], + "@Redfish.SupportedCertificates": [ + "PEM" + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PK/Certificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PK/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PK/index.json new file mode 100644 index 00000000..6e1aafb8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PK/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#SecureBootDatabase.v1_0_3.SecureBootDatabase", + "Id": "PK", + "Name": "PK - Platform Key", + "Description": "UEFI PK Secure Boot Database", + "DatabaseId": "PK", + "Certificates": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PK/Certificates" + }, + "Actions": { + "#SecureBootDatabase.ResetKeys": { + "target": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PK/Actions/SecureBootDatabase.ResetKeys", + "ResetKeysType@Redfish.AllowableValues": [ + "ResetAllKeysToDefault", + "DeleteAllKeys" + ] + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PK", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PKDefault/Certificates/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PKDefault/Certificates/1/index.json new file mode 100644 index 00000000..1a760b4e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PKDefault/Certificates/1/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "1", + "Name": "PKDefault Certificate", + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIDbTCCAlWgAwIBAgIUAZjZIHcy1np+3qP8RaHzTWaghuQwDQYJKoZIhvcNAQEL\nBQAwVjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdo\nMQ8wDQYDVQQKEwZMZW5vdm8xFzAVBgNVBAMTDkxlbm92byBVRUZJIFBLMB4XDTE3\nMDUyNzAzNTMzN1oXDTQxMDUyNzAzNTMzN1owVjELMAkGA1UEBhMCVVMxCzAJBgNV\nBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMQ8wDQYDVQQKEwZMZW5vdm8xFzAVBgNV\nBAMTDkxlbm92byBVRUZJIFBLMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC\nAQEA62pJedCNMZbqqqOfvpQb091Ov1SUZaAhIZl1GsaeZ9P0xHH1H93UdQSTA918\nqSHIxp31WLHdI+LiYEnJbXZgnJ2RhEPVXE55VvzUTI6zEV5elo5adnxXmXH7oz6x\n35nIBYCKGayfM+jg/S1oJr5s5H9/67M88nijZS/8dDg29UTVcu+YM4IgbNhY48Gi\nrPG+iIQ4kh4PcdPY+SAEHIxD94HhlTQHnrLrWjF9hdepVty48KrqcQYfKmsUAJ6M\nzyxYIyIEJSG61Lv49DlbPppC7uVjVV+laPwJyzoqg5c1lkhz0HaODy0OI7i8gTiH\nAe2vGt6liKQbsDvXS/Xy8kmn8wIDAQABozMwMTAPBgNVHRMBAf8EBTADAQH/MA4G\nA1UdDwEB/wQEAwICBDAOBgNVHQ8BAf8EBAMCB4AwDQYJKoZIhvcNAQELBQADggEB\nAAl2n3X/rZSKQju2AbBcmuRnPUXwqih5Qql+oOYzsE3XaZC1vILAAJLBUcHvbGkL\n40JQ9NaUAzxsaeERoMl7vneyNTutY03tmIDdC0nYzN9eEZO0GSEAVKoxgxLZ+od3\na2yGZ9htjCvaqUNniOlXCKQ0T595Z24mwY20F/ras1j8WXAYjyiCBUDpWi70VAdB\n0aCpZzterITmo7ymx7zK2hHIaYbRlXIXLMesdfSS/4hSLR49SvfVbOcnajdfmcI/\nXIWNRE/Xvg17lrgjMZ0vdU4wCVe2sAh6ckB45tJM/v97ICCZZld0Ee8IH1ayabmo\njSgtuHs9sxviahyMDv3gEGk=\n-----END CERTIFICATE-----", + "CertificateType": "PEM", + "Issuer": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "PK.contoso.org" + }, + "Subject": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "Contoso UEFI PK" + }, + "ValidNotBefore": "2018-09-07T13:22:05Z", + "ValidNotAfter": "2041-09-07T13:22:05Z", + "KeyUsage": [ + "KeyCertSign", + "DigitalSignature" + ], + "UefiSignatureOwner": "5491316d-9694-4639-b72d-b8630ffa7dab", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PKDefault/Certificates/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PKDefault/Certificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PKDefault/Certificates/index.json new file mode 100644 index 00000000..336a16dc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PKDefault/Certificates/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificate Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PKDefault/Certificates/1" + } + ], + "@Redfish.SupportedCertificates": [ + "PEM" + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PKDefault/Certificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PKDefault/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PKDefault/index.json new file mode 100644 index 00000000..4b8b3494 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PKDefault/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SecureBootDatabase.v1_0_3.SecureBootDatabase", + "Id": "PKDefault", + "Name": "PKDefault - Default Platform Key", + "Description": "UEFI PKDefault Secure Boot Database", + "DatabaseId": "PKDefault", + "Certificates": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PKDefault/Certificates" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PKDefault", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/1/index.json new file mode 100644 index 00000000..d9c24126 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/1/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "1", + "Name": "Contoso db Certificate", + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIDbTCCAlWgAwIBAgIUO2MdJt2cTCGr0eO4PiBV5Uk0b/IwDQYJKoZIhvcNAQEL\nBQAwVjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdo\nMQ8wDQYDVQQKEwZMZW5vdm8xFzAVBgNVBAMTDkxlbm92byBVRUZJIERCMB4XDTE3\nMDMxNTIxMTYzNFoXDTQxMDMxNTIxMTYzNFowVjELMAkGA1UEBhMCVVMxCzAJBgNV\nBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMQ8wDQYDVQQKEwZMZW5vdm8xFzAVBgNV\nBAMTDkxlbm92byBVRUZJIERCMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC\nAQEA1ezmdoBlk5yDVuXw8F774CvllhMz9bT0/TpH3kmRpPAizSRDzbHLUuBMC6SE\nW4zjdLxTqOlwZt6UUcWxlyzKcoDPe43cE6YH1kM/rscvm3AaVL+4GcyGgS9DL6qe\nQFHWER25xCTokMsCdKB42Ty7hWW5FBPepgAS+GDfqQfb/4hoonIlen5X+dqVIsE/\nRM1DIVBUiIbJdgERYeoGjY/Rh4A1VWl6ErzyzokYnf63JjSFR2kVV0apbr4ISOTM\n7qBd1RNHwQrCAryRADX1XGvRZURzwQdEXfOqZOkVjNKr1fD761qvPE8TQWWJ9Q8r\nmciMocIXqoqWKPAkgbMwKmcsFQIDAQABozMwMTAPBgNVHRMBAf8EBTADAQH/MA4G\nA1UdDwEB/wQEAwICBDAOBgNVHQ8BAf8EBAMCB4AwDQYJKoZIhvcNAQELBQADggEB\nAJ2U0UjB+sxF/HE5sY56vJbdFITl8o0Yf7XJImL0VTgpYjfeqiE768G2uTUbzCKy\nhDOps3+4w4p8FUSO6StzCz6UuUyxlUjQzpkxZ97Ouq1sGhjy7dZybTEByJD6LpI7\nl1EpJSfBiwxTdm7svJoABKs8Hs7e9f3XX5PK76SxllMbDaxAm7UvCppYBBR1SeyC\ngWt3rGRiO3W6pfd07ioCD03kgGzYNOZeU2S+maE1Xt4kUoYs3HXyrhJGfN26gM8h\n4w5LfCKrlxi+3KMf+vXxEBfGYBvjwcA7KCW92GnUQGVjZbEGs6EaTBx7i9gA2+te\noWS/500qiwNRp2xqdBxg1d0=\n-----END CERTIFICATE-----", + "CertificateType": "PEM", + "Issuer": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "db.contoso.org" + }, + "Subject": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "Contoso UEFI db" + }, + "ValidNotBefore": "2018-09-07T13:22:05Z", + "ValidNotAfter": "2041-09-07T13:22:05Z", + "KeyUsage": [ + "KeyCertSign", + "DigitalSignature" + ], + "UefiSignatureOwner": "5491316d-9694-4639-b72d-b8630ffa7dab", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/2/index.json new file mode 100644 index 00000000..6038a08b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/2/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "2", + "Name": "Microsoft Corporation UEFI CA Certificate", + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIDbzCCAlegAwIBAgIUf2b1tKa8CXy2shrPf6i1mIwnRTcwDQYJKoZIhvcNAQEL\nBQAwVzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdo\nMQ8wDQYDVQQKEwZMZW5vdm8xGDAWBgNVBAMTD0xlbm92byBVRUZJIEtFSzAeFw0x\nNzA1MjcwMzU0NDJaFw00MTA1MjcwMzU0NDJaMFcxCzAJBgNVBAYTAlVTMQswCQYD\nVQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEPMA0GA1UEChMGTGVub3ZvMRgwFgYD\nVQQDEw9MZW5vdm8gVUVGSSBLRUswggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\nAoIBAQDCu6lcSg/MmtcXRGPmxSaMRuFUa/Hoge40OnklJ936OYqPTTZGPZMld0mq\nzrfW/jZ7YYbtbS2vLTU4uzKo6YHRgp+IlAalmXZNh+D1MsJpJ1zqbxkcBW/ohPZY\nTgNPugYeVw+kbcunxQPqa6dvgidGu6qo3uLCJ0kWmZeCqGLgJ8NkKyGpiALALCcK\njVHNd87WUVnf9V1VsqRGytIOk42VbxBjuP1yS/nW1yJ+9wmftYtDy6/MuFT7DIM7\n1cVsRZGlM0WZbfVxHVAd8KGOvsXMOu7vgfKrLd/ZOWwtk+Iqthg23+Cc7aY2tc9q\nS1pa378idhbY8beJIyjCQgdheL8vAgMBAAGjMzAxMA8GA1UdEwEB/wQFMAMBAf8w\nDgYDVR0PAQH/BAQDAgIEMA4GA1UdDwEB/wQEAwIHgDANBgkqhkiG9w0BAQsFAAOC\nAQEAtcTQVLt/t8ijoB6Na4pvdtG0c11ZG9vJvx0mZEgp30VUwgWPqnlAmkA5RNhh\nate/fGNvwAuyJZjiHJ4nqtJ9/pEDc+RMnPiGZDzKZcZlYiqOwod6nZklGw6X3f45\nxmiM+YYfeY1vlptTnm2FyuFtgqiJ6lAVJ4c17KyrsDBw79G/3hsB9H3E8YeyA0kq\nXELejPl9JSSCvY6+KtO/BFRR36Q1Xwz9lUWI+tLkAiOLIgLsJBu4ADX276pCGGTw\nIj9pRcFEjGwp3iwXid4323b36iLiUDyQTkBGjzZlIZekSS+BMEyZ9RKoIyrxyUjC\npmPlF6edID9hg2iv9pPjGfFfKQ==\n-----END CERTIFICATE-----", + "CertificateType": "PEM", + "Issuer": { + "Country": "US", + "State": "Washington", + "City": "Redmond", + "Organization": "Microsoft Corporation", + "CommonName": "Microsoft Corporation Third Party Marketplace Root" + }, + "Subject": { + "Country": "US", + "State": "Washington", + "City": "Redmond", + "Organization": "Microsoft Corporation", + "CommonName": "Microsoft Corporation UEFI CA 2011" + }, + "ValidNotBefore": "2011-06-27T14:22:45Z", + "ValidNotAfter": "2026-06-27T14:32:45Z", + "KeyUsage": [ + "KeyCertSign", + "DigitalSignature", + "CRLSigning" + ], + "UefiSignatureOwner": "77fa9abd-0359-4d32-bd60-28f4e78f784b", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/3/index.json new file mode 100644 index 00000000..d5265d78 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/3/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "3", + "Name": "Microsoft Corporation Windows Production Certificate", + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIF1zCCA7+gAwIBAgIKYQd2VgAAAAAACDANBgkqhkiG9w0BAQsFADCBiDELMAkG\nA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx\nHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9z\nb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTAwHhcNMTExMDE5MTg0\nMTQyWhcNMjYxMDE5MTg1MTQyWjCBhDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldh\nc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBD\nb3Jwb3JhdGlvbjEuMCwGA1UEAxMlTWljcm9zb2Z0IFdpbmRvd3MgUHJvZHVjdGlv\nbiBQQ0EgMjAxMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAN0Mu6Lk\nLgnj58X3lmm8ACG9aTMz760Ey1SA7gaDu8UghNn30ovzOLCrpK0tfGJ5Bf/jSj8E\nNSBw48Tna+CcwDZ16Yox3Y1w5dw3tXRGlihbh2AjLL/cR6Vn91EnnnLrB6bJuR47\nUzV85dPsJ7mHHP65ySMJb6hGkcFuljxB08ujP10Cak3saR8lKFw2//1DFQqU4Bm0\nz9/CEuLCWyfuJ3gwi1sqCWsiiVNgFizAaB1TuuxJ851hjIVoCXNEXX2iVCvdefcV\nzzVdbBwrXM68nCOLb261Jtk2E8NP1ieuuTI7QZIs4cfNd+iqVE73XAsEh2W0Qxio\nsuBtGXfsWiT6SAMCAwEAAaOCAUMwggE/MBAGCSsGAQQBgjcVAQQDAgEAMB0GA1Ud\nDgQWBBSpKQI5jhbEl3jNkPmeT5rhfFWvUzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\nAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTV\n9lbLj+iiXGJo0T2UkFvXzpoYxDBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8vY3Js\nLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXRfMjAx\nMC0wNi0yMy5jcmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5odHRwOi8v\nd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dF8yMDEwLTA2\nLTIzLmNydDANBgkqhkiG9w0BAQsFAAOCAgEAFPx8cVGlecJusu85Prw8Ug9uKz8Q\nE3P+qGjQSKY0TYqWBSbuMUaQYXnW/zguRWv0wOUouNodj4rbCdcax0wKNmZqjOwb\n1wSQqBgXpJu54kAyNnbEwVrGv+QEwOoW06zDaO9irN1UbFAwWKbrfP6Up06O9Ox8\nhnNXwlIhczRa86OKVsgE2gcJ7fiL4870fo6u8PYLigj7P8kdcn9TuOu+Y+DjPTFl\nsIHl8qzNFqSfPaixm8JC0JCEX1Qd/4nquh1HkG+wc05Bn0CfX+WhKrIRkXOKISjw\nzt5zOV8+q1xg7N8DEKjTCen09paFtn9RiGZHGY2isBI9gSpoBXe7kUxie7bBB8e6\neoc0Aw5LYnqZ6cr8zko3yS2kV3wc/j3cuA9a+tbEswKFAjrqs9lu5GkhN96B0fZ1\nGQVn05NXXikbOcjuLeHN5EVzW9DSznqrFhmCRljQXp2Bs2evbDXyvOU/JOI1ogp1\nBvYYVpnUeCzRBRvr0IgBnaoQ8QXfun4sY7cGmyMhxPl4bOJYFwY2K5ESA8yk2fIt\nuvmUnUDtGEXxzopcaz6rA9NwGCoKauBfR9HVYwoy8q/XNh8qcFrlQlkIcUtXun6D\ngfAhPPQcwcW5kJMOiEWThumxIJm+mMvFlaRdYtagYwggvXUQd30980W5n5efy1eA\nbzOpBM93pGIcWX4=\n-----END CERTIFICATE-----", + "CertificateType": "PEM", + "Issuer": { + "Country": "US", + "State": "Washington", + "City": "Redmond", + "Organization": "Microsoft Corporation", + "CommonName": "Microsoft Root Certificate Authority 2010" + }, + "Subject": { + "Country": "US", + "State": "Washington", + "City": "Redmond", + "Organization": "Microsoft Corporation", + "CommonName": "Microsoft Windows Production PCA 2011" + }, + "ValidNotBefore": "2011-10-19T11:41:42Z", + "ValidNotAfter": "2026-10-19T11:51:42Z", + "KeyUsage": [ + "KeyCertSign", + "DigitalSignature", + "CRLSigning" + ], + "UefiSignatureOwner": "77fa9abd-0359-4d32-bd60-28f4e78f784b", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/index.json new file mode 100644 index 00000000..f7e927ff --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificate Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/2" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates/3" + } + ], + "@Redfish.SupportedCertificates": [ + "PEM" + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Signatures/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Signatures/1/index.json new file mode 100644 index 00000000..82f5dabe --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Signatures/1/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#Signature.v1_0_3.Signature", + "Id": "1", + "Name": "SHA256 Signature", + "SignatureString": "80B4D96931BF0D02FD91A61E19D14F1DA452E66DB2408CA8604D411F92659F0A", + "SignatureTypeRegistry": "UEFI", + "SignatureType": "EFI_CERT_SHA256_GUID", + "UefiSignatureOwner": "28d5e212-165b-4ca0-909b-c86b9cee0112", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Signatures/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Signatures/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Signatures/index.json new file mode 100644 index 00000000..fdb6a0ba --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Signatures/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SignatureCollection.SignatureCollection", + "Name": "Signature Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Signatures/1" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Signatures", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/index.json new file mode 100644 index 00000000..651ba26a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#SecureBootDatabase.v1_0_3.SecureBootDatabase", + "Id": "db", + "Name": "db - Authorized Signature Database", + "Description": "UEFI db Secure Boot Database", + "DatabaseId": "db", + "Certificates": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Certificates" + }, + "Signatures": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Signatures" + }, + "Actions": { + "#SecureBootDatabase.ResetKeys": { + "target": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Actions/SecureBootDatabase.ResetKeys", + "ResetKeysType@Redfish.AllowableValues": [ + "ResetAllKeysToDefault", + "DeleteAllKeys" + ] + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbDefault/Signatures/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbDefault/Signatures/1/index.json new file mode 100644 index 00000000..d6b9b05f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbDefault/Signatures/1/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#Signature.v1_0_3.Signature", + "Id": "1", + "Name": "SHA256 Signature", + "SignatureString": "80B4D96931BF0D02FD91A61E19D14F1DA452E66DB2408CA8604D411F92659F0A", + "SignatureTypeRegistry": "UEFI", + "SignatureType": "EFI_CERT_SHA256_GUID", + "UefiSignatureOwner": "28d5e212-165b-4ca0-909b-c86b9cee0112", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbDefault/Signatures/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbDefault/Signatures/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbDefault/Signatures/index.json new file mode 100644 index 00000000..979fc3ac --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbDefault/Signatures/index.json @@ -0,0 +1,8 @@ +{ + "@odata.type": "#SignatureCollection.SignatureCollection", + "Name": "Signature Collection", + "Members@odata.count": 0, + "Members": [], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbDefault/Signatures", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbDefault/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbDefault/index.json new file mode 100644 index 00000000..5c3622c2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbDefault/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SecureBootDatabase.v1_0_3.SecureBootDatabase", + "Id": "dbDefault", + "Name": "dbDefault - Default Authorized Signature Database", + "Description": "UEFI dbDefault Secure Boot Database", + "DatabaseId": "dbDefault", + "Signatures": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbDefault/Signatures" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbDefault", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Certificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Certificates/index.json new file mode 100644 index 00000000..f56acf3c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Certificates/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificate Collection", + "Members@odata.count": 0, + "Members": [], + "@Redfish.SupportedCertificates": [ + "PEM" + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Certificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/1/index.json new file mode 100644 index 00000000..66410106 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/1/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#Signature.v1_0_3.Signature", + "Id": "1", + "Name": "SHA256 Signature", + "SignatureString": "0000000000000000000000000000000000000000000000000000000000000000", + "SignatureTypeRegistry": "UEFI", + "SignatureType": "EFI_CERT_SHA256_GUID", + "UefiSignatureOwner": "00000000-0000-0000-0000-000000000000", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/2/index.json new file mode 100644 index 00000000..160d0640 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/2/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#Signature.v1_0_3.Signature", + "Id": "2", + "Name": "SHA256 Signature", + "SignatureString": "AF460B2C71D4BA303980B38CD9A09A9FC092D9B0DDBC9ADF824BF6C72CD980AB", + "SignatureTypeRegistry": "UEFI", + "SignatureType": "EFI_CERT_SHA256_GUID", + "UefiSignatureOwner": "b30f32b3-eca0-41a6-3777-a22bcf62cab2", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/3/index.json new file mode 100644 index 00000000..609e6642 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/3/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#Signature.v1_0_3.Signature", + "Id": "3", + "Name": "SHA256 Signature", + "SignatureString": "ACD161952F7B443BF2E83F9AFC7E0F972CB4448DA3814A7F8047584F2102E7B7", + "SignatureTypeRegistry": "UEFI", + "SignatureType": "EFI_CERT_SHA256_GUID", + "UefiSignatureOwner": "b30f32b3-eca0-41a6-3777-a22bcf62cab2", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/index.json new file mode 100644 index 00000000..ae69615d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#SignatureCollection.SignatureCollection", + "Name": "Signature Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/2" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures/3" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/index.json new file mode 100644 index 00000000..178b7275 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#SecureBootDatabase.v1_0_3.SecureBootDatabase", + "Id": "dbx", + "Name": "dbx - Forbidden Signature Database", + "Description": "UEFI dbx Secure Boot Database", + "DatabaseId": "dbx", + "Certificates": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Certificates" + }, + "Signatures": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Signatures" + }, + "Actions": { + "#SecureBootDatabase.ResetKeys": { + "target": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx/Actions/SecureBootDatabase.ResetKeys", + "ResetKeysType@Redfish.AllowableValues": [ + "ResetAllKeysToDefault", + "DeleteAllKeys" + ] + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbxDefault/Signatures/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbxDefault/Signatures/1/index.json new file mode 100644 index 00000000..4de68b67 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbxDefault/Signatures/1/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#Signature.v1_0_3.Signature", + "Id": "1", + "Name": "SHA256 Signature", + "SignatureString": "0000000000000000000000000000000000000000000000000000000000000000", + "SignatureTypeRegistry": "UEFI", + "SignatureType": "EFI_CERT_SHA256_GUID", + "UefiSignatureOwner": "00000000-0000-0000-0000-000000000000", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbxDefault/Signatures/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbxDefault/Signatures/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbxDefault/Signatures/index.json new file mode 100644 index 00000000..8db7ff0a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbxDefault/Signatures/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SignatureCollection.SignatureCollection", + "Name": "Signature Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db/Signatures/1" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbxDefault/Signatures", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbxDefault/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbxDefault/index.json new file mode 100644 index 00000000..808d9d2e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbxDefault/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SecureBootDatabase.v1_0_3.SecureBootDatabase", + "Id": "dbxDefault", + "Name": "dbxDefault - Default Forbidden Signature Database", + "Description": "UEFI dbxDefault Secure Boot Database", + "DatabaseId": "dbxDefault", + "Signatures": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbxDefault/Signatures" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbxDefault", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/index.json new file mode 100644 index 00000000..b755d26c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#SecureBootDatabaseCollection.SecureBootDatabaseCollection", + "Name": "UEFI SecureBoot Database Collection", + "Members@odata.count": 8, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PK" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEK" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/db" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbx" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/PKDefault" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/KEKDefault" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbDefault" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases/dbxDefault" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/index.json new file mode 100644 index 00000000..86fe0a1f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SecureBoot/index.json @@ -0,0 +1,23 @@ +{ + "@odata.type": "#SecureBoot.v1_2_1.SecureBoot", + "Id": "SecureBoot", + "Name": "UEFI Secure Boot", + "Actions": { + "#SecureBoot.ResetKeys": { + "target": "/redfish/v1/Systems/437XR1138R2/SecureBoot/Actions/SecureBoot.ResetKeys", + "ResetKeysType@Redfish.AllowableValues": [ + "ResetAllKeysToDefault", + "DeleteAllKeys", + "DeletePK" + ] + } + }, + "SecureBootEnable": false, + "SecureBootCurrentBoot": "Disabled", + "SecureBootMode": "UserMode", + "SecureBootDatabases": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot/SecureBootDatabases" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SimpleStorage/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SimpleStorage/1/index.json new file mode 100644 index 00000000..b126769d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SimpleStorage/1/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#SimpleStorage.v1_3_2.SimpleStorage", + "Id": "1", + "Name": "Simple Storage Controller", + "Description": "System SATA", + "UefiDevicePath": "Acpi(PNP0A03,0)/Pci(1F|1)/Ata(Primary,Master)/HD(Part3, Sig00110011)", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "Warning" + }, + "Devices": [ + { + "Name": "SATA Bay 1", + "Manufacturer": "Contoso", + "Model": "3000GT8", + "CapacityBytes": 8000000000000, + "Status": { + "State": "Enabled", + "Health": "OK" + } + }, + { + "Name": "SATA Bay 2", + "Manufacturer": "Contoso", + "Model": "3000GT7", + "CapacityBytes": 4000000000000, + "Status": { + "State": "Enabled", + "Health": "Warning" + } + }, + { + "Name": "SATA Bay 3", + "Status": { + "State": "Absent" + } + }, + { + "Name": "SATA Bay 4", + "Status": { + "State": "Absent" + } + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SimpleStorage/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SimpleStorage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SimpleStorage/index.json new file mode 100644 index 00000000..c876f426 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/SimpleStorage/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SimpleStorageCollection.SimpleStorageCollection", + "Name": "Simple Storage Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SimpleStorage/1" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SimpleStorage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/USBControllers/USB1/Ports/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/USBControllers/USB1/Ports/1/index.json new file mode 100644 index 00000000..97083d32 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/USBControllers/USB1/Ports/1/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "1", + "Name": "USB Port 1", + "Description": "USB Port 1", + "Enabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "1", + "PortProtocol": "USB", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 0.12, + "Width": 1, + "MaxSpeedGbps": 10, + "CurrentProtocolVersion": "2.0", + "CapableProtocolVersions": [ + "1.0", + "1.1", + "2.0", + "3.0", + "3.1" + ], + "Location": { + "PartLocation": { + "ServiceLabel": "USB 1", + "LocationOrdinalValue": 1, + "LocationType": "Connector", + "Orientation": "TopToBottom", + "Reference": "Front" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/USBControllers/USB1/Ports/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/USBControllers/USB1/Ports/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/USBControllers/USB1/Ports/2/index.json new file mode 100644 index 00000000..47d3efa9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/USBControllers/USB1/Ports/2/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "2", + "Name": "USB Port 2", + "Description": "USB Port 2", + "Enabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "2", + "PortProtocol": "USB", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 0, + "Width": 1, + "MaxSpeedGbps": 10, + "CurrentProtocolVersion": null, + "CapableProtocolVersions": [ + "1.0", + "1.1", + "2.0", + "3.0", + "3.1" + ], + "Location": { + "PartLocation": { + "ServiceLabel": "USB 2", + "LocationOrdinalValue": 2, + "LocationType": "Connector", + "Orientation": "TopToBottom", + "Reference": "Front" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/USBControllers/USB1/Ports/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/USBControllers/USB1/Ports/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/USBControllers/USB1/Ports/index.json new file mode 100644 index 00000000..9ced2a02 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/USBControllers/USB1/Ports/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "Port Collection", + "Description": "USB Port Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/USBControllers/USB1/Ports/1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/USBControllers/USB1/Ports/2" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/USBControllers/USB1/Ports", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/USBControllers/USB1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/USBControllers/USB1/index.json new file mode 100644 index 00000000..c622bce7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/USBControllers/USB1/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#USBController.v1_0_1.USBController", + "Id": "USB1", + "Name": "Contoso USB Controller 1", + "Manufacturer": "Contoso", + "Model": "USBv3", + "SKU": "80937", + "SerialNumber": "2M220100SL", + "PartNumber": "G37891", + "SparePartNumber": "G37890", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Ports": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/USBControllers/USB1/Ports" + }, + "Links": { + "Processors": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU2" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/USBControllers/USB1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/USBControllers/USB2/Ports/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/USBControllers/USB2/Ports/1/index.json new file mode 100644 index 00000000..e86fc23c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/USBControllers/USB2/Ports/1/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "1", + "Name": "USB Port 3", + "Description": "USB Port 3", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "3", + "PortProtocol": "USB", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 0.12, + "Width": 1, + "MaxSpeedGbps": 0.48, + "CurrentProtocolVersion": "2.0", + "CapableProtocolVersions": [ + "1.0", + "1.1", + "2.0" + ], + "Location": { + "PartLocation": { + "ServiceLabel": "USB 3", + "LocationOrdinalValue": 3, + "LocationType": "Connector", + "Orientation": "TopToBottom", + "Reference": "Front" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/USBControllers/USB2/Ports/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/USBControllers/USB2/Ports/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/USBControllers/USB2/Ports/2/index.json new file mode 100644 index 00000000..fcddd53a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/USBControllers/USB2/Ports/2/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "2", + "Name": "USB Port 4", + "Description": "USB Port 4", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "4", + "PortProtocol": "USB", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 0, + "Width": 1, + "MaxSpeedGbps": 0.48, + "CurrentProtocolVersion": null, + "CapableProtocolVersions": [ + "1.0", + "1.1", + "2.0" + ], + "Location": { + "PartLocation": { + "ServiceLabel": "USB 4", + "LocationOrdinalValue": 4, + "LocationType": "Connector", + "Orientation": "TopToBottom", + "Reference": "Front" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/USBControllers/USB2/Ports/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/USBControllers/USB2/Ports/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/USBControllers/USB2/Ports/index.json new file mode 100644 index 00000000..6dde9faf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/USBControllers/USB2/Ports/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "Port Collection", + "Description": "USB Port Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/USBControllers/USB2/Ports/1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/USBControllers/USB2/Ports/2" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/USBControllers/USB2/Ports", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/USBControllers/USB2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/USBControllers/USB2/index.json new file mode 100644 index 00000000..6fda74e3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/USBControllers/USB2/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#USBController.v1_0_1.USBController", + "Id": "USB2", + "Name": "Contoso USB Controller 2", + "Manufacturer": "Contoso", + "Model": "USBv2", + "SKU": "80937", + "SerialNumber": "2M220100SL", + "PartNumber": "G37891", + "SparePartNumber": "G37890", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Ports": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/USBControllers/USB2/Ports" + }, + "Links": { + "Processors": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU2" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/USBControllers/USB2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/USBControllers/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/USBControllers/index.json new file mode 100644 index 00000000..9ad1a365 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/USBControllers/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#USBControllerCollection.USBControllerCollection", + "Name": "USBControllers", + "Description": "Redfish USB Controllers", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/USBControllers/USB1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/USBControllers/USB2" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/USBControllers", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/VirtualMedia/CD1/Certificates/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/VirtualMedia/CD1/Certificates/1/index.json new file mode 100644 index 00000000..83610528 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/VirtualMedia/CD1/Certificates/1/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "1", + "Name": "HTTPS Certificate", + "CertificateString": "------BEGIN CERTIFICATE-----\nMIIFvzCCA6egAwIBAgIJAIkDi2/oWYwhMA0GCSqGSIb3DQEBCwUAMHYxCzAJBgNV\nBAYTAlVTMQ8wDQYDVQQIDAZPcmVnb24xETAPBgNVBAcMCFBvcnRsYW5kMRAwDgYD\nVQQKDAdDb250b3NvMRYwFAYDVQQLDA1JbWFnZSBIb3N0aW5nMRkwFwYDVQQDDBBy\nZWRmaXNoLmRtdGYub3JnMB4XDTIxMDkyMjIwNTAwOFoXDTIyMDkyMjIwNTAwOFow\ndjELMAkGA1UEBhMCVVMxDzANBgNVBAgMBk9yZWdvbjERMA8GA1UEBwwIUG9ydGxh\nbmQxEDAOBgNVBAoMB0NvbnRvc28xFjAUBgNVBAsMDUltYWdlIEhvc3RpbmcxGTAX\nBgNVBAMMEHJlZGZpc2guZG10Zi5vcmcwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw\nggIKAoICAQCwxEYgPsHZSjY9FRcJRIB/EkUqHSOXoMlSSM250Ju6Fd3TY3yl3G1a\nccUskvQS1iYQbasPvyi8hOJE4rKIz/4CKPvZjMun+flHGktIb33wjIuxenzj8UoK\nuPYsEQc5HNB9NUwqrPT1PHob75CdYOZSJoqQqSX4LZpiYNKHRgI/njaLzzn8HRBI\nxk/pUj23i11uZtriQKBUY8lQuDiDr7MyuFOOk3x6+vdgzWSkJD6NA/tUAchy5SwQ\n8P368KT7ZM9KCirzWgNCKG51aNzrc8qY/Y7180/Emca2JQR3jPuI/HTp9C8cril/\nb1bFIWgVHJivehjLjBhA+HS8hk0j76RyqfKr/emRshW/2ch3LOsa2G8Bv8qD2BBX\naJ/zfS+WuN1T/ekOOEdP9G1HNxVGdr+WV4zDyFQxDJnKCLIQxc4RMX9iNIIa1w9z\n8ZMCtzb4Fwtkan0Pf/VP7zjBo1V3WgVs/2LSy0+cKMUTUUJTDUo4NQFt+cbArDqR\nGYoChCc/0foaaZUOmZ7pMWg4MeVr3eh9ZrSofhEFiS+SWNzdlUf2XXKa+xXOmUw4\n+yB3+zW4FBduKqBVL04XS4ruVxl0dYP7h2n9Qjp6N7eYBGsfPIFFKvHCTNeZuFrX\nEJNheFrJwBTre9Any7FtRESS+MzqmDSX4ErBuR6iwQtVTp59LN8gzwIDAQABo1Aw\nTjAdBgNVHQ4EFgQUzSniTsBoaxfcA+IL+bVV+9GS9OYwHwYDVR0jBBgwFoAUzSni\nTsBoaxfcA+IL+bVV+9GS9OYwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOC\nAgEAaX0gqlyvn7iFfD9YR+frnBwcKDC85gQULTc1JlV3ybWl63fEb/SD7EGYp8kU\n/4LkO3Ig/qqSMIkMp+IHvjkhCFW6BP3j4NwBRmXWwDK/AjVODGpucu6HjhJ4cT1c\n2dxNz+TYgghuArdnBxKObcrgOmSzB0j3fcFqXJB5YJNWMd/K0MpdCGwwH4J2GM+2\nxH4Sf/48txQ0bkVqBzT1QstWCF4ZEoStSfTviw6XnqOvXlGoBEn2Yw7RnGUitHwd\nK+g77V/ReFkJ/SJimYUCt1h04Bt7BsFLICOPmZ+YsDtr5D6NxOvh+ixtQ//MfXTl\n6REiSugnJ7hxymfmF8GIiXxJ05aXTFZfSah3P+77L6Vtfabjnzdq7elHP3lPKSBz\nQZr5AK/TiPO+RbMGK54vhiaEHgTVJ8YNNxrTugknwx6jd2jPmjXJreBfj1WfsX8i\npbIcipdfJfeH7QsTkaiTq78Cxx/nHARKpF0dh/YwgYvLbDYHz1h3nxrH95VemOAK\nrWe1MGZx8bO0w87qKsMAexo313MhssUgRr8gzUQfkGTlYCbAwXu1JOWxHaXtDBRE\n/u7mvf2qSQiYokPhBAm26VHPv8gyb6XowcPI6ZSxKTEidgwDkyWUzlvCa3k9hdLm\nKFN7+DYh2oeVCrbxsXM1U/35/Is7+Pu8TOvJY5uQsO3+w9M=\n-----END CERTIFICATE-----", + "CertificateType": "PEM", + "Issuer": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "Image Hosting", + "CommonName": "redfish.dmtf.org" + }, + "Subject": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "Image Hosting", + "CommonName": "redfish.dmtf.org" + }, + "ValidNotBefore": "2021-09-22T20:50:08Z", + "ValidNotAfter": "2022-09-22T20:50:08Z", + "KeyUsage": [ + "KeyEncipherment", + "ServerAuthentication" + ], + "SerialNumber": "89:03:8B:6F:E8:59:8C:21", + "Fingerprint": "5C:58:1E:1E:11:17:A1:03:68:3C:12:8A:D4:F2:DD:10:45:15:93:61", + "FingerprintHashAlgorithm": "TPM_ALG_SHA1", + "SignatureAlgorithm": "sha256WithRSAEncryption", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/VirtualMedia/CD1/Certificates/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/VirtualMedia/CD1/Certificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/VirtualMedia/CD1/Certificates/index.json new file mode 100644 index 00000000..db512fed --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/VirtualMedia/CD1/Certificates/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificate Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/VirtualMedia/CD1/Certificates/1" + } + ], + "@Redfish.SupportedCertificates": [ + "PEM" + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/VirtualMedia/CD1/Certificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/VirtualMedia/CD1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/VirtualMedia/CD1/index.json new file mode 100644 index 00000000..b27992eb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/VirtualMedia/CD1/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#VirtualMedia.v1_7_0.VirtualMedia", + "Id": "CD1", + "Name": "Virtual CD", + "MediaTypes": [ + "CD", + "DVD" + ], + "Image": "redfish.dmtf.org/freeImages/freeOS.1.1.iso", + "ImageName": "mymedia-read-only", + "ConnectedVia": "Applet", + "Inserted": true, + "WriteProtected": false, + "VerifyCertificate": true, + "Certificates": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/VirtualMedia/CD1/Certificates" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/VirtualMedia/CD1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/VirtualMedia/CD2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/VirtualMedia/CD2/index.json new file mode 100644 index 00000000..130451f2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/VirtualMedia/CD2/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#VirtualMedia.v1_7_0.VirtualMedia", + "Id": "CD2", + "Name": "Virtual CD 2", + "MediaTypes": [ + "CD", + "DVD" + ], + "Image": "/redfish/v1/UpdateService/LocalImageStore/49", + "ImageName": "ubuntu-24.04.2-live-server-amd64.iso", + "ConnectedVia": "NotConnected", + "Inserted": true, + "WriteProtected": true, + "TransferMethod": "Upload", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/VirtualMedia/CD2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/VirtualMedia/Floppy1/Certificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/VirtualMedia/Floppy1/Certificates/index.json new file mode 100644 index 00000000..2f8168cf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/VirtualMedia/Floppy1/Certificates/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificate Collection", + "Members@odata.count": 0, + "Members": [], + "@Redfish.SupportedCertificates": [ + "PEM" + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/VirtualMedia/Floppy1/Certificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/VirtualMedia/Floppy1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/VirtualMedia/Floppy1/index.json new file mode 100644 index 00000000..f73f1d35 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/VirtualMedia/Floppy1/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#VirtualMedia.v1_7_0.VirtualMedia", + "Id": "Floppy1", + "Name": "Virtual Removable Media", + "MediaTypes": [ + "Floppy", + "USBStick" + ], + "Image": "https://www.dmtf.org/freeImages/Sardine.img", + "ImageName": "Sardine2.1.43.35.6a", + "ConnectedVia": "URI", + "Inserted": true, + "WriteProtected": false, + "VerifyCertificate": false, + "Certificates": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/VirtualMedia/Floppy1/Certificates" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/VirtualMedia/Floppy1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/VirtualMedia/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/VirtualMedia/index.json new file mode 100644 index 00000000..45dcddf3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/VirtualMedia/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#VirtualMediaCollection.VirtualMediaCollection", + "Name": "Virtual Media Services", + "Description": "Virtual Media Service Settings", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/VirtualMedia/Floppy1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/VirtualMedia/CD1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/VirtualMedia/CD2" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/VirtualMedia", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/index.json new file mode 100644 index 00000000..274e77d6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/437XR1138R2/index.json @@ -0,0 +1,233 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "437XR1138R2", + "Name": "WebFrontEnd483", + "SystemType": "Physical", + "AssetTag": "Chicago-45Z-2381", + "Manufacturer": "Contoso", + "Model": "3500", + "SubModel": "RX", + "SKU": "8675309", + "SerialNumber": "437XR1138R2", + "PartNumber": "224071-J23", + "Description": "Web Front End node", + "UUID": "38947555-7742-3448-3784-823347823834", + "HostName": "web483", + "BootImagePushURI": "/redfish/v1/Systems/437XR1138R2/BootImagePushURI", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "Warning", + "Conditions": [ + { + "MessageId": "Sensor.1.0.ReadingAboveUpperCautionThreshold", + "Timestamp": "2024-08-12T12:25:00-05:00", + "Message": "Sensor 'CPU1 Temp' reading of 44 (Cel) is above the 42 upper caution threshold.", + "Severity": "Warning", + "MessageArgs": [ + "CPU1 Temp", + "44", + "Cel", + "42" + ], + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/CPU1Temp" + } + } + ] + }, + "HostingRoles": [ + "ApplicationServer" + ], + "IndicatorLED": "Off", + "PowerState": "On", + "Boot": { + "BootSourceOverrideEnabled": "Once", + "BootSourceOverrideTarget": "Pxe", + "BootSourceOverrideTarget@Redfish.AllowableValues": [ + "None", + "Pxe", + "Cd", + "Usb", + "Hdd", + "BiosSetup", + "Utilities", + "Diags", + "SDCard", + "UefiTarget" + ], + "BootSourceOverrideMode": "UEFI", + "UefiTargetBootSourceOverride": "/0x31/0x33/0x01/0x01" + }, + "TrustedModules": [ + { + "FirmwareVersion": "1.13b", + "InterfaceType": "TPM1_2", + "Status": { + "State": "Enabled", + "Health": "OK" + } + } + ], + "Oem": { + "Contoso": { + "@odata.type": "#Contoso.ComputerSystem", + "ProductionLocation": { + "FacilityName": "PacWest Production Facility", + "Country": "USA" + } + }, + "Chipwise": { + "@odata.type": "#Chipwise.ComputerSystem", + "Style": "Executive" + } + }, + "BootProgress": { + "LastState": "OSRunning", + "LastStateTime": "2021-03-13T04:14:13+06:00", + "LastBootTimeSeconds": 676 + }, + "LastResetTime": "2021-03-13T04:02:57+06:00", + "BiosVersion": "P79 v1.45 (12/06/2017)", + "ProcessorSummary": { + "Count": 2, + "Model": "Multi-Core Intel(R) Xeon(R) processor 7xxx Series", + "LogicalProcessorCount": 16, + "CoreCount": 8, + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + } + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 96, + "TotalSystemPersistentMemoryGiB": 0, + "MemoryMirroring": "None", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + } + }, + "GraphicalConsole": { + "MaxConcurrentSessions": 4, + "VNC": { + "ServiceEnabled": true, + "Port": 5900, + "HostName": "10.1.2.3", + "AuthenticationMethod": "ExplicitLogin", + "SupportedAccessModes": [ + "ReadWrite", + "ReadOnly" + ], + "AllowsSharedAccess": true, + "SupportedEncodings": [ + "Raw", + "Tight", + "ZRLE" + ], + "SupportsOneTimePassword": true, + "SupportsPersistentPassword": true + }, + "HTML5": { + "ServiceEnabled": true, + "Port": 443, + "HostName": "bmc.example.com", + "ConsoleURI": "https://bmc.example.com/console", + "AuthenticationMethod": "ExplicitLogin", + "SupportedAccessModes": [ + "ReadWrite" + ], + "AllowsSharedAccess": false, + "SupportsOneTimeURL": true + }, + "KVMIP": { + "ServiceEnabled": false, + "Port": 7000, + "HostName": "10.1.2.3", + "AuthenticationMethod": "ExplicitLogin", + "SupportedAccessModes": [ + "ReadWrite" + ], + "AllowsSharedAccess": false + } + }, + "Bios": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Bios" + }, + "SecureBoot": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SecureBoot" + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces" + }, + "SimpleStorage": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SimpleStorage" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices" + }, + "GraphicsControllers": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/GraphicsControllers" + }, + "USBControllers": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/USBControllers" + }, + "Certificates": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Certificates" + }, + "VirtualMedia": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/VirtualMedia" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ] + }, + "Actions": { + "#ComputerSystem.Reset": { + "target": "/redfish/v1/Systems/437XR1138R2/Actions/ComputerSystem.Reset", + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "GracefulRestart", + "ForceRestart", + "Nmi", + "ForceOn", + "PushPowerButton", + "FullPowerCycle" + ] + }, + "#ComputerSystem.GraphicalConsoleGetOneTimeURL": { + "target": "/redfish/v1/Systems/437XR1138R2/Actions/ComputerSystem.GraphicalConsoleGetOneTimeURL" + }, + "#ComputerSystem.GraphicalConsoleSetOneTimePassword": { + "target": "/redfish/v1/Systems/437XR1138R2/Actions/ComputerSystem.GraphicalConsoleSetOneTimePassword" + }, + "#ComputerSystem.GraphicalConsoleSetPassword": { + "target": "/redfish/v1/Systems/437XR1138R2/Actions/ComputerSystem.GraphicalConsoleSetPassword" + }, + "Oem": { + "#Contoso.Reset": { + "target": "/redfish/v1/Systems/437XR1138R2/Oem/Contoso/Actions/Contoso.Reset" + } + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/index.json new file mode 100644 index 00000000..af7ef3f8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/Systems/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ComputerSystemCollection.ComputerSystemCollection", + "Name": "Computer System Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + } + ], + "@odata.id": "/redfish/v1/Systems", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/TaskService/Tasks/545/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/TaskService/Tasks/545/index.json new file mode 100644 index 00000000..ef4dfe19 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/TaskService/Tasks/545/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#Task.v1_7_4.Task", + "Id": "545", + "Name": "Task 545", + "TaskState": "Completed", + "StartTime": "2012-03-07T14:44:00+06:00", + "EndTime": "2012-03-07T14:45:00+06:00", + "TaskStatus": "OK", + "Messages": [ + { + "MessageId": "Base.1.0.PropertyNotWritable", + "RelatedProperties": [ + "/SKU" + ], + "Message": "The property SKU is a read only property and cannot be assigned a value", + "MessageArgs": [ + "SKU" + ], + "Severity": "Warning" + } + ], + "@odata.id": "/redfish/v1/TaskService/Tasks/545", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/TaskService/Tasks/687/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/TaskService/Tasks/687/index.json new file mode 100644 index 00000000..f55df01d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/TaskService/Tasks/687/index.json @@ -0,0 +1,23 @@ +{ + "@odata.type": "#Task.v1_7_4.Task", + "Id": "687", + "Name": "Task 687", + "TaskState": "Cancelled", + "StartTime": "2024-06-04T17:59:56+00:00", + "EndTime": "2024-06-04T18:04:34+00:00", + "TaskStatus": "Warning", + "Messages": [ + { + "MessageId": "TaskEvent.1.0.4.TaskCancelled", + "Message": "Work on the task with Id '687' was halted prior to completion due to an explicit request.", + "MessageArgs": [ + "687" + ], + "Severity": "Warning", + "Username": "admin", + "UserAuthenticationSource": "https://management-fed-node-0:1234/redfish/v1/AccountService" + } + ], + "@odata.id": "/redfish/v1/TaskService/Tasks/687", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/TaskService/Tasks/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/TaskService/Tasks/index.json new file mode 100644 index 00000000..01081fe1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/TaskService/Tasks/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#TaskCollection.TaskCollection", + "Name": "Task Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/TaskService/Tasks/545" + }, + { + "@odata.id": "/redfish/v1/TaskService/Tasks/687" + } + ], + "@odata.id": "/redfish/v1/TaskService/Tasks", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/TaskService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/TaskService/index.json new file mode 100644 index 00000000..d04a90b5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/TaskService/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#TaskService.v1_3_0.TaskService", + "Id": "TaskService", + "Name": "Tasks Service", + "DateTime": "2015-03-13T04:14:33+06:00", + "CompletedTaskOverWritePolicy": "Manual", + "LifeCycleEventOnTaskStateChange": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "Tasks": { + "@odata.id": "/redfish/v1/TaskService/Tasks" + }, + "@odata.id": "/redfish/v1/TaskService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/ClientCertificates/1/RekeyActionInfo/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/ClientCertificates/1/RekeyActionInfo/index.json new file mode 100644 index 00000000..76cd5214 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/ClientCertificates/1/RekeyActionInfo/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#ActionInfo.v1_6_0.ActionInfo", + "Id": "RekeyActionInfo", + "Name": "Rekey Action Info", + "Parameters": [ + { + "Name": "KeyPairAlgorithm", + "Required": true, + "DataType": "String", + "AllowableValues": [ + "TPM_ALG_RSA", + "TPM_ALG_ECDSA" + ] + }, + { + "Name": "KeyBitLength", + "Required": false, + "DataType": "Number" + }, + { + "Name": "KeyCurveId", + "Required": false, + "DataType": "String", + "AllowableValues": [ + "TPM_ECC_NIST_P256", + "TPM_ECC_NIST_P384", + "TPM_ECC_NIST_P521" + ] + } + ], + "@odata.id": "/redfish/v1/UpdateService/ClientCertificates/1/RekeyActionInfo", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/ClientCertificates/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/ClientCertificates/1/index.json new file mode 100644 index 00000000..83ef638f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/ClientCertificates/1/index.json @@ -0,0 +1,44 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "1", + "Name": "Client Certificate", + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIFsTCCA5mgAwIBAgIJAMusGfV8beSJMA0GCSqGSIb3DQEBCwUAMG8xCzAJBgNV\nBAYTAlVTMQ8wDQYDVQQIDAZPcmVnb24xETAPBgNVBAcMCFBvcnRsYW5kMRAwDgYD\nVQQKDAdDb250b3NvMQwwCgYDVQQLDANBQkMxHDAaBgNVBAMME21hbmFnZXIuY29u\ndG9zby5vcmcwHhcNMTgwOTA3MTMyMjA1WhcNMTkwOTA3MTMyMjA1WjBvMQswCQYD\nVQQGEwJVUzEPMA0GA1UECAwGT3JlZ29uMREwDwYDVQQHDAhQb3J0bGFuZDEQMA4G\nA1UECgwHQ29udG9zbzEMMAoGA1UECwwDQUJDMRwwGgYDVQQDDBNtYW5hZ2VyLmNv\nbnRvc28ub3JnMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAw39VGz5K\n9bD8UUmyUxH+s+IaYsd3rd8V3R6g3bzttGOW52nopt3ZQD4COHPePBcCBh2+xRFk\n0Wd6oJUECXKNYhoFRJAhyz2fmkO5I37D40iY8/Ihqnt0Kmt/8hETL2VMKbALnR+4\nAUNNGSomRD24FQDlK1Vs6urZHvTsEL5Z+CNdbKY6Yn1ksxR8vmze4hdxnzrQCua1\no7zNVzudLdhVpfeC3BvmflMjszPOjlo5dSkXeRWqQ1LikgcHyEf3hYWq3WXMUpkV\nm2nlM3Tzeaz2nO1quQ/HJ/DUuvHHvWIIZdExL1RABzSN8Sr3ZkMShmTNN4QWmrEX\nEADN8g8OXrRKrup+R6nbUT55Getn5jPesI5fNDHk0KRBUG0ALY73l9+ZlAdRTesq\naV6AL2hUYrb1SNjh50i15s4yPOytspF4B9LaqsG1w3PGjgLaUtWHTXwGAMdHVhWs\nym//6zFv3Ri5tbjThpeYv+UIkreyb0yAFlx/Kz62EFbkFcnaGPATqVd4yLtVdYu0\nz5O8JWhOuybmWMe6ifO97X8w7/Nr9QyzkB64wXSqsNpRiuZraErqa+hBqvPkz8KE\nFEwiclRvZ9OrNk/iKr1FO1HNs1byvNyJ3S9Bu4bMwMnxzrdNzaB5Ti0IywIvQ/qw\nJ8icHIn+3EM5g+DmvQTZIXNKOryrndjIUA0CAwEAAaNQME4wHQYDVR0OBBYEFLLG\niNCud7LYUKojqRVNhKBWoApFMB8GA1UdIwQYMBaAFLLGiNCud7LYUKojqRVNhKBW\noApFMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggIBAG+NJSRv1S0K4KjE\nwzAIlEsmYs65vPxKLg0a07EW8xO4m7AKtty9dyc3+xh0ftwosTmXp2GL3RbNFqpc\nqDjS/XLDGS7DCb5T/g2vZusfUCz6WXpJCZMBLNyNaVyhTHeV9f8sCWXAODwx8ED2\nIHADWI9EqYg3HovYJNP4iUXfivBkFdq6ptOwgMVLGpeMvt/VwBilOklL/+xrhiMD\n1SwZ+sPdWfgcIaeQ+Y3h0cbHzCeYlZDXjDR41zGrEb1lhSAj5n/BEQDjXsiIY386\n/czYW7Zz2ZxOK67ENaABUxg5w8iqu8wkF0pVHbjBThkEPvvdwWKAFLDC55q1KO4H\nsZLx8U/usUdHW9pz+/C7QW7UEJjKP7LfUWnosz7NJYtb7lXJ6pyLkstlA35/aXv3\nxS4eHxHFExl7hiTPgWuFYZUfhdTYSoUTO7WHI7IIZvAh05I/akrE7RpPXviMdIrI\nluKOGwMDHuKSUX93BfFcm9WyMx2cGvbORAXPonGadkPbNsuSK1YkalZ27x5Aq10T\nwJ6/u29+BMDIRB1qJPf5gm4itQpX0hLKXRAdSPKQgvA2gDN5fIlPDEAlWt3oo5JI\n6aWKaL1zAwSFcV2XE6c0r9ZrQPQw1cTzeAMDzMQ7MnEb6kt/YNdGfzTL/5b+vF+e\nHApck5WMN3G/8qlI5rFGXG5zljlu\n-----END CERTIFICATE-----", + "CertificateType": "PEM", + "Issuer": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "manager.contoso.org" + }, + "Subject": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "manager.contoso.org" + }, + "ValidNotBefore": "2018-09-07T13:22:05Z", + "ValidNotAfter": "2019-09-07T13:22:05Z", + "KeyUsage": [ + "KeyEncipherment", + "ServerAuthentication" + ], + "SerialNumber": "5d:7a:d8:df:f6:fc:c1:b3:ca:fe:fb:cc:38:f3:01:64:51:ea:05:cb", + "Fingerprint": "A6:E9:D2:5C:DC:52:DA:4B:3B:14:97:F3:A4:53:D9:99:A1:0B:56:41", + "FingerprintHashAlgorithm": "TPM_ALG_SHA1", + "SignatureAlgorithm": "sha256WithRSAEncryption", + "Actions": { + "#Certificate.Rekey": { + "target": "/redfish/v1/UpdateService/ClientCertificates/1/Actions/Certificate.Rekey", + "@Redfish.ActionInfo": "/redfish/v1/UpdateService/ClientCertificates/1/RekeyActionInfo" + }, + "#Certificate.Renew": { + "target": "/redfish/v1/UpdateService/ClientCertificates/1/Actions/Certificate.Renew" + } + }, + "@odata.id": "/redfish/v1/UpdateService/ClientCertificates/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/ClientCertificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/ClientCertificates/index.json new file mode 100644 index 00000000..9b7b8bd3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/ClientCertificates/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificate Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/UpdateService/ClientCertificates/1" + } + ], + "@odata.id": "/redfish/v1/UpdateService/ClientCertificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/FirmwareInventory/AC-RoT0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/FirmwareInventory/AC-RoT0/index.json new file mode 100644 index 00000000..dbb02ae3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/FirmwareInventory/AC-RoT0/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#SoftwareInventory.v1_15_0.SoftwareInventory", + "Id": "AC-RoT0", + "Name": "AC-RoT0 firmware", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Updateable": true, + "Version": "1.11", + "SoftwareId": "6FC0A31C-FD11-4803-8A35-F3BA2F0E2B6B", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/AC-RoT0" + } + ], + "ImageState": "Active", + "Active": true, + "Staged": false, + "Armed": false, + "Links": { + "ActiveTargets": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/AC-RoT0" + } + ], + "StagedTargets": [], + "ArmedTargets": [] + }, + "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/AC-RoT0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/FirmwareInventory/BIOS/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/FirmwareInventory/BIOS/index.json new file mode 100644 index 00000000..17b5c03d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/FirmwareInventory/BIOS/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#SoftwareInventory.v1_15_0.SoftwareInventory", + "Id": "BIOS", + "Name": "Contoso BIOS Firmware", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Updateable": true, + "Manufacturer": "Contoso", + "ReleaseDate": "2017-12-06T12:00:00Z", + "Version": "P79 v1.45", + "SoftwareId": "FEE82A67-6CE2-4625-9F44-237AD2402C28", + "LowestSupportedVersion": "P79 v1.10", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Bios" + } + ], + "ImageState": "Active", + "Active": true, + "Staged": false, + "Armed": false, + "Links": { + "ActiveTargets": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Bios" + } + ], + "StagedTargets": [], + "ArmedTargets": [] + }, + "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/BIOS", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/FirmwareInventory/BMC/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/FirmwareInventory/BMC/index.json new file mode 100644 index 00000000..defb6d06 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/FirmwareInventory/BMC/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#SoftwareInventory.v1_15_0.SoftwareInventory", + "Id": "BMC", + "Name": "Contoso BMC Firmware", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Updateable": true, + "Manufacturer": "Contoso", + "ReleaseDate": "2017-08-22T12:00:00Z", + "Version": "1.45.455b66-rev4", + "SoftwareId": "1624A9DF-5E13-47FC-874A-DF3AFF143089", + "LowestSupportedVersion": "1.30.367a12-rev1", + "UefiDevicePaths": [ + "BMC(0x1,0x0ABCDEF)" + ], + "AdditionalVersions": { + "Bootloader": "v2022.01", + "Kernel": "Linux 5.13.0-30-generic arm71", + "Oem": { + "Contoso": { + "@odata.type": "#ContosoSoftwareInventory.v1_0_0.AdditionalVersions", + "ManagementApp": "1.30" + } + } + }, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ], + "ImageState": "Active", + "Active": true, + "Staged": false, + "Armed": false, + "Links": { + "ActiveTargets": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ], + "StagedTargets": [], + "ArmedTargets": [] + }, + "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/BMC", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/FirmwareInventory/SS/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/FirmwareInventory/SS/index.json new file mode 100644 index 00000000..b91165ae --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/FirmwareInventory/SS/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#SoftwareInventory.v1_15_0.SoftwareInventory", + "Id": "SS", + "Name": "Contoso Simple Storage Firmware", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Updateable": true, + "Manufacturer": "Contoso", + "ReleaseDate": "2021-10-18T12:00:00Z", + "Version": "2.50", + "LowestSupportedVersion": "2.30.rev1", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SimpleStorage/1" + } + ], + "ImageState": "Active", + "Active": true, + "Staged": false, + "Armed": false, + "Links": { + "ActiveTargets": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SimpleStorage/1" + } + ], + "StagedTargets": [], + "ArmedTargets": [] + }, + "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/SS", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/FirmwareInventory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/FirmwareInventory/index.json new file mode 100644 index 00000000..c30be388 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/FirmwareInventory/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#SoftwareInventoryCollection.SoftwareInventoryCollection", + "Name": "Firmware Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/BMC" + }, + { + "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/SS" + }, + { + "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/BIOS" + } + ], + "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/LocalImageStore/102/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/LocalImageStore/102/index.json new file mode 100644 index 00000000..88333296 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/LocalImageStore/102/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#SoftwareInventory.v1_15_0.SoftwareInventory", + "Id": "102", + "Name": "Local Image", + "Status": { + "State": "StandbyOffline", + "Health": "OK" + }, + "SoftwareId": "golden-image-backup.iso", + "SizeBytes": 2147483648, + "Updateable": true, + "@odata.id": "/redfish/v1/UpdateService/LocalImageStore/102", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/LocalImageStore/49/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/LocalImageStore/49/index.json new file mode 100644 index 00000000..65c99719 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/LocalImageStore/49/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#SoftwareInventory.v1_15_0.SoftwareInventory", + "Id": "49", + "Name": "Local Image", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "SoftwareId": "ubuntu-24.04.2-live-server-amd64.iso", + "SizeBytes": 3221225472, + "Updateable": false, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/VirtualMedia/CD2" + } + ], + "@odata.id": "/redfish/v1/UpdateService/LocalImageStore/49", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/LocalImageStore/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/LocalImageStore/index.json new file mode 100644 index 00000000..d479e9ec --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/LocalImageStore/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#SoftwareInventoryCollection.SoftwareInventoryCollection", + "Name": "Local Image Store Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/UpdateService/LocalImageStore/49" + }, + { + "@odata.id": "/redfish/v1/UpdateService/LocalImageStore/102" + } + ], + "@odata.id": "/redfish/v1/UpdateService/LocalImageStore", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/SimpleUpdateActionInfo/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/SimpleUpdateActionInfo/index.json new file mode 100644 index 00000000..68871f2f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/SimpleUpdateActionInfo/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#ActionInfo.v1_6_0.ActionInfo", + "Id": "SimpleUpdateActionInfo", + "Name": "Simple Update Action Info", + "Parameters": [ + { + "Name": "ImageURI", + "Required": true, + "DataType": "String" + }, + { + "Name": "TransferProtocol", + "Required": false, + "DataType": "String", + "AllowableValues": [ + "FTP", + "SFTP", + "HTTP", + "HTTPS", + "SCP", + "TFTP" + ] + }, + { + "Name": "Username", + "Required": false, + "DataType": "String" + }, + { + "Name": "Password", + "Required": false, + "DataType": "String" + } + ], + "@odata.id": "/redfish/v1/UpdateService/SimpleUpdateActionInfo", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/index.json new file mode 100644 index 00000000..bce6f0ce --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/UpdateService/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#UpdateService.v1_17_1.UpdateService", + "Id": "UpdateService", + "Name": "Update service", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "ServiceEnabled": true, + "HttpPushUri": "/FWUpdate", + "HttpPushUriOptions": { + "HttpPushUriApplyTime": { + "ApplyTime": "Immediate", + "ApplyTime@Redfish.AllowableValues": [ + "Immediate", + "OnReset", + "AtMaintenanceWindowStart", + "InMaintenanceWindowOnReset" + ], + "MaintenanceWindowStartTime": "2018-12-01T03:00:00+06:00", + "MaintenanceWindowDurationInSeconds": 600 + } + }, + "HttpPushUriOptionsBusy": false, + "FirmwareInventory": { + "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory" + }, + "LocalImageStoreAvailableCapacityBytes": 16106127360, + "LocalImageStoreTotalCapacityBytes": 21474836480, + "LocalImageStore": { + "@odata.id": "/redfish/v1/UpdateService/LocalImageStore" + }, + "ClientCertificates": { + "@odata.id": "/redfish/v1/UpdateService/ClientCertificates" + }, + "Actions": { + "#UpdateService.SimpleUpdate": { + "target": "/redfish/v1/UpdateService/Actions/UpdateService.SimpleUpdate", + "@Redfish.ActionInfo": "/redfish/v1/UpdateService/SimpleUpdateActionInfo" + } + }, + "@odata.id": "/redfish/v1/UpdateService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/explorer_config.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/explorer_config.json new file mode 100644 index 00000000..8c0e38b7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/explorer_config.json @@ -0,0 +1,66 @@ +{ + "name": "Simple Rack-mounted Server", + "description": "This illustration of a Redfish service implementation shows a typical rack-mount server, as commonly used in scale-out data centers. It depicts the types of information that can be expected, but does not represent an actual implementation.", + "navlinks": [ + { + "text": "Main", + "target": "main" + }, + { + "text": "Systems", + "target": "Systems", + "navlinks": [ + { + "text": "437XR1138R2", + "target": "437XR1138R2" + } + ] + }, + { + "text": "Chassis", + "target": "Chassis", + "navlinks": [ + { + "text": "1U", + "target": "1U" + } + ] + }, + { + "text": "Managers", + "target": "Managers", + "navlinks": [ + { + "text": "BMC", + "target": "BMC" + } + ] + }, + { + "text": "Task Service", + "target": "TaskService" + }, + { + "text": "Session Service", + "target": "SessionService" + }, + { + "target": "AccountService", + "text": "Account Service" + }, + { + "target": "EventService", + "text": "Event Service", + "navlinks": [ + { + "text": "Subscriptions", + "target": "Subscriptions" + } + ] + }, + { + "target": "UpdateService", + "text": "Update Service" + } + ] +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/index.json new file mode 100644 index 00000000..61771421 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/index.json @@ -0,0 +1,66 @@ +{ + "@odata.type": "#ServiceRoot.v1_22_0.ServiceRoot", + "Id": "RootService", + "Name": "Root Service", + "RedfishVersion": "1.15.0", + "UUID": "92384634-2938-2342-8820-489239905423", + "ProtocolFeaturesSupported": { + "ExpandQuery": { + "ExpandAll": true, + "Levels": true, + "MaxLevels": 6, + "Links": true, + "NoLinks": true + }, + "SelectQuery": false, + "FilterQuery": false, + "OnlyMemberQuery": true, + "ExcerptQuery": true + }, + "Systems": { + "@odata.id": "/redfish/v1/Systems" + }, + "Chassis": { + "@odata.id": "/redfish/v1/Chassis" + }, + "Managers": { + "@odata.id": "/redfish/v1/Managers" + }, + "Tasks": { + "@odata.id": "/redfish/v1/TaskService" + }, + "SessionService": { + "@odata.id": "/redfish/v1/SessionService" + }, + "AccountService": { + "@odata.id": "/redfish/v1/AccountService" + }, + "EventService": { + "@odata.id": "/redfish/v1/EventService" + }, + "Registries": { + "@odata.id": "/redfish/v1/Registries" + }, + "UpdateService": { + "@odata.id": "/redfish/v1/UpdateService" + }, + "CertificateService": { + "@odata.id": "/redfish/v1/CertificateService" + }, + "KeyService": { + "@odata.id": "/redfish/v1/KeyService" + }, + "ServiceConditions": { + "@odata.id": "/redfish/v1/ServiceConditions" + }, + "Links": { + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + } + }, + "ComponentIntegrity": { + "@odata.id": "/redfish/v1/ComponentIntegrity" + }, + "@odata.id": "/redfish/v1/", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/odata/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/odata/index.json new file mode 100644 index 00000000..d655bd44 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-rackmount1/odata/index.json @@ -0,0 +1,71 @@ +{ + "@odata.context": "/redfish/v1/$metadata", + "value": [ + { + "name": "Service", + "kind": "Singleton", + "url": "/redfish/v1/" + }, + { + "name": "Systems", + "kind": "Singleton", + "url": "/redfish/v1/Systems" + }, + { + "name": "Chassis", + "kind": "Singleton", + "url": "/redfish/v1/Chassis" + }, + { + "name": "Managers", + "kind": "Singleton", + "url": "/redfish/v1/Managers" + }, + { + "name": "TaskService", + "kind": "Singleton", + "url": "/redfish/v1/TaskService" + }, + { + "name": "AccountService", + "kind": "Singleton", + "url": "/redfish/v1/AccountService" + }, + { + "name": "SessionService", + "kind": "Singleton", + "url": "/redfish/v1/SessionService" + }, + { + "name": "EventService", + "kind": "Singleton", + "url": "/redfish/v1/EventService" + }, + { + "name": "Registries", + "kind": "Singleton", + "url": "/redfish/v1/Registries" + }, + { + "name": "CertificateService", + "kind": "Singleton", + "url": "/redfish/v1/CertificateService" + }, + { + "name": "KeyService", + "kind": "Singleton", + "url": "/redfish/v1/KeyService" + }, + { + "name": "UpdateService", + "kind": "Singleton", + "url": "/redfish/v1/UpdateService" + }, + { + "name": "Sessions", + "kind": "Singleton", + "url": "/redfish/v1/SessionService/Sessions" + } + ], + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/$metadata/index.xml b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/$metadata/index.xml new file mode 100644 index 00000000..416af6b0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/$metadata/index.xml @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/AccountService/Accounts/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/AccountService/Accounts/1/index.json new file mode 100644 index 00000000..781c45c6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/AccountService/Accounts/1/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#ManagerAccount.v1_14_2.ManagerAccount", + "Id": "1", + "Name": "User Account", + "Description": "User Account", + "Enabled": true, + "Password": null, + "PasswordChangeRequired": false, + "AccountTypes": [ + "Redfish" + ], + "UserName": "Administrator", + "RoleId": "Administrator", + "Locked": false, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + } + }, + "@odata.id": "/redfish/v1/AccountService/Accounts/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/AccountService/Accounts/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/AccountService/Accounts/index.json new file mode 100644 index 00000000..f509d474 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/AccountService/Accounts/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerAccountCollection.ManagerAccountCollection", + "Name": "Accounts Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Accounts/1" + } + ], + "@odata.id": "/redfish/v1/AccountService/Accounts", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/AccountService/Roles/Administrator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/AccountService/Roles/Administrator/index.json new file mode 100644 index 00000000..19d26a98 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/AccountService/Roles/Administrator/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Administrator", + "Name": "User Role", + "Description": "Admin User Role", + "RoleId": "Administrator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureManager", + "ConfigureUsers", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [ + "OemClearLog", + "OemPowerControl" + ], + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/AccountService/Roles/Operator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/AccountService/Roles/Operator/index.json new file mode 100644 index 00000000..90804a6a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/AccountService/Roles/Operator/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Operator", + "Name": "User Role", + "Description": "Operator User Role", + "RoleId": "Operator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/Operator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/AccountService/Roles/ReadOnly/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/AccountService/Roles/ReadOnly/index.json new file mode 100644 index 00000000..1df0cf03 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/AccountService/Roles/ReadOnly/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "ReadOnly", + "Name": "User Role", + "Description": "ReadOnly User Role", + "RoleId": "ReadOnly", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/AccountService/Roles/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/AccountService/Roles/index.json new file mode 100644 index 00000000..ba9ee112 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/AccountService/Roles/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#RoleCollection.RoleCollection", + "Name": "Roles Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/Operator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly" + } + ], + "@odata.id": "/redfish/v1/AccountService/Roles", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/AccountService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/AccountService/index.json new file mode 100644 index 00000000..eb627494 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/AccountService/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#AccountService.v1_19_0.AccountService", + "Id": "AccountService", + "Name": "Account Service", + "Description": "Account Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "AuthFailureLoggingThreshold": 3, + "MinPasswordLength": 8, + "AccountLockoutThreshold": 5, + "AccountLockoutDuration": 30, + "AccountLockoutCounterResetAfter": 30, + "AccountLockoutCounterResetEnabled": true, + "Accounts": { + "@odata.id": "/redfish/v1/AccountService/Accounts" + }, + "Roles": { + "@odata.id": "/redfish/v1/AccountService/Roles" + }, + "@odata.id": "/redfish/v1/AccountService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Chassis/Switch1/Power/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Chassis/Switch1/Power/index.json new file mode 100644 index 00000000..bd807791 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Chassis/Switch1/Power/index.json @@ -0,0 +1,53 @@ +{ + "@odata.type": "#Power.v1_7_3.Power", + "Id": "Power", + "Name": "Power", + "PowerControl": [], + "Voltages": [], + "PowerSupplies": [ + { + "@odata.id": "/redfish/v1/Chassis/Switch1/Power#/PowerSupplies/0", + "MemberId": "0", + "Name": "Power Supply Bay", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PowerSupplyType": "AC", + "LineInputVoltageType": "ACWideRange", + "LineInputVoltage": 120, + "PowerCapacityWatts": 800, + "LastPowerOutputWatts": 325, + "Model": "499253-B21", + "Manufacturer": "ManufacturerName", + "FirmwareVersion": "1.00", + "SerialNumber": "1Z0000001", + "PartNumber": "0000001A3A", + "SparePartNumber": "0000001A3A", + "InputRanges": [ + { + "InputType": "AC", + "MinimumVoltage": 100, + "MaximumVoltage": 120, + "OutputWattage": 800 + }, + { + "InputType": "AC", + "MinimumVoltage": 200, + "MaximumVoltage": 240, + "OutputWattage": 1300 + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/Switch1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1" + } + ] + } + ], + "@odata.id": "/redfish/v1/Chassis/Switch1/Power", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Chassis/Switch1/Thermal/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Chassis/Switch1/Thermal/index.json new file mode 100644 index 00000000..68b5016d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Chassis/Switch1/Thermal/index.json @@ -0,0 +1,161 @@ +{ + "@odata.type": "#Thermal.v1_7_3.Thermal", + "Id": "Thermal", + "Name": "Thermal", + "Temperatures": [ + { + "@odata.id": "/redfish/v1/Chassis/Switch1/Thermal#/Temperatures/0", + "MemberId": "0", + "Name": "Management Processor Temp", + "SensorNumber": 1, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 41, + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 45, + "UpperThresholdFatal": 48, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 60, + "PhysicalContext": "CPU", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Managers/Switch1" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/Switch1/Thermal#/Temperatures/1", + "MemberId": "1", + "Name": "Expander Temp", + "SensorNumber": 2, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 41, + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 45, + "UpperThresholdFatal": 48, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 60, + "PhysicalContext": "CPU", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/Switch1/Thermal#/Temperatures/2", + "MemberId": "2", + "Name": "Chassis Intake Temp", + "SensorNumber": 3, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 25, + "UpperThresholdNonCritical": 30, + "UpperThresholdCritical": 40, + "UpperThresholdFatal": 50, + "LowerThresholdNonCritical": 10, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 0, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 60, + "PhysicalContext": "Intake", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/Switch1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1" + } + ] + } + ], + "Fans": [ + { + "@odata.id": "/redfish/v1/Chassis/Switch1/Thermal#/Fans/0", + "MemberId": "0", + "Name": "BaseBoard System Fan", + "PhysicalContext": "Backplane", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2100, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 0, + "MinReadingRange": 0, + "MaxReadingRange": 5000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/Switch1/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/Switch1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/Switch1/Thermal#/Fans/1", + "MemberId": "1", + "Name": "BaseBoard System Fan Backup", + "PhysicalContext": "Backplane", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2050, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 0, + "MinReadingRange": 0, + "MaxReadingRange": 5000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/Switch1/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/Switch1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1" + } + ] + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/Switch1/Thermal#/Redundancy/0", + "MemberId": "0", + "Name": "BaseBoard System Fans", + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Chassis/Switch1/Thermal#/Fans/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/Switch1/Thermal#/Fans/1" + } + ], + "Mode": "N+m", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MinNumNeeded": 1, + "MaxNumSupported": 2 + } + ], + "@odata.id": "/redfish/v1/Chassis/Switch1/Thermal", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Chassis/Switch1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Chassis/Switch1/index.json new file mode 100644 index 00000000..c59298d9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Chassis/Switch1/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "Switch1", + "Name": "SAS Switch Chassis", + "ChassisType": "RackMount", + "AssetTag": "Chicago-45Z-2381", + "Manufacturer": "Contoso", + "Model": "3500RX", + "SKU": "8675309", + "SerialNumber": "437XR1138R2", + "PartNumber": "224071-J23", + "PowerState": "On", + "IndicatorLED": "Lit", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/Switch1/Thermal" + }, + "Power": { + "@odata.id": "/redfish/v1/Chassis/Switch1/Power" + }, + "Links": { + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/Switch1" + }, + { + "@odata.id": "/redfish/v1/Managers/Switch2" + } + ], + "ManagersInChassis": [ + { + "@odata.id": "/redfish/v1/Managers/Switch1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/Switch1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Chassis/Switch2/Power/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Chassis/Switch2/Power/index.json new file mode 100644 index 00000000..937e5e72 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Chassis/Switch2/Power/index.json @@ -0,0 +1,53 @@ +{ + "@odata.type": "#Power.v1_7_3.Power", + "Id": "Power", + "Name": "Power", + "PowerControl": [], + "Voltages": [], + "PowerSupplies": [ + { + "@odata.id": "/redfish/v1/Chassis/Switch2/Power#/PowerSupplies/0", + "MemberId": "0", + "Name": "Power Supply Bay", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PowerSupplyType": "AC", + "LineInputVoltageType": "ACWideRange", + "LineInputVoltage": 120, + "PowerCapacityWatts": 800, + "LastPowerOutputWatts": 325, + "Model": "499253-B21", + "Manufacturer": "ManufacturerName", + "FirmwareVersion": "1.00", + "SerialNumber": "1Z0000001", + "PartNumber": "0000001A3A", + "SparePartNumber": "0000001A3A", + "InputRanges": [ + { + "InputType": "AC", + "MinimumVoltage": 100, + "MaximumVoltage": 120, + "OutputWattage": 800 + }, + { + "InputType": "AC", + "MinimumVoltage": 200, + "MaximumVoltage": 240, + "OutputWattage": 1300 + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/Switch2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch2" + } + ] + } + ], + "@odata.id": "/redfish/v1/Chassis/Switch2/Power", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Chassis/Switch2/Thermal/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Chassis/Switch2/Thermal/index.json new file mode 100644 index 00000000..82d64925 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Chassis/Switch2/Thermal/index.json @@ -0,0 +1,161 @@ +{ + "@odata.type": "#Thermal.v1_7_3.Thermal", + "Id": "Thermal", + "Name": "Thermal", + "Temperatures": [ + { + "@odata.id": "/redfish/v1/Chassis/Switch2/Thermal#/Temperatures/0", + "MemberId": "0", + "Name": "Management Processor Temp", + "SensorNumber": 1, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 39, + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 45, + "UpperThresholdFatal": 48, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 60, + "PhysicalContext": "CPU", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Managers/Switch2" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/Switch2/Thermal#/Temperatures/1", + "MemberId": "1", + "Name": "Expander Temp", + "SensorNumber": 2, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 40, + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 45, + "UpperThresholdFatal": 48, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 60, + "PhysicalContext": "CPU", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch2" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/Switch2/Thermal#/Temperatures/2", + "MemberId": "2", + "Name": "Chassis Intake Temp", + "SensorNumber": 3, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 25, + "UpperThresholdNonCritical": 30, + "UpperThresholdCritical": 40, + "UpperThresholdFatal": 50, + "LowerThresholdNonCritical": 10, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 0, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 60, + "PhysicalContext": "Intake", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/Switch2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch2" + } + ] + } + ], + "Fans": [ + { + "@odata.id": "/redfish/v1/Chassis/Switch2/Thermal#/Fans/0", + "MemberId": "0", + "Name": "BaseBoard System Fan", + "PhysicalContext": "Backplane", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2100, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 0, + "MinReadingRange": 0, + "MaxReadingRange": 5000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/Switch2/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/Switch2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch2" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/Switch2/Thermal#/Fans/1", + "MemberId": "1", + "Name": "BaseBoard System Fan Backup", + "PhysicalContext": "Backplane", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2050, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 0, + "MinReadingRange": 0, + "MaxReadingRange": 5000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/Switch2/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/Switch2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch2" + } + ] + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/Switch2/Thermal#/Redundancy/0", + "MemberId": "0", + "Name": "BaseBoard System Fans", + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Chassis/Switch2/Thermal#/Fans/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/Switch2/Thermal#/Fans/1" + } + ], + "Mode": "N+m", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MinNumNeeded": 1, + "MaxNumSupported": 2 + } + ], + "@odata.id": "/redfish/v1/Chassis/Switch2/Thermal", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Chassis/Switch2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Chassis/Switch2/index.json new file mode 100644 index 00000000..e3b037e1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Chassis/Switch2/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "Switch2", + "Name": "SAS Switch Chassis", + "ChassisType": "RackMount", + "AssetTag": "Chicago-45Z-2381", + "Manufacturer": "Contoso", + "Model": "3500RX", + "SKU": "8675309", + "SerialNumber": "437XR1138R3", + "PartNumber": "224071-J23", + "PowerState": "On", + "IndicatorLED": "Lit", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/Switch2/Thermal" + }, + "Power": { + "@odata.id": "/redfish/v1/Chassis/Switch2/Power" + }, + "Links": { + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/Switch1" + }, + { + "@odata.id": "/redfish/v1/Managers/Switch2" + } + ], + "ManagersInChassis": [ + { + "@odata.id": "/redfish/v1/Managers/Switch2" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/Switch2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Chassis/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Chassis/index.json new file mode 100644 index 00000000..a8c1ab5c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Chassis/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#ChassisCollection.ChassisCollection", + "Name": "Chassis Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/Switch1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Switch2" + } + ], + "@odata.id": "/redfish/v1/Chassis", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/EventService/SubmitTestEventActionInfo/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/EventService/SubmitTestEventActionInfo/index.json new file mode 100644 index 00000000..44abc4f3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/EventService/SubmitTestEventActionInfo/index.json @@ -0,0 +1,62 @@ +{ + "@odata.type": "#ActionInfo.v1_6_0.ActionInfo", + "Id": "SubmitTestEventActionInfo", + "Name": "SubmitTestEvent Action Info", + "Parameters": [ + { + "Name": "EventType", + "Required": false, + "DataType": "String", + "AllowableValues": [ + "StatusChange", + "ResourceUpdated", + "ResourceAdded", + "ResourceRemoved", + "Alert", + "Other" + ] + }, + { + "Name": "EventId", + "Required": false, + "DataType": "String" + }, + { + "Name": "EventTimestamp", + "Required": false, + "DataType": "String" + }, + { + "Name": "Severity", + "Required": false, + "DataType": "String" + }, + { + "Name": "Message", + "Required": false, + "DataType": "String" + }, + { + "Name": "MessageId", + "Required": true, + "DataType": "String" + }, + { + "Name": "MessageArgs", + "Required": false, + "DataType": "StringArray" + }, + { + "Name": "OriginOfCondition", + "Required": false, + "DataType": "String" + }, + { + "Name": "EventGroupId", + "Required": false, + "DataType": "Number" + } + ], + "@odata.id": "/redfish/v1/EventService/SubmitTestEventActionInfo", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/EventService/Subscriptions/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/EventService/Subscriptions/1/index.json new file mode 100644 index 00000000..4cf433da --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/EventService/Subscriptions/1/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#EventDestination.v1_17_1.EventDestination", + "Id": "1", + "Name": "EventSubscription 1", + "Destination": "http://www.dnsname.com/Destination1", + "EventTypes": [ + "Alert" + ], + "Context": "WebUser3", + "Protocol": "Redfish", + "SubscriptionType": "RedfishEvent", + "@odata.id": "/redfish/v1/EventService/Subscriptions/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/EventService/Subscriptions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/EventService/Subscriptions/index.json new file mode 100644 index 00000000..50ce173e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/EventService/Subscriptions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#EventDestinationCollection.EventDestinationCollection", + "Name": "Event Subscriptions Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/EventService/Subscriptions/1" + } + ], + "@odata.id": "/redfish/v1/EventService/Subscriptions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/EventService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/EventService/index.json new file mode 100644 index 00000000..ebb7d2fb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/EventService/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#EventService.v1_12_0.EventService", + "Id": "EventService", + "Name": "Event Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "DeliveryRetryAttempts": 3, + "DeliveryRetryIntervalSeconds": 60, + "EventTypesForSubscription": [ + "StatusChange", + "ResourceUpdated", + "ResourceAdded", + "ResourceRemoved", + "Alert" + ], + "Subscriptions": { + "@odata.id": "/redfish/v1/EventService/Subscriptions" + }, + "Actions": { + "#EventService.SubmitTestEvent": { + "target": "/redfish/v1/EventService/Actions/EventService.SubmitTestEvent", + "@Redfish.ActionInfo": "/redfish/v1/EventService/SubmitTestEventActionInfo" + } + }, + "@odata.id": "/redfish/v1/EventService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/Drive1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/Drive1/index.json new file mode 100644 index 00000000..b323bb20 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/Drive1/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Endpoint.v1_8_2.Endpoint", + "Id": "Drive1", + "Name": "SAS Drive", + "Description": "The SAS Drive in Enclosure 2 Bay 0", + "EndpointProtocol": "SAS", + "ConnectedEntities": [ + { + "EntityType": "Drive", + "EntityRole": "Target", + "Identifiers": [ + { + "DurableNameFormat": "NAA", + "DurableName": "32ADF365C6C1B7C3" + } + ] + } + ], + "Links": { + "MutuallyExclusiveEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Enclosure2" + } + ], + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1/Ports/8" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch2/Ports/8" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Drive1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/Drive2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/Drive2/index.json new file mode 100644 index 00000000..19695674 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/Drive2/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Endpoint.v1_8_2.Endpoint", + "Id": "Drive2", + "Name": "SAS Drive", + "Description": "The SAS Drive in Enclosure 2 Bay 1", + "EndpointProtocol": "SAS", + "ConnectedEntities": [ + { + "EntityType": "Drive", + "EntityRole": "Target", + "Identifiers": [ + { + "DurableNameFormat": "NAA", + "DurableName": "32ADF365C6C1B7C4" + } + ] + } + ], + "Links": { + "MutuallyExclusiveEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Enclosure2" + } + ], + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1/Ports/8" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch2/Ports/8" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Drive2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/Drive3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/Drive3/index.json new file mode 100644 index 00000000..b2f51a5a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/Drive3/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Endpoint.v1_8_2.Endpoint", + "Id": "Drive3", + "Name": "SAS Drive", + "Description": "The Empty Enclosure 2 Bay 2", + "EndpointProtocol": "SAS", + "ConnectedEntities": [ + { + "EntityType": "Drive", + "EntityRole": "Target", + "Identifiers": [] + } + ], + "Links": { + "MutuallyExclusiveEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Enclosure2" + } + ], + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1/Ports/8" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch2/Ports/8" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Drive3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/Drive4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/Drive4/index.json new file mode 100644 index 00000000..6c65da64 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/Drive4/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Endpoint.v1_8_2.Endpoint", + "Id": "Drive4", + "Name": "SAS Drive", + "Description": "The Empty Enclosure 2 Bay 3", + "EndpointProtocol": "SAS", + "ConnectedEntities": [ + { + "EntityType": "Drive", + "EntityRole": "Target", + "Identifiers": [] + } + ], + "Links": { + "MutuallyExclusiveEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Enclosure2" + } + ], + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1/Ports/8" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch2/Ports/8" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Drive4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/Enclosure1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/Enclosure1/index.json new file mode 100644 index 00000000..c050317c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/Enclosure1/index.json @@ -0,0 +1,61 @@ +{ + "@odata.type": "#Endpoint.v1_8_2.Endpoint", + "Id": "Enclosure1", + "Name": "SAS Enclosure", + "Description": "A non-zoning capable SAS Enclosure", + "EndpointProtocol": "SAS", + "ConnectedEntities": [ + { + "EntityType": "StorageExpander", + "EntityRole": null, + "Identifiers": [ + { + "DurableNameFormat": "NAA", + "DurableName": "32ADF365C6C1B7BF" + } + ] + }, + { + "EntityType": "Drive", + "EntityRole": "Target", + "Identifiers": [ + { + "DurableNameFormat": "NAA", + "DurableName": "32ADF365C6C1B7C0" + } + ] + }, + { + "EntityType": "Drive", + "EntityRole": "Target", + "Identifiers": [ + { + "DurableNameFormat": "NAA", + "DurableName": "32ADF365C6C1B7C1" + } + ] + }, + { + "EntityType": "Drive", + "EntityRole": "Target", + "Identifiers": [] + }, + { + "EntityType": "Drive", + "EntityRole": "Target", + "Identifiers": [] + } + ], + "Links": { + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1/Ports/7" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch2/Ports/7" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Enclosure1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/Enclosure2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/Enclosure2/index.json new file mode 100644 index 00000000..c530ba02 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/Enclosure2/index.json @@ -0,0 +1,75 @@ +{ + "@odata.type": "#Endpoint.v1_8_2.Endpoint", + "Id": "Enclosure2", + "Name": "SAS Enclosure", + "Description": "A zoning capable SAS Enclosure", + "EndpointProtocol": "SAS", + "ConnectedEntities": [ + { + "EntityType": "StorageExpander", + "EntityRole": null, + "Identifiers": [ + { + "DurableNameFormat": "NAA", + "DurableName": "32ADF365C6C1B7C2" + } + ] + }, + { + "EntityType": "Drive", + "EntityRole": "Target", + "Identifiers": [ + { + "DurableNameFormat": "NAA", + "DurableName": "32ADF365C6C1B7C3" + } + ] + }, + { + "EntityType": "Drive", + "EntityRole": "Target", + "Identifiers": [ + { + "DurableNameFormat": "NAA", + "DurableName": "32ADF365C6C1B7C4" + } + ] + }, + { + "EntityType": "Drive", + "EntityRole": "Target", + "Identifiers": [] + }, + { + "EntityType": "Drive", + "EntityRole": "Target", + "Identifiers": [] + } + ], + "Links": { + "MutuallyExclusiveEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Drive1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Drive2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Drive3" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Drive4" + } + ], + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1/Ports/8" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch2/Ports/8" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Enclosure2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/Initiator1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/Initiator1/index.json new file mode 100644 index 00000000..7575d233 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/Initiator1/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Endpoint.v1_8_2.Endpoint", + "Id": "Initiator1", + "Name": "SAS RAID Controller 1", + "Description": "SAS RAID Controller 1", + "EndpointProtocol": "SAS", + "ConnectedEntities": [ + { + "EntityType": "StorageInitiator", + "EntityRole": "Initiator", + "Identifiers": [ + { + "DurableNameFormat": "NAA", + "DurableName": "32ADF365C6C1B7BD" + } + ] + } + ], + "Links": { + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1/Ports/1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch2/Ports/1" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Initiator1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/Initiator2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/Initiator2/index.json new file mode 100644 index 00000000..76bc3665 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/Initiator2/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Endpoint.v1_8_2.Endpoint", + "Id": "Initiator2", + "Name": "SAS RAID Controller 2", + "Description": "SAS RAID Controller 2", + "EndpointProtocol": "SAS", + "ConnectedEntities": [ + { + "EntityType": "StorageInitiator", + "EntityRole": "Initiator", + "Identifiers": [ + { + "DurableNameFormat": "NAA", + "DurableName": "32ADF365C6C1B7BE" + } + ] + } + ], + "Links": { + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1/Ports/2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch2/Ports/2" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Initiator2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/TapeDrive/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/TapeDrive/index.json new file mode 100644 index 00000000..e9f8a586 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/TapeDrive/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#Endpoint.v1_8_2.Endpoint", + "Id": "TapeDrive", + "Name": "SAS Tape Drive", + "Description": "A SAS Tape Drive", + "EndpointProtocol": "SAS", + "ConnectedEntities": [ + { + "EntityRole": "Target", + "Identifiers": [ + { + "DurableNameFormat": "NAA", + "DurableName": "32ADF365C6C1B7C4" + } + ] + } + ], + "Links": { + "ConnectedPorts": [ + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1/Ports/8" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch2/Ports/8" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/TapeDrive", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/index.json new file mode 100644 index 00000000..d05e4e0a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Endpoints/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#EndpointCollection.EndpointCollection", + "Name": "SAS Endpoint Collection", + "Members@odata.count": 9, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Initiator1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Initiator2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Enclosure1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Enclosure2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Drive1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Drive2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Drive3" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Drive4" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/TapeDrive" + } + ], + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/Ports/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/Ports/1/index.json new file mode 100644 index 00000000..3907d63a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/Ports/1/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "1", + "Name": "SAS Port 1", + "Description": "SAS Port 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "1", + "PortProtocol": "SAS", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 48, + "Width": 4, + "MaxSpeedGbps": 48, + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Initiator1" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1/Ports/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/Ports/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/Ports/2/index.json new file mode 100644 index 00000000..e56392f6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/Ports/2/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "2", + "Name": "SAS Port 2", + "Description": "SAS Port 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "2", + "PortProtocol": "SAS", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 24, + "Width": 4, + "MaxSpeedGbps": 48, + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Initiator2" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1/Ports/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/Ports/3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/Ports/3/index.json new file mode 100644 index 00000000..875b601d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/Ports/3/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "3", + "Name": "SAS Port 3", + "Description": "SAS Port 3", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "3", + "PortProtocol": "SAS", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 48, + "Width": 4, + "MaxSpeedGbps": 48, + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1/Ports/3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/Ports/4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/Ports/4/index.json new file mode 100644 index 00000000..0780eda2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/Ports/4/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "4", + "Name": "SAS Port 4", + "Description": "SAS Port 4", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "4", + "PortProtocol": "SAS", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 48, + "Width": 4, + "MaxSpeedGbps": 48, + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1/Ports/4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/Ports/5/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/Ports/5/index.json new file mode 100644 index 00000000..31396057 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/Ports/5/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "5", + "Name": "SAS Port 5", + "Description": "SAS Port 5", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "5", + "PortProtocol": "SAS", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 48, + "Width": 4, + "MaxSpeedGbps": 48, + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1/Ports/5", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/Ports/6/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/Ports/6/index.json new file mode 100644 index 00000000..6641c42d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/Ports/6/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "6", + "Name": "SAS Port 6", + "Description": "SAS Port 6", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "6", + "PortProtocol": "SAS", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 48, + "Width": 4, + "MaxSpeedGbps": 48, + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/TapeDrive" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1/Ports/6", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/Ports/7/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/Ports/7/index.json new file mode 100644 index 00000000..f1c35cf9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/Ports/7/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "7", + "Name": "SAS Port 7", + "Description": "SAS Port 7", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "7", + "PortProtocol": "SAS", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 48, + "Width": 4, + "MaxSpeedGbps": 48, + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Enclosure1" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1/Ports/7", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/Ports/8/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/Ports/8/index.json new file mode 100644 index 00000000..3e562efc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/Ports/8/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "8", + "Name": "SAS Port 8", + "Description": "SAS Port 8", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "8", + "PortProtocol": "SAS", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 48, + "Width": 4, + "MaxSpeedGbps": 48, + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Enclosure2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Drive1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Drive2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Drive3" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Drive4" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1/Ports/8", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/Ports/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/Ports/index.json new file mode 100644 index 00000000..fcea0332 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/Ports/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "SAS Port Collection", + "Members@odata.count": 8, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1/Ports/1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1/Ports/2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1/Ports/3" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1/Ports/4" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1/Ports/5" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1/Ports/6" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1/Ports/7" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1/Ports/8" + } + ], + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1/Ports", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/index.json new file mode 100644 index 00000000..f6b160bf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch1/index.json @@ -0,0 +1,60 @@ +{ + "@odata.type": "#Switch.v1_11_0.Switch", + "Id": "Switch1", + "Name": "SAS Switch", + "SwitchType": "SAS", + "Manufacturer": "Contoso", + "Model": "SAS1000", + "SKU": "67B", + "SerialNumber": "2M220100SL", + "PartNumber": "76-88883", + "Ports": { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1/Ports" + }, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1#/Redundancy/0", + "MemberId": "0", + "Name": "Switch Redundancy", + "Mode": "Sharing", + "MaxNumSupported": 2, + "MinNumNeeded": 1, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch2" + } + ] + } + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/Switch1" + }, + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/Switch1" + }, + { + "@odata.id": "/redfish/v1/Managers/Switch2" + } + ] + }, + "Actions": { + "#Switch.Reset": { + "target": "/redfish/v1/Fabrics/SAS/Switches/Switch1/Actions/Switch.Reset", + "ResetType@Redfish.AllowableValues": [ + "ForceRestart", + "GracefulRestart" + ] + } + }, + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/Ports/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/Ports/1/index.json new file mode 100644 index 00000000..0cd4d6b7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/Ports/1/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "1", + "Name": "SAS Port 1", + "Description": "SAS Port 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "1", + "PortProtocol": "SAS", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 48, + "Width": 4, + "MaxSpeedGbps": 48, + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Initiator1" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch2/Ports/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/Ports/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/Ports/2/index.json new file mode 100644 index 00000000..5f6207dc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/Ports/2/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "2", + "Name": "SAS Port 2", + "Description": "SAS Port 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "2", + "PortProtocol": "SAS", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 24, + "Width": 4, + "MaxSpeedGbps": 48, + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Initiator2" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch2/Ports/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/Ports/3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/Ports/3/index.json new file mode 100644 index 00000000..7ed96963 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/Ports/3/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "3", + "Name": "SAS Port 3", + "Description": "SAS Port 3", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "3", + "PortProtocol": "SAS", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 48, + "Width": 4, + "MaxSpeedGbps": 48, + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch2/Ports/3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/Ports/4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/Ports/4/index.json new file mode 100644 index 00000000..741b3b05 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/Ports/4/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "4", + "Name": "SAS Port 4", + "Description": "SAS Port 4", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "4", + "PortProtocol": "SAS", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 48, + "Width": 4, + "MaxSpeedGbps": 48, + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch2/Ports/4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/Ports/5/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/Ports/5/index.json new file mode 100644 index 00000000..b1aca40a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/Ports/5/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "5", + "Name": "SAS Port 5", + "Description": "SAS Port 5", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "5", + "PortProtocol": "SAS", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 48, + "Width": 4, + "MaxSpeedGbps": 48, + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch2/Ports/5", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/Ports/6/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/Ports/6/index.json new file mode 100644 index 00000000..1b0f28ed --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/Ports/6/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "6", + "Name": "SAS Port 6", + "Description": "SAS Port 6", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "6", + "PortProtocol": "SAS", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 48, + "Width": 4, + "MaxSpeedGbps": 48, + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/TapeDrive" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch2/Ports/6", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/Ports/7/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/Ports/7/index.json new file mode 100644 index 00000000..234ed32b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/Ports/7/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "7", + "Name": "SAS Port 7", + "Description": "SAS Port 7", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "7", + "PortProtocol": "SAS", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 48, + "Width": 4, + "MaxSpeedGbps": 48, + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Enclosure1" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch2/Ports/7", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/Ports/8/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/Ports/8/index.json new file mode 100644 index 00000000..79a59903 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/Ports/8/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "8", + "Name": "SAS Port 8", + "Description": "SAS Port 8", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "8", + "PortProtocol": "SAS", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 48, + "Width": 4, + "MaxSpeedGbps": 48, + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Enclosure2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Drive1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Drive2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Drive3" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Drive4" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch2/Ports/8", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/Ports/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/Ports/index.json new file mode 100644 index 00000000..74c9786a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/Ports/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "SAS Port Collection", + "Members@odata.count": 8, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch2/Ports/1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch2/Ports/2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch2/Ports/3" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch2/Ports/4" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch2/Ports/5" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch2/Ports/6" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch2/Ports/7" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch2/Ports/8" + } + ], + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch2/Ports", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/index.json new file mode 100644 index 00000000..b3a22050 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/Switch2/index.json @@ -0,0 +1,60 @@ +{ + "@odata.type": "#Switch.v1_11_0.Switch", + "Id": "Switch2", + "Name": "SAS Switch", + "SwitchType": "SAS", + "Manufacturer": "Contoso", + "Model": "SAS1000", + "SKU": "67C", + "SerialNumber": "2M220100SM", + "PartNumber": "76-88883", + "Ports": { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch2/Ports" + }, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch2#/Redundancy/0", + "MemberId": "0", + "Name": "Switch Redundancy", + "Mode": "Sharing", + "MaxNumSupported": 2, + "MinNumNeeded": 1, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch2" + } + ] + } + ], + "Links": { + "Chassis": { + "@odata.id": "/redfish/v1/Chassis/Switch2" + }, + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/Switch1" + }, + { + "@odata.id": "/redfish/v1/Managers/Switch2" + } + ] + }, + "Actions": { + "#Switch.Reset": { + "target": "/redfish/v1/Fabrics/SAS/Switches/Switch2/Actions/Switch.Reset", + "ResetType@Redfish.AllowableValues": [ + "ForceRestart", + "GracefulRestart" + ] + } + }, + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/index.json new file mode 100644 index 00000000..eba7f550 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Switches/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#SwitchCollection.SwitchCollection", + "Name": "Switch Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch2" + } + ], + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Zones/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Zones/1/index.json new file mode 100644 index 00000000..458efa41 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Zones/1/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#Zone.v1_6_3.Zone", + "Id": "1", + "Name": "SAS Zone 1", + "Description": "SAS Zone 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Initiator1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Initiator2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Drive1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Drive3" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/SAS/Zones/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Zones/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Zones/2/index.json new file mode 100644 index 00000000..4fcc6afc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Zones/2/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Zone.v1_6_3.Zone", + "Id": "2", + "Name": "SAS Zone 2", + "Description": "SAS Zone 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Initiator1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Enclosure1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/TapeDrive" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/SAS/Zones/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Zones/3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Zones/3/index.json new file mode 100644 index 00000000..c1ea7bdc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Zones/3/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Zone.v1_6_3.Zone", + "Id": "3", + "Name": "SAS Zone 3", + "Description": "SAS Zone 3", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Initiator2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Drive2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Drive4" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/SAS/Zones/3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Zones/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Zones/index.json new file mode 100644 index 00000000..de493ee7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/Zones/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#ZoneCollection.ZoneCollection", + "Name": "SAS Zone Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Zones/1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Zones/2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/SAS/Zones/3" + } + ], + "@odata.id": "/redfish/v1/Fabrics/SAS/Zones", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/index.json new file mode 100644 index 00000000..b442fa42 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/SAS/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#Fabric.v1_4_0.Fabric", + "Id": "SAS", + "Name": "SAS Fabric", + "FabricType": "SAS", + "Description": "A SAS Fabric with redundant switches connected to two initiators", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Zones": { + "@odata.id": "/redfish/v1/Fabrics/SAS/Zones" + }, + "Endpoints": { + "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints" + }, + "Switches": { + "@odata.id": "/redfish/v1/Fabrics/SAS/Switches" + }, + "@odata.id": "/redfish/v1/Fabrics/SAS", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/index.json new file mode 100644 index 00000000..04a3e782 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Fabrics/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#FabricCollection.FabricCollection", + "Name": "Fabric Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/SAS" + } + ], + "@odata.id": "/redfish/v1/Fabrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch1/EthernetInterfaces/Dedicated/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch1/EthernetInterfaces/Dedicated/index.json new file mode 100644 index 00000000..94b9e0ad --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch1/EthernetInterfaces/Dedicated/index.json @@ -0,0 +1,59 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "Dedicated", + "Name": "Manager Ethernet Interface", + "Description": "Management Network Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:33:CF:EA", + "MACAddress": "23:11:8A:33:CF:EA", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "switch1-manage", + "FQDN": "switch1-manage.dmtf.org", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.0.1" + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred" + } + ], + "NameServers": [ + "names.dmtf.org" + ], + "@odata.id": "/redfish/v1/Managers/Switch1/EthernetInterfaces/Dedicated", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch1/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch1/EthernetInterfaces/index.json new file mode 100644 index 00000000..65239d09 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch1/EthernetInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Network Interface Collection", + "Description": "Collection of EthernetInterfaces for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/Switch1/EthernetInterfaces/Dedicated" + } + ], + "@odata.id": "/redfish/v1/Managers/Switch1/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch1/LogServices/Log/Entries/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch1/LogServices/Log/Entries/1/index.json new file mode 100644 index 00000000..4cb82fa0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch1/LogServices/Log/Entries/1/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "Event", + "Severity": "OK", + "Created": "2012-03-07T14:44:00Z", + "SensorNumber": 1, + "Message": "Log Cleared", + "MessageId": "Event.1.0.LogClear", + "MessageArgs": [], + "Username": "admin", + "UserAuthenticationSource": "/redfish/v1/AccountService", + "@odata.id": "/redfish/v1/Managers/Switch1/LogServices/Log/Entries/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch1/LogServices/Log/Entries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch1/LogServices/Log/Entries/index.json new file mode 100644 index 00000000..58698cbc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch1/LogServices/Log/Entries/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/Switch1/LogServices/Log/Entries/1", + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "Event", + "Severity": "OK", + "Created": "2012-03-07T14:44:00Z", + "SensorNumber": 1, + "Message": "Log Cleared", + "MessageId": "Event.1.0.LogClear", + "MessageArgs": [], + "Username": "admin", + "UserAuthenticationSource": "/redfish/v1/AccountService" + } + ], + "@odata.id": "/redfish/v1/Managers/Switch1/LogServices/Log/Entries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch1/LogServices/Log/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch1/LogServices/Log/index.json new file mode 100644 index 00000000..ffa7d011 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch1/LogServices/Log/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#LogService.v1_9_0.LogService", + "Id": "Log", + "Name": "System Log Service", + "MaxNumberOfRecords": 1000, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Managers/Switch1/LogServices/Log/Actions/LogService.ClearLog" + } + }, + "Entries": { + "@odata.id": "/redfish/v1/Managers/Switch1/LogServices/Log/Entries" + }, + "@odata.id": "/redfish/v1/Managers/Switch1/LogServices/Log", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch1/LogServices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch1/LogServices/index.json new file mode 100644 index 00000000..43244382 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch1/LogServices/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Description": "Collection of Log Services for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/Switch1/LogServices/Log" + } + ], + "@odata.id": "/redfish/v1/Managers/Switch1/LogServices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch1/NetworkProtocol/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch1/NetworkProtocol/index.json new file mode 100644 index 00000000..36c5d183 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch1/NetworkProtocol/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#ManagerNetworkProtocol.v1_14_0.ManagerNetworkProtocol", + "Id": "NetworkProtocol", + "Name": "Manager Network Protocol", + "Description": "Manager Network Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "HostName": "switch1-manage", + "FQDN": "switch1-manage.dmtf.org", + "HTTP": { + "ProtocolEnabled": true, + "Port": 80 + }, + "HTTPS": { + "ProtocolEnabled": true, + "Port": 443 + }, + "SSH": { + "ProtocolEnabled": true, + "Port": 22 + }, + "Telnet": { + "ProtocolEnabled": false, + "Port": 23 + }, + "@odata.id": "/redfish/v1/Managers/Switch1/NetworkProtocol", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch1/index.json new file mode 100644 index 00000000..f581bc6a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch1/index.json @@ -0,0 +1,80 @@ +{ + "@odata.type": "#Manager.v1_25_0.Manager", + "Id": "Switch1", + "Name": "Manager", + "ManagerType": "ManagementController", + "Description": "SAS Switch Controller", + "ServiceEntryPointUUID": "92384634-2938-2342-8820-489239905423", + "UUID": "58893887-8974-2487-2389-841168418919", + "Model": "Joo Janta 200", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CommandShell": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 4, + "ConnectTypesSupported": [ + "Telnet", + "SSH" + ] + }, + "FirmwareVersion": "1.00", + "NetworkProtocol": { + "@odata.id": "/redfish/v1/Managers/Switch1/NetworkProtocol" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/Switch1/EthernetInterfaces" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Managers/Switch1/LogServices" + }, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Managers/Switch1#/Redundancy/0", + "MemberId": "0", + "Name": "Manager Redundancy", + "Mode": "Failover", + "MaxNumSupported": 2, + "MinNumNeeded": 1, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Managers/Switch1" + }, + { + "@odata.id": "/redfish/v1/Managers/Switch2" + } + ] + } + ], + "Links": { + "ManagerForChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Switch1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Switch2" + } + ], + "ManagerInChassis": { + "@odata.id": "/redfish/v1/Chassis/Switch1" + } + }, + "Actions": { + "#Manager.Reset": { + "target": "/redfish/v1/Managers/Switch1/Actions/Manager.Reset", + "ResetType@Redfish.AllowableValues": [ + "ForceRestart", + "GracefulRestart" + ] + } + }, + "@odata.id": "/redfish/v1/Managers/Switch1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch2/EthernetInterfaces/Dedicated/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch2/EthernetInterfaces/Dedicated/index.json new file mode 100644 index 00000000..bd39d19e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch2/EthernetInterfaces/Dedicated/index.json @@ -0,0 +1,59 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "Dedicated", + "Name": "Manager Ethernet Interface", + "Description": "Management Network Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:33:CF:EB", + "MACAddress": "23:11:8A:33:CF:EB", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "switch2-manage", + "FQDN": "switch2-manage.dmtf.org", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "IPv4Addresses": [ + { + "Address": "192.168.0.11", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.0.1" + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1fc1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6DefaultGateway": "fe80::1fc1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1fc1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred" + } + ], + "NameServers": [ + "names.dmtf.org" + ], + "@odata.id": "/redfish/v1/Managers/Switch2/EthernetInterfaces/Dedicated", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch2/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch2/EthernetInterfaces/index.json new file mode 100644 index 00000000..d2865204 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch2/EthernetInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Network Interface Collection", + "Description": "Collection of EthernetInterfaces for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/Switch2/EthernetInterfaces/Dedicated" + } + ], + "@odata.id": "/redfish/v1/Managers/Switch2/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch2/LogServices/Log/Entries/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch2/LogServices/Log/Entries/1/index.json new file mode 100644 index 00000000..f6d6123e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch2/LogServices/Log/Entries/1/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "Event", + "Severity": "OK", + "Created": "2012-03-07T14:44:00Z", + "SensorNumber": 1, + "Message": "Log Cleared", + "MessageId": "Event.1.0.LogClear", + "MessageArgs": [], + "Username": "admin@domain.com", + "UserAuthenticationSource": "https://ad-server.domain.com", + "@odata.id": "/redfish/v1/Managers/Switch2/LogServices/Log/Entries/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch2/LogServices/Log/Entries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch2/LogServices/Log/Entries/index.json new file mode 100644 index 00000000..befa5ed8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch2/LogServices/Log/Entries/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/Switch2/LogServices/Log/Entries/1", + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "Event", + "Severity": "OK", + "Created": "2012-03-07T14:44:00Z", + "SensorNumber": 1, + "Message": "Log Cleared", + "MessageId": "Event.1.0.LogClear", + "MessageArgs": [], + "Username": "admin@domain.com", + "UserAuthenticationSource": "https://ad-server.domain.com" + } + ], + "@odata.id": "/redfish/v1/Managers/Switch2/LogServices/Log/Entries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch2/LogServices/Log/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch2/LogServices/Log/index.json new file mode 100644 index 00000000..1473bf7f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch2/LogServices/Log/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#LogService.v1_9_0.LogService", + "Id": "Log", + "Name": "System Log Service", + "MaxNumberOfRecords": 1000, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Managers/Switch2/LogServices/Log/Actions/LogService.ClearLog" + } + }, + "Entries": { + "@odata.id": "/redfish/v1/Managers/Switch2/LogServices/Log/Entries" + }, + "@odata.id": "/redfish/v1/Managers/Switch2/LogServices/Log", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch2/LogServices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch2/LogServices/index.json new file mode 100644 index 00000000..91906710 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch2/LogServices/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Description": "Collection of Log Services for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/Switch2/LogServices/Log" + } + ], + "@odata.id": "/redfish/v1/Managers/Switch2/LogServices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch2/NetworkProtocol/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch2/NetworkProtocol/index.json new file mode 100644 index 00000000..a79908ab --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch2/NetworkProtocol/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#ManagerNetworkProtocol.v1_14_0.ManagerNetworkProtocol", + "Id": "NetworkProtocol", + "Name": "Manager Network Protocol", + "Description": "Manager Network Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "HostName": "switch2-manage", + "FQDN": "switch2-manage.dmtf.org", + "HTTP": { + "ProtocolEnabled": true, + "Port": 80 + }, + "HTTPS": { + "ProtocolEnabled": true, + "Port": 443 + }, + "SSH": { + "ProtocolEnabled": true, + "Port": 22 + }, + "Telnet": { + "ProtocolEnabled": false, + "Port": 23 + }, + "@odata.id": "/redfish/v1/Managers/Switch2/NetworkProtocol", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch2/index.json new file mode 100644 index 00000000..06ca8126 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/Switch2/index.json @@ -0,0 +1,80 @@ +{ + "@odata.type": "#Manager.v1_25_0.Manager", + "Id": "Switch2", + "Name": "Manager", + "ManagerType": "ManagementController", + "Description": "SAS Switch Controller", + "ServiceEntryPointUUID": "92384634-2938-2342-8820-489239905423", + "UUID": "58893887-8974-2487-2389-841168418919", + "Model": "Joo Janta 200", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CommandShell": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 4, + "ConnectTypesSupported": [ + "Telnet", + "SSH" + ] + }, + "FirmwareVersion": "1.00", + "NetworkProtocol": { + "@odata.id": "/redfish/v1/Managers/Switch2/NetworkProtocol" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/Switch2/EthernetInterfaces" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Managers/Switch2/LogServices" + }, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Managers/Switch2#/Redundancy/0", + "MemberId": "0", + "Name": "Manager Redundancy", + "Mode": "Failover", + "MaxNumSupported": 2, + "MinNumNeeded": 1, + "Status": { + "State": "StandbySpare", + "Health": "OK" + }, + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Managers/Switch1" + }, + { + "@odata.id": "/redfish/v1/Managers/Switch2" + } + ] + } + ], + "Links": { + "ManagerForChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Switch1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Switch2" + } + ], + "ManagerInChassis": { + "@odata.id": "/redfish/v1/Chassis/Switch2" + } + }, + "Actions": { + "#Manager.Reset": { + "target": "/redfish/v1/Managers/Switch2/Actions/Manager.Reset", + "ResetType@Redfish.AllowableValues": [ + "ForceRestart", + "GracefulRestart" + ] + } + }, + "@odata.id": "/redfish/v1/Managers/Switch2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/index.json new file mode 100644 index 00000000..3225fb86 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/Managers/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#ManagerCollection.ManagerCollection", + "Name": "Manager Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/Switch1" + }, + { + "@odata.id": "/redfish/v1/Managers/Switch2" + } + ], + "@odata.id": "/redfish/v1/Managers", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/SessionService/Sessions/1234567890ABCDEF/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/SessionService/Sessions/1234567890ABCDEF/index.json new file mode 100644 index 00000000..90844a1b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/SessionService/Sessions/1234567890ABCDEF/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#Session.v1_9_0.Session", + "Id": "1234567890ABCDEF", + "Name": "User Session", + "Description": "Manager User Session", + "UserName": "Administrator", + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/SessionService/Sessions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/SessionService/Sessions/index.json new file mode 100644 index 00000000..8d8cdf58 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/SessionService/Sessions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SessionCollection.SessionCollection", + "Name": "Session Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF" + } + ], + "@odata.id": "/redfish/v1/SessionService/Sessions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/SessionService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/SessionService/index.json new file mode 100644 index 00000000..62a05690 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/SessionService/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#SessionService.v1_2_0.SessionService", + "Id": "SessionService", + "Name": "Session Service", + "Description": "Session Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "SessionTimeout": 30, + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + }, + "@odata.id": "/redfish/v1/SessionService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/TaskService/Tasks/545/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/TaskService/Tasks/545/index.json new file mode 100644 index 00000000..ef4dfe19 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/TaskService/Tasks/545/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#Task.v1_7_4.Task", + "Id": "545", + "Name": "Task 545", + "TaskState": "Completed", + "StartTime": "2012-03-07T14:44:00+06:00", + "EndTime": "2012-03-07T14:45:00+06:00", + "TaskStatus": "OK", + "Messages": [ + { + "MessageId": "Base.1.0.PropertyNotWritable", + "RelatedProperties": [ + "/SKU" + ], + "Message": "The property SKU is a read only property and cannot be assigned a value", + "MessageArgs": [ + "SKU" + ], + "Severity": "Warning" + } + ], + "@odata.id": "/redfish/v1/TaskService/Tasks/545", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/TaskService/Tasks/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/TaskService/Tasks/index.json new file mode 100644 index 00000000..cf1c32c8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/TaskService/Tasks/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#TaskCollection.TaskCollection", + "Name": "Task Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/TaskService/Tasks/545" + } + ], + "@odata.id": "/redfish/v1/TaskService/Tasks", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/TaskService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/TaskService/index.json new file mode 100644 index 00000000..d04a90b5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/TaskService/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#TaskService.v1_3_0.TaskService", + "Id": "TaskService", + "Name": "Tasks Service", + "DateTime": "2015-03-13T04:14:33+06:00", + "CompletedTaskOverWritePolicy": "Manual", + "LifeCycleEventOnTaskStateChange": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "Tasks": { + "@odata.id": "/redfish/v1/TaskService/Tasks" + }, + "@odata.id": "/redfish/v1/TaskService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/explorer_config.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/explorer_config.json new file mode 100644 index 00000000..77f68422 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/explorer_config.json @@ -0,0 +1,70 @@ +{ + "name": "SAS Fabric", + "description": "This example shows a more complex storage implementation using a pair of SAS switches, storage enclosures and multiple storage devices.", + "navlinks": [ + { + "text": "Main", + "target": "main" + }, + { + "text": "Fabrics", + "target": "Fabrics", + "navlinks": [ + { + "text": "SAS", + "target": "SAS" + } + ] + }, + { + "text": "Chassis", + "target": "Chassis", + "navlinks": [ + { + "text": "Switch 1", + "target": "Switch1" + }, + { + "text": "Switch 2", + "target": "Switch2" + } + ] + }, + { + "text": "Managers", + "target": "Managers", + "navlinks": [ + { + "text": "Switch 1 Manager", + "target": "Switch1" + }, + { + "text": "Switch 2 Manager", + "target": "Switch2" + } + ] + }, + { + "text": "Task Service", + "target": "TaskService" + }, + { + "text": "Session Service", + "target": "SessionService" + }, + { + "target": "AccountService", + "text": "Account Service" + }, + { + "target": "EventService", + "text": "Event Service", + "navlinks": [ + { + "text": "Subscriptions", + "target": "Subscriptions" + } + ] + } + ] +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/index.json new file mode 100644 index 00000000..a024b7b6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#ServiceRoot.v1_22_0.ServiceRoot", + "Id": "RootService", + "Name": "Root Service", + "RedfishVersion": "1.15.0", + "UUID": "92384634-2938-2342-8820-489239905423", + "ProtocolFeaturesSupported": { + "ExpandQuery": { + "ExpandAll": true, + "Levels": true, + "MaxLevels": 6, + "Links": true, + "NoLinks": true + }, + "SelectQuery": false, + "FilterQuery": false, + "OnlyMemberQuery": true, + "ExcerptQuery": true + }, + "Chassis": { + "@odata.id": "/redfish/v1/Chassis" + }, + "Managers": { + "@odata.id": "/redfish/v1/Managers" + }, + "Tasks": { + "@odata.id": "/redfish/v1/TaskService" + }, + "SessionService": { + "@odata.id": "/redfish/v1/SessionService" + }, + "AccountService": { + "@odata.id": "/redfish/v1/AccountService" + }, + "EventService": { + "@odata.id": "/redfish/v1/EventService" + }, + "Fabrics": { + "@odata.id": "/redfish/v1/Fabrics" + }, + "Links": { + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + } + }, + "@odata.id": "/redfish/v1/", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/odata/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/odata/index.json new file mode 100644 index 00000000..29b85946 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-sasfabric/odata/index.json @@ -0,0 +1,51 @@ +{ + "@odata.context": "/redfish/v1/$metadata", + "value": [ + { + "name": "Service", + "kind": "Singleton", + "url": "/redfish/v1/" + }, + { + "name": "Chassis", + "kind": "Singleton", + "url": "/redfish/v1/Chassis" + }, + { + "name": "Managers", + "kind": "Singleton", + "url": "/redfish/v1/Managers" + }, + { + "name": "TaskService", + "kind": "Singleton", + "url": "/redfish/v1/TaskService" + }, + { + "name": "AccountService", + "kind": "Singleton", + "url": "/redfish/v1/AccountService" + }, + { + "name": "SessionService", + "kind": "Singleton", + "url": "/redfish/v1/SessionService" + }, + { + "name": "EventService", + "kind": "Singleton", + "url": "/redfish/v1/EventService" + }, + { + "name": "Fabrics", + "kind": "Singleton", + "url": "/redfish/v1/Fabrics" + }, + { + "name": "Sessions", + "kind": "Singleton", + "url": "/redfish/v1/SessionService/Sessions" + } + ], + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/$metadata/index.xml b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/$metadata/index.xml new file mode 100644 index 00000000..1694cfef --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/$metadata/index.xml @@ -0,0 +1,217 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/AccountService/Accounts/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/AccountService/Accounts/1/index.json new file mode 100644 index 00000000..781c45c6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/AccountService/Accounts/1/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#ManagerAccount.v1_14_2.ManagerAccount", + "Id": "1", + "Name": "User Account", + "Description": "User Account", + "Enabled": true, + "Password": null, + "PasswordChangeRequired": false, + "AccountTypes": [ + "Redfish" + ], + "UserName": "Administrator", + "RoleId": "Administrator", + "Locked": false, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + } + }, + "@odata.id": "/redfish/v1/AccountService/Accounts/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/AccountService/Accounts/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/AccountService/Accounts/2/index.json new file mode 100644 index 00000000..c5d00d44 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/AccountService/Accounts/2/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#ManagerAccount.v1_14_2.ManagerAccount", + "Id": "2", + "Name": "Employee #457", + "Description": "This user is both a Redfish administrator and a SNMPv3 user.", + "Enabled": true, + "Password": null, + "UserName": "contoso_employee457", + "RoleId": "Administrator", + "Locked": false, + "AccountTypes": [ + "Redfish", + "SNMP" + ], + "SNMP": { + "AuthenticationKey": null, + "AuthenticationProtocol": "None", + "EncryptionKey": null, + "EncryptionProtocol": "CFB128_AES128" + }, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + } + }, + "@odata.id": "/redfish/v1/AccountService/Accounts/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/AccountService/Accounts/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/AccountService/Accounts/index.json new file mode 100644 index 00000000..f509d474 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/AccountService/Accounts/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerAccountCollection.ManagerAccountCollection", + "Name": "Accounts Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Accounts/1" + } + ], + "@odata.id": "/redfish/v1/AccountService/Accounts", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/AccountService/Roles/Administrator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/AccountService/Roles/Administrator/index.json new file mode 100644 index 00000000..19d26a98 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/AccountService/Roles/Administrator/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Administrator", + "Name": "User Role", + "Description": "Admin User Role", + "RoleId": "Administrator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureManager", + "ConfigureUsers", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [ + "OemClearLog", + "OemPowerControl" + ], + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/AccountService/Roles/Operator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/AccountService/Roles/Operator/index.json new file mode 100644 index 00000000..90804a6a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/AccountService/Roles/Operator/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Operator", + "Name": "User Role", + "Description": "Operator User Role", + "RoleId": "Operator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/Operator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/AccountService/Roles/ReadOnly/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/AccountService/Roles/ReadOnly/index.json new file mode 100644 index 00000000..1df0cf03 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/AccountService/Roles/ReadOnly/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "ReadOnly", + "Name": "User Role", + "Description": "ReadOnly User Role", + "RoleId": "ReadOnly", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/AccountService/Roles/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/AccountService/Roles/index.json new file mode 100644 index 00000000..ba9ee112 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/AccountService/Roles/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#RoleCollection.RoleCollection", + "Name": "Roles Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/Operator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly" + } + ], + "@odata.id": "/redfish/v1/AccountService/Roles", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/AccountService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/AccountService/index.json new file mode 100644 index 00000000..eb627494 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/AccountService/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#AccountService.v1_19_0.AccountService", + "Id": "AccountService", + "Name": "Account Service", + "Description": "Account Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "AuthFailureLoggingThreshold": 3, + "MinPasswordLength": 8, + "AccountLockoutThreshold": 5, + "AccountLockoutDuration": 30, + "AccountLockoutCounterResetAfter": 30, + "AccountLockoutCounterResetEnabled": true, + "Accounts": { + "@odata.id": "/redfish/v1/AccountService/Accounts" + }, + "Roles": { + "@odata.id": "/redfish/v1/AccountService/Roles" + }, + "@odata.id": "/redfish/v1/AccountService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/EnvironmentMetrics/index.json new file mode 100644 index 00000000..86208b96 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/EnvironmentMetrics/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Chassis Environment Metrics", + "TemperatureCelsius": { + "Reading": 39, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/CPU1Temp" + }, + "PowerWatts": { + "Reading": 374, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/TotalPower" + }, + "FanSpeedsPercent": [ + { + "DeviceName": "Chassis Fan #1", + "Reading": 45, + "SpeedRPM": 1900, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/FanBay1" + }, + { + "DeviceName": "Chassis Fan #2", + "Reading": 55, + "SpeedRPM": 2100, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/FanBay2" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Assembly/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Assembly/index.json new file mode 100644 index 00000000..ac3441cf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Assembly/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Assembly.v1_6_1.Assembly", + "Id": "Assembly", + "Name": "Power Supply-related Assembly data", + "Assemblies": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Assembly#/Assemblies/0", + "MemberId": "0", + "Name": "Contoso Power Supply", + "Model": "345TTT", + "PartNumber": "923943", + "SparePartNumber": "55-434", + "SKU": "55ZZATR", + "SerialNumber": "345394834", + "Vendor": "Contoso", + "ProductionDate": "2017-04-01T14:55:33+03:00", + "Producer": "Contoso Supply Co.", + "Version": "1.44B", + "EngineeringChangeLevel": "9", + "BinaryDataURI": "/dumpster/434" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Assembly", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Metrics/index.json new file mode 100644 index 00000000..9b70c742 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Metrics/index.json @@ -0,0 +1,85 @@ +{ + "@odata.type": "#PowerSupplyMetrics.v1_3_0.PowerSupplyMetrics", + "Id": "Metrics", + "Name": "Metrics for Power Supply 1", + "Status": { + "State": "Enabled", + "Health": "Warning" + }, + "InputVoltage": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1InputVoltage", + "Reading": 230.2 + }, + "InputCurrentAmps": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1InputCurrent", + "Reading": 5.19 + }, + "InputPowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1InputPower", + "Reading": 937.4 + }, + "RailVoltage": [ + { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1Out3V", + "Reading": 3.31 + }, + { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1Out5V", + "Reading": 5.03 + }, + { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1Out12V", + "Reading": 12.06 + } + ], + "RailCurrentAmps": [ + { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1Out3VCurrent", + "Reading": 9.84 + }, + { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1Out5VCurrent", + "Reading": 1.25 + }, + { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1Out12VCurrent", + "Reading": 2.58 + } + ], + "OutputPowerWatts": { + "Reading": 937.4 + }, + "RailPowerWatts": [ + { + "Reading": 79.84 + }, + { + "Reading": 26.25 + }, + { + "Reading": 91.58 + } + ], + "EnergykWh": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1Energy", + "Reading": 325675 + }, + "FrequencyHz": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1Frequency", + "Reading": 60 + }, + "TemperatureCelsius": { + "Reading": 43.9 + }, + "FanSpeedPercent": { + "Reading": 68, + "SpeedRPM": 3290 + }, + "Actions": { + "#PowerSupplyMetrics.ResetMetrics": { + "target": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Metrics/Actions/PowerSupplyMetrics.ResetMetrics" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/index.json new file mode 100644 index 00000000..52d5e54c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/index.json @@ -0,0 +1,87 @@ +{ + "@odata.type": "#PowerSupply.v1_8_0.PowerSupply", + "Id": "Bay1", + "Name": "Power Supply Bay 1", + "Status": { + "State": "Enabled", + "Health": "Warning" + }, + "Model": "RKS-440DC", + "Manufacturer": "Contoso Power", + "FirmwareVersion": "1.00", + "SerialNumber": "3488247", + "PartNumber": "23456-133", + "SparePartNumber": "93284-133", + "LocationIndicatorActive": false, + "HotPluggable": false, + "PowerCapacityWatts": 400, + "PhaseWiringType": "OnePhase3Wire", + "PlugType": "IEC_60320_C14", + "InputRanges": [ + { + "NominalVoltageType": "AC200To240V", + "CapacityWatts": 400 + }, + { + "NominalVoltageType": "AC120V", + "CapacityWatts": 350 + }, + { + "NominalVoltageType": "DC380V", + "CapacityWatts": 400 + } + ], + "EfficiencyRatings": [ + { + "LoadPercent": 25, + "EfficiencyPercent": 75 + }, + { + "LoadPercent": 50, + "EfficiencyPercent": 85 + }, + { + "LoadPercent": 90, + "EfficiencyPercent": 80 + } + ], + "OutputRails": [ + { + "NominalVoltage": 3.3, + "PhysicalContext": "SystemBoard" + }, + { + "NominalVoltage": 5, + "PhysicalContext": "SystemBoard" + }, + { + "NominalVoltage": 12, + "PhysicalContext": "StorageDevice" + } + ], + "Location": { + "PartLocation": { + "ServiceLabel": "PSU 1", + "LocationType": "Bay", + "LocationOrdinalValue": 0 + } + }, + "Links": { + "Outlet": { + "@odata.id": "https://redfishpdu.contoso.com/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/A4" + } + }, + "Assembly": { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Assembly" + }, + "Metrics": { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Metrics" + }, + "Actions": { + "#PowerSupply.Reset": { + "target": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Actions/PowerSupply.Reset" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/PowerSubsystem/PowerSupplies/Bay2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/PowerSubsystem/PowerSupplies/Bay2/index.json new file mode 100644 index 00000000..b8b4f076 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/PowerSubsystem/PowerSupplies/Bay2/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#PowerSupply.v1_8_0.PowerSupply", + "Id": "Bay2", + "Name": "Power Supply Bay 2", + "Status": { + "State": "Absent" + }, + "PowerSupplyType": "PSU", + "HotPluggable": false, + "Location": { + "PartLocation": { + "ServiceLabel": "PSU 2", + "LocationType": "Bay", + "LocationOrdinalValue": 1 + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/PowerSubsystem/PowerSupplies/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/PowerSubsystem/PowerSupplies/index.json new file mode 100644 index 00000000..9c87502c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/PowerSubsystem/PowerSupplies/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#PowerSupplyCollection.PowerSupplyCollection", + "Name": "Power Supply Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay2" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/PowerSubsystem/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/PowerSubsystem/index.json new file mode 100644 index 00000000..d1466f09 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/PowerSubsystem/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#PowerSubsystem.v1_2_0.PowerSubsystem", + "Id": "PowerSubsystem", + "Name": "Power Subsystem for Chassis", + "CapacityWatts": 2000, + "Allocation": { + "RequestedWatts": 1500, + "AllocatedWatts": 1200 + }, + "PowerSupplyRedundancy": [ + { + "RedundancyType": "Failover", + "MaxSupportedInGroup": 2, + "MinNeededInGroup": 1, + "RedundancyGroup": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay2" + } + ], + "Status": { + "State": "UnavailableOffline", + "Health": "OK" + } + } + ], + "PowerSupplies": { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies" + }, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/AmbientTemp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/AmbientTemp/index.json new file mode 100644 index 00000000..473a4d32 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/AmbientTemp/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "AmbientTemp", + "Name": "Ambient Temperature", + "PhysicalContext": "Room", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 22.5, + "ReadingUnits": "Cel", + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/AmbientTemp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/CPU1Power/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/CPU1Power/index.json new file mode 100644 index 00000000..66aac52a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/CPU1Power/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CPU1Power", + "Name": "Power reading for CPU #1", + "ReadingType": "Power", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 90, + "ReadingUnits": "W", + "Implementation": "Reported", + "ReadingTime": "2019-08-13T04:14:33+06:00", + "ReadingRangeMin": 0, + "ReadingRangeMax": 150, + "Accuracy": 0.2, + "Precision": 1, + "SensingInterval": "PT0.01S", + "PhysicalContext": "CPU", + "Thresholds": { + "UpperCriticalUser": { + "Reading": 115, + "Activation": "Increasing", + "DwellTime": "PT0.03S" + }, + "UpperCautionUser": { + "Reading": 82, + "DwellTime": "PT1S" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/CPU1Power", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/CPU1Temp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/CPU1Temp/index.json new file mode 100644 index 00000000..7a524f68 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/CPU1Temp/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CPU1Temp", + "Name": "CPU #1 Temperature", + "PhysicalContext": "CPU", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 37, + "ReadingUnits": "Cel", + "Thresholds": { + "UpperCaution": { + "Reading": 42, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperCautionUser": { + "Reading": 40 + }, + "UpperCriticalUser": { + "Reading": 45, + "DwellTime": "PT1M" + }, + "UpperCritical": { + "Reading": 45, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperFatal": { + "Reading": 50, + "DwellTime": "PT30S", + "Activation": "Increasing" + } + }, + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/CPU1Temp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/CPUFan1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/CPUFan1/index.json new file mode 100644 index 00000000..59717e59 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/CPUFan1/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CPUFan1", + "Name": "CPU #1 Fan Speed", + "PhysicalContext": "CPU", + "Reading": 80, + "ReadingRangeMax": 100, + "ReadingRangeMin": 0, + "ReadingType": "Percent", + "ReadingUnits": "%", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Thresholds": { + "LowerCaution": { + "Reading": 5 + }, + "LowerCritical": { + "Reading": 0 + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/CPUFan1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/CPUFan2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/CPUFan2/index.json new file mode 100644 index 00000000..8f1d8c9c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/CPUFan2/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CPUFan2", + "Name": "CPU #2 Fan Speed", + "PhysicalContext": "CPU", + "Reading": 60, + "ReadingRangeMax": 100, + "ReadingRangeMin": 0, + "ReadingType": "Percent", + "ReadingUnits": "%", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Thresholds": { + "LowerCaution": { + "Reading": 5 + }, + "LowerCritical": { + "Reading": 0 + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/CPUFan2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/DIMM1Temp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/DIMM1Temp/index.json new file mode 100644 index 00000000..11b64118 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/DIMM1Temp/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "DIMM1Temp", + "Name": "DIMM #1 Temperature", + "PhysicalContext": "Memory", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 44, + "ReadingUnits": "Cel", + "Thresholds": { + "UpperCaution": { + "Reading": 55, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperCautionUser": { + "Reading": 50 + }, + "UpperCriticalUser": { + "Reading": 60, + "DwellTime": "PT1M" + }, + "UpperCritical": { + "Reading": 65, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperFatal": { + "Reading": 75, + "DwellTime": "PT30S", + "Activation": "Increasing" + } + }, + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM1" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/DIMM1Temp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/DIMM2Temp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/DIMM2Temp/index.json new file mode 100644 index 00000000..fe2785ca --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/DIMM2Temp/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "DIMM2Temp", + "Name": "DIMM #2 Temperature", + "PhysicalContext": "Memory", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 44, + "ReadingUnits": "Cel", + "Thresholds": { + "UpperCaution": { + "Reading": 55, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperCautionUser": { + "Reading": 50 + }, + "UpperCriticalUser": { + "Reading": 60, + "DwellTime": "PT1M" + }, + "UpperCritical": { + "Reading": 65, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperFatal": { + "Reading": 75, + "DwellTime": "PT30S", + "Activation": "Increasing" + } + }, + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM2" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/DIMM2Temp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/DIMM3Temp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/DIMM3Temp/index.json new file mode 100644 index 00000000..a1204f57 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/DIMM3Temp/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "DIMM3Temp", + "Name": "DIMM #3 Temperature", + "PhysicalContext": "Memory", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 44, + "ReadingUnits": "Cel", + "Thresholds": { + "UpperCaution": { + "Reading": 55, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperCautionUser": { + "Reading": 50 + }, + "UpperCriticalUser": { + "Reading": 60, + "DwellTime": "PT1M" + }, + "UpperCritical": { + "Reading": 65, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperFatal": { + "Reading": 75, + "DwellTime": "PT30S", + "Activation": "Increasing" + } + }, + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM3" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/DIMM3Temp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/ExhaustTemp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/ExhaustTemp/index.json new file mode 100644 index 00000000..48af5269 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/ExhaustTemp/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "ExhaustTemp", + "Name": "Fan Bay #1 Exhaust Temperature", + "PhysicalContext": "Exhaust", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 40.5, + "ReadingUnits": "Cel", + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/ExhaustTemp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/FanBay1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/FanBay1/index.json new file mode 100644 index 00000000..21c1aaf8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/FanBay1/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "FanBay1", + "Name": "Chassis Fan #1", + "PhysicalContext": "Chassis", + "Reading": 45, + "ReadingRangeMax": 100, + "ReadingRangeMin": 0, + "ReadingType": "Percent", + "ReadingUnits": "%", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Thresholds": { + "LowerCaution": { + "Reading": 5 + }, + "LowerCritical": { + "Reading": 0 + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/FanBay1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/FanBay2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/FanBay2/index.json new file mode 100644 index 00000000..244a1ecb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/FanBay2/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "FanBay2", + "Name": "Chassis Fan #2", + "PhysicalContext": "Chassis", + "Reading": 45, + "ReadingRangeMax": 100, + "ReadingRangeMin": 0, + "ReadingType": "Percent", + "ReadingUnits": "%", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Thresholds": { + "LowerCaution": { + "Reading": 5 + }, + "LowerCritical": { + "Reading": 0 + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/FanBay2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/IntakeTemp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/IntakeTemp/index.json new file mode 100644 index 00000000..123cb985 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/IntakeTemp/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "IntakeTemp", + "Name": "Front Panel Intake Temperature", + "PhysicalContext": "Intake", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 24.8, + "ReadingUnits": "Cel", + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/IntakeTemp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1Energy/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1Energy/index.json new file mode 100644 index 00000000..10796971 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1Energy/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Energy", + "Name": "Power Supply #1 Energy", + "ReadingType": "EnergykWh", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 7855, + "ReadingUnits": "kW.h", + "PhysicalContext": "PowerSupply", + "Actions": { + "#Sensor.ResetMetrics": { + "target": "/redfish/v1/Chassis/1U/Sensors/PS1Energy/Actions/Sensor.ResetMetrics" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Energy", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1Frequency/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1Frequency/index.json new file mode 100644 index 00000000..773b3dd8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1Frequency/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Frequency", + "Name": "Power Supply #1 Frequency", + "ReadingType": "Frequency", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 60.1, + "ReadingUnits": "Hz", + "ReadingRangeMin": 0, + "ReadingRangeMax": 160, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "Thresholds": { + "UpperCritical": { + "Reading": 60.37, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 60.2, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 59.5, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 58.75, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Frequency", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1InputCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1InputCurrent/index.json new file mode 100644 index 00000000..ab8a3880 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1InputCurrent/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1InputCurrent", + "Name": "Power Supply #1 Input Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "Thresholds": { + "UpperCritical": { + "Reading": 10, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 9, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1InputCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1InputPower/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1InputPower/index.json new file mode 100644 index 00000000..aa6a0061 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1InputPower/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1InputPower", + "Name": "Power Supply #1 Input Power", + "ReadingType": "Power", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Total", + "Reading": 374, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 500, + "ApparentVA": 350, + "ReactiveVAR": 29, + "PowerFactor": 0.83, + "Accuracy": 1, + "Precision": 1, + "SensingInterval": "PT0.1S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "Thresholds": { + "UpperCritical": { + "Reading": 525, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 510, + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1InputPower", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1InputVoltage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1InputVoltage/index.json new file mode 100644 index 00000000..49358c14 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1InputVoltage/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1InputVoltage", + "Name": "Power Supply #1 Input Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Total", + "Reading": 119.27, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 260, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "Thresholds": { + "UpperCritical": { + "Reading": 125, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 122, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 118, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 115, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1InputVoltage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1Out12V/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1Out12V/index.json new file mode 100644 index 00000000..4b6f68a9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1Out12V/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Out12V", + "Name": "Power Supply #1 12V Output Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Total", + "Reading": 12.08, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 15, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Output", + "Thresholds": { + "UpperCritical": { + "Reading": 12.5, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 12.35, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 11.85, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 11.5, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out12V", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1Out12VCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1Out12VCurrent/index.json new file mode 100644 index 00000000..8bd2ff72 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1Out12VCurrent/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Out12VCurrent", + "Name": "Power Supply #1 12V Output Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2.79, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 7, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 6, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out12VCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1Out3V/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1Out3V/index.json new file mode 100644 index 00000000..f99f4a56 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1Out3V/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Out3V", + "Name": "Power Supply #1 3V Output Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Total", + "Reading": 3.32, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 5, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Output", + "Thresholds": { + "UpperCritical": { + "Reading": 3.5, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 3.35, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 3.25, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 3.1, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out3V", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1Out3VCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1Out3VCurrent/index.json new file mode 100644 index 00000000..499c19e4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1Out3VCurrent/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Out3VCurrent", + "Name": "Power Supply #1 3V Output Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Output", + "Thresholds": { + "UpperCritical": { + "Reading": 25, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 20, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out3VCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1Out5V/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1Out5V/index.json new file mode 100644 index 00000000..3f70c055 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1Out5V/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Out5V", + "Name": "Power Supply #1 5V Output Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Total", + "Reading": 5.04, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 10, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Output", + "Thresholds": { + "UpperCritical": { + "Reading": 5.5, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 5.35, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 4.9, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 4.5, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out5V", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1Out5VCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1Out5VCurrent/index.json new file mode 100644 index 00000000..d2c5ccda --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS1Out5VCurrent/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Out5VCurrent", + "Name": "Power Supply #1 5V Output Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 3.41, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 10, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "PowerSupply", + "Thresholds": { + "UpperCritical": { + "Reading": 8, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 5, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out5VCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2Energy/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2Energy/index.json new file mode 100644 index 00000000..f6cea81b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2Energy/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Energy", + "Name": "Power Supply #2 Energy", + "ReadingType": "EnergykWh", + "ElectricalContext": "Total", + "Status": { + "State": "Absent" + }, + "PhysicalContext": "PowerSupply", + "Actions": { + "#Sensor.ResetMetrics": { + "target": "/redfish/v1/Chassis/1U/Sensors/PS2Energy/Actions/Sensor.ResetMetrics" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Energy", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2Frequency/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2Frequency/index.json new file mode 100644 index 00000000..b0986644 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2Frequency/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Frequency", + "Name": "Power Supply #2 Frequency", + "ReadingType": "Frequency", + "Status": { + "State": "Absent" + }, + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Frequency", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2InputCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2InputCurrent/index.json new file mode 100644 index 00000000..ce670bfa --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2InputCurrent/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2InputCurrent", + "Name": "Power Supply #2 Input Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Absent" + }, + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2InputCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2InputPower/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2InputPower/index.json new file mode 100644 index 00000000..150218b0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2InputPower/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2InputPower", + "Name": "Power Supply #2 Input Power", + "ReadingType": "Power", + "Status": { + "State": "Absent" + }, + "ElectricalContext": "Total", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2InputPower", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2InputVoltage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2InputVoltage/index.json new file mode 100644 index 00000000..cf7b7422 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2InputVoltage/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2InputVoltage", + "Name": "Power Supply #2 Input Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Absent" + }, + "ElectricalContext": "Total", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2InputVoltage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2Out12V/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2Out12V/index.json new file mode 100644 index 00000000..25345ab7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2Out12V/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Out12V", + "Name": "Power Supply #2 12V Output Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Absent" + }, + "ElectricalContext": "Total", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Output", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out12V", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2Out12VCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2Out12VCurrent/index.json new file mode 100644 index 00000000..3a5397a5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2Out12VCurrent/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Out12VCurrent", + "Name": "Power Supply #2 12V Output Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Absent" + }, + "PhysicalContext": "PowerSupply", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out12VCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2Out3V/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2Out3V/index.json new file mode 100644 index 00000000..ec1763c8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2Out3V/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Out3V", + "Name": "Power Supply #2 3V Output Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Absent" + }, + "ElectricalContext": "Total", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Output", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out3V", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2Out3VCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2Out3VCurrent/index.json new file mode 100644 index 00000000..9c1e555b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2Out3VCurrent/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Out3VCurrent", + "Name": "Power Supply #2 3V Output Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Absent" + }, + "PhysicalContext": "PowerSupply", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out3VCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2Out5V/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2Out5V/index.json new file mode 100644 index 00000000..39ebca0a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2Out5V/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Out5V", + "Name": "Power Supply #2 5V Output Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Absent" + }, + "ElectricalContext": "Total", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Output", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out5V", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2Out5VCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2Out5VCurrent/index.json new file mode 100644 index 00000000..16b75e56 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/PS2Out5VCurrent/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Out5VCurrent", + "Name": "Power Supply #2 5V Output Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Absent" + }, + "PhysicalContext": "PowerSupply", + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out5VCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/TotalEnergy/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/TotalEnergy/index.json new file mode 100644 index 00000000..49ebac6b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/TotalEnergy/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "TotalEnergy", + "Name": "Total Energy", + "ReadingType": "EnergykWh", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 325675, + "ReadingUnits": "kW.h", + "PhysicalContext": "Chassis", + "Actions": { + "#Sensor.ResetMetrics": { + "target": "/redfish/v1/Chassis/1U/Sensors/TotalEnergy/Actions/Sensor.ResetMetrics" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/TotalEnergy", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/TotalPower/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/TotalPower/index.json new file mode 100644 index 00000000..f7f9f9ac --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/TotalPower/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "TotalPower", + "Name": "Power reading for the Chassis", + "ReadingType": "Power", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 374, + "ReadingUnits": "W", + "Implementation": "Synthesized", + "ReadingTime": "2019-08-13T04:14:33+06:00", + "ReadingRangeMin": 0, + "ReadingRangeMax": 600, + "ApparentVA": 2749.2, + "ReactiveVAR": 281.4, + "PowerFactor": 0.99, + "Accuracy": 0.2, + "Precision": 1, + "SensingInterval": "PT0.25S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 600, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 580, + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/TotalPower", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/index.json new file mode 100644 index 00000000..eb4031b2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/Sensors/index.json @@ -0,0 +1,114 @@ +{ + "@odata.type": "#SensorCollection.SensorCollection", + "Name": "Chassis sensors", + "Members@odata.count": 35, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/AmbientTemp" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/CPUFan1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/CPUFan2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/CPU1Temp" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/DIMM1Temp" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/DIMM2Temp" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/DIMM3Temp" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/ExhaustTemp" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/FanBay1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/FanBay2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/IntakeTemp" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Energy" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Frequency" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1InputCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1InputPower" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1InputVoltage" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out12V" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out12VCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out3V" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out3VCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out5V" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS1Out5VCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Energy" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Frequency" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2InputCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2InputPower" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2InputVoltage" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out12V" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out12VCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out3V" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out3VCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out5V" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/PS2Out5VCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/TotalEnergy" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/TotalPower" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/Sensors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/ThermalSubsystem/Fans/Bay1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/ThermalSubsystem/Fans/Bay1/index.json new file mode 100644 index 00000000..8e351dd8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/ThermalSubsystem/Fans/Bay1/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#Fan.v1_6_0.Fan", + "Id": "Bay1", + "Name": "Fan Bay 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PhysicalContext": "Chassis", + "Model": "RKS-440DC", + "Manufacturer": "Contoso Fans", + "PartNumber": "23456-133", + "SparePartNumber": "93284-133", + "LocationIndicatorActive": true, + "HotPluggable": true, + "SpeedPercent": { + "Reading": 45, + "SpeedRPM": 2200, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/FanBay1" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Chassis Fan Bay 1", + "LocationType": "Bay", + "LocationOrdinalValue": 0 + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/Bay1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/ThermalSubsystem/Fans/Bay2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/ThermalSubsystem/Fans/Bay2/index.json new file mode 100644 index 00000000..bc504d14 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/ThermalSubsystem/Fans/Bay2/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#Fan.v1_6_0.Fan", + "Id": "Bay2", + "Name": "Fan Bay 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PhysicalContext": "Chassis", + "Model": "RKS-440DC", + "Manufacturer": "Contoso Fans", + "PartNumber": "23456-133", + "SparePartNumber": "93284-133", + "LocationIndicatorActive": false, + "HotPluggable": true, + "SpeedPercent": { + "Reading": 45, + "SpeedRPM": 2400, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/FanBay2" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Chassis Fan Bay 2", + "LocationType": "Bay", + "LocationOrdinalValue": 1 + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/Bay2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/ThermalSubsystem/Fans/CPU1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/ThermalSubsystem/Fans/CPU1/index.json new file mode 100644 index 00000000..f7a0229b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/ThermalSubsystem/Fans/CPU1/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#Fan.v1_6_0.Fan", + "Id": "CPU1", + "Name": "Fan for CPU 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PhysicalContext": "CPU", + "Model": "RKS-440DC", + "Manufacturer": "Contoso Fans", + "PartNumber": "23456-133", + "SparePartNumber": "93284-133", + "LocationIndicatorActive": false, + "HotPluggable": false, + "SpeedPercent": { + "Reading": 45, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/CPUFan1" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "CPU #1 Fan", + "LocationType": "Bay", + "LocationOrdinalValue": 0 + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/CPU1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/ThermalSubsystem/Fans/CPU2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/ThermalSubsystem/Fans/CPU2/index.json new file mode 100644 index 00000000..783577fb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/ThermalSubsystem/Fans/CPU2/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#Fan.v1_6_0.Fan", + "Id": "CPU2", + "Name": "Fan for CPU 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PhysicalContext": "CPU", + "Model": "RKS-440DC", + "Manufacturer": "Contoso Fans", + "PartNumber": "23456-133", + "SparePartNumber": "93284-133", + "LocationIndicatorActive": false, + "HotPluggable": false, + "SpeedPercent": { + "Reading": 45, + "SpeedRPM": 1490, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/CPUFan2" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "CPU #2 Fan", + "LocationType": "Bay", + "LocationOrdinalValue": 1 + } + }, + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/CPU2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/ThermalSubsystem/Fans/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/ThermalSubsystem/Fans/index.json new file mode 100644 index 00000000..a8de534c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/ThermalSubsystem/Fans/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#FanCollection.FanCollection", + "Name": "Fan Club", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/Bay1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/Bay2" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/CPU1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/CPU2" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/ThermalSubsystem/ThermalMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/ThermalSubsystem/ThermalMetrics/index.json new file mode 100644 index 00000000..abac31b4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/ThermalSubsystem/ThermalMetrics/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#ThermalMetrics.v1_3_3.ThermalMetrics", + "Id": "ThermalMetrics", + "Name": "Chassis Thermal Metrics", + "TemperatureSummaryCelsius": { + "Internal": { + "Reading": 39, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/CPU1Temp" + }, + "Intake": { + "Reading": 24.8, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/IntakeTemp" + }, + "Ambient": { + "Reading": 22.5, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/AmbientTemp" + }, + "Exhaust": { + "Reading": 40.5, + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/ExhaustTemp" + } + }, + "TemperatureReadingsCelsius": [ + { + "Reading": 24.8, + "DeviceName": "Intake", + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/IntakeTemp" + }, + { + "Reading": 40.5, + "DeviceName": "Exhaust", + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/ExhaustTemp" + } + ], + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/ThermalMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/ThermalSubsystem/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/ThermalSubsystem/index.json new file mode 100644 index 00000000..28eb62d3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/ThermalSubsystem/index.json @@ -0,0 +1,52 @@ +{ + "@odata.type": "#ThermalSubsystem.v1_5_0.ThermalSubsystem", + "Id": "ThermalSubsystem", + "Name": "Thermal Subsystem for Chassis", + "FanRedundancy": [ + { + "RedundancyType": "NPlusM", + "MaxSupportedInGroup": 2, + "MinNeededInGroup": 1, + "RedundancyGroup": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/Bay1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/Bay2" + } + ], + "Status": { + "State": "Enabled", + "Health": "OK" + } + }, + { + "RedundancyType": "NPlusM", + "MaxSupportedInGroup": 2, + "MinNeededInGroup": 1, + "RedundancyGroup": [ + { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/CPU1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/CPU2" + } + ], + "Status": { + "State": "Disabled" + } + } + ], + "Fans": { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans" + }, + "ThermalMetrics": { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/ThermalMetrics" + }, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/index.json new file mode 100644 index 00000000..bdecb928 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/1U/index.json @@ -0,0 +1,78 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "1U", + "Name": "Computer System Chassis", + "ChassisType": "RackMount", + "AssetTag": "Chicago-45Z-2381", + "Manufacturer": "Contoso", + "Model": "3500RX", + "SKU": "8675309", + "SerialNumber": "437XR1138R2", + "PartNumber": "224071-J23", + "PowerState": "On", + "IndicatorLED": "Lit", + "HeightMm": 44.45, + "WidthMm": 431.8, + "DepthMm": 711, + "WeightKg": 15.31, + "Location": { + "PostalAddress": { + "Country": "US", + "Territory": "OR", + "City": "Portland", + "Street": "1001 SW 5th Avenue", + "HouseNumber": 1100, + "Name": "DMTF", + "PostalCode": "97204" + }, + "Placement": { + "Row": "North", + "Rack": "WEB43", + "RackOffsetUnits": "EIA_310", + "RackOffset": 12 + } + }, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ThermalSubsystem": { + "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem" + }, + "PowerSubsystem": { + "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem" + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Chassis/1U/EnvironmentMetrics" + }, + "Sensors": { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors" + }, + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ], + "ManagersInChassis": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ], + "Contains": [ + { + "@odata.id": "/redfish/v1/Chassis/Card1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Card2" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/1U", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/Drives/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/Drives/1/index.json new file mode 100644 index 00000000..d70355bb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/Drives/1/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "1", + "Name": "Local SATA drive", + "Model": "ST9146802SS", + "Revision": "S20A", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 214748364800, + "FailurePredicted": false, + "Protocol": "SATA", + "MediaType": "SSD", + "Manufacturer": "Contoso", + "SerialNumber": "72D0A037FRD26", + "PartNumber": "SG0GP8811253178M02GJA00", + "CapableSpeedGbs": 6, + "NegotiatedSpeedGbs": 6, + "@odata.id": "/redfish/v1/Chassis/Card1/Drives/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/Drives/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/Drives/index.json new file mode 100644 index 00000000..72da8a27 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/Drives/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#DriveCollection.DriveCollection", + "Name": "Drive Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/Card1/Drives/1" + } + ], + "@odata.id": "/redfish/v1/Chassis/Card1/Drives", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/EnvironmentMetrics/index.json new file mode 100644 index 00000000..b268912a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/EnvironmentMetrics/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Chassis Environment Metrics", + "TemperatureCelsius": { + "Reading": 37, + "DataSourceUri": "/redfish/v1/Chassis/Card1/Sensors/CardTemp" + }, + "PowerWatts": { + "Reading": 374, + "DataSourceUri": "/redfish/v1/Chassis/Card1/Sensors/TotalPower" + }, + "FanSpeedsPercent": [ + { + "Reading": 80, + "DataSourceUri": "/redfish/v1/Chassis/Card1/Sensors/CPUFan1" + } + ], + "@odata.id": "/redfish/v1/Chassis/Card1/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0/AllowDeny/Rule1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0/AllowDeny/Rule1/index.json new file mode 100644 index 00000000..8db8dec3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0/AllowDeny/Rule1/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#AllowDeny.v1_0_3.AllowDeny", + "Id": "Rule1", + "Name": "Allow Rule 1", + "Direction": "Ingress", + "AllowType": "Allow", + "StatefulSession": true, + "IPAddressType": "IPv4", + "IPAddressLower": "192.168.1.1", + "IPAddressUpper": "192.168.1.100", + "IANAProtocolNumber": 6, + "SourcePortLower": 5, + "SourcePortUpper": 65535, + "DestinationPortLower": 5, + "DestinationPortUpper": 65535, + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0/AllowDeny/Rule1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0/AllowDeny/Rule2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0/AllowDeny/Rule2/index.json new file mode 100644 index 00000000..b74795aa --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0/AllowDeny/Rule2/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#AllowDeny.v1_0_3.AllowDeny", + "Id": "Rule2", + "Name": "Deny Rule 2", + "Direction": "Ingress", + "AllowType": "Deny", + "StatefulSession": true, + "IPAddressType": "IPv4", + "IPAddressLower": "192.168.1.101", + "IPAddressUpper": "192.168.1.255", + "IANAProtocolNumber": 6, + "SourcePortLower": 5, + "SourcePortUpper": 65535, + "DestinationPortLower": 5, + "DestinationPortUpper": 65535, + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0/AllowDeny/Rule2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0/AllowDeny/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0/AllowDeny/index.json new file mode 100644 index 00000000..fc0edca0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0/AllowDeny/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#AllowDenyCollection.AllowDenyCollection", + "Name": "Network Device Allow Deny Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0/AllowDeny/Rule1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0/AllowDeny/Rule2" + } + ], + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0/AllowDeny", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0/index.json new file mode 100644 index 00000000..8d3cf14e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0/index.json @@ -0,0 +1,51 @@ +{ + "@odata.type": "#NetworkDeviceFunction.v1_11_1.NetworkDeviceFunction", + "AssignablePhysicalNetworkPorts": [ + { + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1/Ports/SC2KP1" + } + ], + "BootMode": "PXE", + "DeviceEnabled": true, + "Ethernet": { + "MACAddress": "aa:bb:cc:dd:ee:f5", + "MTUSize": 1522, + "PermanentMACAddress": "a1:b1:c1:d1:e1:f1", + "MTUSizeMaximum": 8192 + }, + "Id": "SC2KP1F0", + "Links": { + "PhysicalNetworkPortAssignment": { + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1/Ports/SC2KP1" + }, + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/Ethernet/Endpoints/EP1" + } + ], + "OffloadSystem": { + "@odata.id": "/redfish/v1/Systems/Card1-SoC" + } + }, + "Name": "NetworkDeviceFunction", + "NetDevFuncCapabilities": [ + "Ethernet" + ], + "NetDevFuncType": "Ethernet", + "VirtualFunctionsEnabled": false, + "SAVIEnabled": true, + "AllowDeny": { + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0/AllowDeny" + }, + "Limits": [ + { + "Direction": "Ingress", + "SustainedPacketsPerSecond": 10000, + "BurstPacketsPerSecond": 1000, + "SustainedBytesPerSecond": 100000, + "BurstBytesPerSecond": 10000 + } + ], + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP2F0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP2F0/index.json new file mode 100644 index 00000000..8f06a27b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP2F0/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#NetworkDeviceFunction.v1_11_1.NetworkDeviceFunction", + "AssignablePhysicalNetworkPorts": [ + { + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1/Ports/SC2KP2" + } + ], + "BootMode": "PXE", + "DeviceEnabled": true, + "Ethernet": { + "MACAddress": "aa:bb:cc:dd:ee:ff", + "MTUSize": 1522, + "PermanentMACAddress": "a0:b0:c0:d0:e0:f0", + "MTUSizeMaximum": 8192 + }, + "Id": "SC2KP2F0", + "Links": { + "PhysicalNetworkPortAssignment": { + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1/Ports/SC2KP2" + }, + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/Ethernet/Endpoints/EP2" + } + ], + "OffloadSystem": { + "@odata.id": "/redfish/v1/Systems/Card1-SoC" + } + }, + "Name": "NetworkDeviceFunction", + "NetDevFuncCapabilities": [ + "Ethernet" + ], + "NetDevFuncType": "Ethernet", + "VirtualFunctionsEnabled": false, + "SAVIEnabled": true, + "Limits": [ + { + "Direction": "Ingress", + "SustainedPacketsPerSecond": 10000, + "BurstPacketsPerSecond": 1000, + "SustainedBytesPerSecond": 100000, + "BurstBytesPerSecond": 10000 + } + ], + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP2F0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/index.json new file mode 100644 index 00000000..362bf812 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#NetworkDeviceFunctionCollection.NetworkDeviceFunctionCollection", + "Name": "Network Device Function Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0" + }, + { + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP2F0" + } + ], + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/Ports/SC2KP1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/Ports/SC2KP1/index.json new file mode 100644 index 00000000..7def0a46 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/Ports/SC2KP1/index.json @@ -0,0 +1,39 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "SC2KP1", + "Name": "Port 1", + "CurrentSpeedGbps": 25, + "Ethernet": { + "FlowControlConfiguration": "TX_RX", + "FlowControlStatus": "TX_RX", + "SupportedEthernetCapabilities": [ + "WakeOnLAN" + ] + }, + "LinkConfiguration": [ + { + "AutoSpeedNegotiationCapable": true, + "AutoSpeedNegotiationEnabled": true, + "CapableLinkSpeedGbps": [ + 25, + 50 + ] + } + ], + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/Ethernet/Endpoints/EP1" + } + ] + }, + "LinkNetworkTechnology": "Ethernet", + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "MaxFrameSize": 4096, + "MaxSpeedGbps": 50, + "PortMedium": "Electrical", + "PortType": "UpstreamPort", + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1/Ports/SC2KP1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/Ports/SC2KP2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/Ports/SC2KP2/index.json new file mode 100644 index 00000000..49b78d80 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/Ports/SC2KP2/index.json @@ -0,0 +1,39 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "SC2KP2", + "Name": "Port 2", + "CurrentSpeedGbps": 25, + "Ethernet": { + "FlowControlConfiguration": "TX_RX", + "FlowControlStatus": "TX_RX", + "SupportedEthernetCapabilities": [ + "WakeOnLAN" + ] + }, + "LinkConfiguration": [ + { + "AutoSpeedNegotiationCapable": true, + "AutoSpeedNegotiationEnabled": true, + "CapableLinkSpeedGbps": [ + 25, + 50 + ] + } + ], + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/Ethernet/Endpoints/EP2" + } + ] + }, + "LinkNetworkTechnology": "Ethernet", + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "MaxFrameSize": 4096, + "MaxSpeedGbps": 50, + "PortMedium": "Electrical", + "PortType": "UpstreamPort", + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1/Ports/SC2KP2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/Ports/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/Ports/index.json new file mode 100644 index 00000000..5adc72bc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/Ports/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "Port Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1/Ports/SC2KP1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1/Ports/SC2KP2" + } + ], + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1/Ports", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/index.json new file mode 100644 index 00000000..23f31f32 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/Slot1/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#NetworkAdapter.v1_14_0.NetworkAdapter", + "Actions": { + "#NetworkAdapter.ResetSettingsToDefault": { + "target": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1/Actions/NetworkAdapter.ResetSettingsToDefault" + } + }, + "Controllers": [ + { + "ControllerCapabilities": { + "DataCenterBridging": { + "Capable": true + }, + "NetworkDeviceFunctionCount": 2, + "NetworkPortCount": 2, + "VirtualizationOffload": { + "VirtualFunction": { + "DeviceMaxCount": 16, + "MinAssignmentGroupSize": 0, + "NetworkPortMaxCount": 2 + } + }, + "NPAR": { + "NparCapable": false, + "NparEnabled": false + } + }, + "FirmwarePackageVersion": "8.11.0" + } + ], + "Id": "Slot1", + "Manufacturer": "Contoso Systems Inc.", + "Model": "Contoso SuperC 2000 25Gb 2p Adapter", + "Name": "NetworkAdapter", + "NetworkDeviceFunctions": { + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions" + }, + "Ports": { + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1/Ports" + }, + "PartNumber": "SC2000-CNT5", + "SKU": "14865", + "SerialNumber": "CSC125J87D", + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/index.json new file mode 100644 index 00000000..ee1e3575 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/NetworkAdapters/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#NetworkAdapterCollection.NetworkAdapterCollection", + "Name": "Network Adapter Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1" + } + ], + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/Sensors/CPUFan1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/Sensors/CPUFan1/index.json new file mode 100644 index 00000000..0bdbf9e4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/Sensors/CPUFan1/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CPUFan1", + "Name": "CPU #1 Fan Speed", + "PhysicalContext": "CPU", + "Reading": 80, + "ReadingRangeMax": 100, + "ReadingRangeMin": 0, + "ReadingType": "Percent", + "ReadingUnits": "%", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Thresholds": { + "LowerCaution": { + "Reading": 5 + }, + "LowerCritical": { + "Reading": 0 + } + }, + "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/CPUFan1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/Sensors/CardTemp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/Sensors/CardTemp/index.json new file mode 100644 index 00000000..46fd2ddb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/Sensors/CardTemp/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CardTemp", + "Name": "Card Temperature", + "PhysicalContext": "Accelerator", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 37, + "ReadingUnits": "Cel", + "Thresholds": { + "UpperCaution": { + "Reading": 42, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperCautionUser": { + "Reading": 40 + }, + "UpperCriticalUser": { + "Reading": 45, + "DwellTime": "PT1M" + }, + "UpperCritical": { + "Reading": 45, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperFatal": { + "Reading": 50, + "DwellTime": "PT30S", + "Activation": "Increasing" + } + }, + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1" + } + ], + "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/CardTemp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/Sensors/TotalPower/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/Sensors/TotalPower/index.json new file mode 100644 index 00000000..6fd2a696 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/Sensors/TotalPower/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "TotalPower", + "Name": "Power reading for the Card", + "ReadingType": "Power", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 374, + "ReadingUnits": "W", + "Implementation": "PhysicalSensor", + "ReadingTime": "2019-08-13T04:14:33+06:00", + "ReadingRangeMin": 0, + "ReadingRangeMax": 600, + "ApparentVA": 2749.2, + "ReactiveVAR": 281.4, + "PowerFactor": 0.99, + "Accuracy": 0.2, + "Precision": 1, + "SensingInterval": "PT0.25S", + "PhysicalContext": "Accelerator", + "Thresholds": { + "UpperCritical": { + "Reading": 600, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 580, + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/TotalPower", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/Sensors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/Sensors/index.json new file mode 100644 index 00000000..d06b6412 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/Sensors/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#SensorCollection.SensorCollection", + "Name": "Chassis sensors", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/CardTemp" + }, + { + "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/CPUFan1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Card1/Sensors/TotalPower" + } + ], + "@odata.id": "/redfish/v1/Chassis/Card1/Sensors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/ThermalSubsystem/Fans/CPU1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/ThermalSubsystem/Fans/CPU1/index.json new file mode 100644 index 00000000..cf8eb34d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/ThermalSubsystem/Fans/CPU1/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#Fan.v1_6_0.Fan", + "Id": "CPU1", + "Name": "Fan for Card CPU 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PhysicalContext": "CPU", + "Model": "RKS-440DC", + "Manufacturer": "Contoso Fans", + "PartNumber": "23456-133", + "SparePartNumber": "93284-133", + "LocationIndicatorActive": false, + "HotPluggable": false, + "SpeedPercent": { + "Reading": 80, + "DataSourceUri": "/redfish/v1/Chassis/Card1/Sensors/CPUFan1" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "CPU #1 Fan", + "LocationType": "Bay", + "LocationOrdinalValue": 0 + } + }, + "@odata.id": "/redfish/v1/Chassis/Card1/ThermalSubsystem/Fans/CPU1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/ThermalSubsystem/Fans/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/ThermalSubsystem/Fans/index.json new file mode 100644 index 00000000..097205e3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/ThermalSubsystem/Fans/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#FanCollection.FanCollection", + "Name": "Fan Club", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/Card1/ThermalSubsystem/Fans/CPU1" + } + ], + "@odata.id": "/redfish/v1/Chassis/Card1/ThermalSubsystem/Fans", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/ThermalSubsystem/ThermalMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/ThermalSubsystem/ThermalMetrics/index.json new file mode 100644 index 00000000..69ae12a7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/ThermalSubsystem/ThermalMetrics/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#ThermalMetrics.v1_3_3.ThermalMetrics", + "Id": "ThermalMetrics", + "Name": "Chassis Thermal Metrics", + "TemperatureSummaryCelsius": { + "Internal": { + "Reading": 37, + "DataSourceUri": "/redfish/v1/Chassis/Card1/Sensors/CardTemp" + } + }, + "TemperatureReadingsCelsius": [ + { + "Reading": 37, + "DeviceName": "Internal", + "DataSourceUri": "/redfish/v1/Chassis/Card1/Sensors/CardTemp" + } + ], + "@odata.id": "/redfish/v1/Chassis/Card1/ThermalSubsystem/ThermalMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/ThermalSubsystem/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/ThermalSubsystem/index.json new file mode 100644 index 00000000..f05c563c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/ThermalSubsystem/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#ThermalSubsystem.v1_5_0.ThermalSubsystem", + "Id": "ThermalSubsystem", + "Name": "Thermal Subsystem for Chassis", + "Fans": { + "@odata.id": "/redfish/v1/Chassis/Card1/ThermalSubsystem/Fans" + }, + "ThermalMetrics": { + "@odata.id": "/redfish/v1/Chassis/Card1/ThermalSubsystem/ThermalMetrics" + }, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Chassis/Card1/ThermalSubsystem", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/index.json new file mode 100644 index 00000000..4269f2dc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card1/index.json @@ -0,0 +1,60 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "Card1", + "Name": "Card Chassis", + "Description": "This Chassis resource represents card that contains a SmartNIC, including its SoC, local storage, and network functions", + "ChassisType": "Card", + "AssetTag": "Chicago-45Z-2467", + "Manufacturer": "Contoso", + "Model": "9900", + "SKU": "9541236", + "SerialNumber": "637XR7568R4", + "PartNumber": "334587-S34", + "PowerState": "On", + "IndicatorLED": "Off", + "Location": { + "PartLocation": { + "ServiceLabel": "Card Slot 1", + "LocationType": "Slot", + "LocationOrdinalValue": 0, + "Reference": "Rear", + "Orientation": "LeftToRight" + } + }, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ThermalSubsystem": { + "@odata.id": "/redfish/v1/Chassis/Card1/ThermalSubsystem" + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Chassis/Card1/EnvironmentMetrics" + }, + "NetworkAdapters": { + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters" + }, + "Sensors": { + "@odata.id": "/redfish/v1/Chassis/Card1/Sensors" + }, + "Drives": { + "@odata.id": "/redfish/v1/Chassis/Card1/Drives" + }, + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/Card1-SoC" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ], + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/1U" + } + }, + "@odata.id": "/redfish/v1/Chassis/Card1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/EnvironmentMetrics/index.json new file mode 100644 index 00000000..c8cb5885 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/EnvironmentMetrics/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Chassis Environment Metrics", + "TemperatureCelsius": { + "Reading": 37, + "DataSourceUri": "/redfish/v1/Chassis/Card2/Sensors/CardTemp" + }, + "PowerWatts": { + "Reading": 374, + "DataSourceUri": "/redfish/v1/Chassis/Card2/Sensors/TotalPower" + }, + "@odata.id": "/redfish/v1/Chassis/Card2/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/Slot2/NetworkDeviceFunctions/SC2KP1F0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/Slot2/NetworkDeviceFunctions/SC2KP1F0/index.json new file mode 100644 index 00000000..f78f238f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/Slot2/NetworkDeviceFunctions/SC2KP1F0/index.json @@ -0,0 +1,50 @@ +{ + "@odata.type": "#NetworkDeviceFunction.v1_11_1.NetworkDeviceFunction", + "AssignablePhysicalNetworkPorts": [ + { + "@odata.id": "/redfish/v1/Chassis/Card2/NetworkAdapters/Slot2/Ports/SC2KP1" + } + ], + "BootMode": "PXE", + "DeviceEnabled": true, + "Ethernet": { + "MACAddress": "aa:bb:cc:dd:ee:f5", + "MTUSize": 1522, + "PermanentMACAddress": "a1:b1:c1:d1:e1:f1", + "MTUSizeMaximum": 8192 + }, + "Id": "SC2KP1F0", + "Links": { + "PhysicalNetworkPortAssignment": { + "@odata.id": "/redfish/v1/Chassis/Card2/NetworkAdapters/Slot2/Ports/SC2KP1" + }, + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/Ethernet/Endpoints/EP3" + } + ], + "OffloadProcessors": [ + { + "@odata.id": "/redfish/v1/Chassis/Card2/NetworkAdapters/Slot2/Processors/FPGA1" + } + ] + }, + "Name": "NetworkDeviceFunction", + "NetDevFuncCapabilities": [ + "Ethernet" + ], + "NetDevFuncType": "Ethernet", + "VirtualFunctionsEnabled": false, + "SAVIEnabled": true, + "Limits": [ + { + "Direction": "Ingress", + "SustainedPacketsPerSecond": 10000, + "BurstPacketsPerSecond": 1000, + "SustainedBytesPerSecond": 100000, + "BurstBytesPerSecond": 10000 + } + ], + "@odata.id": "/redfish/v1/Chassis/Card2/NetworkAdapters/Slot2/NetworkDeviceFunctions/SC2KP1F0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/Slot2/NetworkDeviceFunctions/SC2KP2F0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/Slot2/NetworkDeviceFunctions/SC2KP2F0/index.json new file mode 100644 index 00000000..45734916 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/Slot2/NetworkDeviceFunctions/SC2KP2F0/index.json @@ -0,0 +1,50 @@ +{ + "@odata.type": "#NetworkDeviceFunction.v1_11_1.NetworkDeviceFunction", + "AssignablePhysicalNetworkPorts": [ + { + "@odata.id": "/redfish/v1/Chassis/Card2/NetworkAdapters/Slot2/Ports/SC2KP2" + } + ], + "BootMode": "PXE", + "DeviceEnabled": true, + "Ethernet": { + "MACAddress": "aa:bb:cc:dd:ee:ff", + "MTUSize": 1522, + "PermanentMACAddress": "a0:b0:c0:d0:e0:f0", + "MTUSizeMaximum": 8192 + }, + "Id": "SC2KP2F0", + "Links": { + "PhysicalNetworkPortAssignment": { + "@odata.id": "/redfish/v1/Chassis/Card2/NetworkAdapters/Slot2/Ports/SC2KP2" + }, + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/Ethernet/Endpoints/EP4" + } + ], + "OffloadProcessors": [ + { + "@odata.id": "/redfish/v1/Chassis/Card2/NetworkAdapters/Slot2/Processors/FPGA1" + } + ] + }, + "Name": "NetworkDeviceFunction", + "NetDevFuncCapabilities": [ + "Ethernet" + ], + "NetDevFuncType": "Ethernet", + "VirtualFunctionsEnabled": false, + "SAVIEnabled": true, + "Limits": [ + { + "Direction": "Ingress", + "SustainedPacketsPerSecond": 10000, + "BurstPacketsPerSecond": 1000, + "SustainedBytesPerSecond": 100000, + "BurstBytesPerSecond": 10000 + } + ], + "@odata.id": "/redfish/v1/Chassis/Card2/NetworkAdapters/Slot2/NetworkDeviceFunctions/SC2KP2F0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/Slot2/NetworkDeviceFunctions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/Slot2/NetworkDeviceFunctions/index.json new file mode 100644 index 00000000..4e4ec714 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/Slot2/NetworkDeviceFunctions/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#NetworkDeviceFunctionCollection.NetworkDeviceFunctionCollection", + "Name": "Network Device Function Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/Card2/NetworkAdapters/Slot2/NetworkDeviceFunctions/SC2KP1F0" + }, + { + "@odata.id": "/redfish/v1/Chassis/Card2/NetworkAdapters/Slot2/NetworkDeviceFunctions/SC2KP2F0" + } + ], + "@odata.id": "/redfish/v1/Chassis/Card2/NetworkAdapters/Slot2/NetworkDeviceFunctions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/Slot2/Ports/SC2KP1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/Slot2/Ports/SC2KP1/index.json new file mode 100644 index 00000000..cbcc6b3e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/Slot2/Ports/SC2KP1/index.json @@ -0,0 +1,39 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "SC2KP1", + "Name": "Port 1", + "CurrentSpeedGbps": 25, + "Ethernet": { + "FlowControlConfiguration": "TX_RX", + "FlowControlStatus": "TX_RX", + "SupportedEthernetCapabilities": [ + "WakeOnLAN" + ] + }, + "LinkConfiguration": [ + { + "AutoSpeedNegotiationCapable": true, + "AutoSpeedNegotiationEnabled": true, + "CapableLinkSpeedGbps": [ + 25, + 50 + ] + } + ], + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/Ethernet/Endpoints/EP3" + } + ] + }, + "LinkNetworkTechnology": "Ethernet", + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "MaxFrameSize": 4096, + "MaxSpeedGbps": 50, + "PortMedium": "Electrical", + "PortType": "UpstreamPort", + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1/Ports/SC2KP1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/Slot2/Ports/SC2KP2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/Slot2/Ports/SC2KP2/index.json new file mode 100644 index 00000000..8e04cb3f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/Slot2/Ports/SC2KP2/index.json @@ -0,0 +1,39 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "SC2KP2", + "Name": "Port 2", + "CurrentSpeedGbps": 25, + "Ethernet": { + "FlowControlConfiguration": "TX_RX", + "FlowControlStatus": "TX_RX", + "SupportedEthernetCapabilities": [ + "WakeOnLAN" + ] + }, + "LinkConfiguration": [ + { + "AutoSpeedNegotiationCapable": true, + "AutoSpeedNegotiationEnabled": true, + "CapableLinkSpeedGbps": [ + 25, + 50 + ] + } + ], + "Links": { + "AssociatedEndpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/Ethernet/Endpoints/EP4" + } + ] + }, + "LinkNetworkTechnology": "Ethernet", + "LinkState": "Enabled", + "LinkStatus": "LinkUp", + "MaxFrameSize": 4096, + "MaxSpeedGbps": 50, + "PortMedium": "Electrical", + "PortType": "UpstreamPort", + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1/Ports/SC2KP2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/Slot2/Ports/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/Slot2/Ports/index.json new file mode 100644 index 00000000..5adc72bc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/Slot2/Ports/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "Port Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1/Ports/SC2KP1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1/Ports/SC2KP2" + } + ], + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1/Ports", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/Slot2/Processors/FPGA1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/Slot2/Processors/FPGA1/index.json new file mode 100644 index 00000000..abdc9e7e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/Slot2/Processors/FPGA1/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "FPGA1", + "Name": "Offload FPGA", + "ProcessorType": "FPGA", + "Manufacturer": "Contoso", + "Model": "Contoso Network Offload FPGA Series 1000", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Links": { + "NetworkDeviceFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/Card2/NetworkAdapters/Slot2/NetworkDeviceFunctions/SC2KP1F0" + }, + { + "@odata.id": "/redfish/v1/Chassis/Card2/NetworkAdapters/Slot2/NetworkDeviceFunctions/SC2KP2F0" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/Card2/NetworkAdapters/Slot2/Processors/FPGA1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/Slot2/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/Slot2/Processors/index.json new file mode 100644 index 00000000..8b86ddcb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/Slot2/Processors/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processors Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/Card2/NetworkAdapters/Slot2/Processors/FPGA1" + } + ], + "@odata.id": "/redfish/v1/Chassis/Card2/NetworkAdapters/Slot2/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/Slot2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/Slot2/index.json new file mode 100644 index 00000000..82a722a1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/Slot2/index.json @@ -0,0 +1,49 @@ +{ + "@odata.type": "#NetworkAdapter.v1_14_0.NetworkAdapter", + "Actions": { + "#NetworkAdapter.ResetSettingsToDefault": { + "target": "/redfish/v1/Chassis/Card2/NetworkAdapters/Slot2/Actions/NetworkAdapter.ResetSettingsToDefault" + } + }, + "Controllers": [ + { + "ControllerCapabilities": { + "DataCenterBridging": { + "Capable": true + }, + "NetworkDeviceFunctionCount": 2, + "NetworkPortCount": 2, + "VirtualizationOffload": { + "VirtualFunction": { + "DeviceMaxCount": 16, + "MinAssignmentGroupSize": 0, + "NetworkPortMaxCount": 2 + } + }, + "NPAR": { + "NparCapable": false, + "NparEnabled": false + } + }, + "FirmwarePackageVersion": "8.11.0" + } + ], + "Id": "Slot2", + "Manufacturer": "Contoso Systems Inc.", + "Model": "Contoso SuperC 2050 25Gb 2p Adapter", + "Name": "NetworkAdapter", + "NetworkDeviceFunctions": { + "@odata.id": "/redfish/v1/Chassis/Card2/NetworkAdapters/Slot2/NetworkDeviceFunctions" + }, + "Ports": { + "@odata.id": "/redfish/v1/Chassis/Card2/NetworkAdapters/Slot2/Ports" + }, + "Processors": { + "@odata.id": "/redfish/v1/Chassis/Card2/NetworkAdapters/Slot2/Processors" + }, + "PartNumber": "SC2000-CNZ5", + "SKU": "14866", + "SerialNumber": "CSC125J97D", + "@odata.id": "/redfish/v1/Chassis/Card2/NetworkAdapters/Slot2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/index.json new file mode 100644 index 00000000..0a03be35 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/NetworkAdapters/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#NetworkAdapterCollection.NetworkAdapterCollection", + "Name": "Network Adapter Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/Card2/NetworkAdapters/Slot2" + } + ], + "@odata.id": "/redfish/v1/Chassis/Card2/NetworkAdapters", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/Sensors/CardTemp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/Sensors/CardTemp/index.json new file mode 100644 index 00000000..1522b1f3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/Sensors/CardTemp/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CardTemp", + "Name": "Card Temperature", + "PhysicalContext": "Accelerator", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 37, + "ReadingUnits": "Cel", + "Thresholds": { + "UpperCaution": { + "Reading": 42, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperCautionUser": { + "Reading": 40 + }, + "UpperCriticalUser": { + "Reading": 45, + "DwellTime": "PT1M" + }, + "UpperCritical": { + "Reading": 45, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperFatal": { + "Reading": 50, + "DwellTime": "PT30S", + "Activation": "Increasing" + } + }, + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/Card2/NetworkAdapters/Slot2" + } + ], + "@odata.id": "/redfish/v1/Chassis/Card2/Sensors/CardTemp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/Sensors/TotalPower/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/Sensors/TotalPower/index.json new file mode 100644 index 00000000..f75ecb01 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/Sensors/TotalPower/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "TotalPower", + "Name": "Power reading for the Card", + "ReadingType": "Power", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 374, + "ReadingUnits": "W", + "Implementation": "PhysicalSensor", + "ReadingTime": "2019-08-13T04:14:33+06:00", + "ReadingRangeMin": 0, + "ReadingRangeMax": 600, + "ApparentVA": 2749.2, + "ReactiveVAR": 281.4, + "PowerFactor": 0.99, + "Accuracy": 0.2, + "Precision": 1, + "SensingInterval": "PT0.25S", + "PhysicalContext": "Accelerator", + "Thresholds": { + "UpperCritical": { + "Reading": 600, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 580, + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/Card2/Sensors/TotalPower", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/Sensors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/Sensors/index.json new file mode 100644 index 00000000..f07b4ec7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/Sensors/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#SensorCollection.SensorCollection", + "Name": "Chassis sensors", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/Card2/Sensors/CardTemp" + }, + { + "@odata.id": "/redfish/v1/Chassis/Card2/Sensors/TotalPower" + } + ], + "@odata.id": "/redfish/v1/Chassis/Card2/Sensors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/ThermalSubsystem/ThermalMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/ThermalSubsystem/ThermalMetrics/index.json new file mode 100644 index 00000000..c19fd33f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/ThermalSubsystem/ThermalMetrics/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#ThermalMetrics.v1_3_3.ThermalMetrics", + "Id": "ThermalMetrics", + "Name": "Chassis Thermal Metrics", + "TemperatureSummaryCelsius": { + "Internal": { + "Reading": 37, + "DataSourceUri": "/redfish/v1/Chassis/Card2/Sensors/CardTemp" + } + }, + "TemperatureReadingsCelsius": [ + { + "Reading": 37, + "DeviceName": "Internal", + "DataSourceUri": "/redfish/v1/Chassis/Card2/Sensors/CardTemp" + } + ], + "@odata.id": "/redfish/v1/Chassis/Card2/ThermalSubsystem/ThermalMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/ThermalSubsystem/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/ThermalSubsystem/index.json new file mode 100644 index 00000000..54eac7e7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/ThermalSubsystem/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#ThermalSubsystem.v1_5_0.ThermalSubsystem", + "Id": "ThermalSubsystem", + "Name": "Thermal Subsystem for Chassis", + "ThermalMetrics": { + "@odata.id": "/redfish/v1/Chassis/Card2/ThermalSubsystem/ThermalMetrics" + }, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Chassis/Card2/ThermalSubsystem", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/index.json new file mode 100644 index 00000000..ceb187b1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/Card2/index.json @@ -0,0 +1,52 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "Card2", + "Name": "Card Chassis", + "Description": "This Chassis resource represents card that contains a SmartNIC, including its dedicated offload processors and network functions", + "ChassisType": "Card", + "AssetTag": "Chicago-45Z-2468", + "Manufacturer": "Contoso", + "Model": "9950", + "SKU": "9541286", + "SerialNumber": "637XR2476R4", + "PartNumber": "334587-P34", + "PowerState": "On", + "IndicatorLED": "Off", + "Location": { + "PartLocation": { + "ServiceLabel": "Card Slot 2", + "LocationType": "Slot", + "LocationOrdinalValue": 1, + "Reference": "Rear", + "Orientation": "LeftToRight" + } + }, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ThermalSubsystem": { + "@odata.id": "/redfish/v1/Chassis/Card2/ThermalSubsystem" + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Chassis/Card2/EnvironmentMetrics" + }, + "NetworkAdapters": { + "@odata.id": "/redfish/v1/Chassis/Card2/NetworkAdapters" + }, + "Sensors": { + "@odata.id": "/redfish/v1/Chassis/Card2/Sensors" + }, + "Links": { + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ], + "ContainedBy": { + "@odata.id": "/redfish/v1/Chassis/1U" + } + }, + "@odata.id": "/redfish/v1/Chassis/Card2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/index.json new file mode 100644 index 00000000..963b6a7b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Chassis/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#ChassisCollection.ChassisCollection", + "Name": "Chassis Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + }, + { + "@odata.id": "/redfish/v1/Chassis/Card1" + } + ], + "@odata.id": "/redfish/v1/Chassis", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/AddressPools/AddressPool1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/AddressPools/AddressPool1/index.json new file mode 100644 index 00000000..7240ca9e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/AddressPools/AddressPool1/index.json @@ -0,0 +1,192 @@ +{ + "@odata.type": "#AddressPool.v1_3_0.AddressPool", + "Id": "AddressPool1", + "Name": "AddressPools for Ethernet Fabrics", + "Description": "Fabric Only Address resource Pools", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Ethernet": { + "IPv4": { + "VLANIdentifierAddressRange": { + "Lower": 1, + "Upper": 100 + }, + "LoopbackAddressRange": { + "Lower": "192.168.0.1", + "Upper": "192.168.3.254" + }, + "FabricLinkAddressRange": { + "Lower": "192.168.1.1", + "Upper": "192.168.3.254" + }, + "HostAddressRange": { + "Lower": "192.164.158.1", + "Upper": "192.164.158.254" + }, + "ManagementAddressRange": { + "Lower": "172.16.0.1", + "Upper": "172.16.3.254" + }, + "IBGPAddressRange": { + "Lower": "172.16.4.1", + "Upper": "172.16.6.254" + }, + "EBGPAddressRange": { + "Lower": "172.16.7.1", + "Upper": "172.16.9.254" + }, + "DNSServer": [ + "10.0.0.1", + "10.0.0.2" + ], + "NTPServer": [ + "10.0.0.3", + "10.0.0.4" + ], + "DHCP": { + "DHCPRelayEnabled": false, + "DHCPInterfaceMTUBytes": 1500, + "DHCPServer": [ + "10.0.0.5", + "10.0.0.6" + ] + }, + "DNSDomainName": "mycompany.com", + "DistributeIntoUnderlayEnabled": false, + "NTPTimezone": "EST", + "NTPOffsetHoursMinutes": -5 + }, + "BGPEvpn": { + "VLANIdentifierAddressRange": { + "Lower": 200, + "Upper": 2000 + }, + "ESINumberRange": { + "Lower": 1, + "Upper": 1000 + }, + "EVINumberRange": { + "Lower": 1, + "Upper": 1000 + }, + "RouteDistinguisherRange": { + "Lower": 20, + "Upper": 2000 + }, + "RouteTargetRange": { + "Lower": 20, + "Upper": 2000 + }, + "ARPProxyEnabled": false, + "ARPSuppressionEnabled": false, + "NDPSuppressionEnabled": false, + "NDPProxyEnabled": false, + "UnderlayMulticastEnabled": false, + "UnknownUnicastSuppressionEnabled": false + }, + "EBGP": { + "AlwaysCompareMEDEnabled": false, + "MultihopEnabled": false, + "MultihopTTL": 1, + "ASNumberRange": { + "Lower": 64512, + "Upper": 64712 + }, + "BGPNeighbor": { + "CIDR": 14, + "Enabled": true, + "AllowOwnASEnabled": true, + "ConnectRetrySeconds": 30, + "HoldTimeSeconds": 90, + "KeepaliveIntervalSeconds": 30, + "MinimumAdvertisementIntervalSeconds": 30, + "TCPMaxSegmentSizeBytes": 536, + "PathMTUDiscoveryEnabled": false, + "PassiveModeEnabled": false, + "TreatAsWithdrawEnabled": false, + "ReplacePeerASEnabled": false, + "LogStateChangesEnabled": true, + "MaxPrefix": { + "MaxPrefixNumber": 1000, + "ThresholdWarningOnlyEnabled": false, + "ShutdownThresholdPercentage": 75, + "RestartTimerSeconds": 120 + } + }, + "GracefulRestart": { + "GracefulRestartEnabled": true, + "TimeSeconds": 120, + "StaleRoutesTimeSeconds": 300, + "HelperModeEnabled": true + }, + "MultiplePaths": { + "UseMultiplePathsEnabled": false, + "MaximumPaths": 1 + }, + "BGPRoute": { + "FlapDampingEnabled": true, + "ExternalCompareRouterIdEnabled": true, + "AdvertiseInactiveRoutesEnabled": false, + "SendDefaultRouteEnabled": false, + "DistanceExternal": 5 + }, + "SendCommunityEnabled": false + }, + "MultiProtocolIBGP": { + "ASNumberRange": { + "Lower": 64713, + "Upper": 64800 + }, + "BGPNeighbor": { + "AllowOwnASEnabled": true, + "ConnectRetrySeconds": 30, + "HoldTimeSeconds": 90, + "KeepaliveIntervalSeconds": 30, + "MinimumAdvertisementIntervalSeconds": 30, + "TCPMaxSegmentSizeBytes": 536, + "PathMTUDiscoveryEnabled": false, + "PassiveModeEnabled": false, + "TreatAsWithdrawEnabled": false, + "ReplacePeerASEnabled": false, + "LogStateChangesEnabled": true, + "MaxPrefix": { + "MaxPrefixNumber": 1000, + "ThresholdWarningOnlyEnabled": false, + "ShutdownThresholdPercentage": 75, + "RestartTimerSeconds": 120 + } + }, + "GracefulRestart": { + "GracefulRestartEnabled": true, + "TimeSeconds": 120, + "StaleRoutesTimeSeconds": 300, + "HelperModeEnabled": true + }, + "MultiplePaths": { + "UseMultiplePathsEnabled": false, + "MaximumPaths": 1 + }, + "BGPRoute": { + "FlapDampingEnabled": true + } + }, + "BFDSingleHopOnly": { + "LocalMultiplier": 5, + "DesiredMinTxIntervalMilliseconds": 3, + "RequiredMinRxIntervalMilliseconds": 3, + "DemandModeEnabled": true, + "MeticulousModeEnabled": false + } + }, + "Links": { + "Zones": [ + { + "@odata.id": "/redfish/v1/Fabrics/Ethernet/Zones/Zone0" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/Ethernet/AddressPools/AddressPool1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/AddressPools/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/AddressPools/index.json new file mode 100644 index 00000000..8d4b9ad0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/AddressPools/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#AddressPoolCollection.AddressPoolCollection", + "Name": "AddressPool Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/Ethernet/AddressPools/AddressPool1" + } + ], + "@odata.id": "/redfish/v1/Fabrics/Ethernet/AddressPools", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/Endpoints/EP1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/Endpoints/EP1/index.json new file mode 100644 index 00000000..053ec742 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/Endpoints/EP1/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Endpoint.v1_8_2.Endpoint", + "Id": "EP1", + "Name": "Endpoint 1", + "Description": "Logical Interface in Card1 Port1", + "EndpointProtocol": "Ethernet", + "IPTransportDetails": [ + { + "IPv4Address": { + "Address": "192.164.158.21" + }, + "TransportProtocol": "TCP" + } + ], + "Links": { + "AddressPools": [ + { + "@odata.id": "/redfish/v1/Fabrics/Ethernet/AddressPools/AddressPool1" + } + ], + "NetworkDeviceFunction": [ + { + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0" + } + ], + "LocalPorts": [ + { + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1/Ports/SC2KP1" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/Ethernet/Endpoints/EP1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/Endpoints/EP2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/Endpoints/EP2/index.json new file mode 100644 index 00000000..135c08f6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/Endpoints/EP2/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Endpoint.v1_8_2.Endpoint", + "Id": "EP2", + "Name": "Endpoint 2", + "Description": "Logical Interface in Card1 Port2", + "EndpointProtocol": "Ethernet", + "IPTransportDetails": [ + { + "IPv4Address": { + "Address": "192.164.158.22" + }, + "TransportProtocol": "TCP" + } + ], + "Links": { + "AddressPools": [ + { + "@odata.id": "/redfish/v1/Fabrics/Ethernet/AddressPools/AddressPool1" + } + ], + "NetworkDeviceFunction": [ + { + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP2F0" + } + ], + "LocalPorts": [ + { + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1/Ports/SC2KP2" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/Ethernet/Endpoints/EP2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/Endpoints/EP3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/Endpoints/EP3/index.json new file mode 100644 index 00000000..a78cee1c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/Endpoints/EP3/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#Endpoint.v1_8_2.Endpoint", + "Id": "EP3", + "Name": "Endpoint 3", + "Description": "Logical Interface in Card2 Port1", + "EndpointProtocol": "Ethernet", + "IPTransportDetails": [ + { + "IPv4Address": { + "Address": "192.164.158.23" + }, + "TransportProtocol": "TCP" + } + ], + "Links": { + "AddressPools": [], + "NetworkDeviceFunction": [ + { + "@odata.id": "/redfish/v1/Chassis/Card2/NetworkAdapters/Slot2/NetworkDeviceFunctions/SC2KP1F0" + } + ], + "LocalPorts": [ + { + "@odata.id": "/redfish/v1/Chassis/Card2/NetworkAdapters/Slot2/Ports/SC2KP1" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/Ethernet/Endpoints/EP3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/Endpoints/EP4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/Endpoints/EP4/index.json new file mode 100644 index 00000000..82f84ac8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/Endpoints/EP4/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#Endpoint.v1_8_2.Endpoint", + "Id": "EP4", + "Name": "Endpoint 4", + "Description": "Logical Interface in Card2 Port2", + "EndpointProtocol": "Ethernet", + "IPTransportDetails": [ + { + "IPv4Address": { + "Address": "192.164.158.24" + }, + "TransportProtocol": "TCP" + } + ], + "Links": { + "AddressPools": [], + "NetworkDeviceFunction": [ + { + "@odata.id": "/redfish/v1/Chassis/Card2/NetworkAdapters/Slot2/NetworkDeviceFunctions/SC2KP2F0" + } + ], + "LocalPorts": [ + { + "@odata.id": "/redfish/v1/Chassis/Card2/NetworkAdapters/Slot2/Ports/SC2KP2" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/Ethernet/Endpoints/EP4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/Endpoints/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/Endpoints/index.json new file mode 100644 index 00000000..80bcb6d3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/Endpoints/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#EndpointCollection.EndpointCollection", + "Name": "Ethernet Endpoint Collection", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/Ethernet/Endpoints/EP1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/Ethernet/Endpoints/EP2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/Ethernet/Endpoints/EP3" + }, + { + "@odata.id": "/redfish/v1/Fabrics/Ethernet/Endpoints/EP4" + } + ], + "@odata.id": "/redfish/v1/Fabrics/Ethernet/Endpoints", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/Zones/Zone0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/Zones/Zone0/index.json new file mode 100644 index 00000000..4079b0c5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/Zones/Zone0/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#Zone.v1_6_3.Zone", + "Id": "Zone0", + "Name": "Ethernet Zone 0", + "Description": "Ethernet Zone 0", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ZoneType": "Default", + "ExternalAccessibility": "NoInternalRouting", + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/Ethernet/Endpoints/EP1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/Ethernet/Endpoints/EP2" + }, + { + "@odata.id": "/redfish/v1/Fabrics/Ethernet/Endpoints/EP3" + }, + { + "@odata.id": "/redfish/v1/Fabrics/Ethernet/Endpoints/EP4" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/Ethernet/Zones/Zone0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/Zones/Zone1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/Zones/Zone1/index.json new file mode 100644 index 00000000..e144b90b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/Zones/Zone1/index.json @@ -0,0 +1,23 @@ +{ + "@odata.type": "#Zone.v1_6_3.Zone", + "Id": "Zone1", + "Name": "Ethernet Zone 1", + "Description": "Ethernet Zone 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ZoneType": "ZoneOfEndpoints", + "Links": { + "Endpoints": [ + { + "@odata.id": "/redfish/v1/Fabrics/Ethernet/Endpoints/EP1" + }, + { + "@odata.id": "/redfish/v1/Fabrics/Ethernet/Endpoints/EP2" + } + ] + }, + "@odata.id": "/redfish/v1/Fabrics/Ethernet/Zones/Zone1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/Zones/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/Zones/index.json new file mode 100644 index 00000000..10f46f0b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/Zones/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#ZoneCollection.ZoneCollection", + "Name": "Ethernet Zone Collection", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/Ethernet/Zones/Zone0" + }, + { + "@odata.id": "/redfish/v1/Fabrics/Ethernet/Zones/Zone1" + } + ], + "@odata.id": "/redfish/v1/Fabrics/Ethernet/Zones", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/index.json new file mode 100644 index 00000000..aec57348 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/Ethernet/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#Fabric.v1_4_0.Fabric", + "Id": "Ethernet", + "Name": "Ethernet Fabric", + "FabricType": "Ethernet", + "Description": "An Ethernet Based Fabric", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Zones": { + "@odata.id": "/redfish/v1/Fabrics/Ethernet/Zones" + }, + "Endpoints": { + "@odata.id": "/redfish/v1/Fabrics/Ethernet/Endpoints" + }, + "AddressPools": { + "@odata.id": "/redfish/v1/Fabrics/Ethernet/AddressPools" + }, + "@odata.id": "/redfish/v1/Fabrics/Ethernet", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/index.json new file mode 100644 index 00000000..d9eec4e0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Fabrics/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#FabricCollection.FabricCollection", + "Name": "Fabric Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Fabrics/Ethernet" + } + ], + "@odata.id": "/redfish/v1/Fabrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/EthernetInterfaces/Dedicated/SD/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/EthernetInterfaces/Dedicated/SD/index.json new file mode 100644 index 00000000..a951bc17 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/EthernetInterfaces/Dedicated/SD/index.json @@ -0,0 +1,60 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "SD", + "Name": "Manager Ethernet Interface", + "Description": "Management Network Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:33:CF:EA", + "MACAddress": "23:11:8A:33:CF:EA", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.0.1" + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred" + } + ], + "NameServers": [ + "names.dmtf.org" + ], + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/Dedicated/SD", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/EthernetInterfaces/Dedicated/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/EthernetInterfaces/Dedicated/index.json new file mode 100644 index 00000000..bd71dce8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/EthernetInterfaces/Dedicated/index.json @@ -0,0 +1,76 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "Dedicated", + "Name": "Manager Ethernet Interface", + "Description": "Management Network Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:33:CF:EA", + "MACAddress": "23:11:8A:33:CF:EA", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.0.1" + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred" + } + ], + "NameServers": [ + "names.dmtf.org" + ], + "@Redfish.Settings": { + "@odata.type": "#Settings.v1_5_0.Settings", + "SettingsObject": { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/Dedicated/SD" + }, + "Time": "2012-03-07T14:44.30-05:00", + "ETag": "84ffcbb050ddc7fa9cddb59014546e59", + "Messages": [ + { + "MessageId": "Base.1.0.SettingsFailed", + "RelatedProperties": [ + "/IPv6Addresses/PrefixLength" + ] + } + ] + }, + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/Dedicated", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/EthernetInterfaces/index.json new file mode 100644 index 00000000..c373a6af --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/EthernetInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Network Interface Collection", + "Description": "Collection of EthernetInterfaces for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/Dedicated" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/LogServices/Log/Entries/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/LogServices/Log/Entries/1/index.json new file mode 100644 index 00000000..48e6ac0c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/LogServices/Log/Entries/1/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "Event", + "Severity": "Critical", + "Created": "2012-03-07T14:44:00Z", + "SensorNumber": 1, + "Message": "System May be Melting", + "MessageId": "Event.1.0.TempWayTooHot", + "MessageArgs": [ + "88" + ], + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/AmbientTemp" + } + }, + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/LogServices/Log/Entries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/LogServices/Log/Entries/index.json new file mode 100644 index 00000000..64ee5540 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/LogServices/Log/Entries/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries/1", + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "Event", + "Severity": "Critical", + "Created": "2012-03-07T14:44:00Z", + "SensorNumber": 1, + "Message": "System May be Melting", + "MessageId": "Event.1.0.TempWayTooHot", + "MessageArgs": [ + "88" + ], + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/AmbientTemp" + } + } + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/LogServices/Log/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/LogServices/Log/index.json new file mode 100644 index 00000000..6d2dbdfe --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/LogServices/Log/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#LogService.v1_9_0.LogService", + "Id": "Log", + "Name": "System Log Service", + "MaxNumberOfRecords": 1000, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Managers/BMC/LogServices/Log/Actions/LogService.ClearLog" + } + }, + "Entries": { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries" + }, + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/LogServices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/LogServices/index.json new file mode 100644 index 00000000..0de6f42a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/LogServices/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Description": "Collection of Log Services for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/LogServices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/NetworkProtocol/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/NetworkProtocol/index.json new file mode 100644 index 00000000..175f0b66 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/NetworkProtocol/index.json @@ -0,0 +1,75 @@ +{ + "@odata.type": "#ManagerNetworkProtocol.v1_14_0.ManagerNetworkProtocol", + "Id": "NetworkProtocol", + "Name": "Manager Network Protocol", + "Description": "Manager Network Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "HTTP": { + "ProtocolEnabled": true, + "Port": 80 + }, + "HTTPS": { + "ProtocolEnabled": true, + "Port": 443 + }, + "IPMI": { + "ProtocolEnabled": true, + "Port": 623 + }, + "SSH": { + "ProtocolEnabled": true, + "Port": 22 + }, + "SNMP": { + "ProtocolEnabled": true, + "EnableSNMPv1": true, + "EnableSNMPv2c": false, + "EnableSNMPv3": true, + "Port": 161, + "CommunityStrings": [ + { + "Name": "Read-only community", + "CommunityString": null, + "AccessMode": "Limited" + }, + { + "Name": "Full access community", + "CommunityString": null, + "AccessMode": "Full" + } + ], + "EngineId": { + "PrivateEnterpriseId": "00 00 01 9C", + "EnterpriseSpecificMethod": "00 11 22 33 44 55 66 77" + }, + "HideCommunityStrings": true, + "AuthenticationProtocol": "HMAC_SHA96", + "EncryptionProtocol": "CFB128_AES128" + }, + "VirtualMedia": { + "ProtocolEnabled": true, + "Port": 17988 + }, + "SSDP": { + "ProtocolEnabled": true, + "Port": 1900, + "NotifyMulticastIntervalSeconds": 600, + "NotifyTTL": 5, + "NotifyIPv6Scope": "Site" + }, + "Telnet": { + "ProtocolEnabled": true, + "Port": 23 + }, + "KVMIP": { + "ProtocolEnabled": true, + "Port": 5288 + }, + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/SerialInterfaces/TTY0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/SerialInterfaces/TTY0/index.json new file mode 100644 index 00000000..2cae0a79 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/SerialInterfaces/TTY0/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#SerialInterface.v1_3_0.SerialInterface", + "Id": "TTY0", + "Name": "Manager Serial Interface 1", + "Description": "Management for Serial Interface", + "InterfaceEnabled": true, + "SignalType": "Rs232", + "BitRate": "115200", + "Parity": "None", + "DataBits": "8", + "StopBits": "1", + "FlowControl": "None", + "ConnectorType": "RJ45", + "PinOut": "Cyclades", + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces/TTY0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/SerialInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/SerialInterfaces/index.json new file mode 100644 index 00000000..249de7d4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/SerialInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#SerialInterfaceCollection.SerialInterfaceCollection", + "Name": "Serial Interface Collection", + "Description": "Collection of Serial Interfaces for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces/TTY0" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/VirtualMedia/CD1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/VirtualMedia/CD1/index.json new file mode 100644 index 00000000..f91e066b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/VirtualMedia/CD1/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#VirtualMedia.v1_7_0.VirtualMedia", + "Id": "CD1", + "Name": "Virtual CD", + "MediaTypes": [ + "CD", + "DVD" + ], + "Image": "redfish.dmtf.org/freeImages/freeOS.1.1.iso", + "ImageName": "mymedia-read-only", + "ConnectedVia": "Applet", + "Inserted": true, + "WriteProtected": false, + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/CD1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/VirtualMedia/Floppy1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/VirtualMedia/Floppy1/index.json new file mode 100644 index 00000000..15191be4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/VirtualMedia/Floppy1/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#VirtualMedia.v1_7_0.VirtualMedia", + "Id": "Floppy1", + "Name": "Virtual Removable Media", + "MediaTypes": [ + "Floppy", + "USBStick" + ], + "Image": "https://www.dmtf.org/freeImages/Sardine.img", + "ImageName": "Sardine2.1.43.35.6a", + "ConnectedVia": "URI", + "Inserted": true, + "WriteProtected": false, + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/Floppy1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/VirtualMedia/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/VirtualMedia/index.json new file mode 100644 index 00000000..116eb0b0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/VirtualMedia/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#VirtualMediaCollection.VirtualMediaCollection", + "Name": "Virtual Media Services", + "Description": "Redfish-BMC Virtual Media Service Settings", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/Floppy1" + }, + { + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/CD1" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/index.json new file mode 100644 index 00000000..c4613978 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/BMC/index.json @@ -0,0 +1,89 @@ +{ + "@odata.type": "#Manager.v1_25_0.Manager", + "Id": "BMC", + "Name": "Manager", + "ManagerType": "BMC", + "Description": "Contoso BMC", + "ServiceEntryPointUUID": "92384634-2938-2342-8820-489239905423", + "UUID": "58893887-8974-2487-2389-841168418919", + "Model": "Joo Janta 200", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PowerState": "On", + "GraphicalConsole": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 2, + "ConnectTypesSupported": [ + "KVMIP" + ] + }, + "SerialConsole": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 1, + "ConnectTypesSupported": [ + "Telnet", + "SSH", + "IPMI" + ] + }, + "CommandShell": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 4, + "ConnectTypesSupported": [ + "Telnet", + "SSH" + ] + }, + "FirmwareVersion": "1.45.455b66-rev4", + "NetworkProtocol": { + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces" + }, + "SerialInterfaces": { + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices" + }, + "VirtualMedia": { + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia" + }, + "Links": { + "ManagerForServers": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + }, + { + "@odata.id": "/redfish/v1/Systems/Card1-SoC" + } + ], + "ManagerForChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + }, + { + "@odata.id": "/redfish/v1/Chassis/Card1" + } + ], + "ManagerInChassis": { + "@odata.id": "/redfish/v1/Chassis/1U" + } + }, + "Actions": { + "#Manager.Reset": { + "target": "/redfish/v1/Managers/BMC/Actions/Manager.Reset", + "ResetType@Redfish.AllowableValues": [ + "ForceRestart", + "GracefulRestart" + ] + } + }, + "@odata.id": "/redfish/v1/Managers/BMC", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/index.json new file mode 100644 index 00000000..2de83743 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Managers/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerCollection.ManagerCollection", + "Name": "Manager Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ], + "@odata.id": "/redfish/v1/Managers", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/SessionService/Sessions/1234567890ABCDEF/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/SessionService/Sessions/1234567890ABCDEF/index.json new file mode 100644 index 00000000..90844a1b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/SessionService/Sessions/1234567890ABCDEF/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#Session.v1_9_0.Session", + "Id": "1234567890ABCDEF", + "Name": "User Session", + "Description": "Manager User Session", + "UserName": "Administrator", + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/SessionService/Sessions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/SessionService/Sessions/index.json new file mode 100644 index 00000000..8d8cdf58 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/SessionService/Sessions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SessionCollection.SessionCollection", + "Name": "Session Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF" + } + ], + "@odata.id": "/redfish/v1/SessionService/Sessions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/SessionService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/SessionService/index.json new file mode 100644 index 00000000..62a05690 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/SessionService/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#SessionService.v1_2_0.SessionService", + "Id": "SessionService", + "Name": "Session Service", + "Description": "Session Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "SessionTimeout": 30, + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + }, + "@odata.id": "/redfish/v1/SessionService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Bios/Settings/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Bios/Settings/index.json new file mode 100644 index 00000000..2768ab90 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Bios/Settings/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#Bios.v1_3_0.Bios", + "Id": "Settings", + "Name": "BIOS Configuration Pending Settings", + "AttributeRegistry": "BiosAttributeRegistryP89.v1_0_0", + "Attributes": { + "AdminPhone": "(404) 555-1212", + "BootMode": "Uefi", + "EmbeddedSata": "Ahci", + "NicBoot1": "NetworkBoot", + "NicBoot2": "NetworkBoot", + "PowerProfile": "MaxPerf", + "ProcCoreDisable": 0, + "ProcHyperthreading": "Enabled", + "ProcTurboMode": "Disabled", + "UsbControl": "UsbEnabled" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Bios/Settings", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Bios/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Bios/index.json new file mode 100644 index 00000000..59435f81 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Bios/index.json @@ -0,0 +1,44 @@ +{ + "@odata.type": "#Bios.v1_3_0.Bios", + "Id": "Bios", + "Name": "BIOS Configuration Current Settings", + "AttributeRegistry": "BiosAttributeRegistryP89.v1_0_0", + "Attributes": { + "AdminPhone": "", + "BootMode": "Uefi", + "EmbeddedSata": "Raid", + "NicBoot1": "NetworkBoot", + "NicBoot2": "Disabled", + "PowerProfile": "MaxPerf", + "ProcCoreDisable": 0, + "ProcHyperthreading": "Enabled", + "ProcTurboMode": "Enabled", + "UsbControl": "UsbEnabled" + }, + "@Redfish.Settings": { + "@odata.type": "#Settings.v1_5_0.Settings", + "ETag": "9234ac83b9700123cc32", + "Messages": [ + { + "MessageId": "Base.1.0.SettingsFailed", + "RelatedProperties": [ + "/Attributes/ProcTurboMode" + ] + } + ], + "SettingsObject": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Bios/Settings" + }, + "Time": "2016-03-07T14:44.30-05:00" + }, + "Actions": { + "#Bios.ResetBios": { + "target": "/redfish/v1/Systems/437XR1138R2/Bios/Actions/Bios.ResetBios" + }, + "#Bios.ChangePassword": { + "target": "/redfish/v1/Systems/437XR1138R2/Bios/Actions/Bios.ChangePassword" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Bios", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json new file mode 100644 index 00000000..157ced26 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/LogServices/Log1/Entries/1/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "SEL", + "Severity": "Critical", + "Created": "2012-03-07T14:44:00Z", + "EntryCode": "Upper Critical - going high", + "SensorType": "Temperature", + "SensorNumber": 1, + "Message": "Temperature threshold exceeded", + "MessageId": "0x592A28", + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/AmbientTemp" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/LogServices/Log1/Entries/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/LogServices/Log1/Entries/2/index.json new file mode 100644 index 00000000..b4565472 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/LogServices/Log1/Entries/2/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "2", + "Name": "Log Entry 2", + "EntryType": "SEL", + "Severity": "Critical", + "Created": "2012-03-07T14:45:00Z", + "EntryCode": "Upper Critical - going high", + "SensorType": "Temperature", + "SensorNumber": 2, + "Message": "Temperature threshold exceeded", + "MessageId": "0x592E28", + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/AmbientTemp" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/LogServices/Log1/Entries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/LogServices/Log1/Entries/index.json new file mode 100644 index 00000000..14fbb355 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/LogServices/Log1/Entries/index.json @@ -0,0 +1,49 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries/1", + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "SEL", + "Severity": "Critical", + "Created": "2012-03-07T14:44:00Z", + "EntryCode": "Upper Critical - going high", + "SensorType": "Temperature", + "SensorNumber": 1, + "Message": "Temperature threshold exceeded", + "MessageId": "0x592A28", + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/AmbientTemp" + } + } + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries/2", + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "2", + "Name": "Log Entry 2", + "EntryType": "SEL", + "Severity": "Critical", + "Created": "2012-03-07T14:45:00Z", + "EntryCode": "Upper Critical - going high", + "SensorType": "Temperature", + "SensorNumber": 2, + "Message": "Temperature threshold exceeded", + "MessageId": "0x592E28", + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/1U/Sensors/AmbientTemp" + } + } + } + ], + "@odata.nextLink": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries?$skiptoken=2", + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/LogServices/Log1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/LogServices/Log1/index.json new file mode 100644 index 00000000..4a80e140 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/LogServices/Log1/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#LogService.v1_9_0.LogService", + "Id": "Log1", + "Name": "System Log Service", + "MaxNumberOfRecords": 1000, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Actions/LogService.ClearLog" + } + }, + "Entries": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/LogServices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/LogServices/index.json new file mode 100644 index 00000000..fb9f6518 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/LogServices/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Memory/DIMM1/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Memory/DIMM1/EnvironmentMetrics/index.json new file mode 100644 index 00000000..2cfb6925 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Memory/DIMM1/EnvironmentMetrics/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Memory Environment Metrics", + "TemperatureCelsius": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/DIMM1Temp", + "Reading": 44 + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM1/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Memory/DIMM1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Memory/DIMM1/index.json new file mode 100644 index 00000000..14ddedcf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Memory/DIMM1/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM1", + "Name": "DIMM Slot 1", + "RankCount": 2, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 32768, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM1/EnvironmentMetrics" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Memory/DIMM2/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Memory/DIMM2/EnvironmentMetrics/index.json new file mode 100644 index 00000000..71b80223 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Memory/DIMM2/EnvironmentMetrics/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Memory Environment Metrics", + "TemperatureCelsius": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/DIMM1Temp", + "Reading": 44 + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM2/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Memory/DIMM2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Memory/DIMM2/index.json new file mode 100644 index 00000000..997ade45 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Memory/DIMM2/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM2", + "Name": "DIMM Slot 2", + "RankCount": 2, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 32768, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 2 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM2/EnvironmentMetrics" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Memory/DIMM3/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Memory/DIMM3/EnvironmentMetrics/index.json new file mode 100644 index 00000000..3d088ec0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Memory/DIMM3/EnvironmentMetrics/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Memory Environment Metrics", + "TemperatureCelsius": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/DIMM1Temp", + "Reading": 44 + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM3/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Memory/DIMM3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Memory/DIMM3/index.json new file mode 100644 index 00000000..5f3703ef --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Memory/DIMM3/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM3", + "Name": "DIMM Slot 3", + "RankCount": 2, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 32768, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 2, + "MemoryController": 2, + "Channel": 1, + "Slot": 3 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM3/EnvironmentMetrics" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Memory/DIMM4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Memory/DIMM4/index.json new file mode 100644 index 00000000..60a64276 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Memory/DIMM4/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DIMM4", + "Name": "DIMM Slot 4", + "MemoryLocation": { + "Socket": 2, + "MemoryController": 2, + "Channel": 1, + "Slot": 4 + }, + "Status": { + "State": "Absent" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Memory/index.json new file mode 100644 index 00000000..0abde074 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Memory/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Module Collection", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM2" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM3" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/DIMM4" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/NetworkInterfaces/4AWAII/NetworkDeviceFunctions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/NetworkInterfaces/4AWAII/NetworkDeviceFunctions/index.json new file mode 100644 index 00000000..14e024cd --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/NetworkInterfaces/4AWAII/NetworkDeviceFunctions/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#NetworkDeviceFunctionCollection.NetworkDeviceFunctionCollection", + "Name": "Network Device Function Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0" + }, + { + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP2F0" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/NetworkInterfaces/4AWAII/NetworkDeviceFunctions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/NetworkInterfaces/4AWAII/Ports/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/NetworkInterfaces/4AWAII/Ports/index.json new file mode 100644 index 00000000..6c1a67cf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/NetworkInterfaces/4AWAII/Ports/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "Port Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1/Ports/SC2KP1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1/Ports/SC2KP2" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/NetworkInterfaces/4AWAII/Ports", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/NetworkInterfaces/4AWAII/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/NetworkInterfaces/4AWAII/index.json new file mode 100644 index 00000000..1421a1d4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/NetworkInterfaces/4AWAII/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#NetworkInterface.v1_2_3.NetworkInterface", + "Id": "4AWAII", + "Name": "Network Interface", + "Ports": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/NetworkInterfaces/4AWAII/Ports" + }, + "NetworkDeviceFunctions": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/NetworkInterfaces/4AWAII/NetworkDeviceFunctions" + }, + "Links": { + "NetworkAdapter": { + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/NetworkInterfaces/4AWAII", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/NetworkInterfaces/4AWAIJ/NetworkDeviceFunctions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/NetworkInterfaces/4AWAIJ/NetworkDeviceFunctions/index.json new file mode 100644 index 00000000..b6584c48 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/NetworkInterfaces/4AWAIJ/NetworkDeviceFunctions/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#NetworkDeviceFunctionCollection.NetworkDeviceFunctionCollection", + "Name": "Network Device Function Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/Card2/NetworkAdapters/Slot2/NetworkDeviceFunctions/SC2KP1F0" + }, + { + "@odata.id": "/redfish/v1/Chassis/Card2/NetworkAdapters/Slot2/NetworkDeviceFunctions/SC2KP2F0" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/NetworkInterfaces/4AWAIJ/NetworkDeviceFunctions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/NetworkInterfaces/4AWAIJ/Ports/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/NetworkInterfaces/4AWAIJ/Ports/index.json new file mode 100644 index 00000000..a87f1509 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/NetworkInterfaces/4AWAIJ/Ports/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "Port Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/Card2/NetworkAdapters/Slot2/Ports/SC2KP1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Card2/NetworkAdapters/Slot2/Ports/SC2KP2" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/NetworkInterfaces/4AWAIJ/Ports", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/NetworkInterfaces/4AWAIJ/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/NetworkInterfaces/4AWAIJ/index.json new file mode 100644 index 00000000..49bb9326 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/NetworkInterfaces/4AWAIJ/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#NetworkInterface.v1_2_3.NetworkInterface", + "Id": "4AWAIJ", + "Name": "Network Interface", + "Ports": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/NetworkInterfaces/4AWAIJ/Ports" + }, + "NetworkDeviceFunctions": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/NetworkInterfaces/4AWAIJ/NetworkDeviceFunctions" + }, + "Links": { + "NetworkAdapter": { + "@odata.id": "/redfish/v1/Chassis/Card2/NetworkAdapters/Slot2" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/NetworkInterfaces/4AWAIJ", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/NetworkInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/NetworkInterfaces/index.json new file mode 100644 index 00000000..46e03cf0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/NetworkInterfaces/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#NetworkInterfaceCollection.NetworkInterfaceCollection", + "Name": "Network Interface Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/NetworkInterfaces/4AWAII" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/NetworkInterfaces/4AWAIJ" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/NetworkInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Processors/CPU1/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Processors/CPU1/EnvironmentMetrics/index.json new file mode 100644 index 00000000..fbd9af54 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Processors/CPU1/EnvironmentMetrics/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Processor Environment Metrics", + "TemperatureCelsius": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/CPU1Temp", + "Reading": 44 + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/CPU1Power", + "Reading": 12.87 + }, + "FanSpeedsPercent": [ + { + "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/CPUFan1", + "DeviceName": "CPU #1 Fan Speed", + "Reading": 80 + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Processors/CPU1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Processors/CPU1/index.json new file mode 100644 index 00000000..4c96405f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Processors/CPU1/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU1", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Multi-Core Intel(R) Xeon(R) processor 7xxx Series", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 3700, + "TotalCores": 8, + "TotalThreads": 16, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1/EnvironmentMetrics" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Processors/CPU2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Processors/CPU2/index.json new file mode 100644 index 00000000..24eec3f5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Processors/CPU2/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU2", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "CPU", + "Status": { + "State": "Absent" + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Processors/index.json new file mode 100644 index 00000000..693c88d6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/Processors/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processors Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU2" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/SimpleStorage/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/SimpleStorage/1/index.json new file mode 100644 index 00000000..b126769d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/SimpleStorage/1/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#SimpleStorage.v1_3_2.SimpleStorage", + "Id": "1", + "Name": "Simple Storage Controller", + "Description": "System SATA", + "UefiDevicePath": "Acpi(PNP0A03,0)/Pci(1F|1)/Ata(Primary,Master)/HD(Part3, Sig00110011)", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "Warning" + }, + "Devices": [ + { + "Name": "SATA Bay 1", + "Manufacturer": "Contoso", + "Model": "3000GT8", + "CapacityBytes": 8000000000000, + "Status": { + "State": "Enabled", + "Health": "OK" + } + }, + { + "Name": "SATA Bay 2", + "Manufacturer": "Contoso", + "Model": "3000GT7", + "CapacityBytes": 4000000000000, + "Status": { + "State": "Enabled", + "Health": "Warning" + } + }, + { + "Name": "SATA Bay 3", + "Status": { + "State": "Absent" + } + }, + { + "Name": "SATA Bay 4", + "Status": { + "State": "Absent" + } + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SimpleStorage/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/SimpleStorage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/SimpleStorage/index.json new file mode 100644 index 00000000..c876f426 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/SimpleStorage/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SimpleStorageCollection.SimpleStorageCollection", + "Name": "Simple Storage Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SimpleStorage/1" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SimpleStorage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/index.json new file mode 100644 index 00000000..d3929c8e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/437XR1138R2/index.json @@ -0,0 +1,141 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "437XR1138R2", + "Name": "WebFrontEnd483", + "SystemType": "Physical", + "AssetTag": "Chicago-45Z-2381", + "Manufacturer": "Contoso", + "Model": "3500", + "SubModel": "RX", + "SKU": "8675309", + "SerialNumber": "437XR1138R2", + "PartNumber": "224071-J23", + "Description": "Web Front End node", + "UUID": "38947555-7742-3448-3784-823347823834", + "HostName": "web483", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "HostingRoles": [ + "ApplicationServer" + ], + "IndicatorLED": "Off", + "PowerState": "On", + "Boot": { + "BootSourceOverrideEnabled": "Once", + "BootSourceOverrideTarget": "Pxe", + "BootSourceOverrideTarget@Redfish.AllowableValues": [ + "None", + "Pxe", + "Cd", + "Usb", + "Hdd", + "BiosSetup", + "Utilities", + "Diags", + "SDCard", + "UefiTarget" + ], + "BootSourceOverrideMode": "UEFI", + "UefiTargetBootSourceOverride": "/0x31/0x33/0x01/0x01" + }, + "TrustedModules": [ + { + "FirmwareVersion": "1.13b", + "InterfaceType": "TPM1_2", + "Status": { + "State": "Enabled", + "Health": "OK" + } + } + ], + "Oem": { + "Contoso": { + "@odata.type": "#Contoso.ComputerSystem", + "ProductionLocation": { + "FacilityName": "PacWest Production Facility", + "Country": "USA" + } + }, + "Chipwise": { + "@odata.type": "#Chipwise.ComputerSystem", + "Style": "Executive" + } + }, + "BiosVersion": "P79 v1.45 (12/06/2017)", + "ProcessorSummary": { + "Count": 2, + "Model": "Multi-Core Intel(R) Xeon(R) processor 7xxx Series", + "LogicalProcessorCount": 16, + "CoreCount": 8, + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + } + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 96, + "TotalSystemPersistentMemoryGiB": 0, + "MemoryMirroring": "None", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + } + }, + "Bios": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Bios" + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors" + }, + "NetworkInterfaces": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/NetworkInterfaces" + }, + "Memory": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory" + }, + "SimpleStorage": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/SimpleStorage" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/1U" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ] + }, + "Actions": { + "#ComputerSystem.Reset": { + "target": "/redfish/v1/Systems/437XR1138R2/Actions/ComputerSystem.Reset", + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "GracefulRestart", + "ForceRestart", + "Nmi", + "ForceOn", + "PushPowerButton" + ] + }, + "Oem": { + "#Contoso.Reset": { + "target": "/redfish/v1/Systems/437XR1138R2/Oem/Contoso/Actions/Contoso.Reset" + } + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1138R2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/LogServices/Log1/Entries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/LogServices/Log1/Entries/index.json new file mode 100644 index 00000000..7e51530a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/LogServices/Log1/Entries/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 0, + "Members": [], + "@odata.id": "/redfish/v1/Systems/Card1-SoC/LogServices/Log1/Entries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/LogServices/Log1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/LogServices/Log1/index.json new file mode 100644 index 00000000..82b629b7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/LogServices/Log1/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#LogService.v1_9_0.LogService", + "Id": "Log1", + "Name": "System Log Service", + "MaxNumberOfRecords": 1000, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2021-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Systems/Card1-SoC/LogServices/Log1/Actions/LogService.ClearLog" + } + }, + "Entries": { + "@odata.id": "/redfish/v1/Systems/Card1-SoC/LogServices/Log1/Entries" + }, + "@odata.id": "/redfish/v1/Systems/Card1-SoC/LogServices/Log1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/LogServices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/LogServices/index.json new file mode 100644 index 00000000..f4085f7f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/LogServices/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/Card1-SoC/LogServices/Log1" + } + ], + "@odata.id": "/redfish/v1/Systems/Card1-SoC/LogServices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/Memory/DRAM1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/Memory/DRAM1/index.json new file mode 100644 index 00000000..54c88beb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/Memory/DRAM1/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DRAM1", + "Name": "DRAM component 1", + "RankCount": 2, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 4096, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/Card1-SoC/Memory/DRAM1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/Memory/DRAM2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/Memory/DRAM2/index.json new file mode 100644 index 00000000..753da2bf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/Memory/DRAM2/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Id": "DRAM2", + "Name": "DRAM component 2", + "RankCount": 2, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 4096, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 2, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/Card1-SoC/Memory/DRAM2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/Memory/index.json new file mode 100644 index 00000000..c950247a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/Memory/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Module Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/Card1-SoC/Memory/DRAM1" + }, + { + "@odata.id": "/redfish/v1/Systems/Card1-SoC/Memory/DRAM2" + } + ], + "@odata.id": "/redfish/v1/Systems/Card1-SoC/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/Processors/CPU1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/Processors/CPU1/index.json new file mode 100644 index 00000000..a7a34f9f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/Processors/CPU1/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU1", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "CPU", + "ProcessorArchitecture": "ARM", + "InstructionSet": "ARM-A64", + "Manufacturer": "Contoso", + "Model": "Contoso ARM Cortex-A72", + "MaxSpeedMHz": 2000, + "TotalCores": 4, + "TotalThreads": 4, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/Card1-SoC/Processors/CPU1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/Processors/index.json new file mode 100644 index 00000000..971ef52a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/Processors/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processors Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/Card1-SoC/Processors/CPU1" + } + ], + "@odata.id": "/redfish/v1/Systems/Card1-SoC/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/Storage/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/Storage/1/index.json new file mode 100644 index 00000000..af0b3320 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/Storage/1/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Id": "1", + "Name": "Local Storage Controller", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "StorageControllers": [ + { + "@odata.id": "/redfish/v1/Systems/Card1-SoC/Storage/1#/StorageControllers/0", + "MemberId": "0", + "Name": "Contoso Integrated SATA", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Identifiers": [ + { + "DurableNameFormat": "NAA", + "DurableName": "345C59DBD970859C" + } + ], + "Manufacturer": "Contoso", + "Model": "6Gbs Integrated SATA", + "SerialNumber": "2M220100SL", + "PartNumber": "CT18754", + "SpeedGbps": 6, + "FirmwareVersion": "1.0.0.7", + "SupportedControllerProtocols": [ + "PCIe" + ], + "SupportedDeviceProtocols": [ + "SATA" + ] + } + ], + "Drives": [ + { + "@odata.id": "/redfish/v1/Chassis/Card1/Drives/1" + } + ], + "@odata.id": "/redfish/v1/Systems/Card1-SoC/Storage/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/Storage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/Storage/index.json new file mode 100644 index 00000000..72e7f672 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/Storage/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#StorageCollection.StorageCollection", + "Name": "Storage Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/Card1-SoC/Storage/1" + } + ], + "@odata.id": "/redfish/v1/Systems/Card1-SoC/Storage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/index.json new file mode 100644 index 00000000..5dfa8c53 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/Card1-SoC/index.json @@ -0,0 +1,86 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "Card1-SoC", + "Name": "SmartNIC System", + "Description": "This ComputerSystem resource represents the SoC that is part of the SmartNIC found in Card1", + "SystemType": "DPU", + "AssetTag": "Chicago-45Z-2467", + "Manufacturer": "Contoso", + "Model": "9900", + "SubModel": "RX", + "SKU": "9541236", + "SerialNumber": "637XR7568R4", + "PartNumber": "334587-S34", + "UUID": "2eb1a9f8-74f7-4f22-b085-b833dcf37300", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "IndicatorLED": "Off", + "PowerState": "On", + "ProcessorSummary": { + "Count": 1, + "Model": "Contoso ARM Cortex-A72", + "Status": { + "State": "Enabled", + "Health": "OK" + } + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 8, + "Status": { + "State": "Enabled", + "Health": "OK" + } + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/Card1-SoC/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Systems/Card1-SoC/Memory" + }, + "Storage": { + "@odata.id": "/redfish/v1/Systems/Card1-SoC/Storage" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Systems/Card1-SoC/LogServices" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Card1" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ], + "OffloadedNetworkDeviceFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0" + }, + { + "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP2F0" + } + ] + }, + "Actions": { + "#ComputerSystem.Reset": { + "target": "/redfish/v1/Systems/Card1-SoC/Actions/ComputerSystem.Reset", + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "GracefulRestart", + "ForceRestart", + "Nmi", + "ForceOn", + "PushPowerButton" + ] + } + }, + "@odata.id": "/redfish/v1/Systems/Card1-SoC", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/index.json new file mode 100644 index 00000000..af77d23d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/Systems/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#ComputerSystemCollection.ComputerSystemCollection", + "Name": "Computer System Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1138R2" + }, + { + "@odata.id": "/redfish/v1/Systems/Card1-SoC" + } + ], + "@odata.id": "/redfish/v1/Systems", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/explorer_config.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/explorer_config.json new file mode 100644 index 00000000..bff3b9d0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/explorer_config.json @@ -0,0 +1,60 @@ +{ + "name": "SmartNICs", + "description": "This example shows a server with two SmartNICs installed. Each SmartNIC is modeled as a Chassis resource. The SmartNIC in slot 1 represents an SoC-based SmartNIC with its own system representation. The SmartNIC in slot 2 represents an FPGA-based SmartNIC. There is also an Ethernet fabric to show address pool configuration for the SmartNICs.", + "navlinks": [ + { + "text": "Main", + "target": "main" + }, + { + "text": "Systems", + "target": "Systems", + "navlinks": [ + { + "text": "437XR1138R2", + "target": "437XR1138R2" + }, + { + "text": "Card1 SoC", + "target": "Card1-SoC" + } + ] + }, + { + "text": "Chassis", + "target": "Chassis", + "navlinks": [ + { + "text": "1U", + "target": "1U" + }, + { + "text": "Card 1", + "target": "Card1" + }, + { + "text": "Card 2", + "target": "Card2" + } + ] + }, + { + "text": "Managers", + "target": "Managers", + "navlinks": [ + { + "text": "BMC", + "target": "BMC" + } + ] + }, + { + "text": "Session Service", + "target": "SessionService" + }, + { + "target": "AccountService", + "text": "Account Service" + } + ] +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/index.json new file mode 100644 index 00000000..f6ecd2e2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/index.json @@ -0,0 +1,42 @@ +{ + "@odata.type": "#ServiceRoot.v1_22_0.ServiceRoot", + "Id": "RootService", + "Name": "Root Service", + "RedfishVersion": "1.15.0", + "UUID": "92384634-2938-2342-8820-489239905423", + "ProtocolFeaturesSupported": { + "ExpandQuery": { + "ExpandAll": true, + "Levels": true, + "MaxLevels": 6, + "Links": true, + "NoLinks": true + }, + "SelectQuery": false, + "FilterQuery": false, + "OnlyMemberQuery": true, + "ExcerptQuery": true + }, + "Systems": { + "@odata.id": "/redfish/v1/Systems" + }, + "Chassis": { + "@odata.id": "/redfish/v1/Chassis" + }, + "Managers": { + "@odata.id": "/redfish/v1/Managers" + }, + "SessionService": { + "@odata.id": "/redfish/v1/SessionService" + }, + "AccountService": { + "@odata.id": "/redfish/v1/AccountService" + }, + "Links": { + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + } + }, + "@odata.id": "/redfish/v1/", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/odata/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/odata/index.json new file mode 100644 index 00000000..f09dcc87 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-smartnic/odata/index.json @@ -0,0 +1,46 @@ +{ + "@odata.context": "/redfish/v1/$metadata", + "value": [ + { + "name": "Service", + "kind": "Singleton", + "url": "/redfish/v1/" + }, + { + "name": "Systems", + "kind": "Singleton", + "url": "/redfish/v1/Systems" + }, + { + "name": "Chassis", + "kind": "Singleton", + "url": "/redfish/v1/Chassis" + }, + { + "name": "Managers", + "kind": "Singleton", + "url": "/redfish/v1/Managers" + }, + { + "name": "AccountService", + "kind": "Singleton", + "url": "/redfish/v1/AccountService" + }, + { + "name": "SessionService", + "kind": "Singleton", + "url": "/redfish/v1/SessionService" + }, + { + "name": "Fabrics", + "kind": "Singleton", + "url": "/redfish/v1/Fabrics" + }, + { + "name": "Sessions", + "kind": "Singleton", + "url": "/redfish/v1/SessionService/Sessions" + } + ], + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/$metadata/index.xml b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/$metadata/index.xml new file mode 100644 index 00000000..f809ae2b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/$metadata/index.xml @@ -0,0 +1,184 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/AccountService/Accounts/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/AccountService/Accounts/1/index.json new file mode 100644 index 00000000..781c45c6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/AccountService/Accounts/1/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#ManagerAccount.v1_14_2.ManagerAccount", + "Id": "1", + "Name": "User Account", + "Description": "User Account", + "Enabled": true, + "Password": null, + "PasswordChangeRequired": false, + "AccountTypes": [ + "Redfish" + ], + "UserName": "Administrator", + "RoleId": "Administrator", + "Locked": false, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + } + }, + "@odata.id": "/redfish/v1/AccountService/Accounts/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/AccountService/Accounts/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/AccountService/Accounts/index.json new file mode 100644 index 00000000..f509d474 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/AccountService/Accounts/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerAccountCollection.ManagerAccountCollection", + "Name": "Accounts Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Accounts/1" + } + ], + "@odata.id": "/redfish/v1/AccountService/Accounts", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/AccountService/Roles/Administrator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/AccountService/Roles/Administrator/index.json new file mode 100644 index 00000000..19d26a98 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/AccountService/Roles/Administrator/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Administrator", + "Name": "User Role", + "Description": "Admin User Role", + "RoleId": "Administrator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureManager", + "ConfigureUsers", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [ + "OemClearLog", + "OemPowerControl" + ], + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/AccountService/Roles/Operator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/AccountService/Roles/Operator/index.json new file mode 100644 index 00000000..90804a6a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/AccountService/Roles/Operator/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Operator", + "Name": "User Role", + "Description": "Operator User Role", + "RoleId": "Operator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/Operator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/AccountService/Roles/ReadOnly/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/AccountService/Roles/ReadOnly/index.json new file mode 100644 index 00000000..1df0cf03 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/AccountService/Roles/ReadOnly/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "ReadOnly", + "Name": "User Role", + "Description": "ReadOnly User Role", + "RoleId": "ReadOnly", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/AccountService/Roles/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/AccountService/Roles/index.json new file mode 100644 index 00000000..ba9ee112 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/AccountService/Roles/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#RoleCollection.RoleCollection", + "Name": "Roles Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/Operator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly" + } + ], + "@odata.id": "/redfish/v1/AccountService/Roles", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/AccountService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/AccountService/index.json new file mode 100644 index 00000000..eb627494 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/AccountService/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#AccountService.v1_19_0.AccountService", + "Id": "AccountService", + "Name": "Account Service", + "Description": "Account Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "AuthFailureLoggingThreshold": 3, + "MinPasswordLength": 8, + "AccountLockoutThreshold": 5, + "AccountLockoutDuration": 30, + "AccountLockoutCounterResetAfter": 30, + "AccountLockoutCounterResetEnabled": true, + "Accounts": { + "@odata.id": "/redfish/v1/AccountService/Accounts" + }, + "Roles": { + "@odata.id": "/redfish/v1/AccountService/Roles" + }, + "@odata.id": "/redfish/v1/AccountService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/1/Assembly/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/1/Assembly/index.json new file mode 100644 index 00000000..27e3b886 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/1/Assembly/index.json @@ -0,0 +1,47 @@ +{ + "@odata.type": "#Assembly.v1_6_1.Assembly", + "Id": "Assembly", + "Name": "System-related Assembly data", + "Assemblies": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Assembly#/Assemblies/0", + "MemberId": "0", + "Name": "System Board", + "Description": "PCA System Board", + "Model": "345TTT", + "PartNumber": "923943", + "SparePartNumber": "55-434", + "SKU": "55ZZATR", + "SerialNumber": "345394834", + "Vendor": "Contoso", + "ProductionDate": "2017-04-01T14:55:33+03:00", + "Producer": "Contoso Supply Co.", + "Version": "1.44B", + "EngineeringChangeLevel": "9", + "BinaryDataURI": "/dumpster/434", + "Oem": { + "Contoso": { + "Region": "C", + "Packaging": "Retail" + } + } + }, + { + "@odata.id": "/redfish/v1/Chassis/1/Assembly#/Assemblies/1", + "MemberId": "1", + "Name": "Fan Controller", + "Description": "PCA Fan Controller", + "Model": "F58AS", + "PartNumber": "3434-149", + "Vendor": "Contoso", + "Version": "2.4.481", + "BinaryDataURI": "/dumpster/422", + "Status": { + "State": "Enabled", + "Health": "Warning" + } + } + ], + "@odata.id": "/redfish/v1/Chassis/1/Assembly", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/1/Power/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/1/Power/index.json new file mode 100644 index 00000000..69164880 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/1/Power/index.json @@ -0,0 +1,248 @@ +{ + "@odata.type": "#Power.v1_7_3.Power", + "Id": "Power", + "Name": "Power", + "PowerControl": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Power#/PowerControl/0", + "MemberId": "0", + "Name": "System Power Control", + "PhysicalContext": "Chassis", + "PowerConsumedWatts": 8000, + "PowerRequestedWatts": 8500, + "PowerAvailableWatts": 8500, + "PowerCapacityWatts": 10000, + "PowerAllocatedWatts": 8500, + "PowerMetrics": { + "IntervalInMin": 30, + "MinConsumedWatts": 7500, + "MaxConsumedWatts": 8200, + "AverageConsumedWatts": 8000 + }, + "PowerLimit": { + "LimitInWatts": 9000, + "LimitException": "LogEventOnly", + "CorrectionInMs": 42 + }, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1" + }, + { + "@odata.id": "/redfish/v1/Systems/1/Processors/1" + }, + { + "@odata.id": "/redfish/v1/Systems/1/Processors/2" + } + ], + "Status": { + "State": "Enabled", + "Health": "OK" + } + } + ], + "Voltages": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Power#/Voltages/0", + "MemberId": "0", + "Name": "VRM1 Voltage", + "SensorNumber": 11, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingVolts": 12, + "UpperThresholdNonCritical": 12.5, + "UpperThresholdCritical": 13, + "UpperThresholdFatal": 15, + "LowerThresholdNonCritical": 11.5, + "LowerThresholdCritical": 11, + "LowerThresholdFatal": 10, + "MinReadingRange": 0, + "MaxReadingRange": 20, + "PhysicalContext": "VoltageRegulator", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/1/Power#/Voltages/1", + "MemberId": "1", + "Name": "VRM2 Voltage", + "SensorNumber": 12, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingVolts": 5, + "UpperThresholdNonCritical": 5.5, + "UpperThresholdCritical": 7, + "LowerThresholdNonCritical": 4.75, + "LowerThresholdCritical": 4.5, + "MinReadingRange": 0, + "MaxReadingRange": 20, + "PhysicalContext": "VoltageRegulator", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1" + } + ] + } + ], + "PowerSupplies": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Power#/PowerSupplies/0", + "MemberId": "0", + "Name": "Power Supply Bay 1", + "Status": { + "State": "Enabled", + "Health": "Warning" + }, + "PowerSupplyType": "DC", + "HotPluggable": false, + "LineInputVoltageType": "DCNeg48V", + "LineInputVoltage": -48, + "PowerCapacityWatts": 400, + "LastPowerOutputWatts": 192, + "Model": "499253-B21", + "Manufacturer": "ManufacturerName", + "FirmwareVersion": "1.00", + "SerialNumber": "1z0000001", + "PartNumber": "1z0000001A3a", + "SparePartNumber": "0000001A3a", + "InputRanges": [ + { + "InputType": "DC", + "MinimumVoltage": -47, + "MaximumVoltage": -49, + "OutputWattage": 400 + } + ], + "IndicatorLED": "Off", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/1" + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Power#/Redundancy/0" + } + ], + "Location": { + "PartLocation": { + "ServiceLabel": "PSU 1", + "LocationType": "Bay", + "LocationOrdinalValue": 0 + } + } + }, + { + "@odata.id": "/redfish/v1/Chassis/1/Power#/PowerSupplies/1", + "MemberId": "1", + "Name": "Power Supply Bay 2", + "Status": { + "State": "Disabled", + "Health": "Warning" + }, + "PowerSupplyType": "AC", + "HotPluggable": true, + "LineInputVoltageType": "AC240V", + "LineInputVoltage": 220, + "PowerCapacityWatts": 400, + "LastPowerOutputWatts": 190, + "Model": "499253-B21", + "Manufacturer": "ManufacturerName", + "FirmwareVersion": "1.00", + "SerialNumber": "1z0000001", + "PartNumber": "1z0000001A3a", + "SparePartNumber": "0000001A3a", + "InputRanges": [ + { + "InputType": "AC", + "MinimumVoltage": 215, + "MaximumVoltage": 225, + "MinimumFrequencyHz": 45, + "MaximumFrequencyHz": 55, + "OutputWattage": 400 + }, + { + "InputType": "AC", + "MinimumVoltage": 200, + "MaximumVoltage": 215, + "MinimumFrequencyHz": 40, + "MaximumFrequencyHz": 65, + "OutputWattage": 380 + } + ], + "IndicatorLED": "Off", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/1" + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Power#/Redundancy/0" + } + ], + "Location": { + "PartLocation": { + "ServiceLabel": "PSU 2", + "LocationType": "Bay", + "LocationOrdinalValue": 1 + } + } + }, + { + "@odata.id": "/redfish/v1/Chassis/1/Power#/PowerSupplies/2", + "MemberId": "2", + "Name": "Power Supply Bay 3", + "Status": { + "State": "Absent" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "PSU 3", + "LocationType": "Bay", + "LocationOrdinalValue": 2 + } + } + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Power#/Redundancy/0", + "MemberId": "0", + "Name": "PowerSupply Redundancy Group 1", + "Mode": "Failover", + "MaxNumSupported": 2, + "MinNumNeeded": 1, + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Power#/PowerSupplies/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/1/Power#/PowerSupplies/1" + } + ], + "Status": { + "State": "Enabled", + "Health": "OK" + } + } + ], + "@odata.id": "/redfish/v1/Chassis/1/Power", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/1/Thermal/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/1/Thermal/index.json new file mode 100644 index 00000000..b85e6fd3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/1/Thermal/index.json @@ -0,0 +1,192 @@ +{ + "@odata.type": "#Thermal.v1_7_3.Thermal", + "Id": "Thermal", + "Name": "Thermal", + "Temperatures": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Temperatures/0", + "MemberId": "0", + "Name": "CPU1 Temp", + "SensorNumber": 42, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 21, + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 42, + "UpperThresholdFatal": 42, + "LowerThresholdNonCritical": 42, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 42, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 200, + "PhysicalContext": "CPU", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/1/Processors/1" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Temperatures/1", + "MemberId": "1", + "Name": "CPU2 Temp", + "SensorNumber": 43, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 21, + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 42, + "UpperThresholdFatal": 42, + "LowerThresholdNonCritical": 42, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 42, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 200, + "PhysicalContext": "CPU", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/1/Processors/2" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Temperatures/2", + "MemberId": "2", + "Name": "Chassis Intake Temp", + "SensorNumber": 44, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 25, + "UpperThresholdNonCritical": 30, + "UpperThresholdCritical": 40, + "UpperThresholdFatal": 50, + "LowerThresholdNonCritical": 10, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 0, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 200, + "PhysicalContext": "Intake", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/1" + }, + { + "@odata.id": "/redfish/v1/Systems/1" + } + ] + } + ], + "Fans": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Fans/0", + "MemberId": "0", + "Name": "BaseBoard System Fan", + "PhysicalContext": "Backplane", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2100, + "ReadingUnits": "RPM", + "IndicatorLED": "Off", + "HotPluggable": true, + "Model": "694843-Z91", + "Manufacturer": "Contoso FanCo", + "SerialNumber": "2016334576", + "PartNumber": "1z0000001A3a", + "SparePartNumber": "0000001A3a", + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 4200, + "UpperThresholdFatal": 42, + "LowerThresholdNonCritical": 42, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 42, + "MinReadingRange": 0, + "MaxReadingRange": 5000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Fans/1", + "MemberId": "1", + "Name": "BaseBoard System Fan Backup", + "PhysicalContext": "Backplane", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2100, + "ReadingUnits": "RPM", + "IndicatorLED": "Off", + "HotPluggable": true, + "Model": "694843-Z91", + "Manufacturer": "Contoso FanCo", + "SerialNumber": "2014067632", + "PartNumber": "1z0000001A3a", + "SparePartNumber": "0000001A3a", + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 4200, + "UpperThresholdFatal": 42, + "LowerThresholdNonCritical": 42, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 42, + "MinReadingRange": 0, + "MaxReadingRange": 5000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/1" + } + ] + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Redundancy/0", + "MemberId": "0", + "Name": "BaseBoard System Fans", + "RedundancyEnabled": false, + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Fans/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/1/Thermal#/Fans/1" + } + ], + "Mode": "N+m", + "Status": { + "State": "Disabled", + "Health": "OK" + }, + "MinNumNeeded": 1, + "MaxNumSupported": 2 + } + ], + "@odata.id": "/redfish/v1/Chassis/1/Thermal", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/1/index.json new file mode 100644 index 00000000..9a0c34a5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/1/index.json @@ -0,0 +1,75 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "1", + "Name": "Computer System Chassis", + "ChassisType": "RackMount", + "Manufacturer": "ManufacturerName", + "Model": "ProductModelName", + "SKU": "", + "SerialNumber": "2M220100SL", + "PartNumber": "", + "AssetTag": "CustomerWritableThingy", + "IndicatorLED": "Lit", + "PowerState": "On", + "Location": { + "PostalAddress": { + "Country": "US", + "Territory": "TX", + "District": "Harris", + "City": "Houston", + "Street": "TX-249", + "HouseNumber": 19550, + "Floor": "1", + "Name": "Excellent dining establishment", + "PostalCode": "77070-3002" + }, + "Placement": { + "Row": "North", + "Rack": "WEB43", + "RackOffsetUnits": "EIA_310", + "RackOffset": 12 + } + }, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "HeightMm": 44.45, + "WidthMm": 431.8, + "DepthMm": 711, + "WeightKg": 15.31, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/1/Thermal" + }, + "Power": { + "@odata.id": "/redfish/v1/Chassis/1/Power" + }, + "Assembly": { + "@odata.id": "/redfish/v1/Chassis/1/Assembly" + }, + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/1" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/1" + } + ], + "ManagersInChassis": [ + { + "@odata.id": "/redfish/v1/Managers/1" + } + ] + }, + "Oem": { + "Contoso": { + "@odata.type": "#ContosoExtensions.v1_0_0.ContosoChassis", + "Orientation": "Horizontal" + } + }, + "@odata.id": "/redfish/v1/Chassis/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/Tray_1/Power/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/Tray_1/Power/index.json new file mode 100644 index 00000000..99c7fdbc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/Tray_1/Power/index.json @@ -0,0 +1,224 @@ +{ + "@odata.type": "#Power.v1_7_3.Power", + "Id": "Power", + "Name": "Power", + "PowerControl": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_1/Power#/PowerControl/0", + "MemberId": "0", + "Name": "System Power Control", + "PowerConsumedWatts": 8000, + "PowerRequestedWatts": 8500, + "PowerAvailableWatts": 8500, + "PowerCapacityWatts": 10000, + "PowerAllocatedWatts": 8500, + "PowerMetrics": { + "IntervalInMin": 30, + "MinConsumedWatts": 7500, + "MaxConsumedWatts": 8200, + "AverageConsumedWatts": 8000 + }, + "PowerLimit": { + "LimitInWatts": 9000, + "LimitException": "LogEventOnly", + "CorrectionInMs": 42 + }, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_1" + }, + { + "@odata.id": "/redfish/v1/Systems/1/Processors/1" + }, + { + "@odata.id": "/redfish/v1/Systems/1/Processors/2" + } + ], + "Status": { + "State": "Enabled", + "Health": "OK" + } + } + ], + "Voltages": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_1/Power#/Voltages/0", + "MemberId": "0", + "Name": "VRM1 Voltage", + "SensorNumber": 11, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingVolts": 12, + "UpperThresholdNonCritical": 12.5, + "UpperThresholdCritical": 13, + "UpperThresholdFatal": 15, + "LowerThresholdNonCritical": 11.5, + "LowerThresholdCritical": 11, + "LowerThresholdFatal": 10, + "MinReadingRange": 0, + "MaxReadingRange": 20, + "PhysicalContext": "VoltageRegulator", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_1" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_1/Power#/Voltages/1", + "MemberId": "1", + "Name": "VRM2 Voltage", + "SensorNumber": 12, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingVolts": 5, + "UpperThresholdNonCritical": 5.5, + "UpperThresholdCritical": 7, + "LowerThresholdNonCritical": 4.75, + "LowerThresholdCritical": 4.5, + "MinReadingRange": 0, + "MaxReadingRange": 20, + "PhysicalContext": "VoltageRegulator", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_1" + } + ] + } + ], + "PowerSupplies": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_1/Power#/PowerSupplies/0", + "MemberId": "0", + "Name": "Power Supply Bay 1", + "Status": { + "State": "Enabled", + "Health": "Warning" + }, + "PowerSupplyType": "DC", + "LineInputVoltageType": "DCNeg48V", + "LineInputVoltage": -48, + "PowerCapacityWatts": 400, + "LastPowerOutputWatts": 192, + "Model": "499253-B21", + "Manufacturer": "ManufacturerName", + "FirmwareVersion": "1.00", + "SerialNumber": "1z0000001", + "PartNumber": "1z0000001A3a", + "SparePartNumber": "0000001A3a", + "InputRanges": [ + { + "InputType": "DC", + "MinimumVoltage": -47, + "MaximumVoltage": -49, + "OutputWattage": 400 + } + ], + "IndicatorLED": "Off", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_1" + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_1/Power#/Redundancy/0" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_1/Power#/PowerSupplies/1", + "MemberId": "1", + "Name": "Power Supply Bay 2", + "Status": { + "State": "Disabled", + "Health": "Warning" + }, + "PowerSupplyType": "AC", + "LineInputVoltageType": "AC240V", + "LineInputVoltage": 220, + "PowerCapacityWatts": 400, + "LastPowerOutputWatts": 190, + "Model": "499253-B21", + "Manufacturer": "ManufacturerName", + "FirmwareVersion": "1.00", + "SerialNumber": "1z0000001", + "PartNumber": "1z0000001A3a", + "SparePartNumber": "0000001A3a", + "InputRanges": [ + { + "InputType": "AC", + "MinimumVoltage": 215, + "MaximumVoltage": 225, + "MinimumFrequencyHz": 45, + "MaximumFrequencyHz": 55, + "OutputWattage": 400 + }, + { + "InputType": "AC", + "MinimumVoltage": 200, + "MaximumVoltage": 215, + "MinimumFrequencyHz": 40, + "MaximumFrequencyHz": 65, + "OutputWattage": 380 + } + ], + "IndicatorLED": "Off", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_1" + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_1/Power#/Redundancy/0" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_1/Power#/PowerSupplies/2", + "MemberId": "2", + "Name": "Power Supply Bay 3", + "Status": { + "State": "Absent" + } + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_1/Power#/Redundancy/0", + "MemberId": "0", + "Name": "PowerSupply Redundancy Group 1", + "Mode": "Failover", + "MaxNumSupported": 2, + "MinNumNeeded": 1, + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_1/Power#/PowerSupplies/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_1/Power#/PowerSupplies/1" + } + ], + "Status": { + "State": "Enabled", + "Health": "OK" + } + } + ], + "@odata.id": "/redfish/v1/Chassis/Tray_1/Power", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/Tray_1/Thermal/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/Tray_1/Thermal/index.json new file mode 100644 index 00000000..d8a32f0f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/Tray_1/Thermal/index.json @@ -0,0 +1,178 @@ +{ + "@odata.type": "#Thermal.v1_7_3.Thermal", + "Id": "Thermal", + "Name": "Thermal", + "Temperatures": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_1/Thermal#/Temperatures/0", + "MemberId": "0", + "Name": "CPU1 Temp", + "SensorNumber": 42, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 21, + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 42, + "UpperThresholdFatal": 42, + "LowerThresholdNonCritical": 42, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 42, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 200, + "PhysicalContext": "CPU", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/1/Processors/1" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_1/Thermal#/Temperatures/1", + "MemberId": "1", + "Name": "CPU2 Temp", + "SensorNumber": 43, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 21, + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 42, + "UpperThresholdFatal": 42, + "LowerThresholdNonCritical": 42, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 42, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 200, + "PhysicalContext": "CPU", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/1/Processors/2" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_1/Thermal#/Temperatures/2", + "MemberId": "2", + "Name": "Chassis Intake Temp", + "SensorNumber": 44, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 25, + "UpperThresholdNonCritical": 30, + "UpperThresholdCritical": 40, + "UpperThresholdFatal": 50, + "LowerThresholdNonCritical": 10, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 0, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 200, + "PhysicalContext": "Intake", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_1" + }, + { + "@odata.id": "/redfish/v1/Systems/1" + } + ] + } + ], + "Fans": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_1/Thermal#/Fans/0", + "MemberId": "0", + "Name": "BaseBoard System Fan", + "PhysicalContext": "Backplane", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2100, + "ReadingUnits": "RPM", + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 4200, + "UpperThresholdFatal": 42, + "LowerThresholdNonCritical": 42, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 42, + "MinReadingRange": 0, + "MaxReadingRange": 5000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_1/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_1" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_1/Thermal#/Fans/1", + "MemberId": "1", + "Name": "BaseBoard System Fan Backup", + "PhysicalContext": "Backplane", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2100, + "ReadingUnits": "RPM", + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 4200, + "UpperThresholdFatal": 42, + "LowerThresholdNonCritical": 42, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 42, + "MinReadingRange": 0, + "MaxReadingRange": 5000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_1/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_1" + } + ] + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_1/Thermal#/Redundancy/0", + "MemberId": "0", + "Name": "BaseBoard System Fans", + "RedundancyEnabled": false, + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_1/Thermal#/Fans/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_1/Thermal#/Fans/1" + } + ], + "Mode": "N+m", + "Status": { + "State": "Disabled", + "Health": "OK" + }, + "MinNumNeeded": 1, + "MaxNumSupported": 2 + } + ], + "@odata.id": "/redfish/v1/Chassis/Tray_1/Thermal", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/Tray_1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/Tray_1/index.json new file mode 100644 index 00000000..ab3c7f22 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/Tray_1/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "Tray_1", + "Name": "Computer System Chassis", + "ChassisType": "RackMount", + "Manufacturer": "ManufacturerName", + "Model": "ProductModelName", + "SKU": "", + "SerialNumber": "2M220100SL", + "PartNumber": "", + "AssetTag": "CustomerWritableThingy", + "IndicatorLED": "Lit", + "PowerState": "On", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/Tray_1/Thermal" + }, + "Power": { + "@odata.id": "/redfish/v1/Chassis/Tray_1/Power" + }, + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/1" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/Tray_1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/Tray_2/Power/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/Tray_2/Power/index.json new file mode 100644 index 00000000..072745d4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/Tray_2/Power/index.json @@ -0,0 +1,224 @@ +{ + "@odata.type": "#Power.v1_7_3.Power", + "Id": "Power", + "Name": "Power", + "PowerControl": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_2/Power#/PowerControl/0", + "MemberId": "0", + "Name": "System Power Control", + "PowerConsumedWatts": 8000, + "PowerRequestedWatts": 8500, + "PowerAvailableWatts": 8500, + "PowerCapacityWatts": 10000, + "PowerAllocatedWatts": 8500, + "PowerMetrics": { + "IntervalInMin": 30, + "MinConsumedWatts": 7500, + "MaxConsumedWatts": 8200, + "AverageConsumedWatts": 8000 + }, + "PowerLimit": { + "LimitInWatts": 9000, + "LimitException": "LogEventOnly", + "CorrectionInMs": 42 + }, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_2" + }, + { + "@odata.id": "/redfish/v1/Systems/1/Processors/1" + }, + { + "@odata.id": "/redfish/v1/Systems/1/Processors/2" + } + ], + "Status": { + "State": "Enabled", + "Health": "OK" + } + } + ], + "Voltages": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_2/Power#/Voltages/0", + "MemberId": "0", + "Name": "VRM1 Voltage", + "SensorNumber": 11, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingVolts": 12, + "UpperThresholdNonCritical": 12.5, + "UpperThresholdCritical": 13, + "UpperThresholdFatal": 15, + "LowerThresholdNonCritical": 11.5, + "LowerThresholdCritical": 11, + "LowerThresholdFatal": 10, + "MinReadingRange": 0, + "MaxReadingRange": 20, + "PhysicalContext": "VoltageRegulator", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_2" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_2/Power#/Voltages/1", + "MemberId": "1", + "Name": "VRM2 Voltage", + "SensorNumber": 12, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingVolts": 5, + "UpperThresholdNonCritical": 5.5, + "UpperThresholdCritical": 7, + "LowerThresholdNonCritical": 4.75, + "LowerThresholdCritical": 4.5, + "MinReadingRange": 0, + "MaxReadingRange": 20, + "PhysicalContext": "VoltageRegulator", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_2" + } + ] + } + ], + "PowerSupplies": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_2/Power#/PowerSupplies/0", + "MemberId": "0", + "Name": "Power Supply Bay 1", + "Status": { + "State": "Enabled", + "Health": "Warning" + }, + "PowerSupplyType": "DC", + "LineInputVoltageType": "DCNeg48V", + "LineInputVoltage": -48, + "PowerCapacityWatts": 400, + "LastPowerOutputWatts": 192, + "Model": "499253-B21", + "Manufacturer": "ManufacturerName", + "FirmwareVersion": "1.00", + "SerialNumber": "1z0000001", + "PartNumber": "1z0000001A3a", + "SparePartNumber": "0000001A3a", + "InputRanges": [ + { + "InputType": "DC", + "MinimumVoltage": -47, + "MaximumVoltage": -49, + "OutputWattage": 400 + } + ], + "IndicatorLED": "Off", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_2" + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_2/Power#/Redundancy/0" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_2/Power#/PowerSupplies/1", + "MemberId": "1", + "Name": "Power Supply Bay 2", + "Status": { + "State": "Disabled", + "Health": "Warning" + }, + "PowerSupplyType": "AC", + "LineInputVoltageType": "AC240V", + "LineInputVoltage": 220, + "PowerCapacityWatts": 400, + "LastPowerOutputWatts": 190, + "Model": "499253-B21", + "Manufacturer": "ManufacturerName", + "FirmwareVersion": "1.00", + "SerialNumber": "1z0000001", + "PartNumber": "1z0000001A3a", + "SparePartNumber": "0000001A3a", + "InputRanges": [ + { + "InputType": "AC", + "MinimumVoltage": 215, + "MaximumVoltage": 225, + "MinimumFrequencyHz": 45, + "MaximumFrequencyHz": 55, + "OutputWattage": 400 + }, + { + "InputType": "AC", + "MinimumVoltage": 200, + "MaximumVoltage": 215, + "MinimumFrequencyHz": 40, + "MaximumFrequencyHz": 65, + "OutputWattage": 380 + } + ], + "IndicatorLED": "Off", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_2" + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_2/Power#/Redundancy/0" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_2/Power#/PowerSupplies/2", + "MemberId": "2", + "Name": "Power Supply Bay 3", + "Status": { + "State": "Absent" + } + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_2/Power#/Redundancy/0", + "MemberId": "0", + "Name": "PowerSupply Redundancy Group 1", + "Mode": "Failover", + "MaxNumSupported": 2, + "MinNumNeeded": 1, + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_2/Power#/PowerSupplies/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_2/Power#/PowerSupplies/1" + } + ], + "Status": { + "State": "Enabled", + "Health": "OK" + } + } + ], + "@odata.id": "/redfish/v1/Chassis/Tray_2/Power", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/Tray_2/Thermal/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/Tray_2/Thermal/index.json new file mode 100644 index 00000000..e869c9e8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/Tray_2/Thermal/index.json @@ -0,0 +1,178 @@ +{ + "@odata.type": "#Thermal.v1_7_3.Thermal", + "Id": "Thermal", + "Name": "Thermal", + "Temperatures": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_2/Thermal#/Temperatures/0", + "MemberId": "0", + "Name": "CPU1 Temp", + "SensorNumber": 42, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 21, + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 42, + "UpperThresholdFatal": 42, + "LowerThresholdNonCritical": 42, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 42, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 200, + "PhysicalContext": "CPU", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/1/Processors/1" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_2/Thermal#/Temperatures/1", + "MemberId": "1", + "Name": "CPU2 Temp", + "SensorNumber": 43, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 21, + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 42, + "UpperThresholdFatal": 42, + "LowerThresholdNonCritical": 42, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 42, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 200, + "PhysicalContext": "CPU", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/1/Processors/2" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_2/Thermal#/Temperatures/2", + "MemberId": "2", + "Name": "Chassis Intake Temp", + "SensorNumber": 44, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 25, + "UpperThresholdNonCritical": 30, + "UpperThresholdCritical": 40, + "UpperThresholdFatal": 50, + "LowerThresholdNonCritical": 10, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 0, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 200, + "PhysicalContext": "Intake", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_2" + }, + { + "@odata.id": "/redfish/v1/Systems/1" + } + ] + } + ], + "Fans": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_2/Thermal#/Fans/0", + "MemberId": "0", + "Name": "BaseBoard System Fan", + "PhysicalContext": "Backplane", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2100, + "ReadingUnits": "RPM", + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 4200, + "UpperThresholdFatal": 42, + "LowerThresholdNonCritical": 42, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 42, + "MinReadingRange": 0, + "MaxReadingRange": 5000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_2/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_2" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_2/Thermal#/Fans/1", + "MemberId": "1", + "Name": "BaseBoard System Fan Backup", + "PhysicalContext": "Backplane", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2100, + "ReadingUnits": "RPM", + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 4200, + "UpperThresholdFatal": 42, + "LowerThresholdNonCritical": 42, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 42, + "MinReadingRange": 0, + "MaxReadingRange": 5000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_2/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_2" + } + ] + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_2/Thermal#/Redundancy/0", + "MemberId": "0", + "Name": "BaseBoard System Fans", + "RedundancyEnabled": false, + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_2/Thermal#/Fans/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_2/Thermal#/Fans/1" + } + ], + "Mode": "N+m", + "Status": { + "State": "Disabled", + "Health": "OK" + }, + "MinNumNeeded": 1, + "MaxNumSupported": 2 + } + ], + "@odata.id": "/redfish/v1/Chassis/Tray_2/Thermal", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/Tray_2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/Tray_2/index.json new file mode 100644 index 00000000..089ce94e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/Tray_2/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "Tray_2", + "Name": "Computer System Chassis", + "ChassisType": "RackMount", + "Manufacturer": "ManufacturerName", + "Model": "ProductModelName", + "SKU": "", + "SerialNumber": "2M220100SL", + "PartNumber": "", + "AssetTag": "CustomerWritableThingy", + "IndicatorLED": "Lit", + "PowerState": "On", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/Tray_2/Thermal" + }, + "Power": { + "@odata.id": "/redfish/v1/Chassis/Tray_2/Power" + }, + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/1" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/Tray_2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/Tray_3/Power/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/Tray_3/Power/index.json new file mode 100644 index 00000000..89c12ba1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/Tray_3/Power/index.json @@ -0,0 +1,224 @@ +{ + "@odata.type": "#Power.v1_7_3.Power", + "Id": "Power", + "Name": "Power", + "PowerControl": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_3/Power#/PowerControl/0", + "MemberId": "0", + "Name": "System Power Control", + "PowerConsumedWatts": 8000, + "PowerRequestedWatts": 8500, + "PowerAvailableWatts": 8500, + "PowerCapacityWatts": 10000, + "PowerAllocatedWatts": 8500, + "PowerMetrics": { + "IntervalInMin": 30, + "MinConsumedWatts": 7500, + "MaxConsumedWatts": 8200, + "AverageConsumedWatts": 8000 + }, + "PowerLimit": { + "LimitInWatts": 9000, + "LimitException": "LogEventOnly", + "CorrectionInMs": 42 + }, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_3" + }, + { + "@odata.id": "/redfish/v1/Systems/1/Processors/1" + }, + { + "@odata.id": "/redfish/v1/Systems/1/Processors/2" + } + ], + "Status": { + "State": "Enabled", + "Health": "OK" + } + } + ], + "Voltages": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_3/Power#/Voltages/0", + "MemberId": "0", + "Name": "VRM1 Voltage", + "SensorNumber": 11, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingVolts": 12, + "UpperThresholdNonCritical": 12.5, + "UpperThresholdCritical": 13, + "UpperThresholdFatal": 15, + "LowerThresholdNonCritical": 11.5, + "LowerThresholdCritical": 11, + "LowerThresholdFatal": 10, + "MinReadingRange": 0, + "MaxReadingRange": 20, + "PhysicalContext": "VoltageRegulator", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_3" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_3/Power#/Voltages/1", + "MemberId": "1", + "Name": "VRM2 Voltage", + "SensorNumber": 12, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingVolts": 5, + "UpperThresholdNonCritical": 5.5, + "UpperThresholdCritical": 7, + "LowerThresholdNonCritical": 4.75, + "LowerThresholdCritical": 4.5, + "MinReadingRange": 0, + "MaxReadingRange": 20, + "PhysicalContext": "VoltageRegulator", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_3" + } + ] + } + ], + "PowerSupplies": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_3/Power#/PowerSupplies/0", + "MemberId": "0", + "Name": "Power Supply Bay 1", + "Status": { + "State": "Enabled", + "Health": "Warning" + }, + "PowerSupplyType": "DC", + "LineInputVoltageType": "DCNeg48V", + "LineInputVoltage": -48, + "PowerCapacityWatts": 400, + "LastPowerOutputWatts": 192, + "Model": "499253-B21", + "Manufacturer": "ManufacturerName", + "FirmwareVersion": "1.00", + "SerialNumber": "1z0000001", + "PartNumber": "1z0000001A3a", + "SparePartNumber": "0000001A3a", + "InputRanges": [ + { + "InputType": "DC", + "MinimumVoltage": -47, + "MaximumVoltage": -49, + "OutputWattage": 400 + } + ], + "IndicatorLED": "Off", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_3" + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_3/Power#/Redundancy/0" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_3/Power#/PowerSupplies/1", + "MemberId": "1", + "Name": "Power Supply Bay 2", + "Status": { + "State": "Disabled", + "Health": "Warning" + }, + "PowerSupplyType": "AC", + "LineInputVoltageType": "AC240V", + "LineInputVoltage": 220, + "PowerCapacityWatts": 400, + "LastPowerOutputWatts": 190, + "Model": "499253-B21", + "Manufacturer": "ManufacturerName", + "FirmwareVersion": "1.00", + "SerialNumber": "1z0000001", + "PartNumber": "1z0000001A3a", + "SparePartNumber": "0000001A3a", + "InputRanges": [ + { + "InputType": "AC", + "MinimumVoltage": 215, + "MaximumVoltage": 225, + "MinimumFrequencyHz": 45, + "MaximumFrequencyHz": 55, + "OutputWattage": 400 + }, + { + "InputType": "AC", + "MinimumVoltage": 200, + "MaximumVoltage": 215, + "MinimumFrequencyHz": 40, + "MaximumFrequencyHz": 65, + "OutputWattage": 380 + } + ], + "IndicatorLED": "Off", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_3" + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_3/Power#/Redundancy/0" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_3/Power#/PowerSupplies/2", + "MemberId": "2", + "Name": "Power Supply Bay 3", + "Status": { + "State": "Absent" + } + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_3/Power#/Redundancy/0", + "MemberId": "0", + "Name": "PowerSupply Redundancy Group 1", + "Mode": "Failover", + "MaxNumSupported": 2, + "MinNumNeeded": 1, + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_3/Power#/PowerSupplies/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_3/Power#/PowerSupplies/1" + } + ], + "Status": { + "State": "Enabled", + "Health": "OK" + } + } + ], + "@odata.id": "/redfish/v1/Chassis/Tray_3/Power", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/Tray_3/Thermal/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/Tray_3/Thermal/index.json new file mode 100644 index 00000000..14a18d01 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/Tray_3/Thermal/index.json @@ -0,0 +1,178 @@ +{ + "@odata.type": "#Thermal.v1_7_3.Thermal", + "Id": "Thermal", + "Name": "Thermal", + "Temperatures": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_3/Thermal#/Temperatures/0", + "MemberId": "0", + "Name": "CPU1 Temp", + "SensorNumber": 42, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 21, + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 42, + "UpperThresholdFatal": 42, + "LowerThresholdNonCritical": 42, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 42, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 200, + "PhysicalContext": "CPU", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/1/Processors/1" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_3/Thermal#/Temperatures/1", + "MemberId": "1", + "Name": "CPU2 Temp", + "SensorNumber": 43, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 21, + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 42, + "UpperThresholdFatal": 42, + "LowerThresholdNonCritical": 42, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 42, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 200, + "PhysicalContext": "CPU", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/1/Processors/2" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_3/Thermal#/Temperatures/2", + "MemberId": "2", + "Name": "Chassis Intake Temp", + "SensorNumber": 44, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 25, + "UpperThresholdNonCritical": 30, + "UpperThresholdCritical": 40, + "UpperThresholdFatal": 50, + "LowerThresholdNonCritical": 10, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 0, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 200, + "PhysicalContext": "Intake", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_3" + }, + { + "@odata.id": "/redfish/v1/Systems/1" + } + ] + } + ], + "Fans": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_3/Thermal#/Fans/0", + "MemberId": "0", + "Name": "BaseBoard System Fan", + "PhysicalContext": "Backplane", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2100, + "ReadingUnits": "RPM", + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 4200, + "UpperThresholdFatal": 42, + "LowerThresholdNonCritical": 42, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 42, + "MinReadingRange": 0, + "MaxReadingRange": 5000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_3/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_3" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_3/Thermal#/Fans/1", + "MemberId": "1", + "Name": "BaseBoard System Fan Backup", + "PhysicalContext": "Backplane", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2100, + "ReadingUnits": "RPM", + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 4200, + "UpperThresholdFatal": 42, + "LowerThresholdNonCritical": 42, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 42, + "MinReadingRange": 0, + "MaxReadingRange": 5000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_3/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_3" + } + ] + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_3/Thermal#/Redundancy/0", + "MemberId": "0", + "Name": "BaseBoard System Fans", + "RedundancyEnabled": false, + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Chassis/Tray_3/Thermal#/Fans/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_3/Thermal#/Fans/1" + } + ], + "Mode": "N+m", + "Status": { + "State": "Disabled", + "Health": "OK" + }, + "MinNumNeeded": 1, + "MaxNumSupported": 2 + } + ], + "@odata.id": "/redfish/v1/Chassis/Tray_3/Thermal", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/Tray_3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/Tray_3/index.json new file mode 100644 index 00000000..d816150f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/Tray_3/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "Tray_3", + "Name": "Computer System Chassis", + "ChassisType": "RackMount", + "Manufacturer": "ManufacturerName", + "Model": "ProductModelName", + "SKU": "", + "SerialNumber": "2M220100SL", + "PartNumber": "", + "AssetTag": "CustomerWritableThingy", + "IndicatorLED": "Lit", + "PowerState": "On", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/Tray_3/Thermal" + }, + "Power": { + "@odata.id": "/redfish/v1/Chassis/Tray_3/Power" + }, + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/1" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/1" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/Tray_3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/index.json new file mode 100644 index 00000000..5e54f78c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Chassis/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#ChassisCollection.ChassisCollection", + "Name": "Chassis Collection", + "Members@odata.count": 7, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tray_3" + } + ], + "@odata.id": "/redfish/v1/Chassis", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/EthernetInterfaces/1/SD/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/EthernetInterfaces/1/SD/index.json new file mode 100644 index 00000000..73d5292a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/EthernetInterfaces/1/SD/index.json @@ -0,0 +1,54 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "SD", + "Name": "Manager Ethernet Interface", + "Description": "Management Network Interface", + "PermanentMACAddress": "AA:BB:CC:DD:EE:FF", + "MACAddress": "AA:BB:CC:DD:EE:FF", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "MyHostName", + "FQDN": "MyHostName.MyDomainName.com", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.0.1" + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred" + } + ], + "NameServers": [ + "TheNameServer" + ], + "@odata.id": "/redfish/v1/Managers/1/EthernetInterfaces/1/SD", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/EthernetInterfaces/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/EthernetInterfaces/1/index.json new file mode 100644 index 00000000..50d67552 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/EthernetInterfaces/1/index.json @@ -0,0 +1,132 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "1", + "Name": "Manager Ethernet Interface", + "Description": "Management Network Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceEnabled": true, + "PermanentMACAddress": "1E:C3:DE:6F:1E:24", + "MACAddress": "1E:C3:DE:6F:1E:24", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "MyHostName", + "FQDN": "MyHostName.MyDomainName.com", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "DHCPv4": { + "DHCPEnabled": true, + "UseDNSServers": true, + "UseGateway": true, + "UseNTPServers": false, + "UseStaticRoutes": true, + "UseDomainName": true + }, + "DHCPv6": { + "OperatingMode": "Enabled", + "UseDNSServers": true, + "UseDomainName": false, + "UseNTPServers": false, + "UseRapidCommit": false + }, + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.0.1" + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "StatelessAddressAutoConfig": { + "IPv4AutoConfigEnabled": false, + "IPv6AutoConfigEnabled": true + }, + "IPv4StaticAddresses": [ + { + "Address": "192.168.88.130", + "SubnetMask": "255.255.0.0", + "Gateway": "192.168.0.1" + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fc00:1234::a:b:c:d", + "PrefixLength": 64 + } + ], + "IPv6StaticDefaultGateways": [ + { + "Address": "fe80::fe15:b4ff:fe97:90cd", + "PrefixLength": 64 + } + ], + "IPv6DefaultGateway": "fe80::214:c1ff:fe4c:5c4d", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred" + }, + { + "Address": "fc00:1234::a:b:c:d", + "PrefixLength": 64, + "AddressOrigin": "Static", + "AddressState": "Preferred" + }, + { + "Address": "2001:1:3:5::100", + "PrefixLength": 64, + "AddressOrigin": "DHCPv6", + "AddressState": "Preferred" + }, + { + "Address": "2002:2:5::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred" + } + ], + "NameServers": [ + "192.168.200.10", + "192.168.150.1", + "fc00:1234:100::2500", + "fc00:1234:200:2500" + ], + "StaticNameServers": [ + "192.168.150.1", + "fc00:1234:200:2500" + ], + "@Redfish.Settings": { + "@odata.type": "#Settings.v1_5_0.Settings", + "SettingsObject": { + "@odata.id": "/redfish/v1/Managers/1/EthernetInterfaces/1/SD" + }, + "Time": "2012-03-07T14:44.30-05:00", + "ETag": "someetag", + "Messages": [ + { + "MessageId": "Base.1.0.SettingsFailed", + "RelatedProperties": [ + "/IPv6Addresses/PrefixLength" + ] + } + ] + }, + "@odata.id": "/redfish/v1/Managers/1/EthernetInterfaces/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/EthernetInterfaces/index.json new file mode 100644 index 00000000..da049fc4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/EthernetInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Network Interface Collection", + "Description": "Collection of EthernetInterfaces for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/1/EthernetInterfaces/1" + } + ], + "@odata.id": "/redfish/v1/Managers/1/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/LogServices/Log1/Entries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/LogServices/Log1/Entries/index.json new file mode 100644 index 00000000..2ec0415a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/LogServices/Log1/Entries/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this Manager", + "Members@odata.count": 0, + "Members": [], + "@odata.id": "/redfish/v1/Managers/1/LogServices/Log1/Entries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/LogServices/Log1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/LogServices/Log1/index.json new file mode 100644 index 00000000..db6ed8eb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/LogServices/Log1/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#LogService.v1_9_0.LogService", + "Id": "Log1", + "Name": "System Log Service", + "Description": "This log contains entries related to the operation of the host Computer System.", + "MaxNumberOfRecords": 1000, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "LogEntryType": "Event", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Managers/1/LogServices/Log1/Actions/LogService.ClearLog" + } + }, + "Entries": { + "@odata.id": "/redfish/v1/Managers/1/LogServices/Log1/Entries" + }, + "@odata.id": "/redfish/v1/Managers/1/LogServices/Log1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/LogServices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/LogServices/index.json new file mode 100644 index 00000000..290209b2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/LogServices/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Description": "Collection of Log Services for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/1/LogServices/Log1" + } + ], + "@odata.id": "/redfish/v1/Managers/1/LogServices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/NetworkProtocol/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/NetworkProtocol/index.json new file mode 100644 index 00000000..fc385818 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/NetworkProtocol/index.json @@ -0,0 +1,61 @@ +{ + "@odata.type": "#ManagerNetworkProtocol.v1_14_0.ManagerNetworkProtocol", + "Id": "NetworkProtocol", + "Name": "Manager Network Protocol", + "Description": "Manager Network Service Status", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "HostName": "mymanager", + "FQDN": "mymanager.mydomain.com", + "HTTP": { + "ProtocolEnabled": true, + "Port": 80 + }, + "HTTPS": { + "ProtocolEnabled": true, + "Port": 443 + }, + "IPMI": { + "ProtocolEnabled": true, + "Port": 623 + }, + "SSH": { + "ProtocolEnabled": true, + "Port": 22 + }, + "SNMP": { + "ProtocolEnabled": true, + "Port": 161 + }, + "VirtualMedia": { + "ProtocolEnabled": true, + "Port": 17988 + }, + "SSDP": { + "ProtocolEnabled": true, + "Port": 1900, + "NotifyMulticastIntervalSeconds": 600, + "NotifyTTL": 5, + "NotifyIPv6Scope": "Site" + }, + "Telnet": { + "ProtocolEnabled": true, + "Port": 23 + }, + "KVMIP": { + "ProtocolEnabled": true, + "Port": 5288 + }, + "NTP": { + "ProtocolEnabled": true, + "NTPServers": [ + "0.pool.ntp.org", + "1.pool.ntp.org", + "time-a.nist.gov" + ] + }, + "@odata.id": "/redfish/v1/Managers/1/NetworkProtocol", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/SerialInterfaces/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/SerialInterfaces/1/index.json new file mode 100644 index 00000000..50213c84 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/SerialInterfaces/1/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#SerialInterface.v1_3_0.SerialInterface", + "Id": "1", + "Name": "Managed Serial Interface 1", + "Description": "Management for Serial Interface", + "InterfaceEnabled": true, + "SignalType": "Rs232", + "BitRate": "115200", + "Parity": "None", + "DataBits": "8", + "StopBits": "1", + "FlowControl": "None", + "ConnectorType": "RJ45", + "PinOut": "Cyclades", + "@odata.id": "/redfish/v1/Managers/1/SerialInterfaces/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/SerialInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/SerialInterfaces/index.json new file mode 100644 index 00000000..bd0f86f7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/SerialInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#SerialInterfaceCollection.SerialInterfaceCollection", + "Name": "Serial Interface Collection", + "Description": "Collection of Serial Interfaces for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/1/SerialInterfaces/1" + } + ], + "@odata.id": "/redfish/v1/Managers/1/SerialInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/VirtualMedia/CD1/InsertMediaActionInfo/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/VirtualMedia/CD1/InsertMediaActionInfo/index.json new file mode 100644 index 00000000..4056dcc4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/VirtualMedia/CD1/InsertMediaActionInfo/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#ActionInfo.v1_6_0.ActionInfo", + "Id": "InsertMediaActionInfo", + "Name": "Insert Media Action Info", + "Parameters": [ + { + "Name": "Image", + "Required": true, + "DataType": "String" + }, + { + "Name": "Inserted", + "Required": false, + "DataType": "Boolean" + }, + { + "Name": "Writable", + "Required": true, + "DataType": "Boolean" + } + ], + "@odata.id": "/redfish/v1/Managers/1/VirtualMedia/CD1/InsertMediaActionInfo", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/VirtualMedia/CD1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/VirtualMedia/CD1/index.json new file mode 100644 index 00000000..e5b2889d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/VirtualMedia/CD1/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#VirtualMedia.v1_7_0.VirtualMedia", + "Id": "CD1", + "Name": "Virtual CD", + "MediaTypes": [ + "CD", + "DVD" + ], + "Image": "irc://", + "ImageName": "mymedia-read-only.iso", + "ConnectedVia": "Applet", + "Inserted": true, + "WriteProtected": false, + "Actions": { + "#VirtualMedia.InsertMedia": { + "target": "/redfish/v1/Managers/1/VirtualMedia/CD1/Actions/VirtualMedia.InsertMedia", + "@Redfish.ActionInfo": "/redfish/v1/Managers/1/VirtualMedia/CD1/InsertMediaActionInfo" + }, + "#VirtualMedia.EjectMedia": { + "target": "/redfish/v1/Managers/1/VirtualMedia/CD1/Actions/VirtualMedia.EjectMedia" + } + }, + "@odata.id": "/redfish/v1/Managers/1/VirtualMedia/CD1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/VirtualMedia/Floppy1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/VirtualMedia/Floppy1/index.json new file mode 100644 index 00000000..1776560c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/VirtualMedia/Floppy1/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#VirtualMedia.v1_7_0.VirtualMedia", + "Id": "Floppy1", + "Name": "Virtual Removable Media", + "MediaTypes": [ + "Floppy", + "USBStick" + ], + "Image": "irc://", + "ImageName": "mymedia-read-only.img", + "ConnectedVia": "URI", + "Inserted": true, + "WriteProtected": false, + "@odata.id": "/redfish/v1/Managers/1/VirtualMedia/Floppy1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/VirtualMedia/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/VirtualMedia/index.json new file mode 100644 index 00000000..3e3cce2e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/VirtualMedia/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#VirtualMediaCollection.VirtualMediaCollection", + "Name": "Virtual Media Services", + "Description": "Redfish Manager Virtual Media Services Settings", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/1/VirtualMedia/Floppy1" + }, + { + "@odata.id": "/redfish/v1/Managers/1/VirtualMedia/CD1" + } + ], + "@odata.id": "/redfish/v1/Managers/1/VirtualMedia", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/index.json new file mode 100644 index 00000000..554b55de --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/1/index.json @@ -0,0 +1,82 @@ +{ + "@odata.type": "#Manager.v1_25_0.Manager", + "Id": "1", + "Name": "Manager", + "ManagerType": "BMC", + "Description": "BMC", + "ServiceEntryPointUUID": "92384634-2938-2342-8820-489239905423", + "UUID": "00000000-0000-0000-0000-000000000000", + "Model": "Joo Janta 200", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "GraphicalConsole": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 2, + "ConnectTypesSupported": [ + "KVMIP" + ] + }, + "SerialConsole": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 1, + "ConnectTypesSupported": [ + "Telnet", + "SSH", + "IPMI" + ] + }, + "CommandShell": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 4, + "ConnectTypesSupported": [ + "Telnet", + "SSH" + ] + }, + "FirmwareVersion": "1.00", + "NetworkProtocol": { + "@odata.id": "/redfish/v1/Managers/1/NetworkProtocol" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/1/EthernetInterfaces" + }, + "SerialInterfaces": { + "@odata.id": "/redfish/v1/Managers/1/SerialInterfaces" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Managers/1/LogServices" + }, + "VirtualMedia": { + "@odata.id": "/redfish/v1/Managers/1/VirtualMedia" + }, + "Links": { + "ManagerForServers": [ + { + "@odata.id": "/redfish/v1/Systems/1" + } + ], + "ManagerForChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/1" + } + ], + "ManagerInChassis": { + "@odata.id": "/redfish/v1/Chassis/1" + } + }, + "Actions": { + "#Manager.Reset": { + "target": "/redfish/v1/Managers/1/Actions/Manager.Reset", + "ResetType@Redfish.AllowableValues": [ + "ForceRestart", + "GracefulRestart" + ] + } + }, + "@odata.id": "/redfish/v1/Managers/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/index.json new file mode 100644 index 00000000..d91c5f62 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Managers/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerCollection.ManagerCollection", + "Name": "Manager Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/1" + } + ], + "@odata.id": "/redfish/v1/Managers", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/SessionService/Sessions/1234567890ABCDEF/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/SessionService/Sessions/1234567890ABCDEF/index.json new file mode 100644 index 00000000..90844a1b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/SessionService/Sessions/1234567890ABCDEF/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#Session.v1_9_0.Session", + "Id": "1234567890ABCDEF", + "Name": "User Session", + "Description": "Manager User Session", + "UserName": "Administrator", + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/SessionService/Sessions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/SessionService/Sessions/index.json new file mode 100644 index 00000000..8d8cdf58 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/SessionService/Sessions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SessionCollection.SessionCollection", + "Name": "Session Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF" + } + ], + "@odata.id": "/redfish/v1/SessionService/Sessions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/SessionService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/SessionService/index.json new file mode 100644 index 00000000..62a05690 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/SessionService/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#SessionService.v1_2_0.SessionService", + "Id": "SessionService", + "Name": "Session Service", + "Description": "Session Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "SessionTimeout": 30, + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + }, + "@odata.id": "/redfish/v1/SessionService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/Memory/1/MemoryMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/Memory/1/MemoryMetrics/index.json new file mode 100644 index 00000000..75d8b274 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/Memory/1/MemoryMetrics/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#MemoryMetrics.v1_8_0.MemoryMetrics", + "Id": "MemoryMetrics", + "Name": "Memory Metrics", + "BlockSizeBytes": 4096, + "CurrentPeriod": { + "BlocksRead": 0, + "BlocksWritten": 0 + }, + "LifeTime": { + "BlocksRead": 0, + "BlocksWritten": 0 + }, + "HealthData": { + "RemainingSpareBlockPercentage": 50, + "LastShutdownSuccess": true, + "DataLossDetected": false, + "PerformanceDegraded": false, + "AlarmTrips": { + "Temperature": true, + "SpareBlock": false, + "UncorrectableECCError": false, + "CorrectableECCError": false + } + }, + "Actions": { + "#MemoryMetrics.ClearCurrentPeriod": { + "target": "/redfish/v1/Systems/1/Memory/1/MemoryMetrics/Actions/MemoryMetrics.ClearCurrentPeriod" + } + }, + "@odata.id": "/redfish/v1/Systems/1/Memory/1/MemoryMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/Memory/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/Memory/1/index.json new file mode 100644 index 00000000..9f060323 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/Memory/1/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Name": "Regular Memory", + "Id": "1", + "RankCount": 2, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 8192, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Metrics": { + "@odata.id": "/redfish/v1/Systems/1/Memory/1/MemoryMetrics" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Socket 1_A", + "LocationType": "Socket", + "LocationOrdinalValue": 0 + } + }, + "@odata.id": "/redfish/v1/Systems/1/Memory/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/Memory/2/MemoryMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/Memory/2/MemoryMetrics/index.json new file mode 100644 index 00000000..43e64ce7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/Memory/2/MemoryMetrics/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#MemoryMetrics.v1_8_0.MemoryMetrics", + "Id": "MemoryMetrics", + "Name": "Memory Metrics", + "BlockSizeBytes": 4096, + "CurrentPeriod": { + "BlocksRead": 0, + "BlocksWritten": 0 + }, + "LifeTime": { + "BlocksRead": 0, + "BlocksWritten": 0 + }, + "HealthData": { + "RemainingSpareBlockPercentage": 50, + "LastShutdownSuccess": true, + "DataLossDetected": false, + "PerformanceDegraded": false, + "AlarmTrips": { + "Temperature": true, + "SpareBlock": false, + "UncorrectableECCError": false, + "CorrectableECCError": false + } + }, + "Actions": { + "#MemoryMetrics.ClearCurrentPeriod": { + "target": "/redfish/v1/Systems/1/Memory/2/MemoryMetrics/Actions/MemoryMetrics.ClearCurrentPeriod" + } + }, + "@odata.id": "/redfish/v1/Systems/1/Memory/2/MemoryMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/Memory/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/Memory/2/index.json new file mode 100644 index 00000000..da70a7b5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/Memory/2/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Name": "Regular Memory", + "Id": "2", + "RankCount": 2, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 8192, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 2 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Metrics": { + "@odata.id": "/redfish/v1/Systems/1/Memory/2/MemoryMetrics" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Socket 1_B", + "LocationType": "Socket", + "LocationOrdinalValue": 1 + } + }, + "@odata.id": "/redfish/v1/Systems/1/Memory/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/Memory/index.json new file mode 100644 index 00000000..50778329 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/Memory/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Module Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/1/Memory/1" + }, + { + "@odata.id": "/redfish/v1/Systems/1/Memory/2" + } + ], + "@odata.id": "/redfish/v1/Systems/1/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/Processors/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/Processors/1/index.json new file mode 100644 index 00000000..df526ea3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/Processors/1/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Name": "Processor", + "Id": "1", + "Socket": "CPU 1", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Multi-Core Intel(R) Xeon(R) processor 7xxx Series", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 3700, + "TotalCores": 8, + "TotalThreads": 16, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Processor 1", + "LocationType": "Socket", + "LocationOrdinalValue": 0 + } + }, + "@odata.id": "/redfish/v1/Systems/1/Processors/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/Processors/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/Processors/2/index.json new file mode 100644 index 00000000..616f629c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/Processors/2/index.json @@ -0,0 +1,35 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Name": "Processor", + "Id": "2", + "Socket": "CPU 2", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Multi-Core Intel(R) Xeon(R) processor 7xxx Series", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC890127BB", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x62", + "Step": "0x2", + "MicrocodeInfo": "0x418843" + }, + "MaxSpeedMHz": 3100, + "TotalCores": 6, + "TotalThreads": 12, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Processor 2", + "LocationType": "Socket", + "LocationOrdinalValue": 1 + } + }, + "@odata.id": "/redfish/v1/Systems/1/Processors/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/Processors/index.json new file mode 100644 index 00000000..c0a38ce5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/Processors/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processors Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/1/Processors/1" + }, + { + "@odata.id": "/redfish/v1/Systems/1/Processors/2" + } + ], + "@odata.id": "/redfish/v1/Systems/1/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/ResetActionInfo/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/ResetActionInfo/index.json new file mode 100644 index 00000000..722b374c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/ResetActionInfo/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#ActionInfo.v1_6_0.ActionInfo", + "Id": "ResetActionInfo", + "Name": "Reset Action Info", + "Parameters": [ + { + "Name": "ResetType", + "Required": true, + "DataType": "String", + "AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "GracefulRestart", + "ForceRestart", + "Nmi", + "ForceOn", + "PushPowerButton" + ] + } + ], + "@odata.id": "/redfish/v1/Systems/1/ResetActionInfo", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/index.json new file mode 100644 index 00000000..ed62c161 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/1/index.json @@ -0,0 +1,133 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "1", + "Name": "My Computer System", + "SystemType": "Physical", + "AssetTag": "free form asset tag", + "Manufacturer": "Manufacturer Name", + "Model": "Model Name", + "SKU": "", + "SerialNumber": "2M220100SL", + "PartNumber": "", + "Description": "Description of server", + "UUID": "00000000-0000-0000-0000-000000000000", + "HostName": "web-srv344", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "IndicatorLED": "Off", + "PowerState": "On", + "Boot": { + "BootSourceOverrideEnabled": "Once", + "BootSourceOverrideMode": "UEFI", + "BootSourceOverrideTarget": "Pxe", + "BootSourceOverrideTarget@Redfish.AllowableValues": [ + "None", + "Pxe", + "Floppy", + "Cd", + "Usb", + "Hdd", + "BiosSetup", + "Utilities", + "Diags", + "UefiTarget", + "SDCard", + "UefiHttp", + "UefiBootNext" + ], + "UefiTargetBootSourceOverride": "" + }, + "BiosVersion": "P79 v1.00 (09/20/2013)", + "ProcessorSummary": { + "Count": 8, + "LogicalProcessorCount": 256, + "Model": "Multi-Core Intel(R) Xeon(R) processor 7xxx Series", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + } + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 16, + "MemoryMirroring": "System", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + } + }, + "TrustedModules": [ + { + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InterfaceType": "TPM2_0", + "FirmwareVersion": "3.1", + "FirmwareVersion2": "1", + "InterfaceTypeSelection": "None" + } + ], + "HostWatchdogTimer": { + "FunctionEnabled": true, + "WarningAction": "DiagnosticInterrupt", + "WarningAction@Redfish.AllowableValues": [ + "DiagnosticInterrupt", + "SMI", + "None" + ], + "TimeoutAction": "ResetSystem", + "TimeoutAction@Redfish.AllowableValues": [ + "ResetSystem", + "PowerCycle", + "PowerDown", + "None" + ], + "Status": { + "State": "StandbyOffline" + } + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/1/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Systems/1/Memory" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/1" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/1" + } + ] + }, + "Actions": { + "#ComputerSystem.Reset": { + "target": "/redfish/v1/Systems/1/Actions/ComputerSystem.Reset", + "@Redfish.ActionInfo": "/redfish/v1/Systems/1/ResetActionInfo" + } + }, + "Oem": { + "Contoso": { + "@odata.type": "#Contoso.ComputerSystem", + "ProductionLocation": { + "FacilityName": "PacWest Production Facility", + "Country": "USA" + } + }, + "Chipwise": { + "@odata.type": "#Chipwise.ComputerSystem", + "Style": "Executive" + } + }, + "@odata.id": "/redfish/v1/Systems/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/index.json new file mode 100644 index 00000000..448c2e89 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/Systems/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ComputerSystemCollection.ComputerSystemCollection", + "Name": "Computer System Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/1" + } + ], + "@odata.id": "/redfish/v1/Systems", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/AverageConsumedWatts/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/AverageConsumedWatts/index.json new file mode 100644 index 00000000..c624c608 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/AverageConsumedWatts/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#MetricDefinition.v1_3_6.MetricDefinition", + "Id": "AverageConsumedWatts", + "Name": "Average Consumed Watts Metric Definition", + "MetricType": "Numeric", + "Implementation": "Calculated", + "PhysicalContext": "PowerSupply", + "MetricDataType": "Decimal", + "Units": "W", + "CalculationAlgorithm": "Average", + "CalculationTimeInterval": "PT1S", + "IsLinear": true, + "Calculable": "NonSummable", + "Wildcards": [ + { + "Name": "ChassisID", + "Values": [ + "1" + ] + } + ], + "CalculationParameters": [ + { + "SourceMetric": "/redfish/v1/Chassis/{ChassisID}/Power#/PowerControl/0/PowerConsumedWatts", + "ResultMetric": "/redfish/v1/Chassis/{ChassisID}/Power#/PowerControl/0/PowerMetrics/AverageConsumedWatts" + } + ], + "@odata.id": "/redfish/v1/TelemetryService/MetricDefinitions/AverageConsumedWatts", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/AverageReadingCelsius/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/AverageReadingCelsius/index.json new file mode 100644 index 00000000..f840766a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/AverageReadingCelsius/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#MetricDefinition.v1_3_6.MetricDefinition", + "Id": "AverageReadingCelsius", + "Name": "AverageReadingCelsius", + "MetricType": "Counter", + "MetricDataType": "Decimal", + "Units": "Cel", + "CalculationAlgorithm": "Average", + "CalculationTimeInterval": "PT1S", + "IsLinear": true, + "Calculable": "NonSummable", + "Wildcards": [ + { + "Name": "Wild", + "Values": [ + "0" + ] + } + ], + "MetricProperties": [ + "/redfish/v1/Chassis/Tray_1/Thermal#/Temperatures/{Wild}/ReadingCelsius" + ], + "@odata.id": "/redfish/v1/TelemetryService/MetricDefinitions/AverageReadingCelsius", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/FanSpeed/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/FanSpeed/index.json new file mode 100644 index 00000000..ea207c2d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/FanSpeed/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#MetricDefinition.v1_3_6.MetricDefinition", + "Id": "FanSpeed", + "Name": "Fan Speed Metric Definition", + "MetricType": "Numeric", + "Implementation": "PhysicalSensor", + "PhysicalContext": "Fan", + "MetricDataType": "Integer", + "Units": "RPM", + "Precision": 20, + "Accuracy": 1, + "Calibration": 0, + "MinReadingRange": 0, + "MaxReadingRange": 5000, + "SensingInterval": "PT1S", + "TimestampAccuracy": "PT1S", + "Wildcards": [ + { + "Name": "ChassisID", + "Values": [ + "*" + ] + }, + { + "Name": "FanID", + "Values": [ + "*" + ] + } + ], + "MetricProperties": [ + "/redfish/v1/Chassis/{ChassisID}/Thermal#/Fans/{FanID}/Reading" + ], + "@odata.id": "/redfish/v1/TelemetryService/MetricDefinitions/FanSpeed", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/MaximumConsumedWatts/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/MaximumConsumedWatts/index.json new file mode 100644 index 00000000..f340bc28 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/MaximumConsumedWatts/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#MetricDefinition.v1_3_6.MetricDefinition", + "Id": "MaximumConsumedWatts", + "Name": "Maximum Consumed Watts", + "MetricType": "Numeric", + "Implementation": "Calculated", + "PhysicalContext": "PowerSupply", + "MetricDataType": "Decimal", + "Units": "W", + "CalculationAlgorithm": "Maximum", + "CalculationTimeInterval": "PT1S", + "Calculable": "NonSummable", + "IsLinear": true, + "Wildcards": [ + { + "Name": "ChassisID", + "Values": [ + "1" + ] + } + ], + "CalculationParameters": [ + { + "SourceMetric": "/redfish/v1/Chassis/{ChassisID}/Power#/PowerControl/0/PowerConsumedWatts", + "ResultMetric": "/redfish/v1/Chassis/{ChassisID}/Power#/PowerControl/0/PowerMetrics/MaxConsumedWatts" + } + ], + "@odata.id": "/redfish/v1/TelemetryService/MetricDefinitions/MaximumConsumedWatts", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/Memory_BlocksRead/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/Memory_BlocksRead/index.json new file mode 100644 index 00000000..8123e8ae --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/Memory_BlocksRead/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#MetricDefinition.v1_3_6.MetricDefinition", + "Id": "Memory_BlocksRead", + "Name": "Current Memory Blocks Read Metric Definition", + "MetricType": "Numeric", + "Implementation": "DigitalMeter", + "MetricDataType": "Decimal", + "Units": "Blocks", + "MinReadingRange": 0, + "MaxReadingRange": 1000000, + "SensingInterval": "PT1S", + "Wildcards": [ + { + "Name": "SystemID", + "Values": [ + "1" + ] + }, + { + "Name": "MemoryID", + "Values": [ + "1", + "2" + ] + } + ], + "MetricProperties": [ + "/redfish/v1/Systems/{SystemID}/Memory/{MemoryID}/MemoryMetric#/CurrentPeriod/BlocksRead" + ], + "@odata.id": "/redfish/v1/TelemetryService/MetricDefinitions/Memory_BlocksRead", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/MinimumConsumedWatts/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/MinimumConsumedWatts/index.json new file mode 100644 index 00000000..ad4b5ec7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/MinimumConsumedWatts/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#MetricDefinition.v1_3_6.MetricDefinition", + "Id": "MinimumConsumedWatts", + "Name": "Minimum Consumed Watts Metric Definition", + "MetricType": "Numeric", + "Implementation": "Calculated", + "PhysicalContext": "PowerSupply", + "MetricDataType": "Decimal", + "Units": "W", + "CalculationAlgorithm": "Minimum", + "CalculationTimeInterval": "PT1S", + "Calculable": "NonSummable", + "IsLinear": true, + "Wildcards": [ + { + "Name": "ChassisID", + "Values": [ + "1" + ] + } + ], + "CalculationParameters": [ + { + "SourceMetric": "/redfish/v1/Chassis/{ChassisID}/Power#/PowerControl/0/PowerConsumedWatts", + "ResultMetric": "/redfish/v1/Chassis/{ChassisID}/Power#/PowerControl/0/PowerMetrics/MinConsumedWatts" + } + ], + "@odata.id": "/redfish/v1/TelemetryService/MetricDefinitions/MinimumConsumedWatts", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/OrientationSensor/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/OrientationSensor/index.json new file mode 100644 index 00000000..cc7c0e93 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/OrientationSensor/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#MetricDefinition.v1_3_6.MetricDefinition", + "Id": "OrientationSensor", + "Name": "Senses the orientation of the chassis", + "MetricType": "Discrete", + "Implementation": "PhysicalSensor", + "PhysicalContext": "ComputeBay", + "SensingInterval": "PT1S", + "DiscreteValues": [ + "Vertical", + "Horizontal", + "Inclined" + ], + "Wildcards": [ + { + "Name": "ChassisID", + "Values": [ + "1" + ] + } + ], + "MetricProperties": [ + "/redfish/v1/Chassis/{ChassisID}#/Oem/Contoso/Orientation" + ], + "@odata.id": "/redfish/v1/TelemetryService/MetricDefinitions/OrientationSensor", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/OutletAirflowTemp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/OutletAirflowTemp/index.json new file mode 100644 index 00000000..9a149d94 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/OutletAirflowTemp/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#MetricDefinition.v1_3_6.MetricDefinition", + "Id": "OutletAirflowTemp", + "Name": "Definition of Outlet Airflow Temperature", + "MetricType": "Numeric", + "Implementation": "Synthesized", + "PhysicalContext": "Exhaust", + "Units": "Cel", + "Wildcards": [ + { + "Name": "ChassisID", + "Values": [ + "1" + ] + } + ], + "CalculationParameters": [ + { + "SourceMetric": "/redfish/v1/Chassis/{ChassisID}/Thermal#/Temperatures/2/ReadingCelsius" + }, + { + "SourceMetric": "/redfish/v1/Chassis/{ChassisID}/Thermal#/Fans/0/Reading" + }, + { + "SourceMetric": "/redfish/v1/Chassis/{ChassisID}/Thermal#/Fans/1/Reading" + }, + { + "SourceMetric": "/redfish/v1/Chassis/{ChassisID}/Power#/PowerControl/0/PowerConsumedWatts", + "ResultMetric": "/redfish/v1/Chassis/{ChassisID}/Power#/PowerControl/0/PowerMetrics/AverageConsumedWatts" + } + ], + "@odata.id": "/redfish/v1/TelemetryService/MetricDefinitions/OutletAirflowTemp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/PowerConsumedWatts/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/PowerConsumedWatts/index.json new file mode 100644 index 00000000..f8f5e7e6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/PowerConsumedWatts/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#MetricDefinition.v1_3_6.MetricDefinition", + "Id": "PowerConsumedWatts", + "Name": "Power Consumed Watts Metric Definition", + "MetricType": "Numeric", + "Implementation": "PhysicalSensor", + "PhysicalContext": "PowerSupply", + "MetricDataType": "Decimal", + "Units": "W", + "Precision": 4, + "Accuracy": 1, + "Calibration": 2, + "MinReadingRange": 0, + "MaxReadingRange": 50, + "SensingInterval": "PT1S", + "TimestampAccuracy": "PT1S", + "Wildcards": [ + { + "Name": "ChassisID", + "Values": [ + "1" + ] + } + ], + "MetricProperties": [ + "/redfish/v1/Chassis/{ChassisID}/Power#/PowerControl/0/PowerConsumedWatts" + ], + "@odata.id": "/redfish/v1/TelemetryService/MetricDefinitions/PowerConsumedWatts", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/index.json new file mode 100644 index 00000000..b7f5cde6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricDefinitions/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#MetricDefinitionCollection.MetricDefinitionCollection", + "Name": "MetricDefinitions", + "Members@odata.count": 9, + "Members": [ + { + "@odata.id": "/redfish/v1/TelemetryService/MetricDefinitions/PowerConsumedWatts" + }, + { + "@odata.id": "/redfish/v1/TelemetryService/MetricDefinitions/AverageConsumedWatts" + }, + { + "@odata.id": "/redfish/v1/TelemetryService/MetricDefinitions/MaximumConsumedWatts" + }, + { + "@odata.id": "/redfish/v1/TelemetryService/MetricDefinitions/MinimumConsumedWatts" + }, + { + "@odata.id": "/redfish/v1/TelemetryService/MetricDefinitions/AverageReadingCelsius" + }, + { + "@odata.id": "/redfish/v1/TelemetryService/MetricDefinitions/Memory_BlocksRead" + }, + { + "@odata.id": "/redfish/v1/TelemetryService/MetricDefinitions/OutletAirflowTemp" + }, + { + "@odata.id": "/redfish/v1/TelemetryService/MetricDefinitions/OrientationSensor" + }, + { + "@odata.id": "/redfish/v1/TelemetryService/MetricDefinitions/FanSpeed" + } + ], + "@odata.id": "/redfish/v1/TelemetryService/MetricDefinitions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReportDefinitions/AvgPlatformPowerUsage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReportDefinitions/AvgPlatformPowerUsage/index.json new file mode 100644 index 00000000..69404d70 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReportDefinitions/AvgPlatformPowerUsage/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#MetricReportDefinition.v1_4_7.MetricReportDefinition", + "Id": "AvgPlatformPowerUsage", + "Name": "Average Platform Power Usage", + "MetricReportDefinitionType": "Periodic", + "MetricReportDefinitionEnabled": true, + "Schedule": { + "RecurrenceInterval": "PT1H" + }, + "ReportActions": [ + "RedfishEvent", + "LogToMetricReportsCollection" + ], + "ReportUpdates": "AppendWrapsWhenFull", + "AppendLimit": 256, + "MetricReport": { + "@odata.id": "/redfish/v1/TelemetryService/MetricReports/AvgPlatformPowerUsage" + }, + "Status": { + "State": "Enabled" + }, + "Wildcards": [ + { + "Name": "Wild", + "Values": [ + "0" + ] + } + ], + "Metrics": [ + { + "MetricProperties": [ + "/redfish/v1/Chassis/Tray_1/Power#/PowerControl/{Wild}/PowerConsumedWatts" + ], + "CollectionFunction": "Average", + "CollectionTimeScope": "Interval", + "CollectionDuration": "PT0.02S" + } + ], + "Links": { + "Triggers": [] + }, + "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/AvgPlatformPowerUsage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReportDefinitions/PlatformPowerUsage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReportDefinitions/PlatformPowerUsage/index.json new file mode 100644 index 00000000..d10b5a73 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReportDefinitions/PlatformPowerUsage/index.json @@ -0,0 +1,49 @@ +{ + "@odata.type": "#MetricReportDefinition.v1_4_7.MetricReportDefinition", + "Id": "PlatformPowerUsage", + "Name": "Transmit and Log Platform Power Usage", + "MetricReportDefinitionType": "Periodic", + "MetricReportDefinitionEnabled": true, + "Schedule": { + "RecurrenceInterval": "PT1H" + }, + "ReportActions": [ + "RedfishEvent", + "LogToMetricReportsCollection" + ], + "ReportUpdates": "AppendWrapsWhenFull", + "AppendLimit": 256, + "MetricReport": { + "@odata.id": "/redfish/v1/TelemetryService/MetricReports/PlatformPowerUsage" + }, + "Status": { + "State": "Enabled" + }, + "Wildcards": [ + { + "Name": "PWild", + "Values": [ + "*" + ] + }, + { + "Name": "TWild", + "Values": [ + "Tray_1", + "Tray_2" + ] + } + ], + "MetricProperties": [ + "/redfish/v1/Chassis/{TWild}/Power#/PowerControl/{PWild}/PowerConsumedWatts" + ], + "Links": { + "Triggers": [ + { + "@odata.id": "/redfish/v1/TelemetryService/Triggers/PlatformPowerCapTriggers" + } + ] + }, + "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/PlatformPowerUsage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReportDefinitions/PowerMetricStats/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReportDefinitions/PowerMetricStats/index.json new file mode 100644 index 00000000..215b6327 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReportDefinitions/PowerMetricStats/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#MetricReportDefinition.v1_4_7.MetricReportDefinition", + "Id": "PowerMetricStats", + "Name": "Transmit Power Metric Statistics", + "MetricReportDefinitionType": "Periodic", + "MetricReportDefinitionEnabled": true, + "Schedule": { + "RecurrenceInterval": "PT0.001S", + "Lifetime": "P5D" + }, + "ReportActions": [ + "LogToMetricReportsCollection" + ], + "MetricReport": { + "@odata.id": "/redfish/v1/TelemetryService/MetricReports/PowerMetricStats" + }, + "ReportUpdates": "Overwrite", + "Status": { + "State": "Enabled" + }, + "Metrics": [ + { + "MetricId": "AverageConsumedWatts" + }, + { + "MetricId": "MaximumConsumedWatts" + }, + { + "MetricId": "MinimumConsumedWatts" + } + ], + "Links": { + "Triggers": [ + { + "@odata.id": "/redfish/v1/TelemetryService/Triggers/PlatformPowerCapTriggers" + } + ] + }, + "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/PowerMetricStats", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReportDefinitions/PowerMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReportDefinitions/PowerMetrics/index.json new file mode 100644 index 00000000..bb286d97 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReportDefinitions/PowerMetrics/index.json @@ -0,0 +1,50 @@ +{ + "@odata.type": "#MetricReportDefinition.v1_4_7.MetricReportDefinition", + "Id": "PowerMetrics", + "Name": "Transmit and Log Power Metrics", + "MetricReportDefinitionType": "Periodic", + "MetricReportDefinitionEnabled": true, + "Schedule": { + "RecurrenceInterval": "PT0.1S" + }, + "ReportActions": [ + "RedfishEvent", + "LogToMetricReportsCollection" + ], + "ReportUpdates": "Overwrite", + "MetricReport": { + "@odata.id": "/redfish/v1/TelemetryService/MetricReports/PowerMetrics" + }, + "Status": { + "State": "Enabled" + }, + "Wildcards": [ + { + "Name": "PWild", + "Values": [ + "0" + ] + }, + { + "Name": "TWild", + "Values": [ + "Tray_1", + "Tray_2" + ] + } + ], + "MetricProperties": [ + "/redfish/v1/Chassis/{TWild}/Power#/PowerControl/{PWild}/PowerMetrics/AverageConsumedWatts", + "/redfish/v1/Chassis/{TWild}/Power#/PowerControl/{PWild}/PowerMetrics/MinConsumedWatts", + "/redfish/v1/Chassis/{TWild}/Power#/PowerControl/{PWild}/PowerMetrics/MaxConsumedWatts" + ], + "Links": { + "Triggers": [ + { + "@odata.id": "/redfish/v1/TelemetryService/Triggers/PlatformPowerCapTriggers" + } + ] + }, + "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/PowerMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReportDefinitions/TransmitPowerUsageOnChange/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReportDefinitions/TransmitPowerUsageOnChange/index.json new file mode 100644 index 00000000..d99bbc00 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReportDefinitions/TransmitPowerUsageOnChange/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#MetricReportDefinition.v1_4_7.MetricReportDefinition", + "Id": "TransmitPowerUsageOnChange", + "Name": "Transmit Power Usage on change", + "MetricReportDefinitionType": "OnChange", + "MetricReportDefinitionEnabled": true, + "ReportActions": [ + "RedfishEvent" + ], + "Status": { + "State": "Enabled" + }, + "Wildcards": [ + { + "Name": "Wild", + "Values": [ + "0" + ] + } + ], + "Metrics": [ + { + "MetricProperties": [ + "/redfish/v1/Chassis/Tray_1/Power#/PowerControl/{Wild}/PowerConsumedWatts" + ] + } + ], + "Links": { + "Triggers": [] + }, + "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/TransmitPowerUsageOnChange", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReportDefinitions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReportDefinitions/index.json new file mode 100644 index 00000000..9c6603ef --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReportDefinitions/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#MetricReportDefinitionCollection.MetricReportDefinitionCollection", + "Name": "MetricReportDefinitions", + "Members@odata.count": 5, + "Members": [ + { + "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/AvgPlatformPowerUsage" + }, + { + "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/PlatformPowerUsage" + }, + { + "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/PowerMetrics" + }, + { + "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/PowerMetricStats" + }, + { + "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/TransmitPowerUsageOnChange" + } + ], + "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReports/AvgPlatformPowerUsage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReports/AvgPlatformPowerUsage/index.json new file mode 100644 index 00000000..520e6b9d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReports/AvgPlatformPowerUsage/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#MetricReport.v1_5_2.MetricReport", + "Id": "AvgPlatformPowerUsage", + "Name": "Average Platform Power Usage metric report", + "MetricReportDefinition": { + "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/AvgPlatformPowerUsage" + }, + "MetricValues": [ + { + "MetricValue": "100", + "Timestamp": "2016-11-08T12:25:00-05:00", + "MetricProperty": "/redfish/v1/Chassis/Tray_1/Power#/0/PowerConsumedWatts" + }, + { + "MetricValue": "94", + "Timestamp": "2016-11-08T13:25:00-05:00", + "MetricProperty": "/redfish/v1/Chassis/Tray_1/Power#/0/PowerConsumedWatts" + }, + { + "MetricValue": "100", + "Timestamp": "2016-11-08T14:25:00-05:00", + "MetricProperty": "/redfish/v1/Chassis/Tray_1/Power#/0/PowerConsumedWatts" + } + ], + "@odata.id": "/redfish/v1/TelemetryService/MetricReports/AvgPlatformPowerUsage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReports/PlatformPowerUsage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReports/PlatformPowerUsage/index.json new file mode 100644 index 00000000..f571df9b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReports/PlatformPowerUsage/index.json @@ -0,0 +1,42 @@ +{ + "@odata.type": "#MetricReport.v1_5_2.MetricReport", + "Id": "PlatformPowerUsage", + "Name": "PlatformPowerUsage", + "MetricReportDefinition": { + "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/PlatformPowerUsage" + }, + "MetricValues": [ + { + "Timestamp": "2016-11-08T12:25:00-05:00", + "MetricValue": "103", + "MetricProperty": "/redfish/v1/Chassis/Tray_1/Power#/PowerControl/0/PowerConsumedWatts" + }, + { + "Timestamp": "2016-11-08T12:25:00-05:00", + "MetricValue": "103", + "MetricProperty": "/redfish/v1/Chassis/Tray_2/Power#/PowerControl/0/PowerConsumedWatts" + }, + { + "Timestamp": "2016-11-08T13:25:00-05:00", + "MetricValue": "106", + "MetricProperty": "/redfish/v1/Chassis/Tray_1/Power#/PowerControl/0/PowerConsumedWatts" + }, + { + "Timestamp": "2016-11-08T13:25:00-05:00", + "MetricValue": "106", + "MetricProperty": "/redfish/v1/Chassis/Tray_2/Power#/PowerControl/0/PowerConsumedWatts" + }, + { + "Timestamp": "2016-11-08T14:25:00-05:00", + "MetricValue": "107", + "MetricProperty": "/redfish/v1/Chassis/Tray_1/Power#/PowerControl/0/PowerConsumedWatts" + }, + { + "Timestamp": "2016-11-08T14:25:00-05:00", + "MetricValue": "107", + "MetricProperty": "/redfish/v1/Chassis/Tray_2/Power#/PowerControl/0/PowerConsumedWatts" + } + ], + "@odata.id": "/redfish/v1/TelemetryService/MetricReports/PlatformPowerUsage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReports/PowerMetricStats/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReports/PowerMetricStats/index.json new file mode 100644 index 00000000..e3780e60 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReports/PowerMetricStats/index.json @@ -0,0 +1,66 @@ +{ + "@odata.type": "#MetricReport.v1_5_2.MetricReport", + "Id": "PowerMetricStats", + "Name": "Power Metric Statistics", + "MetricReportDefinition": { + "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/PowerMetricStats" + }, + "MetricValues": [ + { + "MetricId": "AverageConsumedWatts", + "MetricValue": "44.0", + "Timestamp": "2016-11-08T12:25:00-05:00", + "MetricProperty": "/redfish/v1/Chassis/Tray_1/Power#/PowerControl/0/PowerMetrics/AverageConsumedWatts" + }, + { + "MetricId": "MaximumConsumedWatts", + "MetricValue": "50.5", + "Timestamp": "2016-11-08T12:25:00-05:00", + "MetricProperty": "/redfish/v1/Chassis/Tray_1/Power#/PowerControl/0/PowerMetrics/MaxConsumedWatts" + }, + { + "MetricId": "MinimumConsumedWatts", + "MetricValue": "30.2", + "Timestamp": "2016-11-08T12:25:00-05:00", + "MetricProperty": "/redfish/v1/Chassis/Tray_1/Power#/PowerControl/0/PowerMetrics/MinConsumedWatts" + }, + { + "MetricId": "AverageConsumedWatts", + "MetricValue": "44.0", + "Timestamp": "2016-11-08T12:25:00-05:00", + "MetricProperty": "/redfish/v1/Chassis/Tray_2/Power#/PowerControl/0/PowerMetrics/AverageConsumedWatts" + }, + { + "MetricId": "MaximumConsumedWatts", + "MetricValue": "50.5", + "Timestamp": "2016-11-08T12:25:00-05:00", + "MetricProperty": "/redfish/v1/Chassis/Tray_2/Power#/PowerControl/0/PowerMetrics/MaxConsumedWatts" + }, + { + "MetricId": "MinimumConsumedWatts", + "MetricValue": "30.2", + "Timestamp": "2016-11-08T12:25:00-05:00", + "MetricProperty": "/redfish/v1/Chassis/Tray_2/Power#/PowerControl/0/PowerMetrics/MinConsumedWatts" + }, + { + "MetricId": "AverageConsumedWatts", + "MetricValue": "44.0", + "Timestamp": "2016-11-08T12:25:00-05:00", + "MetricProperty": "/redfish/v1/Chassis/Tray_3/Power#/PowerControl/0/PowerMetrics/AverageConsumedWatts" + }, + { + "MetricId": "MaximumConsumedWatts", + "MetricValue": "50.5", + "Timestamp": "2016-11-08T12:25:00-05:00", + "MetricProperty": "/redfish/v1/Chassis/Tray_3/Power#/PowerControl/0/PowerMetrics/MaxConsumedWatts" + }, + { + "MetricId": "MinimumConsumedWatts", + "MetricValue": "30.2", + "Timestamp": "2016-11-08T12:25:00-05:00", + "MetricProperty": "/redfish/v1/Chassis/Tray_3/Power#/PowerControl/0/PowerMetrics/MinConsumedWatts" + } + ], + "@odata.id": "/redfish/v1/TelemetryService/MetricReports/PowerMetricStats", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReports/PowerMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReports/PowerMetrics/index.json new file mode 100644 index 00000000..961a2450 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReports/PowerMetrics/index.json @@ -0,0 +1,42 @@ +{ + "@odata.type": "#MetricReport.v1_5_2.MetricReport", + "Id": "PowerMetrics", + "Name": "Power Metrics Report", + "MetricReportDefinition": { + "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/PowerMetrics" + }, + "MetricValues": [ + { + "Timestamp": "2016-07-25T11:27:59.795513984+02:00", + "MetricProperty": "/redfish/v1/Chassis/Tray_1/Power#/PowerControl/0/PowerMetrics/AverageConsumedWatts", + "MetricValue": "2.1" + }, + { + "Timestamp": "2016-07-25T11:27:59.795513984+02:00", + "MetricProperty": "/redfish/v1/Chassis/Tray_1/Power#/PowerControl/0/PowerMetrics/MinConsumedWatts", + "MetricValue": "1.9" + }, + { + "Timestamp": "2016-07-25T11:27:59.795513984+02:00", + "MetricProperty": "/redfish/v1/Chassis/Tray_1/Power#/PowerControl/0/PowerMetrics/MaxConsumedWatts", + "MetricValue": "3.1" + }, + { + "Timestamp": "2016-07-25T11:27:59.795513984+02:00", + "MetricProperty": "/redfish/v1/Chassis/Tray_2/Power#/PowerControl/0/PowerMetrics/AverageConsumedWatts", + "MetricValue": "2.1" + }, + { + "Timestamp": "2016-07-25T11:27:59.795513984+02:00", + "MetricProperty": "/redfish/v1/Chassis/Tray_2/Power#/PowerControl/0/PowerMetrics/MinConsumedWatts", + "MetricValue": "2.0" + }, + { + "Timestamp": "2016-07-25T11:27:59.795513984+02:00", + "MetricProperty": "/redfish/v1/Chassis/Tray_2/Power#/PowerControl/0/PowerMetrics/MaxConsumedWatts", + "MetricValue": "3.1" + } + ], + "@odata.id": "/redfish/v1/TelemetryService/MetricReports/PowerMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReports/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReports/index.json new file mode 100644 index 00000000..90b6a56c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/MetricReports/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#MetricReportCollection.MetricReportCollection", + "Name": "MetricReports", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/TelemetryService/MetricReports/AvgPlatformPowerUsage" + }, + { + "@odata.id": "/redfish/v1/TelemetryService/MetricReports/PlatformPowerUsage" + }, + { + "@odata.id": "/redfish/v1/TelemetryService/MetricReports/PowerMetrics" + }, + { + "@odata.id": "/redfish/v1/TelemetryService/MetricReports/PowerMetricStats" + } + ], + "@odata.id": "/redfish/v1/TelemetryService/MetricReports", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/TelemetryData/TelemetrySnapshot.1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/TelemetryData/TelemetrySnapshot.1/index.json new file mode 100644 index 00000000..c642c838 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/TelemetryData/TelemetrySnapshot.1/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#TelemetryData.v1_0_0.TelemetryData", + "Id": "TelemetrySnapshot.1", + "Name": "TelemetrySnapshot.1", + "Timestamp": "2025-11-08T12:25:00-05:00", + "TelemetryDataType": "OEM", + "OEMTelemetryDataType": "ContosoAggregator2_0", + "AdditionalData": "Q29udG9zbyBzYW1wbGUgdGVsZW1ldHJ5IGRhdGE=", + "@odata.id": "/redfish/v1/TelemetryService/TelemetryData/TelemetrySnapshot.1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/TelemetryData/TelemetrySnapshot/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/TelemetryData/TelemetrySnapshot/index.json new file mode 100644 index 00000000..fb75b9a1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/TelemetryData/TelemetrySnapshot/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#TelemetryData.v1_0_0.TelemetryData", + "Id": "TelemetrySnapshot", + "Name": "TelemetrySnapshot", + "Timestamp": "2025-11-08T12:25:00-05:00", + "TelemetryDataType": "OEM", + "OEMTelemetryDataType": "ContosoAggregator2_0", + "AdditionalData": "U2FtcGxlVGVsZW1ldHJ5RGF0YQ==", + "AdditionalDataSizeBytes": 19, + "AdditionalDataURI": "/redfish/v1/TelemetryService/TelemetryData/TelemetrySnapshot/full-data", + "@odata.id": "/redfish/v1/TelemetryService/TelemetryData/TelemetrySnapshot", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/TelemetryData/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/TelemetryData/index.json new file mode 100644 index 00000000..c75e20d0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/TelemetryData/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#TelemetryDataCollection.TelemetryDataCollection", + "Name": "TelemetryData", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/TelemetryService/TelemetryData/TelemetrySnapshot" + }, + { + "@odata.id": "/redfish/v1/TelemetryService/TelemetryData/TelemetrySnapshot.1" + } + ], + "@odata.id": "/redfish/v1/TelemetryService/TelemetryData", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/Triggers/DriveMediaLife/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/Triggers/DriveMediaLife/index.json new file mode 100644 index 00000000..36c13494 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/Triggers/DriveMediaLife/index.json @@ -0,0 +1,44 @@ +{ + "@odata.type": "#Triggers.v1_4_0.Triggers", + "Id": "DriveMediaLife", + "Name": "Triggers for Drive media life left", + "MetricType": "Numeric", + "TriggerEnabled": true, + "TriggerActions": [ + "RedfishEvent", + "LogToLogService" + ], + "NumericThresholds": { + "LowerWarning": { + "Reading": 10, + "Activation": "Decreasing" + }, + "LowerCritical": { + "Reading": 2, + "Activation": "Decreasing" + } + }, + "MetricProperties": [ + "/redfish/v1/Chassis/{ChassisId}/Drives/{DriveId}#/PredictedMediaLifeLeftPercent" + ], + "Wildcards": [ + { + "Name": "ChassisId", + "Values": [ + "Fred", + "Ethel", + "1", + "2" + ] + }, + { + "Name": "DriveId", + "Values": [ + "*" + ] + } + ], + "TriggerActionMessage": "DriveMediaLife", + "@odata.id": "/redfish/v1/TelemetryService/Triggers/DriveMediaLife", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/Triggers/FanTriggers/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/Triggers/FanTriggers/index.json new file mode 100644 index 00000000..236f10b2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/Triggers/FanTriggers/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Triggers.v1_4_0.Triggers", + "Id": "FanTriggers", + "Name": "Triggers for fan speeds", + "MetricType": "Numeric", + "TriggerActions": [ + "RedfishEvent" + ], + "NumericThresholds": { + "LowerCritical": { + "Reading": 1000, + "Activation": "Decreasing", + "DwellTime": "PT5S" + } + }, + "MetricIds": [ + "FanSpeed" + ], + "@odata.id": "/redfish/v1/TelemetryService/Triggers/FanTriggers", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/Triggers/OrientationTrigger/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/Triggers/OrientationTrigger/index.json new file mode 100644 index 00000000..aafabd18 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/Triggers/OrientationTrigger/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Triggers.v1_4_0.Triggers", + "Id": "OrientationTrigger", + "Name": "Trigger when orientation becomes incline", + "MetricType": "Discrete", + "TriggerActions": [ + "RedfishEvent" + ], + "DiscreteTriggerCondition": "Specified", + "DiscreteTriggers": [ + { + "Value": "Inclined", + "DwellTime": "PT0.001S", + "Severity": "Warning" + } + ], + "MetricProperties": [ + "/redfish/v1/Chassis/1#/Oem/Contoso/Orientation" + ], + "Links": { + "MetricReportDefinitions": [] + }, + "@odata.id": "/redfish/v1/TelemetryService/Triggers/OrientationTrigger", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/Triggers/PlatformPowerCapTriggers/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/Triggers/PlatformPowerCapTriggers/index.json new file mode 100644 index 00000000..e16a4017 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/Triggers/PlatformPowerCapTriggers/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Triggers.v1_4_0.Triggers", + "Id": "PlatformPowerCapTriggers", + "Name": "Triggers for platform power consumed", + "MetricType": "Numeric", + "TriggerActions": [ + "RedfishEvent", + "RedfishMetricReport" + ], + "NumericThresholds": { + "UpperCritical": { + "Reading": 50, + "Activation": "Increasing", + "DwellTime": "PT0.001S" + }, + "UpperWarning": { + "Reading": 48.1, + "Activation": "Increasing", + "DwellTime": "PT0.004S" + } + }, + "MetricProperties": [ + "/redfish/v1/Chassis/1/Power#/PowerControl/0/PowerConsumedWatts" + ], + "Links": { + "MetricReportDefinitions": [ + { + "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/PowerMetrics" + }, + { + "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/PowerMetricStats" + }, + { + "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/PlatformPowerUsage" + } + ] + }, + "@odata.id": "/redfish/v1/TelemetryService/Triggers/PlatformPowerCapTriggers", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/Triggers/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/Triggers/index.json new file mode 100644 index 00000000..4a668ebe --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/Triggers/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#TriggersCollection.TriggersCollection", + "Name": "Triggers Collection", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/TelemetryService/Triggers/OrientationTrigger" + }, + { + "@odata.id": "/redfish/v1/TelemetryService/Triggers/PlatformPowerCapTriggers" + }, + { + "@odata.id": "/redfish/v1/TelemetryService/Triggers/FanTriggers" + }, + { + "@odata.id": "/redfish/v1/TelemetryService/Triggers/DriveMediaLife" + } + ], + "@odata.id": "/redfish/v1/TelemetryService/Triggers", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/index.json new file mode 100644 index 00000000..afc4d091 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/TelemetryService/index.json @@ -0,0 +1,46 @@ +{ + "@odata.type": "#TelemetryService.v1_4_1.TelemetryService", + "Id": "TelemetryService", + "Name": "Telemetry Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "SupportedCollectionFunctions": [ + "Average", + "Minimum", + "Maximum" + ], + "MetricDefinitions": { + "@odata.id": "/redfish/v1/TelemetryService/MetricDefinitions" + }, + "MetricReportDefinitions": { + "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions" + }, + "MetricReports": { + "@odata.id": "/redfish/v1/TelemetryService/MetricReports" + }, + "Triggers": { + "@odata.id": "/redfish/v1/TelemetryService/Triggers" + }, + "TelemetryData": { + "@odata.id": "/redfish/v1/TelemetryService/TelemetryData" + }, + "LogService": { + "@odata.id": "/redfish/v1/Managers/1/LogServices/Log1" + }, + "Actions": { + "#TelemetryService.ClearMetricReports": { + "target": "/redfish/v1/TelemetryService/Actions/TelemetryService.ClearMetricReports" + }, + "#TelemetryService.ResetMetricReportDefinitionsToDefaults": { + "target": "/redfish/v1/TelemetryService/Actions/TelemetryService.ResetMetricReportDefinitionsToDefaults" + }, + "#TelemetryService.ResetTriggersToDefaults": { + "target": "/redfish/v1/TelemetryService/Actions/TelemetryService.ResetTriggersToDefaults" + } + }, + "@odata.id": "/redfish/v1/TelemetryService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/explorer_config.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/explorer_config.json new file mode 100644 index 00000000..3bdf5eec --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/explorer_config.json @@ -0,0 +1,65 @@ +{ + "name": "Telemetry Service", + "description": "This example shows a service that supports reporting telemetry data through the Telemetry Service. It has sample metric definitions and metric reports based upon data found in other portions of the data model.", + "navlinks": [ + { + "text": "Main", + "target": "main" + }, + { + "text": "Systems", + "target": "Systems", + "navlinks": [ + { + "text": "1", + "target": "1" + } + ] + }, + { + "text": "Chassis", + "target": "Chassis", + "navlinks": [ + { + "text": "1", + "target": "1" + }, + { + "text": "Tray 1", + "target": "Tray_1" + }, + { + "text": "Tray 2", + "target": "Tray_2" + }, + { + "text": "Tray 3", + "target": "Tray_3" + } + ] + }, + { + "text": "Telemetry Service", + "target": "TelemetryService" + }, + { + "text": "Managers", + "target": "Managers", + "navlinks": [ + { + "text": "1", + "target": "1" + } + ] + }, + { + "text": "Session Service", + "target": "SessionService" + }, + { + "text": "Account Service", + "target": "AccountService" + } + ] +} + diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/index.json new file mode 100644 index 00000000..9a1b2e7a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#ServiceRoot.v1_22_0.ServiceRoot", + "Id": "RootService", + "Name": "Root Service", + "RedfishVersion": "1.15.0", + "UUID": "92384634-2938-2342-8820-489239905423", + "ProtocolFeaturesSupported": { + "ExpandQuery": { + "ExpandAll": true, + "Levels": true, + "MaxLevels": 6, + "Links": true, + "NoLinks": true + }, + "SelectQuery": false, + "FilterQuery": false, + "OnlyMemberQuery": true, + "ExcerptQuery": true + }, + "Systems": { + "@odata.id": "/redfish/v1/Systems" + }, + "Chassis": { + "@odata.id": "/redfish/v1/Chassis" + }, + "Managers": { + "@odata.id": "/redfish/v1/Managers" + }, + "SessionService": { + "@odata.id": "/redfish/v1/SessionService" + }, + "AccountService": { + "@odata.id": "/redfish/v1/AccountService" + }, + "TelemetryService": { + "@odata.id": "/redfish/v1/TelemetryService" + }, + "Links": { + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + } + }, + "@odata.id": "/redfish/v1/", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/odata/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/odata/index.json new file mode 100644 index 00000000..9dee5aec --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-telemetry/odata/index.json @@ -0,0 +1,46 @@ +{ + "@odata.context": "/redfish/v1/$metadata", + "value": [ + { + "name": "Service", + "kind": "Singleton", + "url": "/redfish/v1/" + }, + { + "name": "Systems", + "kind": "Singleton", + "url": "/redfish/v1/Systems" + }, + { + "name": "Chassis", + "kind": "Singleton", + "url": "/redfish/v1/Chassis" + }, + { + "name": "Managers", + "kind": "Singleton", + "url": "/redfish/v1/Managers" + }, + { + "name": "TelemetryService", + "kind": "Singleton", + "url": "/redfish/v1/TelemetryService" + }, + { + "name": "AccountService", + "kind": "Singleton", + "url": "/redfish/v1/AccountService" + }, + { + "name": "SessionService", + "kind": "Singleton", + "url": "/redfish/v1/SessionService" + }, + { + "name": "Sessions", + "kind": "Singleton", + "url": "/redfish/v1/SessionService/Sessions" + } + ], + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/Accounts/1/Certificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/Accounts/1/Certificates/index.json new file mode 100644 index 00000000..41b0634c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/Accounts/1/Certificates/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificate Collection", + "Members@odata.count": 0, + "Members": [], + "@Redfish.SupportedCertificates": [ + "PEM" + ], + "@odata.id": "/redfish/v1/AccountService/Accounts/1/Certificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/Accounts/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/Accounts/1/index.json new file mode 100644 index 00000000..6cc9e212 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/Accounts/1/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#ManagerAccount.v1_14_2.ManagerAccount", + "Id": "1", + "Name": "User Account", + "Description": "User Account", + "Enabled": true, + "Password": null, + "PasswordChangeRequired": false, + "AccountTypes": [ + "Redfish" + ], + "UserName": "Administrator", + "RoleId": "Administrator", + "Locked": false, + "Certificates": { + "@odata.id": "/redfish/v1/AccountService/Accounts/1/Certificates" + }, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + } + }, + "@odata.id": "/redfish/v1/AccountService/Accounts/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/Accounts/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/Accounts/2/index.json new file mode 100644 index 00000000..c5d00d44 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/Accounts/2/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#ManagerAccount.v1_14_2.ManagerAccount", + "Id": "2", + "Name": "Employee #457", + "Description": "This user is both a Redfish administrator and a SNMPv3 user.", + "Enabled": true, + "Password": null, + "UserName": "contoso_employee457", + "RoleId": "Administrator", + "Locked": false, + "AccountTypes": [ + "Redfish", + "SNMP" + ], + "SNMP": { + "AuthenticationKey": null, + "AuthenticationProtocol": "None", + "EncryptionKey": null, + "EncryptionProtocol": "CFB128_AES128" + }, + "Links": { + "Role": { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + } + }, + "@odata.id": "/redfish/v1/AccountService/Accounts/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/Accounts/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/Accounts/index.json new file mode 100644 index 00000000..f509d474 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/Accounts/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerAccountCollection.ManagerAccountCollection", + "Name": "Accounts Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Accounts/1" + } + ], + "@odata.id": "/redfish/v1/AccountService/Accounts", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/ExternalAccountProviders/ExternalRedfishService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/ExternalAccountProviders/ExternalRedfishService/index.json new file mode 100644 index 00000000..52ded803 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/ExternalAccountProviders/ExternalRedfishService/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#ExternalAccountProvider.v1_9_0.ExternalAccountProvider", + "Id": "ExternalRedfishService", + "Name": "Remote Redfish Service", + "Description": "Remote Redfish Service providing additional Accounts to this Redfish Service", + "AccountProviderType": "RedfishService", + "ServiceAddresses": [ + "https://redfish.contoso.org/redfish/v1/AccountService" + ], + "Authentication": { + "AuthenticationType": "Token", + "Token": null + }, + "RemoteRoleMapping": [ + { + "RemoteGroup": "Admin", + "LocalRole": "Administrator" + }, + { + "RemoteGroup": "Operator", + "LocalRole": "Operator" + }, + { + "RemoteGroup": "ReadOnly", + "LocalRole": "ReadOnly" + } + ], + "@odata.id": "/redfish/v1/AccountService/ExternalAccountProviders/ExternalRedfishService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/ExternalAccountProviders/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/ExternalAccountProviders/index.json new file mode 100644 index 00000000..42e0d845 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/ExternalAccountProviders/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ExternalAccountProviderCollection.ExternalAccountProviderCollection", + "Name": "External Account Provider Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/ExternalAccountProviders/ExternalRedfishService" + } + ], + "@odata.id": "/redfish/v1/AccountService/ExternalAccountProviders", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/Roles/Administrator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/Roles/Administrator/index.json new file mode 100644 index 00000000..19d26a98 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/Roles/Administrator/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Administrator", + "Name": "User Role", + "Description": "Admin User Role", + "RoleId": "Administrator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureManager", + "ConfigureUsers", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [ + "OemClearLog", + "OemPowerControl" + ], + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/Roles/Operator/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/Roles/Operator/index.json new file mode 100644 index 00000000..90804a6a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/Roles/Operator/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "Operator", + "Name": "User Role", + "Description": "Operator User Role", + "RoleId": "Operator", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf", + "ConfigureComponents" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/Operator", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/Roles/ReadOnly/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/Roles/ReadOnly/index.json new file mode 100644 index 00000000..1df0cf03 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/Roles/ReadOnly/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#Role.v1_3_3.Role", + "Id": "ReadOnly", + "Name": "User Role", + "Description": "ReadOnly User Role", + "RoleId": "ReadOnly", + "IsPredefined": true, + "AssignedPrivileges": [ + "Login", + "ConfigureSelf" + ], + "OemPrivileges": [], + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/Roles/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/Roles/index.json new file mode 100644 index 00000000..ba9ee112 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/Roles/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#RoleCollection.RoleCollection", + "Name": "Roles Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/Operator" + }, + { + "@odata.id": "/redfish/v1/AccountService/Roles/ReadOnly" + } + ], + "@odata.id": "/redfish/v1/AccountService/Roles", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/index.json new file mode 100644 index 00000000..81048259 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/AccountService/index.json @@ -0,0 +1,100 @@ +{ + "@odata.type": "#AccountService.v1_19_0.AccountService", + "Id": "AccountService", + "Name": "Account Service", + "Description": "Account Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "AuthFailureLoggingThreshold": 3, + "MinPasswordLength": 8, + "AccountLockoutThreshold": 5, + "AccountLockoutDuration": 30, + "AccountLockoutCounterResetAfter": 30, + "AccountLockoutCounterResetEnabled": true, + "Accounts": { + "@odata.id": "/redfish/v1/AccountService/Accounts" + }, + "Roles": { + "@odata.id": "/redfish/v1/AccountService/Roles" + }, + "LocalAccountAuth": "Enabled", + "LDAP": { + "AccountProviderType": "LDAPService", + "ServiceEnabled": false, + "ServiceAddresses": [ + "ldaps://ldap.example.org:636" + ], + "Authentication": { + "AuthenticationType": "UsernameAndPassword", + "Username": "cn=Manager,dc=example,dc=org", + "Password": null + }, + "LDAPService": { + "SearchSettings": { + "BaseDistinguishedNames": [ + "dc=example,dc=org" + ], + "UsernameAttribute": "uid", + "GroupsAttribute": "memberof" + } + }, + "RemoteRoleMapping": [ + { + "RemoteUser": "cn=Manager,dc=example,dc=org", + "LocalRole": "Administrator" + }, + { + "RemoteGroup": "cn=Admins,ou=Groups,dc=example,dc=org", + "LocalRole": "Administrator" + }, + { + "RemoteGroup": "cn=PowerUsers,ou=Groups,dc=example,dc=org", + "LocalRole": "Operator" + }, + { + "RemoteGroup": "(cn=*)", + "LocalRole": "ReadOnly" + } + ] + }, + "ActiveDirectory": { + "AccountProviderType": "ActiveDirectoryService", + "ServiceEnabled": true, + "ServiceAddresses": [ + "ad1.example.org", + "ad2.example.org", + null, + null + ], + "Authentication": { + "AuthenticationType": "KerberosKeytab", + "KerberosKeytab": null + }, + "RemoteRoleMapping": [ + { + "RemoteGroup": "Administrators", + "LocalRole": "Administrator" + }, + { + "RemoteUser": "DOMAIN\\Bob", + "LocalRole": "Operator" + }, + { + "RemoteGroup": "PowerUsers", + "LocalRole": "Operator" + }, + { + "RemoteGroup": "Everybody", + "LocalRole": "ReadOnly" + } + ] + }, + "AdditionalExternalAccountProviders": { + "@odata.id": "/redfish/v1/AccountService/ExternalAccountProviders" + }, + "@odata.id": "/redfish/v1/AccountService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/CertificateService/CertificateLocations/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/CertificateService/CertificateLocations/index.json new file mode 100644 index 00000000..392f17af --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/CertificateService/CertificateLocations/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#CertificateLocations.v1_0_4.CertificateLocations", + "Id": "CertificateLocations", + "Name": "Certificate Locations", + "Links": { + "Certificates": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1" + } + ] + }, + "@odata.id": "/redfish/v1/CertificateService/CertificateLocations", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/CertificateService/GenerateCSRActionInfo/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/CertificateService/GenerateCSRActionInfo/index.json new file mode 100644 index 00000000..3c0fe90b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/CertificateService/GenerateCSRActionInfo/index.json @@ -0,0 +1,99 @@ +{ + "@odata.type": "#ActionInfo.v1_6_0.ActionInfo", + "Id": "GenerateCSRActionInfo", + "Name": "Generate CSR Action Info", + "Parameters": [ + { + "Name": "CommonName", + "Required": true, + "DataType": "String" + }, + { + "Name": "AlternativeNames", + "Required": false, + "DataType": "StringArray" + }, + { + "Name": "Organization", + "Required": true, + "DataType": "String" + }, + { + "Name": "OrganizationalUnit", + "Required": true, + "DataType": "String" + }, + { + "Name": "City", + "Required": true, + "DataType": "String" + }, + { + "Name": "State", + "Required": true, + "DataType": "String" + }, + { + "Name": "Country", + "Required": true, + "DataType": "String" + }, + { + "Name": "Email", + "Required": false, + "DataType": "String" + }, + { + "Name": "KeyPairAlgorithm", + "Required": true, + "DataType": "String", + "AllowableValues": [ + "TPM_ALG_RSA", + "TPM_ALG_ECDSA" + ] + }, + { + "Name": "KeyBitLength", + "Required": false, + "DataType": "Number" + }, + { + "Name": "KeyCurveId", + "Required": false, + "DataType": "String", + "AllowableValues": [ + "TPM_ECC_NIST_P256", + "TPM_ECC_NIST_P384", + "TPM_ECC_NIST_P521" + ] + }, + { + "Name": "CertificateCollection", + "Required": true, + "DataType": "Object" + }, + { + "Name": "KeyUsage", + "Required": false, + "DataType": "StringArray", + "AllowableValues": [ + "DigitalSignature", + "NonRepudiation", + "KeyEncipherment", + "DataEncipherment", + "KeyAgreement", + "KeyCertSign", + "CRLSigning", + "EncipherOnly", + "DecipherOnly", + "ServerAuthentication", + "ClientAuthentication", + "CodeSigning", + "EmailProtection", + "OCSPSigning" + ] + } + ], + "@odata.id": "/redfish/v1/CertificateService/GenerateCSRActionInfo", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/CertificateService/ReplaceCertificateActionInfo/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/CertificateService/ReplaceCertificateActionInfo/index.json new file mode 100644 index 00000000..4d0724e6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/CertificateService/ReplaceCertificateActionInfo/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#ActionInfo.v1_6_0.ActionInfo", + "Id": "ReplaceCertificateActionInfo", + "Name": "Replace Certificate Action Info", + "Parameters": [ + { + "Name": "CertificateString", + "Required": true, + "DataType": "String" + }, + { + "Name": "CertificateType", + "Required": true, + "DataType": "String", + "AllowableValues": [ + "PEM" + ] + }, + { + "Name": "CertificateUri", + "Required": true, + "DataType": "Object" + } + ], + "@odata.id": "/redfish/v1/CertificateService/ReplaceCertificateActionInfo", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/CertificateService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/CertificateService/index.json new file mode 100644 index 00000000..1af148f5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/CertificateService/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#CertificateService.v1_2_2.CertificateService", + "Id": "CertificateService", + "Name": "Certificate Service", + "Actions": { + "#CertificateService.GenerateCSR": { + "target": "/redfish/v1/CertificateService/Actions/CertificateService.GenerateCSR", + "@Redfish.ActionInfo": "/redfish/v1/CertificateService/GenerateCSRActionInfo" + }, + "#CertificateService.ReplaceCertificate": { + "target": "/redfish/v1/CertificateService/Actions/CertificateService.ReplaceCertificate", + "@Redfish.ActionInfo": "/redfish/v1/CertificateService/ReplaceCertificateActionInfo" + } + }, + "CertificateLocations": { + "@odata.id": "/redfish/v1/CertificateService/CertificateLocations" + }, + "@odata.id": "/redfish/v1/CertificateService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-1-0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-1-0/index.json new file mode 100644 index 00000000..a312bc2e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-1-0/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "Disk-1-0", + "Name": "Disk 1-0", + "IndicatorLED": "Off", + "StatusIndicator": "OK", + "Model": "SAS 18000", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 20266198323167230, + "Protocol": "SAS", + "MediaType": "HDD", + "Manufacturer": "Contoso", + "CapableSpeedGbs": 12, + "NegotiatedSpeedGbs": 12, + "Links": { + "Volumes": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/RAIDIntegrated/Volumes/Scratchpad" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-1-0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-1-1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-1-1/index.json new file mode 100644 index 00000000..baae67b8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-1-1/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "Disk-1-1", + "Name": "Disk 1-1", + "IndicatorLED": "Off", + "StatusIndicator": "OK", + "Model": "SAS 18000", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 20266198323167230, + "Protocol": "SAS", + "MediaType": "HDD", + "Manufacturer": "Contoso", + "CapableSpeedGbs": 12, + "NegotiatedSpeedGbs": 12, + "Links": { + "Volumes": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/RAIDIntegrated/Volumes/Secondary" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-1-1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-1-2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-1-2/index.json new file mode 100644 index 00000000..77317edf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-1-2/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "Disk-1-2", + "Name": "Disk 1-2", + "IndicatorLED": "Off", + "StatusIndicator": "OK", + "Model": "SAS 18000", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 20266198323167230, + "Protocol": "SAS", + "MediaType": "HDD", + "Manufacturer": "Contoso", + "CapableSpeedGbs": 12, + "NegotiatedSpeedGbs": 12, + "Links": { + "Volumes": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/RAIDIntegrated/Volumes/Secondary" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-1-2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-1-3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-1-3/index.json new file mode 100644 index 00000000..daae392f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-1-3/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "Disk-1-3", + "Name": "Disk 1-3", + "IndicatorLED": "Off", + "StatusIndicator": "OK", + "Model": "SAS 18000", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 20266198323167230, + "Protocol": "SAS", + "MediaType": "HDD", + "Manufacturer": "Contoso", + "CapableSpeedGbs": 12, + "NegotiatedSpeedGbs": 12, + "Links": { + "Volumes": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/RAIDIntegrated/Volumes/Secondary" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-1-3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-1-4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-1-4/index.json new file mode 100644 index 00000000..af3b264a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-1-4/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "Disk-1-4", + "Name": "Disk 1-4", + "IndicatorLED": "Off", + "StatusIndicator": "OK", + "Status": { + "State": "Absent", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-1-4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-1-5/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-1-5/index.json new file mode 100644 index 00000000..d668ce4d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-1-5/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "Disk-1-5", + "Name": "Disk 1-5", + "IndicatorLED": "Off", + "StatusIndicator": "OK", + "Status": { + "State": "Absent", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-1-5", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-1-6/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-1-6/index.json new file mode 100644 index 00000000..4f072346 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-1-6/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "Disk-1-6", + "Name": "Disk 1-6", + "IndicatorLED": "Off", + "StatusIndicator": "OK", + "Status": { + "State": "Absent", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-1-6", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-1-7/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-1-7/index.json new file mode 100644 index 00000000..6deb262e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-1-7/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "Disk-1-7", + "Name": "Disk 1-7", + "IndicatorLED": "Off", + "StatusIndicator": "OK", + "Status": { + "State": "Absent", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-1-7", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-2-0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-2-0/index.json new file mode 100644 index 00000000..c862805c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-2-0/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "Disk-2-0", + "Name": "Disk 2-0", + "IndicatorLED": "Off", + "StatusIndicator": "OK", + "Model": "NVMe 1000", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 1125899906842624, + "Protocol": "NVMe", + "MediaType": "SSD", + "Manufacturer": "Contoso", + "CapableSpeedGbs": 32, + "NegotiatedSpeedGbs": 32, + "Links": { + "Volumes": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/NVMeSecondary/Volumes/AssetCache" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-2-0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-2-1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-2-1/index.json new file mode 100644 index 00000000..19d3ea72 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-2-1/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "Disk-2-1", + "Name": "Disk 2-1", + "IndicatorLED": "Off", + "StatusIndicator": "OK", + "Model": "NVMe 1000", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 1125899906842624, + "Protocol": "NVMe", + "MediaType": "SSD", + "Manufacturer": "Contoso", + "CapableSpeedGbs": 32, + "NegotiatedSpeedGbs": 32, + "Links": { + "Volumes": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/NVMeSecondary/Volumes/AssetCache" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-2-1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-2-2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-2-2/index.json new file mode 100644 index 00000000..3f85b9b2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-2-2/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "Disk-2-2", + "Name": "Disk 2-2", + "IndicatorLED": "Off", + "StatusIndicator": "OK", + "Model": "NVMe 1000", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 1125899906842624, + "Protocol": "NVMe", + "MediaType": "SSD", + "Manufacturer": "Contoso", + "CapableSpeedGbs": 32, + "NegotiatedSpeedGbs": 32, + "Links": { + "Volumes": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/NVMeSecondary/Volumes/RenderVol" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-2-2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-2-3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-2-3/index.json new file mode 100644 index 00000000..e2dad31c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-2-3/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "Disk-2-3", + "Name": "Disk 2-3", + "IndicatorLED": "Off", + "StatusIndicator": "OK", + "Model": "NVMe 1000", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 1125899906842624, + "Protocol": "NVMe", + "MediaType": "SSD", + "Manufacturer": "Contoso", + "CapableSpeedGbs": 32, + "NegotiatedSpeedGbs": 32, + "Links": { + "Volumes": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/NVMeSecondary/Volumes/RenderVol" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-2-3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-2-4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-2-4/index.json new file mode 100644 index 00000000..896cb5ec --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-2-4/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "Disk-2-4", + "Name": "Disk 2-4", + "IndicatorLED": "Off", + "StatusIndicator": "OK", + "Status": { + "State": "Absent", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-2-4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-2-5/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-2-5/index.json new file mode 100644 index 00000000..10b4bbc6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-2-5/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "Disk-2-5", + "Name": "Disk 2-5", + "IndicatorLED": "Off", + "StatusIndicator": "OK", + "Status": { + "State": "Absent", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-2-5", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-2-6/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-2-6/index.json new file mode 100644 index 00000000..76af350b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-2-6/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "Disk-2-6", + "Name": "Disk 2-6", + "IndicatorLED": "Off", + "StatusIndicator": "OK", + "Status": { + "State": "Absent", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-2-6", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-2-7/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-2-7/index.json new file mode 100644 index 00000000..056b73a0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/Disk-2-7/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "Disk-2-7", + "Name": "Disk 2-7", + "IndicatorLED": "Off", + "StatusIndicator": "OK", + "Status": { + "State": "Absent", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-2-7", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/M.2-1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/M.2-1/index.json new file mode 100644 index 00000000..c2c3457b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/M.2-1/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "M.2-1", + "Name": "M.2 1", + "IndicatorLED": "Off", + "StatusIndicator": "OK", + "Model": "NVMe 1000", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 1125899906842624, + "Protocol": "NVMe", + "MediaType": "SSD", + "Manufacturer": "Contoso", + "CapableSpeedGbs": 32, + "NegotiatedSpeedGbs": 32, + "Links": { + "Volumes": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/NVMeSWRAID/Volumes/Boot" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/M.2-1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/M.2-2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/M.2-2/index.json new file mode 100644 index 00000000..d4b0767c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Drives/M.2-2/index.json @@ -0,0 +1,86 @@ +{ + "@odata.type": "#Drive.v1_22_0.Drive", + "Id": "M.2-2", + "Name": "M.2 2", + "IndicatorLED": "Off", + "StatusIndicator": "OK", + "Model": "NVMe 1000", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "CapacityBytes": 1125899906842624, + "Protocol": "NVMe", + "MediaType": "SSD", + "Manufacturer": "Contoso", + "CapableSpeedGbs": 32, + "NegotiatedSpeedGbs": 32, + "Links": { + "Volumes": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/NVMeSWRAID/Volumes/Boot" + } + ] + }, + "NVMe": { + "ActivePersonalities": [ + { + "Identifier": 0, + "Default": false, + "Frozen": false, + "Pending": false, + "MinimumRequiredResetType": "NVMSubsystemReset", + "ChangeAffectsUserData": true, + "UnfreezeAuthenticationModes": [ + "ProgrammedKey", + "PhysicalId" + ] + }, + { + "Identifier": 1, + "Default": false, + "Frozen": true, + "Pending": false, + "Data": "AAFF0000FFFFFFFF", + "MinimumRequiredResetType": "NVMSubsystemReset", + "ChangeAffectsUserData": true, + "UnfreezeAuthenticationModes": [ + "ProgrammedKey", + "PhysicalId" + ] + }, + { + "Identifier": 245, + "Default": false, + "Frozen": false, + "Pending": false, + "Data": "00", + "MinimumRequiredResetType": "NoReset", + "ChangeAffectsUserData": false, + "UnfreezeAuthenticationModes": [ + "ProgrammedKey", + "PhysicalId" + ] + } + ] + }, + "Actions": { + "#Drive.SetPersonalityKey": { + "target": "/redfish/v1/Chassis/Tower/Drives/M.2-2/Actions/Drive.SetPersonalityKey" + }, + "#Drive.FreezePersonality": { + "target": "/redfish/v1/Chassis/Tower/Drives/M.2-2/Actions/Drive.FreezePersonality" + }, + "#Drive.GetPersonalityNonce": { + "target": "/redfish/v1/Chassis/Tower/Drives/M.2-2/Actions/Drive.GetPersonalityNonce" + }, + "#Drive.UnfreezePersonality": { + "target": "/redfish/v1/Chassis/Tower/Drives/M.2-2/Actions/Drive.UnfreezePersonality" + }, + "#Drive.RevertPersonalitiesToDefaults": { + "target": "/redfish/v1/Chassis/Tower/Drives/M.2-2/Actions/Drive.RevertPersonalitiesToDefaults" + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/M.2-2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/EnvironmentMetrics/index.json new file mode 100644 index 00000000..f57f3503 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/EnvironmentMetrics/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Chassis Environment Metrics", + "TemperatureCelsius": { + "Reading": 21, + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/AmbientTemp" + }, + "PowerWatts": { + "Reading": 974, + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/TotalPower" + }, + "FanSpeedsPercent": [ + { + "DeviceName": "Chassis Fan #1", + "Reading": 45, + "SpeedRPM": 1900, + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/FanBay1" + }, + { + "DeviceName": "Chassis Fan #2", + "Reading": 55, + "SpeedRPM": 2100, + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/FanBay2" + }, + { + "DeviceName": "Chassis Fan #3", + "Reading": 45, + "SpeedRPM": 1900, + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/FanBay3" + }, + { + "DeviceName": "Chassis Fan #4", + "Reading": 55, + "SpeedRPM": 2100, + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/FanBay4" + } + ], + "@odata.id": "/redfish/v1/Chassis/Tower/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/NetworkAdapters/NIC1/NetworkDeviceFunctions/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/NetworkAdapters/NIC1/NetworkDeviceFunctions/1/index.json new file mode 100644 index 00000000..0f0f3650 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/NetworkAdapters/NIC1/NetworkDeviceFunctions/1/index.json @@ -0,0 +1,84 @@ +{ + "@odata.type": "#NetworkDeviceFunction.v1_11_1.NetworkDeviceFunction", + "Id": "1", + "Name": "Network Device Function", + "NetDevFuncType": "Ethernet", + "DeviceEnabled": true, + "NetDevFuncCapabilities": [ + "Ethernet", + "FibreChannel", + "iSCSI" + ], + "Ethernet": { + "PermanentMACAddress": "00:0C:29:9A:98:ED", + "MACAddress": "00:0C:29:9A:98:ED", + "MTUSize": 1500, + "VLAN": { + "VLANEnable": false + } + }, + "iSCSIBoot": { + "IPAddressType": "IPv4", + "InitiatorIPAddress": "16.0.11.6", + "InitiatorName": "iqn.2005-03.com.acme:database-server", + "InitiatorDefaultGateway": "169.0.16.1", + "InitiatorNetmask": "255.255.252.0", + "TargetInfoViaDHCP": false, + "PrimaryTargetName": "iqn.2005-03.com.acme:image-server", + "PrimaryTargetIPAddress": "169.0.15.1", + "PrimaryTargetTCPPort": 3260, + "PrimaryLUN": 5, + "PrimaryVLANEnable": true, + "PrimaryVLANId": 1001, + "PrimaryDNS": "16.0.10.21", + "SecondaryTargetName": "iqn.2005-03.com.acme:image-server", + "SecondaryTargetIPAddress": "16.0.11.5", + "SecondaryTargetTCPPort": 3260, + "SecondaryLUN": 5, + "SecondaryVLANEnable": true, + "SecondaryVLANId": 1002, + "SecondaryDNS": "169.0.10.22", + "IPMaskDNSViaDHCP": false, + "RouterAdvertisementEnabled": false, + "AuthenticationMethod": "CHAP", + "CHAPUsername": "yosemite", + "CHAPSecret": "usrpasswd", + "MutualCHAPUsername": "yosemite", + "MutualCHAPSecret": "usrpasswd" + }, + "FibreChannel": { + "PermanentWWPN": "10:00:B0:5A:DD:BB:74:E0", + "PermanentWWNN": "10:00:B0:5A:DD:BB:A1:B3", + "WWPN": "10:00:B0:5A:DD:BB:74:E0", + "WWNN": "10:00:B0:5A:DD:C4:D3:BB", + "WWNSource": "ConfiguredLocally", + "FCoELocalVLANId": 1001, + "AllowFIPVLANDiscovery": true, + "FCoEActiveVLANId": 2001, + "BootTargets": [ + { + "WWPN": "10:00:B0:5A:DD:BB:74:FA", + "LUNID": "3", + "BootPriority": 0 + } + ] + }, + "AssignablePhysicalNetworkPorts": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/NetworkAdapters/NIC1/Ports/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/NetworkAdapters/NIC1/Ports/2" + } + ], + "BootMode": "Disabled", + "VirtualFunctionsEnabled": false, + "MaxVirtualFunctions": 16, + "Links": { + "PhysicalNetworkPortAssignment": { + "@odata.id": "/redfish/v1/Chassis/Tower/NetworkAdapters/NIC1/Ports/1" + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/NetworkAdapters/NIC1/NetworkDeviceFunctions/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/NetworkAdapters/NIC1/NetworkDeviceFunctions/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/NetworkAdapters/NIC1/NetworkDeviceFunctions/2/index.json new file mode 100644 index 00000000..bfe1c75d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/NetworkAdapters/NIC1/NetworkDeviceFunctions/2/index.json @@ -0,0 +1,84 @@ +{ + "@odata.type": "#NetworkDeviceFunction.v1_11_1.NetworkDeviceFunction", + "Id": "2", + "Name": "Network Device Function", + "NetDevFuncType": "Ethernet", + "DeviceEnabled": true, + "NetDevFuncCapabilities": [ + "Ethernet", + "FibreChannel", + "iSCSI" + ], + "Ethernet": { + "PermanentMACAddress": "00:0C:29:9A:98:EF", + "MACAddress": "00:0C:29:9A:98:EF", + "MTUSize": 1500, + "VLAN": { + "VLANEnable": false + } + }, + "iSCSIBoot": { + "IPAddressType": "IPv4", + "InitiatorIPAddress": "16.0.11.6", + "InitiatorName": "iqn.2005-03.com.acme:database-server", + "InitiatorDefaultGateway": "169.0.16.1", + "InitiatorNetmask": "255.255.252.0", + "TargetInfoViaDHCP": false, + "PrimaryTargetName": "iqn.2005-03.com.acme:image-server", + "PrimaryTargetIPAddress": "169.0.15.1", + "PrimaryTargetTCPPort": 3260, + "PrimaryLUN": 5, + "PrimaryVLANEnable": true, + "PrimaryVLANId": 1001, + "PrimaryDNS": "16.0.10.21", + "SecondaryTargetName": "iqn.2005-03.com.acme:image-server", + "SecondaryTargetIPAddress": "16.0.11.5", + "SecondaryTargetTCPPort": 3260, + "SecondaryLUN": 5, + "SecondaryVLANEnable": true, + "SecondaryVLANId": 1002, + "SecondaryDNS": "169.0.10.22", + "IPMaskDNSViaDHCP": false, + "RouterAdvertisementEnabled": false, + "AuthenticationMethod": "CHAP", + "CHAPUsername": "yosemite", + "CHAPSecret": "usrpasswd", + "MutualCHAPUsername": "yosemite", + "MutualCHAPSecret": "usrpasswd" + }, + "FibreChannel": { + "PermanentWWPN": "10:00:B0:5A:DD:BB:74:E0", + "PermanentWWNN": "10:00:B0:5A:DD:BB:A1:B3", + "WWPN": "10:00:B0:5A:DD:BB:74:E0", + "WWNN": "10:00:B0:5A:DD:C4:D3:BB", + "WWNSource": "ConfiguredLocally", + "FCoELocalVLANId": 1001, + "AllowFIPVLANDiscovery": true, + "FCoEActiveVLANId": 2001, + "BootTargets": [ + { + "WWPN": "10:00:B0:5A:DD:BB:74:FA", + "LUNID": "3", + "BootPriority": 0 + } + ] + }, + "AssignablePhysicalNetworkPorts": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/NetworkAdapters/NIC1/Ports/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/NetworkAdapters/NIC1/Ports/2" + } + ], + "BootMode": "Disabled", + "VirtualFunctionsEnabled": false, + "MaxVirtualFunctions": 16, + "Links": { + "PhysicalNetworkPortAssignment": { + "@odata.id": "/redfish/v1/Chassis/Tower/NetworkAdapters/NIC1/Ports/2" + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/NetworkAdapters/NIC1/NetworkDeviceFunctions/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/NetworkAdapters/NIC1/NetworkDeviceFunctions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/NetworkAdapters/NIC1/NetworkDeviceFunctions/index.json new file mode 100644 index 00000000..11910087 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/NetworkAdapters/NIC1/NetworkDeviceFunctions/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#NetworkDeviceFunctionCollection.NetworkDeviceFunctionCollection", + "Name": "Network Device Function Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/NetworkAdapters/NIC1/NetworkDeviceFunctions/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/NetworkAdapters/NIC1/NetworkDeviceFunctions/2" + } + ], + "@odata.id": "/redfish/v1/Chassis/Tower/NetworkAdapters/NIC1/NetworkDeviceFunctions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/NetworkAdapters/NIC1/Ports/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/NetworkAdapters/NIC1/Ports/1/index.json new file mode 100644 index 00000000..c7a79cc2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/NetworkAdapters/NIC1/Ports/1/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "1", + "Name": "NIC Port 1", + "Description": "NIC Port 1", + "Enabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "1", + "PortProtocol": "Ethernet", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 10, + "Width": 1, + "MaxSpeedGbps": 10, + "Location": { + "PartLocation": { + "ServiceLabel": "NIC 1", + "LocationOrdinalValue": 1, + "LocationType": "Connector", + "Orientation": "TopToBottom", + "Reference": "Rear" + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/NetworkAdapters/NIC1/Ports/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/NetworkAdapters/NIC1/Ports/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/NetworkAdapters/NIC1/Ports/2/index.json new file mode 100644 index 00000000..01c2214a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/NetworkAdapters/NIC1/Ports/2/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "2", + "Name": "NIC Port 2", + "Description": "NIC Port 2", + "Enabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "2", + "PortProtocol": "Ethernet", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 10, + "Width": 1, + "MaxSpeedGbps": 10, + "Location": { + "PartLocation": { + "ServiceLabel": "NIC 1", + "LocationOrdinalValue": 2, + "LocationType": "Connector", + "Orientation": "TopToBottom", + "Reference": "Rear" + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/NetworkAdapters/NIC1/Ports/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/NetworkAdapters/NIC1/Ports/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/NetworkAdapters/NIC1/Ports/index.json new file mode 100644 index 00000000..8d616e87 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/NetworkAdapters/NIC1/Ports/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "Port Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/NetworkAdapters/NIC1/Ports/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/NetworkAdapters/NIC1/Ports/2" + } + ], + "@odata.id": "/redfish/v1/Chassis/Tower/NetworkAdapters/NIC1/Ports", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/NetworkAdapters/NIC1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/NetworkAdapters/NIC1/index.json new file mode 100644 index 00000000..85687692 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/NetworkAdapters/NIC1/index.json @@ -0,0 +1,76 @@ +{ + "@odata.type": "#NetworkAdapter.v1_14_0.NetworkAdapter", + "Id": "NIC1", + "Name": "Network Adapter", + "Manufacturer": "Contoso", + "Model": "2PNIC 2000", + "SKU": "89587433", + "SerialNumber": "2M220100SL", + "PartNumber": "232-4598D7", + "NetworkDeviceFunctions": { + "@odata.id": "/redfish/v1/Chassis/Tower/NetworkAdapters/NIC1/NetworkDeviceFunctions" + }, + "Ports": { + "@odata.id": "/redfish/v1/Chassis/Tower/NetworkAdapters/NIC1/Ports" + }, + "Controllers": [ + { + "FirmwarePackageVersion": "7.4.10", + "Links": { + "PCIeDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/PCIeDevices/IntegratedNIC" + } + ], + "NetworkDeviceFunctions": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/NetworkAdapters/NIC1/NetworkDeviceFunctions/1" + } + ] + }, + "ControllerCapabilities": { + "NetworkPortCount": 2, + "NetworkDeviceFunctionCount": 2, + "DataCenterBridging": { + "Capable": true + }, + "VirtualizationOffload": { + "VirtualFunction": { + "DeviceMaxCount": 256, + "NetworkPortMaxCount": 128, + "MinAssignmentGroupSize": 4 + }, + "SRIOV": { + "SRIOVEnabled": true, + "SRIOVVEPACapable": true + } + }, + "NPIV": { + "MaxDeviceLogins": 4, + "MaxPortLogins": 2 + }, + "NPAR": { + "NparCapable": true, + "NparEnabled": false + } + }, + "PCIeInterface": { + "PCIeType": "Gen2", + "MaxPCIeType": "Gen3", + "LanesInUse": 2, + "MaxLanes": 4 + }, + "Location": { + "PartLocation": { + "ServiceLabel": "NIC Daughter Card", + "LocationType": "Slot", + "LocationOrdinalValue": 0, + "Reference": "Rear", + "Orientation": "LeftToRight" + } + } + } + ], + "@odata.id": "/redfish/v1/Chassis/Tower/NetworkAdapters/NIC1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/NetworkAdapters/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/NetworkAdapters/index.json new file mode 100644 index 00000000..c1af2332 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/NetworkAdapters/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#NetworkAdapterCollection.NetworkAdapterCollection", + "Name": "Network Adapter Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/NetworkAdapters/NIC1" + } + ], + "@odata.id": "/redfish/v1/Chassis/Tower/NetworkAdapters", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/EmbeddedNVMeBridge/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/EmbeddedNVMeBridge/index.json new file mode 100644 index 00000000..eca8a6f7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/EmbeddedNVMeBridge/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#PCIeDevice.v1_23_0.PCIeDevice", + "Id": "EmbeddedNVMeBridge", + "Name": "NVMe to PCIe Bridge", + "Description": "NVMe to PCIe Bridge", + "Manufacturer": "Contoso", + "Model": "StoreBridge 5000", + "SKU": "89587433", + "SerialNumber": "2M220100SL", + "PartNumber": "232-4598D7", + "DeviceType": "SingleFunction", + "FirmwareVersion": "12.342-343", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeInterface": { + "PCIeType": "Gen3", + "MaxPCIeType": "Gen3", + "LanesInUse": 16, + "MaxLanes": 16 + }, + "@odata.id": "/redfish/v1/Chassis/Tower/PCIeDevices/EmbeddedNVMeBridge", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/IntegratedNIC/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/IntegratedNIC/index.json new file mode 100644 index 00000000..d2ad868f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/IntegratedNIC/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#PCIeDevice.v1_23_0.PCIeDevice", + "Id": "IntegratedNIC", + "Name": "Simple Two-Port NIC", + "Description": "Simple Two-Port NIC PCIe Device", + "Manufacturer": "Contoso", + "Model": "2PNIC 2000", + "SKU": "89587433", + "SerialNumber": "2M220100SL", + "PartNumber": "232-4598D7", + "DeviceType": "MultiFunction", + "FirmwareVersion": "12.342-343", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeInterface": { + "PCIeType": "Gen2", + "MaxPCIeType": "Gen3", + "LanesInUse": 4, + "MaxLanes": 4 + }, + "@odata.id": "/redfish/v1/Chassis/Tower/PCIeDevices/IntegratedNIC", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/IntegratedNVMe1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/IntegratedNVMe1/index.json new file mode 100644 index 00000000..d8d5a5ca --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/IntegratedNVMe1/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#PCIeDevice.v1_23_0.PCIeDevice", + "Id": "IntegratedNVMe1", + "Name": "Integrated NVMe Drive 1", + "Description": "NVMe Drive in m.2 slot 1", + "Manufacturer": "Contoso", + "Model": "PowerSSD 1000", + "SKU": "89587433", + "SerialNumber": "2M220100SL", + "PartNumber": "232-4598D7", + "DeviceType": "MultiFunction", + "FirmwareVersion": "12.342-343", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeInterface": { + "PCIeType": "Gen3", + "MaxPCIeType": "Gen3", + "LanesInUse": 4, + "MaxLanes": 4 + }, + "@odata.id": "/redfish/v1/Chassis/Tower/PCIeDevices/IntegratedNVMe1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/IntegratedNVMe2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/IntegratedNVMe2/index.json new file mode 100644 index 00000000..ea0bf808 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/IntegratedNVMe2/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#PCIeDevice.v1_23_0.PCIeDevice", + "Id": "IntegratedNVMe2", + "Name": "Integrated NVMe Drive 2", + "Description": "NVMe Drive in m.2 slot 2", + "Manufacturer": "Contoso", + "Model": "PowerSSD 1000", + "SKU": "89587433", + "SerialNumber": "2M220100SL", + "PartNumber": "232-4598D7", + "DeviceType": "MultiFunction", + "FirmwareVersion": "12.342-343", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeInterface": { + "PCIeType": "Gen3", + "MaxPCIeType": "Gen3", + "LanesInUse": 4, + "MaxLanes": 4 + }, + "@odata.id": "/redfish/v1/Chassis/Tower/PCIeDevices/IntegratedNVMe2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/IntegratedRAID/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/IntegratedRAID/index.json new file mode 100644 index 00000000..fc82256c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/IntegratedRAID/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#PCIeDevice.v1_23_0.PCIeDevice", + "Id": "IntegratedRAID", + "Name": "Integrated SAS/SATA RAID Controller", + "Description": "Integrated SAS/SATA RAID Controller", + "Manufacturer": "Contoso", + "Model": "PowerStore 1000", + "SKU": "89587433", + "SerialNumber": "2M220100SL", + "PartNumber": "232-4598D7", + "DeviceType": "SingleFunction", + "FirmwareVersion": "12.342-343", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "PCIeInterface": { + "PCIeType": "Gen3", + "MaxPCIeType": "Gen3", + "LanesInUse": 4, + "MaxLanes": 4 + }, + "@odata.id": "/redfish/v1/Chassis/Tower/PCIeDevices/IntegratedRAID", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/Slot1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/Slot1/index.json new file mode 100644 index 00000000..4275ed74 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/Slot1/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#PCIeDevice.v1_23_0.PCIeDevice", + "Id": "Slot1", + "Name": "PCI Device in Slot 1", + "Manufacturer": "Contoso", + "Model": "PowerGraphics RX2070", + "SKU": "89587433", + "SerialNumber": "2M220100SL", + "PartNumber": "232-4598D7", + "DeviceType": "SingleFunction", + "FirmwareVersion": "4.5.44", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PCIeInterface": { + "PCIeType": "Gen3", + "MaxPCIeType": "Gen3", + "LanesInUse": 16, + "MaxLanes": 16 + }, + "@odata.id": "/redfish/v1/Chassis/Tower/PCIeDevices/Slot1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/Slot2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/Slot2/index.json new file mode 100644 index 00000000..6218efc2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/Slot2/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#PCIeDevice.v1_23_0.PCIeDevice", + "Id": "Slot2", + "Name": "PCI Device in Slot 2", + "Manufacturer": "Contoso", + "Model": "PowerGraphics RX2070", + "SKU": "89587433", + "SerialNumber": "2M220100SL", + "PartNumber": "232-4598D7", + "DeviceType": "SingleFunction", + "FirmwareVersion": "4.5.44", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PCIeInterface": { + "PCIeType": "Gen3", + "MaxPCIeType": "Gen3", + "LanesInUse": 16, + "MaxLanes": 16 + }, + "@odata.id": "/redfish/v1/Chassis/Tower/PCIeDevices/Slot2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/Slot3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/Slot3/index.json new file mode 100644 index 00000000..25be7a3c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/Slot3/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#PCIeDevice.v1_23_0.PCIeDevice", + "Id": "Slot3", + "Name": "PCI Device in Slot 3", + "Manufacturer": "Contoso", + "Model": "SuperFC 5000", + "SKU": "89587433", + "SerialNumber": "2M220100SL", + "PartNumber": "232-4598D7", + "DeviceType": "MultiFunction", + "FirmwareVersion": "4.5.44", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PCIeInterface": { + "PCIeType": "Gen2", + "MaxPCIeType": "Gen3", + "LanesInUse": 2, + "MaxLanes": 4 + }, + "@odata.id": "/redfish/v1/Chassis/Tower/PCIeDevices/Slot3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/Slot4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/Slot4/index.json new file mode 100644 index 00000000..771d41ea --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/Slot4/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#PCIeDevice.v1_23_0.PCIeDevice", + "Id": "Slot4", + "Name": "PCI Device in Slot 4", + "Manufacturer": "Contoso", + "Model": "SuperFC 5000", + "SKU": "89587433", + "SerialNumber": "2M220100SM", + "PartNumber": "232-4598D7", + "DeviceType": "MultiFunction", + "FirmwareVersion": "4.5.44", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PCIeInterface": { + "PCIeType": "Gen2", + "MaxPCIeType": "Gen3", + "LanesInUse": 2, + "MaxLanes": 4 + }, + "@odata.id": "/redfish/v1/Chassis/Tower/PCIeDevices/Slot4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/index.json new file mode 100644 index 00000000..4b97211c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeDevices/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#PCIeDeviceCollection.PCIeDeviceCollection", + "Name": "PCIe Device Collection", + "Members@odata.count": 9, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/PCIeDevices/Slot1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/PCIeDevices/Slot2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/PCIeDevices/Slot3" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/PCIeDevices/Slot4" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/PCIeDevices/IntegratedNIC" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/PCIeDevices/IntegratedNVMe1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/PCIeDevices/IntegratedNVMe2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/PCIeDevices/IntegratedRAID" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/PCIeDevices/EmbeddedNVMeBridge" + } + ], + "@odata.id": "/redfish/v1/Chassis/Tower/PCIeDevices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeSlots/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeSlots/index.json new file mode 100644 index 00000000..67d9a4b2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PCIeSlots/index.json @@ -0,0 +1,139 @@ +{ + "@odata.type": "#PCIeSlots.v1_6_1.PCIeSlots", + "Id": "PCIeSlots", + "Name": "PCIe Slot Information", + "Slots": [ + { + "PCIeType": "Gen3", + "Lanes": 16, + "SlotType": "FullLength", + "Status": { + "State": "Enabled" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Slot 1", + "LocationOrdinalValue": 1, + "LocationType": "Slot", + "Orientation": "LeftToRight", + "Reference": "Rear" + } + }, + "Links": { + "PCIeDevice": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/PCIeDevices/Slot1" + } + ] + } + }, + { + "PCIeType": "Gen3", + "Lanes": 16, + "SlotType": "FullLength", + "Status": { + "State": "Enabled" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Slot 2", + "LocationOrdinalValue": 2, + "LocationType": "Slot", + "Orientation": "LeftToRight", + "Reference": "Rear" + } + }, + "Links": { + "PCIeDevice": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/PCIeDevices/Slot2" + } + ] + } + }, + { + "PCIeType": "Gen3", + "Lanes": 4, + "SlotType": "HalfLength", + "Status": { + "State": "Enabled" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Slot 3", + "LocationOrdinalValue": 3, + "LocationType": "Slot", + "Orientation": "LeftToRight", + "Reference": "Rear" + } + }, + "Links": { + "PCIeDevice": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/PCIeDevices/Slot3" + } + ] + } + }, + { + "PCIeType": "Gen3", + "Lanes": 4, + "SlotType": "HalfLength", + "Status": { + "State": "Enabled" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Slot 4", + "LocationOrdinalValue": 4, + "LocationType": "Slot", + "Orientation": "LeftToRight", + "Reference": "Rear" + } + }, + "Links": { + "PCIeDevice": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/PCIeDevices/Slot4" + } + ] + } + }, + { + "PCIeType": "Gen3", + "Lanes": 4, + "SlotType": "HalfLength", + "Status": { + "State": "Absent" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Slot 5", + "LocationOrdinalValue": 5, + "LocationType": "Slot", + "Orientation": "LeftToRight", + "Reference": "Rear" + } + } + }, + { + "PCIeType": "Gen3", + "Lanes": 4, + "SlotType": "HalfLength", + "Status": { + "State": "Absent" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Slot 6", + "LocationOrdinalValue": 6, + "LocationType": "Slot", + "Orientation": "LeftToRight", + "Reference": "Rear" + } + } + } + ], + "@odata.id": "/redfish/v1/Chassis/Tower/PCIeSlots", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Power/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Power/index.json new file mode 100644 index 00000000..538c4ebf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Power/index.json @@ -0,0 +1,200 @@ +{ + "@odata.type": "#Power.v1_7_3.Power", + "Id": "Power", + "Name": "Power", + "PowerControl": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/Power#/PowerControl/0", + "MemberId": "0", + "Name": "System Input Power", + "PowerConsumedWatts": 926, + "PowerRequestedWatts": 950, + "PowerAvailableWatts": 119, + "PowerCapacityWatts": 1045, + "PowerAllocatedWatts": 950, + "PowerMetrics": { + "IntervalInMin": 30, + "MinConsumedWatts": 671, + "MaxConsumedWatts": 1030, + "AverageConsumedWatts": 827 + }, + "PowerLimit": { + "LimitInWatts": 1045, + "LimitException": "LogEventOnly", + "CorrectionInMs": 50 + }, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower" + } + ], + "Status": { + "State": "Enabled", + "Health": "OK" + } + } + ], + "Voltages": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/Power#/Voltages/0", + "MemberId": "0", + "Name": "VRM1 Voltage", + "SensorNumber": 11, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingVolts": 12.1, + "UpperThresholdNonCritical": 12.5, + "UpperThresholdCritical": 13, + "UpperThresholdFatal": 15, + "LowerThresholdNonCritical": 11.5, + "LowerThresholdCritical": 11, + "LowerThresholdFatal": 10, + "MinReadingRange": 0, + "MaxReadingRange": 20, + "PhysicalContext": "VoltageRegulator", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Power#/Voltages/1", + "MemberId": "1", + "Name": "VRM2 Voltage", + "SensorNumber": 12, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingVolts": 4.9, + "UpperThresholdNonCritical": 5.5, + "UpperThresholdCritical": 7, + "LowerThresholdNonCritical": 4.75, + "LowerThresholdCritical": 4.5, + "MinReadingRange": 0, + "MaxReadingRange": 20, + "PhysicalContext": "VoltageRegulator", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower" + } + ] + } + ], + "PowerSupplies": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/Power#/PowerSupplies/0", + "MemberId": "0", + "Name": "Power Supply Bay 1", + "Status": { + "State": "Enabled", + "Health": "Warning" + }, + "PowerSupplyType": "AC", + "LineInputVoltageType": "ACWideRange", + "LineInputVoltage": 120, + "PowerCapacityWatts": 1100, + "LastPowerOutputWatts": 463, + "Model": "499253-B21", + "Manufacturer": "Contoso Power", + "FirmwareVersion": "1.00", + "SerialNumber": "1Z0000001", + "PartNumber": "0000001A3A", + "SparePartNumber": "0000001A3A", + "InputRanges": [ + { + "InputType": "AC", + "MinimumVoltage": 100, + "MaximumVoltage": 120, + "OutputWattage": 800 + }, + { + "InputType": "AC", + "MinimumVoltage": 200, + "MaximumVoltage": 240, + "OutputWattage": 1300 + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Power#/PowerSupplies/1", + "MemberId": "1", + "Name": "Power Supply Bay 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PowerSupplyType": "AC", + "LineInputVoltageType": "ACWideRange", + "LineInputVoltage": 120, + "PowerCapacityWatts": 1100, + "LastPowerOutputWatts": 463, + "Model": "499253-B21", + "Manufacturer": "Contoso Power", + "FirmwareVersion": "1.00", + "SerialNumber": "1Z0000002", + "PartNumber": "0000001A3A", + "SparePartNumber": "0000001A3A", + "InputRanges": [ + { + "InputType": "AC", + "MinimumVoltage": 100, + "MaximumVoltage": 120, + "OutputWattage": 800 + }, + { + "InputType": "AC", + "MinimumVoltage": 200, + "MaximumVoltage": 240, + "OutputWattage": 1300 + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower" + } + ] + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/Power#/Redundancy/0", + "MemberId": "0", + "Name": "PowerSupply Redundancy Group 1", + "Mode": "N+m", + "MaxNumSupported": 2, + "MinNumNeeded": 1, + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/Power#/PowerSupplies/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Power#/PowerSupplies/1" + } + ], + "Status": { + "State": "Enabled", + "Health": "OK" + } + } + ], + "@odata.id": "/redfish/v1/Chassis/Tower/Power", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay1/Assembly/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay1/Assembly/index.json new file mode 100644 index 00000000..2d43de55 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay1/Assembly/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#Assembly.v1_6_1.Assembly", + "Id": "Assembly", + "Name": "Power Supply-related Assembly data", + "Assemblies": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay1/Assembly#/Assemblies/0", + "MemberId": "0", + "Name": "Contoso Power Supply", + "Model": "499253-B21", + "PartNumber": "0000001A3A", + "SparePartNumber": "0000001A3A", + "SerialNumber": "1Z0000001", + "Vendor": "Contoso", + "ProductionDate": "2017-04-01T14:55:33+03:00", + "Producer": "Contoso Supply Co.", + "Version": "1.44B", + "EngineeringChangeLevel": "9", + "BinaryDataURI": "/dumpster/434" + } + ], + "@odata.id": "/redfish/v1/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay1/Assembly", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay1/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay1/Metrics/index.json new file mode 100644 index 00000000..de00b005 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay1/Metrics/index.json @@ -0,0 +1,85 @@ +{ + "@odata.type": "#PowerSupplyMetrics.v1_3_0.PowerSupplyMetrics", + "Id": "Metrics", + "Name": "Metrics for Power Supply 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InputVoltage": { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/PS1InputVoltage", + "Reading": 116 + }, + "InputCurrentAmps": { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/PS1InputCurrent", + "Reading": 4.2 + }, + "InputPowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/PS1InputPower", + "Reading": 487.4 + }, + "RailVoltage": [ + { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/PS1Out3V", + "Reading": 3.31 + }, + { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/PS1Out5V", + "Reading": 5.03 + }, + { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/PS1Out12V", + "Reading": 12.06 + } + ], + "RailCurrentAmps": [ + { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/PS1Out3VCurrent", + "Reading": 9.84 + }, + { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/PS1Out5VCurrent", + "Reading": 1.25 + }, + { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/PS1Out12VCurrent", + "Reading": 2.58 + } + ], + "OutputPowerWatts": { + "Reading": 463.1 + }, + "RailPowerWatts": [ + { + "Reading": 79.84 + }, + { + "Reading": 26.25 + }, + { + "Reading": 91.58 + } + ], + "EnergykWh": { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/PS1Energy", + "Reading": 325675 + }, + "FrequencyHz": { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/PS1Frequency", + "Reading": 59.7 + }, + "TemperatureCelsius": { + "Reading": 43.9 + }, + "FanSpeedPercent": { + "Reading": 68, + "SpeedRPM": 3290 + }, + "Actions": { + "#PowerSupplyMetrics.ResetMetrics": { + "target": "/redfish/v1/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay1/Metrics/Actions/PowerSupplyMetrics.ResetMetrics" + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay1/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay1/index.json new file mode 100644 index 00000000..833b7dcb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay1/index.json @@ -0,0 +1,78 @@ +{ + "@odata.type": "#PowerSupply.v1_8_0.PowerSupply", + "Id": "Bay1", + "Name": "Power Supply Bay 1", + "Status": { + "State": "Enabled", + "Health": "Warning" + }, + "Model": "499253-B21", + "Manufacturer": "Contoso Power", + "FirmwareVersion": "1.00", + "SerialNumber": "1Z0000001", + "PartNumber": "0000001A3A", + "SparePartNumber": "0000001A3A", + "LocationIndicatorActive": false, + "HotPluggable": true, + "PowerCapacityWatts": 1100, + "PhaseWiringType": "OnePhase3Wire", + "PlugType": "IEC_60320_C14", + "InputRanges": [ + { + "NominalVoltageType": "AC200To240V", + "CapacityWatts": 1100 + }, + { + "NominalVoltageType": "AC120V", + "CapacityWatts": 1100 + } + ], + "EfficiencyRatings": [ + { + "LoadPercent": 25, + "EfficiencyPercent": 75 + }, + { + "LoadPercent": 50, + "EfficiencyPercent": 85 + }, + { + "LoadPercent": 90, + "EfficiencyPercent": 95 + } + ], + "OutputRails": [ + { + "NominalVoltage": 3.3, + "PhysicalContext": "SystemBoard" + }, + { + "NominalVoltage": 5, + "PhysicalContext": "SystemBoard" + }, + { + "NominalVoltage": 12, + "PhysicalContext": "StorageDevice" + } + ], + "Location": { + "PartLocation": { + "ServiceLabel": "PSU 1", + "LocationType": "Bay", + "LocationOrdinalValue": 0 + } + }, + "Assembly": { + "@odata.id": "/redfish/v1/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay1/Assembly" + }, + "Metrics": { + "@odata.id": "/redfish/v1/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay1/Metrics" + }, + "Actions": { + "#PowerSupply.Reset": { + "target": "/redfish/v1/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay1/Actions/PowerSupply.Reset" + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay2/Assembly/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay2/Assembly/index.json new file mode 100644 index 00000000..e1060300 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay2/Assembly/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#Assembly.v1_6_1.Assembly", + "Id": "Assembly", + "Name": "Power Supply-related Assembly data", + "Assemblies": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay2/Assembly#/Assemblies/0", + "MemberId": "0", + "Name": "Contoso Power Supply", + "Model": "499253-B21", + "PartNumber": "0000001A3A", + "SparePartNumber": "0000001A3A", + "SerialNumber": "1Z0000002", + "Vendor": "Contoso", + "ProductionDate": "2017-04-01T14:55:33+03:00", + "Producer": "Contoso Supply Co.", + "Version": "1.44B", + "EngineeringChangeLevel": "9", + "BinaryDataURI": "/dumpster/435" + } + ], + "@odata.id": "/redfish/v1/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay2/Assembly", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay2/Metrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay2/Metrics/index.json new file mode 100644 index 00000000..ba1f5fca --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay2/Metrics/index.json @@ -0,0 +1,85 @@ +{ + "@odata.type": "#PowerSupplyMetrics.v1_3_0.PowerSupplyMetrics", + "Id": "Metrics", + "Name": "Metrics for Power Supply 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "InputVoltage": { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/PS2InputVoltage", + "Reading": 111 + }, + "InputCurrentAmps": { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/PS2InputCurrent", + "Reading": 4.39 + }, + "InputPowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/PS2InputPower", + "Reading": 487.4 + }, + "RailVoltage": [ + { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/PS2Out3V", + "Reading": 3.31 + }, + { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/PS2Out5V", + "Reading": 5.03 + }, + { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/PS2Out12V", + "Reading": 12.06 + } + ], + "RailCurrentAmps": [ + { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/PS2Out3VCurrent", + "Reading": 9.84 + }, + { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/PS2Out5VCurrent", + "Reading": 1.25 + }, + { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/PS2Out12VCurrent", + "Reading": 2.58 + } + ], + "OutputPowerWatts": { + "Reading": 463 + }, + "RailPowerWatts": [ + { + "Reading": 79.84 + }, + { + "Reading": 26.25 + }, + { + "Reading": 91.58 + } + ], + "EnergykWh": { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/PS2Energy", + "Reading": 325675 + }, + "FrequencyHz": { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/PS2Frequency", + "Reading": 60.1 + }, + "TemperatureCelsius": { + "Reading": 43.7 + }, + "FanSpeedPercent": { + "Reading": 67, + "SpeedRPM": 3287 + }, + "Actions": { + "#PowerSupplyMetrics.ResetMetrics": { + "target": "/redfish/v1/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay2/Metrics/Actions/PowerSupplyMetrics.ResetMetrics" + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay2/Metrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay2/index.json new file mode 100644 index 00000000..054f8590 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay2/index.json @@ -0,0 +1,78 @@ +{ + "@odata.type": "#PowerSupply.v1_8_0.PowerSupply", + "Id": "Bay2", + "Name": "Power Supply Bay 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Model": "499253-B21", + "Manufacturer": "Contoso Power", + "FirmwareVersion": "1.00", + "SerialNumber": "1Z0000002", + "PartNumber": "0000001A3A", + "SparePartNumber": "0000001A3A", + "LocationIndicatorActive": false, + "HotPluggable": true, + "PowerCapacityWatts": 1100, + "PhaseWiringType": "OnePhase3Wire", + "PlugType": "IEC_60320_C14", + "InputRanges": [ + { + "NominalVoltageType": "AC200To240V", + "CapacityWatts": 1100 + }, + { + "NominalVoltageType": "AC120V", + "CapacityWatts": 1100 + } + ], + "EfficiencyRatings": [ + { + "LoadPercent": 25, + "EfficiencyPercent": 75 + }, + { + "LoadPercent": 50, + "EfficiencyPercent": 85 + }, + { + "LoadPercent": 90, + "EfficiencyPercent": 95 + } + ], + "OutputRails": [ + { + "NominalVoltage": 3.3, + "PhysicalContext": "SystemBoard" + }, + { + "NominalVoltage": 5, + "PhysicalContext": "SystemBoard" + }, + { + "NominalVoltage": 12, + "PhysicalContext": "StorageDevice" + } + ], + "Location": { + "PartLocation": { + "ServiceLabel": "PSU 2", + "LocationType": "Bay", + "LocationOrdinalValue": 0 + } + }, + "Assembly": { + "@odata.id": "/redfish/v1/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay2/Assembly" + }, + "Metrics": { + "@odata.id": "/redfish/v1/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay2/Metrics" + }, + "Actions": { + "#PowerSupply.Reset": { + "target": "/redfish/v1/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay2/Actions/PowerSupply.Reset" + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PowerSubsystem/PowerSupplies/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PowerSubsystem/PowerSupplies/index.json new file mode 100644 index 00000000..468e7b7c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PowerSubsystem/PowerSupplies/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#PowerSupplyCollection.PowerSupplyCollection", + "Name": "Power Supply Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay2" + } + ], + "@odata.id": "/redfish/v1/Chassis/Tower/PowerSubsystem/PowerSupplies", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PowerSubsystem/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PowerSubsystem/index.json new file mode 100644 index 00000000..919ca979 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/PowerSubsystem/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#PowerSubsystem.v1_2_0.PowerSubsystem", + "Id": "PowerSubsystem", + "Name": "Power Subsystem for Chassis", + "CapacityWatts": 1100, + "Allocation": { + "RequestedWatts": 950, + "AllocatedWatts": 950 + }, + "PowerSupplyRedundancy": [ + { + "RedundancyType": "NPlusM", + "MaxSupportedInGroup": 2, + "MinNeededInGroup": 1, + "RedundancyGroup": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/PowerSubsystem/PowerSupplies/Bay2" + } + ], + "Status": { + "State": "Enabled", + "Health": "OK" + } + } + ], + "PowerSupplies": { + "@odata.id": "/redfish/v1/Chassis/Tower/PowerSubsystem/PowerSupplies" + }, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Chassis/Tower/PowerSubsystem", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/AmbientTemp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/AmbientTemp/index.json new file mode 100644 index 00000000..15918b55 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/AmbientTemp/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "AmbientTemp", + "Name": "Ambient Temperature", + "PhysicalContext": "Room", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 22.5, + "ReadingUnits": "Cel", + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/AmbientTemp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU1Power/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU1Power/index.json new file mode 100644 index 00000000..52e36c62 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU1Power/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CPU1Power", + "Name": "Power reading for CPU #1", + "ReadingType": "Power", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 90, + "ReadingUnits": "W", + "Implementation": "Reported", + "ReadingTime": "2019-08-13T04:14:33+06:00", + "ReadingRangeMin": 0, + "ReadingRangeMax": 150, + "Accuracy": 0.2, + "Precision": 1, + "SensingInterval": "PT0.01S", + "PhysicalContext": "CPU", + "Thresholds": { + "UpperCriticalUser": { + "Reading": 115, + "Activation": "Increasing", + "DwellTime": "PT0.03S" + }, + "UpperCautionUser": { + "Reading": 82, + "DwellTime": "PT1S" + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/CPU1Power", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU1Temp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU1Temp/index.json new file mode 100644 index 00000000..8a5d0cc6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU1Temp/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CPU1Temp", + "Name": "CPU #1 Temperature", + "PhysicalContext": "CPU", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 37, + "ReadingUnits": "Cel", + "Thresholds": { + "UpperCaution": { + "Reading": 42, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperCautionUser": { + "Reading": 40 + }, + "UpperCriticalUser": { + "Reading": 45, + "DwellTime": "PT1M" + }, + "UpperCritical": { + "Reading": 45, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperFatal": { + "Reading": 50, + "DwellTime": "PT30S", + "Activation": "Increasing" + } + }, + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1" + } + ], + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/CPU1Temp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU2Power/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU2Power/index.json new file mode 100644 index 00000000..19784ebb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU2Power/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CPU2Power", + "Name": "Power reading for CPU #2", + "ReadingType": "Power", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 90, + "ReadingUnits": "W", + "Implementation": "Reported", + "ReadingTime": "2019-08-13T04:14:33+06:00", + "ReadingRangeMin": 0, + "ReadingRangeMax": 150, + "Accuracy": 0.2, + "Precision": 1, + "SensingInterval": "PT0.01S", + "PhysicalContext": "CPU", + "Thresholds": { + "UpperCriticalUser": { + "Reading": 115, + "Activation": "Increasing", + "DwellTime": "PT0.03S" + }, + "UpperCautionUser": { + "Reading": 82, + "DwellTime": "PT1S" + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/CPU2Power", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU2Temp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU2Temp/index.json new file mode 100644 index 00000000..446646ca --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU2Temp/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CPU2Temp", + "Name": "CPU #2 Temperature", + "PhysicalContext": "CPU", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 37, + "ReadingUnits": "Cel", + "Thresholds": { + "UpperCaution": { + "Reading": 42, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperCautionUser": { + "Reading": 40 + }, + "UpperCriticalUser": { + "Reading": 45, + "DwellTime": "PT1M" + }, + "UpperCritical": { + "Reading": 45, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperFatal": { + "Reading": 50, + "DwellTime": "PT30S", + "Activation": "Increasing" + } + }, + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2" + } + ], + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/CPU2Temp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU3Power/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU3Power/index.json new file mode 100644 index 00000000..151fc22d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU3Power/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CPU3Power", + "Name": "Power reading for CPU #3", + "ReadingType": "Power", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 90, + "ReadingUnits": "W", + "Implementation": "Reported", + "ReadingTime": "2019-08-13T04:14:33+06:00", + "ReadingRangeMin": 0, + "ReadingRangeMax": 150, + "Accuracy": 0.2, + "Precision": 1, + "SensingInterval": "PT0.01S", + "PhysicalContext": "CPU", + "Thresholds": { + "UpperCriticalUser": { + "Reading": 115, + "Activation": "Increasing", + "DwellTime": "PT0.03S" + }, + "UpperCautionUser": { + "Reading": 82, + "DwellTime": "PT1S" + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/CPU3Power", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU3Temp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU3Temp/index.json new file mode 100644 index 00000000..78ba38f3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU3Temp/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CPU3Temp", + "Name": "CPU #3 Temperature", + "PhysicalContext": "CPU", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 37, + "ReadingUnits": "Cel", + "Thresholds": { + "UpperCaution": { + "Reading": 42, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperCautionUser": { + "Reading": 40 + }, + "UpperCriticalUser": { + "Reading": 45, + "DwellTime": "PT1M" + }, + "UpperCritical": { + "Reading": 45, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperFatal": { + "Reading": 50, + "DwellTime": "PT30S", + "Activation": "Increasing" + } + }, + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3" + } + ], + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/CPU3Temp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU4Power/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU4Power/index.json new file mode 100644 index 00000000..115eebaf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU4Power/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CPU4Power", + "Name": "Power reading for CPU #4", + "ReadingType": "Power", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 90, + "ReadingUnits": "W", + "Implementation": "Reported", + "ReadingTime": "2019-08-13T04:14:33+06:00", + "ReadingRangeMin": 0, + "ReadingRangeMax": 150, + "Accuracy": 0.2, + "Precision": 1, + "SensingInterval": "PT0.01S", + "PhysicalContext": "CPU", + "Thresholds": { + "UpperCriticalUser": { + "Reading": 115, + "Activation": "Increasing", + "DwellTime": "PT0.03S" + }, + "UpperCautionUser": { + "Reading": 82, + "DwellTime": "PT1S" + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/CPU4Power", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU4Temp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU4Temp/index.json new file mode 100644 index 00000000..3b683db9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU4Temp/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CPU4Temp", + "Name": "CPU #4 Temperature", + "PhysicalContext": "CPU", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 37, + "ReadingUnits": "Cel", + "Thresholds": { + "UpperCaution": { + "Reading": 42, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperCautionUser": { + "Reading": 40 + }, + "UpperCriticalUser": { + "Reading": 45, + "DwellTime": "PT1M" + }, + "UpperCritical": { + "Reading": 45, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperFatal": { + "Reading": 50, + "DwellTime": "PT30S", + "Activation": "Increasing" + } + }, + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4" + } + ], + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/CPU4Temp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU5Power/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU5Power/index.json new file mode 100644 index 00000000..9ab361b0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU5Power/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CPU5Power", + "Name": "Power reading for CPU #5", + "ReadingType": "Power", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 90, + "ReadingUnits": "W", + "Implementation": "Reported", + "ReadingTime": "2019-08-13T04:14:33+06:00", + "ReadingRangeMin": 0, + "ReadingRangeMax": 150, + "Accuracy": 0.2, + "Precision": 1, + "SensingInterval": "PT0.01S", + "PhysicalContext": "CPU", + "Thresholds": { + "UpperCriticalUser": { + "Reading": 115, + "Activation": "Increasing", + "DwellTime": "PT0.03S" + }, + "UpperCautionUser": { + "Reading": 82, + "DwellTime": "PT1S" + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/CPU5Power", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU5Temp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU5Temp/index.json new file mode 100644 index 00000000..41f6b4b8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU5Temp/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CPU5Temp", + "Name": "CPU #5 Temperature", + "PhysicalContext": "CPU", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 37, + "ReadingUnits": "Cel", + "Thresholds": { + "UpperCaution": { + "Reading": 42, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperCautionUser": { + "Reading": 40 + }, + "UpperCriticalUser": { + "Reading": 45, + "DwellTime": "PT1M" + }, + "UpperCritical": { + "Reading": 45, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperFatal": { + "Reading": 50, + "DwellTime": "PT30S", + "Activation": "Increasing" + } + }, + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5" + } + ], + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/CPU5Temp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU6Power/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU6Power/index.json new file mode 100644 index 00000000..5e533b42 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU6Power/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CPU6Power", + "Name": "Power reading for CPU #6", + "ReadingType": "Power", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 90, + "ReadingUnits": "W", + "Implementation": "Reported", + "ReadingTime": "2019-08-13T04:14:33+06:00", + "ReadingRangeMin": 0, + "ReadingRangeMax": 150, + "Accuracy": 0.2, + "Precision": 1, + "SensingInterval": "PT0.01S", + "PhysicalContext": "CPU", + "Thresholds": { + "UpperCriticalUser": { + "Reading": 115, + "Activation": "Increasing", + "DwellTime": "PT0.03S" + }, + "UpperCautionUser": { + "Reading": 82, + "DwellTime": "PT1S" + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/CPU6Power", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU6Temp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU6Temp/index.json new file mode 100644 index 00000000..2c5cf804 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU6Temp/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CPU6Temp", + "Name": "CPU #6 Temperature", + "PhysicalContext": "CPU", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 37, + "ReadingUnits": "Cel", + "Thresholds": { + "UpperCaution": { + "Reading": 42, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperCautionUser": { + "Reading": 40 + }, + "UpperCriticalUser": { + "Reading": 45, + "DwellTime": "PT1M" + }, + "UpperCritical": { + "Reading": 45, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperFatal": { + "Reading": 50, + "DwellTime": "PT30S", + "Activation": "Increasing" + } + }, + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6" + } + ], + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/CPU6Temp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU7Power/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU7Power/index.json new file mode 100644 index 00000000..a009a4dd --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU7Power/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CPU7Power", + "Name": "Power reading for CPU #7", + "ReadingType": "Power", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 90, + "ReadingUnits": "W", + "Implementation": "Reported", + "ReadingTime": "2019-08-13T04:14:33+06:00", + "ReadingRangeMin": 0, + "ReadingRangeMax": 150, + "Accuracy": 0.2, + "Precision": 1, + "SensingInterval": "PT0.01S", + "PhysicalContext": "CPU", + "Thresholds": { + "UpperCriticalUser": { + "Reading": 115, + "Activation": "Increasing", + "DwellTime": "PT0.03S" + }, + "UpperCautionUser": { + "Reading": 82, + "DwellTime": "PT1S" + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/CPU7Power", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU7Temp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU7Temp/index.json new file mode 100644 index 00000000..b988dcb8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU7Temp/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CPU7Temp", + "Name": "CPU #7 Temperature", + "PhysicalContext": "CPU", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 37, + "ReadingUnits": "Cel", + "Thresholds": { + "UpperCaution": { + "Reading": 42, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperCautionUser": { + "Reading": 40 + }, + "UpperCriticalUser": { + "Reading": 45, + "DwellTime": "PT1M" + }, + "UpperCritical": { + "Reading": 45, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperFatal": { + "Reading": 50, + "DwellTime": "PT30S", + "Activation": "Increasing" + } + }, + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7" + } + ], + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/CPU7Temp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU8Power/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU8Power/index.json new file mode 100644 index 00000000..3c0509a3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU8Power/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CPU8Power", + "Name": "Power reading for CPU #8", + "ReadingType": "Power", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 90, + "ReadingUnits": "W", + "Implementation": "Reported", + "ReadingTime": "2019-08-13T04:14:33+06:00", + "ReadingRangeMin": 0, + "ReadingRangeMax": 150, + "Accuracy": 0.2, + "Precision": 1, + "SensingInterval": "PT0.01S", + "PhysicalContext": "CPU", + "Thresholds": { + "UpperCriticalUser": { + "Reading": 115, + "Activation": "Increasing", + "DwellTime": "PT0.03S" + }, + "UpperCautionUser": { + "Reading": 82, + "DwellTime": "PT1S" + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/CPU8Power", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU8Temp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU8Temp/index.json new file mode 100644 index 00000000..54fd7d40 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPU8Temp/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CPU8Temp", + "Name": "CPU #8 Temperature", + "PhysicalContext": "CPU", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 37, + "ReadingUnits": "Cel", + "Thresholds": { + "UpperCaution": { + "Reading": 42, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperCautionUser": { + "Reading": 40 + }, + "UpperCriticalUser": { + "Reading": 45, + "DwellTime": "PT1M" + }, + "UpperCritical": { + "Reading": 45, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperFatal": { + "Reading": 50, + "DwellTime": "PT30S", + "Activation": "Increasing" + } + }, + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8" + } + ], + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/CPU8Temp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPUFan1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPUFan1/index.json new file mode 100644 index 00000000..9fa78c3c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPUFan1/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CPUFan1", + "Name": "CPU #1 Fan Speed", + "PhysicalContext": "CPU", + "Reading": 80, + "ReadingRangeMax": 100, + "ReadingRangeMin": 0, + "ReadingType": "Percent", + "ReadingUnits": "%", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Thresholds": { + "LowerCaution": { + "Reading": 5 + }, + "LowerCritical": { + "Reading": 0 + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/CPUFan1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPUFan2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPUFan2/index.json new file mode 100644 index 00000000..628bef91 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/CPUFan2/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "CPUFan2", + "Name": "CPU #2 Fan Speed", + "PhysicalContext": "CPU", + "Reading": 60, + "ReadingRangeMax": 100, + "ReadingRangeMin": 0, + "ReadingType": "Percent", + "ReadingUnits": "%", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Thresholds": { + "LowerCaution": { + "Reading": 5 + }, + "LowerCritical": { + "Reading": 0 + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/CPUFan2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/DIMM1Temp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/DIMM1Temp/index.json new file mode 100644 index 00000000..99456e8a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/DIMM1Temp/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "DIMM1Temp", + "Name": "DIMM #1 Temperature", + "PhysicalContext": "Memory", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 44, + "ReadingUnits": "Cel", + "Thresholds": { + "UpperCaution": { + "Reading": 55, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperCautionUser": { + "Reading": 50 + }, + "UpperCriticalUser": { + "Reading": 60, + "DwellTime": "PT1M" + }, + "UpperCritical": { + "Reading": 65, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperFatal": { + "Reading": 75, + "DwellTime": "PT30S", + "Activation": "Increasing" + } + }, + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Memory/DIMM1" + } + ], + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/DIMM1Temp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/DIMM2Temp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/DIMM2Temp/index.json new file mode 100644 index 00000000..65b328da --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/DIMM2Temp/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "DIMM2Temp", + "Name": "DIMM #2 Temperature", + "PhysicalContext": "Memory", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 44, + "ReadingUnits": "Cel", + "Thresholds": { + "UpperCaution": { + "Reading": 55, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperCautionUser": { + "Reading": 50 + }, + "UpperCriticalUser": { + "Reading": 60, + "DwellTime": "PT1M" + }, + "UpperCritical": { + "Reading": 65, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperFatal": { + "Reading": 75, + "DwellTime": "PT30S", + "Activation": "Increasing" + } + }, + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Memory/DIMM2" + } + ], + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/DIMM2Temp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/DIMM3Temp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/DIMM3Temp/index.json new file mode 100644 index 00000000..00869e86 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/DIMM3Temp/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "DIMM3Temp", + "Name": "DIMM #3 Temperature", + "PhysicalContext": "Memory", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 44, + "ReadingUnits": "Cel", + "Thresholds": { + "UpperCaution": { + "Reading": 55, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperCautionUser": { + "Reading": 50 + }, + "UpperCriticalUser": { + "Reading": 60, + "DwellTime": "PT1M" + }, + "UpperCritical": { + "Reading": 65, + "DwellTime": "PT5M", + "Activation": "Increasing" + }, + "UpperFatal": { + "Reading": 75, + "DwellTime": "PT30S", + "Activation": "Increasing" + } + }, + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Memory/DIMM3" + } + ], + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/DIMM3Temp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/ExhaustTemp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/ExhaustTemp/index.json new file mode 100644 index 00000000..7e69637a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/ExhaustTemp/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "ExhaustTemp", + "Name": "Fan Bay #1 Exhaust Temperature", + "PhysicalContext": "Exhaust", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 40.5, + "ReadingUnits": "Cel", + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/ExhaustTemp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/FanBay1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/FanBay1/index.json new file mode 100644 index 00000000..eb94cf27 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/FanBay1/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "FanBay1", + "Name": "Chassis Fan #1", + "PhysicalContext": "Chassis", + "Reading": 45, + "ReadingRangeMax": 100, + "ReadingRangeMin": 0, + "ReadingType": "Percent", + "ReadingUnits": "%", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Thresholds": { + "LowerCaution": { + "Reading": 5 + }, + "LowerCritical": { + "Reading": 0 + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/FanBay1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/FanBay2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/FanBay2/index.json new file mode 100644 index 00000000..c1ce18af --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/FanBay2/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "FanBay2", + "Name": "Chassis Fan #2", + "PhysicalContext": "Chassis", + "Reading": 45, + "ReadingRangeMax": 100, + "ReadingRangeMin": 0, + "ReadingType": "Percent", + "ReadingUnits": "%", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Thresholds": { + "LowerCaution": { + "Reading": 5 + }, + "LowerCritical": { + "Reading": 0 + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/FanBay2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/FanBay3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/FanBay3/index.json new file mode 100644 index 00000000..f4e847f3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/FanBay3/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "FanBay3", + "Name": "Chassis Fan #3", + "PhysicalContext": "Chassis", + "Reading": 45, + "ReadingRangeMax": 100, + "ReadingRangeMin": 0, + "ReadingType": "Percent", + "ReadingUnits": "%", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Thresholds": { + "LowerCaution": { + "Reading": 5 + }, + "LowerCritical": { + "Reading": 0 + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/FanBay3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/FanBay4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/FanBay4/index.json new file mode 100644 index 00000000..3384024b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/FanBay4/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "FanBay4", + "Name": "Chassis Fan #4", + "PhysicalContext": "Chassis", + "Reading": 45, + "ReadingRangeMax": 100, + "ReadingRangeMin": 0, + "ReadingType": "Percent", + "ReadingUnits": "%", + "Status": { + "Health": "OK", + "State": "Enabled" + }, + "Thresholds": { + "LowerCaution": { + "Reading": 5 + }, + "LowerCritical": { + "Reading": 0 + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/FanBay4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/IntakeTemp/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/IntakeTemp/index.json new file mode 100644 index 00000000..bae2f4e5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/IntakeTemp/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "IntakeTemp", + "Name": "Front Panel Intake Temperature", + "PhysicalContext": "Intake", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 24.8, + "ReadingUnits": "Cel", + "ReadingRangeMin": 0, + "ReadingRangeMax": 75, + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/IntakeTemp", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1Energy/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1Energy/index.json new file mode 100644 index 00000000..5c2df98f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1Energy/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Energy", + "Name": "Power Supply #1 Energy", + "ReadingType": "EnergykWh", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 7855, + "ReadingUnits": "kW.h", + "PhysicalContext": "PowerSupply", + "Actions": { + "#Sensor.ResetMetrics": { + "target": "/redfish/v1/Chassis/Tower/Sensors/PS1Energy/Actions/Sensor.ResetMetrics" + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS1Energy", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1Frequency/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1Frequency/index.json new file mode 100644 index 00000000..c597b8b3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1Frequency/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Frequency", + "Name": "Power Supply #1 Frequency", + "ReadingType": "Frequency", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 60.1, + "ReadingUnits": "Hz", + "ReadingRangeMin": 0, + "ReadingRangeMax": 160, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "Thresholds": { + "UpperCritical": { + "Reading": 60.37, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 60.2, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 59.5, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 58.75, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS1Frequency", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1InputCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1InputCurrent/index.json new file mode 100644 index 00000000..fb6ef286 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1InputCurrent/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1InputCurrent", + "Name": "Power Supply #1 Input Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "Thresholds": { + "UpperCritical": { + "Reading": 10, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 9, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS1InputCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1InputPower/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1InputPower/index.json new file mode 100644 index 00000000..c92941a6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1InputPower/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1InputPower", + "Name": "Power Supply #1 Input Power", + "ReadingType": "Power", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Total", + "Reading": 374, + "ReadingUnits": "W", + "ReadingRangeMin": 0, + "ReadingRangeMax": 500, + "ApparentVA": 350, + "ReactiveVAR": 29, + "PowerFactor": 0.83, + "Accuracy": 1, + "Precision": 1, + "SensingInterval": "PT0.1S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "Thresholds": { + "UpperCritical": { + "Reading": 525, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 510, + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS1InputPower", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1InputVoltage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1InputVoltage/index.json new file mode 100644 index 00000000..bc8f1b1c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1InputVoltage/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1InputVoltage", + "Name": "Power Supply #1 Input Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Total", + "Reading": 119.27, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 260, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "Thresholds": { + "UpperCritical": { + "Reading": 125, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 122, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 118, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 115, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS1InputVoltage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1Out12V/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1Out12V/index.json new file mode 100644 index 00000000..3a3bd15f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1Out12V/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Out12V", + "Name": "Power Supply #1 12V Output Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Total", + "Reading": 12.08, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 15, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Output", + "Thresholds": { + "UpperCritical": { + "Reading": 12.5, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 12.35, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 11.85, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 11.5, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS1Out12V", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1Out12VCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1Out12VCurrent/index.json new file mode 100644 index 00000000..1e8d281e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1Out12VCurrent/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Out12VCurrent", + "Name": "Power Supply #1 12V Output Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2.79, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 7, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 6, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS1Out12VCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1Out3V/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1Out3V/index.json new file mode 100644 index 00000000..478f8373 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1Out3V/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Out3V", + "Name": "Power Supply #1 3V Output Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Total", + "Reading": 3.32, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 5, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Output", + "Thresholds": { + "UpperCritical": { + "Reading": 3.5, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 3.35, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 3.25, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 3.1, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS1Out3V", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1Out3VCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1Out3VCurrent/index.json new file mode 100644 index 00000000..ba29aae9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1Out3VCurrent/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Out3VCurrent", + "Name": "Power Supply #1 3V Output Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 8.92, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 40, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Output", + "Thresholds": { + "UpperCritical": { + "Reading": 25, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 20, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS1Out3VCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1Out5V/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1Out5V/index.json new file mode 100644 index 00000000..9f93189c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1Out5V/index.json @@ -0,0 +1,41 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Out5V", + "Name": "Power Supply #1 5V Output Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ElectricalContext": "Total", + "Reading": 5.04, + "ReadingUnits": "V", + "ReadingRangeMin": 0, + "ReadingRangeMax": 10, + "Accuracy": 0.02, + "Precision": 2, + "SensingInterval": "PT0.125S", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Output", + "Thresholds": { + "UpperCritical": { + "Reading": 5.5, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 5.35, + "DwellTime": "PT10M" + }, + "LowerCaution": { + "Reading": 4.9, + "DwellTime": "PT5M" + }, + "LowerCritical": { + "Reading": 4.5, + "DwellTime": "PT1M" + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS1Out5V", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1Out5VCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1Out5VCurrent/index.json new file mode 100644 index 00000000..c6392be4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS1Out5VCurrent/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS1Out5VCurrent", + "Name": "Power Supply #1 5V Output Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 3.41, + "ReadingUnits": "A", + "ReadingRangeMin": 0, + "ReadingRangeMax": 10, + "Accuracy": 0.05, + "Precision": 2, + "SensingInterval": "PT0.1S", + "PhysicalContext": "PowerSupply", + "Thresholds": { + "UpperCritical": { + "Reading": 8, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 5, + "Activation": "Increasing", + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS1Out5VCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2Energy/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2Energy/index.json new file mode 100644 index 00000000..b76cb756 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2Energy/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Energy", + "Name": "Power Supply #2 Energy", + "ReadingType": "EnergykWh", + "ElectricalContext": "Total", + "Status": { + "State": "Absent" + }, + "PhysicalContext": "PowerSupply", + "Actions": { + "#Sensor.ResetMetrics": { + "target": "/redfish/v1/Chassis/Tower/Sensors/PS2Energy/Actions/Sensor.ResetMetrics" + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS2Energy", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2Frequency/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2Frequency/index.json new file mode 100644 index 00000000..d9389913 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2Frequency/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Frequency", + "Name": "Power Supply #2 Frequency", + "ReadingType": "Frequency", + "Status": { + "State": "Absent" + }, + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS2Frequency", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2InputCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2InputCurrent/index.json new file mode 100644 index 00000000..19914dd6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2InputCurrent/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2InputCurrent", + "Name": "Power Supply #2 Input Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Absent" + }, + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS2InputCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2InputPower/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2InputPower/index.json new file mode 100644 index 00000000..2d0eecd5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2InputPower/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2InputPower", + "Name": "Power Supply #2 Input Power", + "ReadingType": "Power", + "Status": { + "State": "Absent" + }, + "ElectricalContext": "Total", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS2InputPower", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2InputVoltage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2InputVoltage/index.json new file mode 100644 index 00000000..92b26eb0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2InputVoltage/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2InputVoltage", + "Name": "Power Supply #2 Input Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Absent" + }, + "ElectricalContext": "Total", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Input", + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS2InputVoltage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2Out12V/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2Out12V/index.json new file mode 100644 index 00000000..d094192c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2Out12V/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Out12V", + "Name": "Power Supply #2 12V Output Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Absent" + }, + "ElectricalContext": "Total", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Output", + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS2Out12V", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2Out12VCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2Out12VCurrent/index.json new file mode 100644 index 00000000..c05fa9c0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2Out12VCurrent/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Out12VCurrent", + "Name": "Power Supply #2 12V Output Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Absent" + }, + "PhysicalContext": "PowerSupply", + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS2Out12VCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2Out3V/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2Out3V/index.json new file mode 100644 index 00000000..a7f7b11b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2Out3V/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Out3V", + "Name": "Power Supply #2 3V Output Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Absent" + }, + "ElectricalContext": "Total", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Output", + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS2Out3V", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2Out3VCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2Out3VCurrent/index.json new file mode 100644 index 00000000..8af765bf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2Out3VCurrent/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Out3VCurrent", + "Name": "Power Supply #2 3V Output Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Absent" + }, + "PhysicalContext": "PowerSupply", + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS2Out3VCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2Out5V/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2Out5V/index.json new file mode 100644 index 00000000..483c4b0e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2Out5V/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Out5V", + "Name": "Power Supply #2 5V Output Voltage", + "ReadingType": "Voltage", + "Status": { + "State": "Absent" + }, + "ElectricalContext": "Total", + "PhysicalContext": "PowerSupply", + "PhysicalSubContext": "Output", + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS2Out5V", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2Out5VCurrent/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2Out5VCurrent/index.json new file mode 100644 index 00000000..cb35bbf2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/PS2Out5VCurrent/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "PS2Out5VCurrent", + "Name": "Power Supply #2 5V Output Current", + "ReadingType": "Current", + "ElectricalContext": "Total", + "Status": { + "State": "Absent" + }, + "PhysicalContext": "PowerSupply", + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS2Out5VCurrent", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/TotalEnergy/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/TotalEnergy/index.json new file mode 100644 index 00000000..3e281e43 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/TotalEnergy/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "TotalEnergy", + "Name": "Total Energy", + "ReadingType": "EnergykWh", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 325675, + "ReadingUnits": "kW.h", + "PhysicalContext": "Chassis", + "Actions": { + "#Sensor.ResetMetrics": { + "target": "/redfish/v1/Chassis/Tower/Sensors/TotalEnergy/Actions/Sensor.ResetMetrics" + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/TotalEnergy", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/TotalPower/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/TotalPower/index.json new file mode 100644 index 00000000..3db7d2ff --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/TotalPower/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#Sensor.v1_14_0.Sensor", + "Id": "TotalPower", + "Name": "Power reading for the Chassis", + "ReadingType": "Power", + "ElectricalContext": "Total", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 374, + "ReadingUnits": "W", + "Implementation": "Synthesized", + "ReadingTime": "2019-08-13T04:14:33+06:00", + "ReadingRangeMin": 0, + "ReadingRangeMax": 600, + "ApparentVA": 2749.2, + "ReactiveVAR": 281.4, + "PowerFactor": 0.99, + "Accuracy": 0.2, + "Precision": 1, + "SensingInterval": "PT0.25S", + "PhysicalContext": "Chassis", + "Thresholds": { + "UpperCritical": { + "Reading": 600, + "Activation": "Increasing", + "DwellTime": "PT1M" + }, + "UpperCaution": { + "Reading": 580, + "DwellTime": "PT10M" + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/TotalPower", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/index.json new file mode 100644 index 00000000..b964d9e0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Sensors/index.json @@ -0,0 +1,165 @@ +{ + "@odata.type": "#SensorCollection.SensorCollection", + "Name": "Chassis sensors", + "Members@odata.count": 52, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/AmbientTemp" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/CPUFan1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/CPUFan2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/CPU1Temp" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/CPU2Temp" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/CPU3Temp" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/CPU4Temp" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/CPU5Temp" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/CPU6Temp" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/CPU7Temp" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/CPU8Temp" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/CPU1Power" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/CPU2Power" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/CPU3Power" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/CPU4Power" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/CPU5Power" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/CPU6Power" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/CPU7Power" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/CPU8Power" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/DIMM1Temp" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/DIMM2Temp" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/DIMM3Temp" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/ExhaustTemp" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/FanBay1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/FanBay2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/FanBay3" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/FanBay4" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/IntakeTemp" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS1Energy" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS1Frequency" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS1InputCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS1InputPower" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS1InputVoltage" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS1Out12V" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS1Out12VCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS1Out3V" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS1Out3VCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS1Out5V" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS1Out5VCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS2Energy" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS2Frequency" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS2InputCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS2InputPower" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS2InputVoltage" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS2Out12V" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS2Out12VCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS2Out3V" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS2Out3VCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS2Out5V" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/PS2Out5VCurrent" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/TotalEnergy" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors/TotalPower" + } + ], + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Thermal/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Thermal/index.json new file mode 100644 index 00000000..a2c079dd --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/Thermal/index.json @@ -0,0 +1,159 @@ +{ + "@odata.type": "#Thermal.v1_7_3.Thermal", + "Id": "Thermal", + "Name": "Thermal", + "Temperatures": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/Thermal#/Temperatures/0", + "MemberId": "0", + "Name": "CPU1 Temp", + "SensorNumber": 5, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 41, + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 45, + "UpperThresholdFatal": 48, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 60, + "PhysicalContext": "CPU", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Thermal#/Temperatures/1", + "MemberId": "1", + "Name": "CPU2 Temp", + "SensorNumber": 6, + "Status": { + "State": "Disabled" + }, + "UpperThresholdNonCritical": 42, + "UpperThresholdCritical": 45, + "UpperThresholdFatal": 48, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 60, + "PhysicalContext": "CPU", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Thermal#/Temperatures/2", + "MemberId": "2", + "Name": "Chassis Intake Temp", + "SensorNumber": 9, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ReadingCelsius": 25, + "UpperThresholdNonCritical": 30, + "UpperThresholdCritical": 40, + "UpperThresholdFatal": 50, + "LowerThresholdNonCritical": 10, + "LowerThresholdCritical": 5, + "LowerThresholdFatal": 0, + "MinReadingRangeTemp": 0, + "MaxReadingRangeTemp": 60, + "PhysicalContext": "Intake", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2" + } + ] + } + ], + "Fans": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/Thermal#/Fans/0", + "MemberId": "0", + "Name": "BaseBoard System Fan", + "PhysicalContext": "Backplane", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2100, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 0, + "MinReadingRange": 0, + "MaxReadingRange": 5000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower" + } + ] + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Thermal#/Fans/1", + "MemberId": "1", + "Name": "BaseBoard System Fan Backup", + "PhysicalContext": "Backplane", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Reading": 2050, + "ReadingUnits": "RPM", + "LowerThresholdFatal": 0, + "MinReadingRange": 0, + "MaxReadingRange": 5000, + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/Thermal#/Redundancy/0" + } + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower" + } + ] + } + ], + "Redundancy": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/Thermal#/Redundancy/0", + "MemberId": "0", + "Name": "BaseBoard System Fans", + "RedundancySet": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/Thermal#/Fans/0" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Thermal#/Fans/1" + } + ], + "Mode": "N+m", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "MinNumNeeded": 1, + "MaxNumSupported": 2 + } + ], + "@odata.id": "/redfish/v1/Chassis/Tower/Thermal", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/ThermalSubsystem/Fans/Bay1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/ThermalSubsystem/Fans/Bay1/index.json new file mode 100644 index 00000000..a5dfc761 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/ThermalSubsystem/Fans/Bay1/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#Fan.v1_6_0.Fan", + "Id": "Bay1", + "Name": "Fan Bay 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PhysicalContext": "Chassis", + "Model": "RKS-440DC", + "Manufacturer": "Contoso Fans", + "PartNumber": "23456-133", + "SparePartNumber": "93284-133", + "LocationIndicatorActive": true, + "HotPluggable": true, + "SpeedPercent": { + "Reading": 45, + "SpeedRPM": 2200, + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/FanBay1" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Chassis Fan Bay 1", + "LocationType": "Bay", + "LocationOrdinalValue": 0 + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/ThermalSubsystem/Fans/Bay1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/ThermalSubsystem/Fans/Bay2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/ThermalSubsystem/Fans/Bay2/index.json new file mode 100644 index 00000000..1d75c0dd --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/ThermalSubsystem/Fans/Bay2/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#Fan.v1_6_0.Fan", + "Id": "Bay2", + "Name": "Fan Bay 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PhysicalContext": "Chassis", + "Model": "RKS-440DC", + "Manufacturer": "Contoso Fans", + "PartNumber": "23456-133", + "SparePartNumber": "93284-133", + "LocationIndicatorActive": false, + "HotPluggable": true, + "SpeedPercent": { + "Reading": 45, + "SpeedRPM": 2400, + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/FanBay2" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Chassis Fan Bay 2", + "LocationType": "Bay", + "LocationOrdinalValue": 1 + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/ThermalSubsystem/Fans/Bay2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/ThermalSubsystem/Fans/CPU1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/ThermalSubsystem/Fans/CPU1/index.json new file mode 100644 index 00000000..a66a84c0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/ThermalSubsystem/Fans/CPU1/index.json @@ -0,0 +1,29 @@ +{ + "@odata.type": "#Fan.v1_6_0.Fan", + "Id": "CPU1", + "Name": "Fan for CPU 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PhysicalContext": "CPU", + "Model": "RKS-440DC", + "Manufacturer": "Contoso Fans", + "PartNumber": "23456-133", + "SparePartNumber": "93284-133", + "LocationIndicatorActive": false, + "HotPluggable": false, + "SpeedPercent": { + "Reading": 45, + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/CPUFan1" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "CPU #1 Fan", + "LocationType": "Bay", + "LocationOrdinalValue": 0 + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/ThermalSubsystem/Fans/CPU1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/ThermalSubsystem/Fans/CPU2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/ThermalSubsystem/Fans/CPU2/index.json new file mode 100644 index 00000000..fad9881f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/ThermalSubsystem/Fans/CPU2/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#Fan.v1_6_0.Fan", + "Id": "CPU2", + "Name": "Fan for CPU 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PhysicalContext": "CPU", + "Model": "RKS-440DC", + "Manufacturer": "Contoso Fans", + "PartNumber": "23456-133", + "SparePartNumber": "93284-133", + "LocationIndicatorActive": false, + "HotPluggable": false, + "SpeedPercent": { + "Reading": 45, + "SpeedRPM": 1490, + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/CPUFan2" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "CPU #2 Fan", + "LocationType": "Bay", + "LocationOrdinalValue": 1 + } + }, + "@odata.id": "/redfish/v1/Chassis/Tower/ThermalSubsystem/Fans/CPU2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/ThermalSubsystem/Fans/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/ThermalSubsystem/Fans/index.json new file mode 100644 index 00000000..ad2470ff --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/ThermalSubsystem/Fans/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#FanCollection.FanCollection", + "Name": "Fan Club", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/ThermalSubsystem/Fans/Bay1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/ThermalSubsystem/Fans/Bay2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/ThermalSubsystem/Fans/CPU1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/ThermalSubsystem/Fans/CPU2" + } + ], + "@odata.id": "/redfish/v1/Chassis/Tower/ThermalSubsystem/Fans", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/ThermalSubsystem/ThermalMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/ThermalSubsystem/ThermalMetrics/index.json new file mode 100644 index 00000000..180defe5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/ThermalSubsystem/ThermalMetrics/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#ThermalMetrics.v1_3_3.ThermalMetrics", + "Id": "ThermalMetrics", + "Name": "Chassis Thermal Metrics", + "TemperatureSummaryCelsius": { + "Internal": { + "Reading": 39, + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/CPU1Temp" + }, + "Intake": { + "Reading": 24.8, + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/IntakeTemp" + }, + "Ambient": { + "Reading": 22.5, + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/AmbientTemp" + }, + "Exhaust": { + "Reading": 40.5, + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/ExhaustTemp" + } + }, + "TemperatureReadingsCelsius": [ + { + "Reading": 24.8, + "DeviceName": "Intake", + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/IntakeTemp" + }, + { + "Reading": 40.5, + "DeviceName": "Exhaust", + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/ExhaustTemp" + } + ], + "@odata.id": "/redfish/v1/Chassis/Tower/ThermalSubsystem/ThermalMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/ThermalSubsystem/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/ThermalSubsystem/index.json new file mode 100644 index 00000000..8ce5ea77 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/ThermalSubsystem/index.json @@ -0,0 +1,52 @@ +{ + "@odata.type": "#ThermalSubsystem.v1_5_0.ThermalSubsystem", + "Id": "ThermalSubsystem", + "Name": "Thermal Subsystem for Chassis", + "FanRedundancy": [ + { + "RedundancyType": "NPlusM", + "MaxSupportedInGroup": 2, + "MinNeededInGroup": 1, + "RedundancyGroup": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/ThermalSubsystem/Fans/Bay1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/ThermalSubsystem/Fans/Bay2" + } + ], + "Status": { + "State": "Enabled", + "Health": "OK" + } + }, + { + "RedundancyType": "NPlusM", + "MaxSupportedInGroup": 2, + "MinNeededInGroup": 1, + "RedundancyGroup": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/ThermalSubsystem/Fans/CPU1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/ThermalSubsystem/Fans/CPU2" + } + ], + "Status": { + "State": "Disabled" + } + } + ], + "Fans": { + "@odata.id": "/redfish/v1/Chassis/Tower/ThermalSubsystem/Fans" + }, + "ThermalMetrics": { + "@odata.id": "/redfish/v1/Chassis/Tower/ThermalSubsystem/ThermalMetrics" + }, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Chassis/Tower/ThermalSubsystem", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/index.json new file mode 100644 index 00000000..ad0273c8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/Tower/index.json @@ -0,0 +1,138 @@ +{ + "@odata.type": "#Chassis.v1_29_0.Chassis", + "Id": "Tower", + "Name": "Computer System Chassis", + "ChassisType": "StandAlone", + "AssetTag": "Memphis-45Z-2381", + "Manufacturer": "Contoso", + "Model": "3500TX", + "SKU": "8675309", + "SerialNumber": "437XR1238R2", + "PartNumber": "224071-J23", + "PowerState": "On", + "IndicatorLED": "Lit", + "HeightMm": 434.5, + "WidthMm": 217.8, + "DepthMm": 711, + "WeightKg": 42.31, + "Location": { + "PostalAddress": { + "Country": "US", + "Territory": "TN", + "City": "Memphis", + "Street": "1001 SW 5th Avenue", + "HouseNumber": 1100, + "Name": "DMTF", + "PostalCode": "38138", + "Seat": "D326" + } + }, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PCIeDevices": { + "@odata.id": "/redfish/v1/Chassis/Tower/PCIeDevices" + }, + "PCIeSlots": { + "@odata.id": "/redfish/v1/Chassis/Tower/PCIeSlots" + }, + "ThermalSubsystem": { + "@odata.id": "/redfish/v1/Chassis/Tower/ThermalSubsystem" + }, + "PowerSubsystem": { + "@odata.id": "/redfish/v1/Chassis/Tower/PowerSubsystem" + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Chassis/Tower/EnvironmentMetrics" + }, + "NetworkAdapters": { + "@odata.id": "/redfish/v1/Chassis/Tower/NetworkAdapters" + }, + "Sensors": { + "@odata.id": "/redfish/v1/Chassis/Tower/Sensors" + }, + "Thermal@Redfish.Deprecated": "Please migrate to use /redfish/v1/Chassis/Tower/ThermalSubsystem", + "Thermal": { + "@odata.id": "/redfish/v1/Chassis/Tower/Thermal" + }, + "Power@Redfish.Deprecated": "Please migrate to use /redfish/v1/Chassis/Tower/PowerSubsystem", + "Power": { + "@odata.id": "/redfish/v1/Chassis/Tower/Power" + }, + "Links": { + "ComputerSystems": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2" + } + ], + "Drives": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/M.2-1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/M.2-2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-1-0" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-1-1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-1-2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-1-3" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-1-4" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-1-5" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-1-6" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-1-7" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-2-0" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-2-1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-2-2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-2-3" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-2-4" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-2-5" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-2-6" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-2-7" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ], + "ManagersInChassis": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ] + }, + "@odata.id": "/redfish/v1/Chassis/Tower", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/index.json new file mode 100644 index 00000000..94cf9511 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Chassis/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ChassisCollection.ChassisCollection", + "Name": "Chassis Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower" + } + ], + "@odata.id": "/redfish/v1/Chassis", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/EventService/SubmitTestEventActionInfo/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/EventService/SubmitTestEventActionInfo/index.json new file mode 100644 index 00000000..44abc4f3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/EventService/SubmitTestEventActionInfo/index.json @@ -0,0 +1,62 @@ +{ + "@odata.type": "#ActionInfo.v1_6_0.ActionInfo", + "Id": "SubmitTestEventActionInfo", + "Name": "SubmitTestEvent Action Info", + "Parameters": [ + { + "Name": "EventType", + "Required": false, + "DataType": "String", + "AllowableValues": [ + "StatusChange", + "ResourceUpdated", + "ResourceAdded", + "ResourceRemoved", + "Alert", + "Other" + ] + }, + { + "Name": "EventId", + "Required": false, + "DataType": "String" + }, + { + "Name": "EventTimestamp", + "Required": false, + "DataType": "String" + }, + { + "Name": "Severity", + "Required": false, + "DataType": "String" + }, + { + "Name": "Message", + "Required": false, + "DataType": "String" + }, + { + "Name": "MessageId", + "Required": true, + "DataType": "String" + }, + { + "Name": "MessageArgs", + "Required": false, + "DataType": "StringArray" + }, + { + "Name": "OriginOfCondition", + "Required": false, + "DataType": "String" + }, + { + "Name": "EventGroupId", + "Required": false, + "DataType": "Number" + } + ], + "@odata.id": "/redfish/v1/EventService/SubmitTestEventActionInfo", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/EventService/Subscriptions/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/EventService/Subscriptions/1/index.json new file mode 100644 index 00000000..4cf433da --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/EventService/Subscriptions/1/index.json @@ -0,0 +1,14 @@ +{ + "@odata.type": "#EventDestination.v1_17_1.EventDestination", + "Id": "1", + "Name": "EventSubscription 1", + "Destination": "http://www.dnsname.com/Destination1", + "EventTypes": [ + "Alert" + ], + "Context": "WebUser3", + "Protocol": "Redfish", + "SubscriptionType": "RedfishEvent", + "@odata.id": "/redfish/v1/EventService/Subscriptions/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/EventService/Subscriptions/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/EventService/Subscriptions/2/index.json new file mode 100644 index 00000000..4c065265 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/EventService/Subscriptions/2/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#EventDestination.v1_17_1.EventDestination", + "Id": "2", + "Name": "SNMPv3 EventSubscription", + "Destination": "contoso_user@snmp_server.contoso.com", + "ResourceTypes": [ + "Certificate", + "Volume", + "Thermal", + "VirtualMedia", + "Power" + ], + "Context": "My_SNMPv3_Events", + "Protocol": "SNMPv3", + "SubscriptionType": "SNMPInform", + "SNMP": { + "TrapCommunity": null, + "AuthenticationKey": null, + "AuthenticationProtocol": "HMAC_SHA96", + "EncryptionKey": null, + "EncryptionProtocol": "CFB128_AES128" + }, + "@odata.id": "/redfish/v1/EventService/Subscriptions/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/EventService/Subscriptions/3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/EventService/Subscriptions/3/index.json new file mode 100644 index 00000000..4e356433 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/EventService/Subscriptions/3/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#EventDestination.v1_17_1.EventDestination", + "Id": "3", + "Name": "EventSubscription for SMTP", + "Destination": "mailto:spam@contoso.com", + "ResourceTypes": [ + "Certificates", + "Systems" + ], + "Context": "EmailUser3", + "Protocol": "SMTP", + "SubscriptionType": "OEM", + "@odata.id": "/redfish/v1/EventService/Subscriptions/3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/EventService/Subscriptions/4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/EventService/Subscriptions/4/index.json new file mode 100644 index 00000000..c83687a9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/EventService/Subscriptions/4/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#EventDestination.v1_17_1.EventDestination", + "Id": "4", + "Name": "EventSubscription for Remote syslog", + "Destination": "syslog://123.45.10:514", + "Context": "Syslog-Mockup", + "Protocol": "SyslogTCP", + "SubscriptionType": "Syslog", + "SyslogFilters": [ + { + "LogFacilities": [ + "Kern", + "User" + ], + "LowestSeverity": "Warning" + } + ], + "@odata.id": "/redfish/v1/EventService/Subscriptions/4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/EventService/Subscriptions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/EventService/Subscriptions/index.json new file mode 100644 index 00000000..e58d455c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/EventService/Subscriptions/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#EventDestinationCollection.EventDestinationCollection", + "Name": "Event Subscriptions Collection", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/EventService/Subscriptions/1" + }, + { + "@odata.id": "/redfish/v1/EventService/Subscriptions/2" + }, + { + "@odata.id": "/redfish/v1/EventService/Subscriptions/3" + }, + { + "@odata.id": "/redfish/v1/EventService/Subscriptions/4" + } + ], + "@odata.id": "/redfish/v1/EventService/Subscriptions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/EventService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/EventService/index.json new file mode 100644 index 00000000..0676aea7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/EventService/index.json @@ -0,0 +1,40 @@ +{ + "@odata.type": "#EventService.v1_12_0.EventService", + "Id": "EventService", + "Name": "Event Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "DeliveryRetryAttempts": 3, + "DeliveryRetryIntervalSeconds": 60, + "EventTypesForSubscription": [ + "StatusChange", + "ResourceUpdated", + "ResourceAdded", + "ResourceRemoved", + "Alert" + ], + "Subscriptions": { + "@odata.id": "/redfish/v1/EventService/Subscriptions" + }, + "Actions": { + "#EventService.SubmitTestEvent": { + "target": "/redfish/v1/EventService/Actions/EventService.SubmitTestEvent", + "@Redfish.ActionInfo": "/redfish/v1/EventService/SubmitTestEventActionInfo" + } + }, + "SMTP": { + "ServiceEnabled": true, + "Port": 25, + "ServerAddress": "smtp.contoso.com", + "FromAddress": "no_reply@contoso.com", + "ConnectionProtocol": "AutoDetect", + "Authentication": "AutoDetect", + "Username": "employee123", + "Password": null + }, + "@odata.id": "/redfish/v1/EventService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/EthernetInterfaces/Dedicated/SD/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/EthernetInterfaces/Dedicated/SD/index.json new file mode 100644 index 00000000..a951bc17 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/EthernetInterfaces/Dedicated/SD/index.json @@ -0,0 +1,60 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "SD", + "Name": "Manager Ethernet Interface", + "Description": "Management Network Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:33:CF:EA", + "MACAddress": "23:11:8A:33:CF:EA", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.0.1" + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred" + } + ], + "NameServers": [ + "names.dmtf.org" + ], + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/Dedicated/SD", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/EthernetInterfaces/Dedicated/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/EthernetInterfaces/Dedicated/index.json new file mode 100644 index 00000000..bd71dce8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/EthernetInterfaces/Dedicated/index.json @@ -0,0 +1,76 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "Dedicated", + "Name": "Manager Ethernet Interface", + "Description": "Management Network Interface", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "LinkStatus": "LinkUp", + "InterfaceEnabled": true, + "PermanentMACAddress": "23:11:8A:33:CF:EA", + "MACAddress": "23:11:8A:33:CF:EA", + "SpeedMbps": 100, + "AutoNeg": true, + "FullDuplex": true, + "MTUSize": 1500, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "MaxIPv6StaticAddresses": 1, + "VLAN": { + "VLANEnable": true, + "VLANId": 101 + }, + "IPv4Addresses": [ + { + "Address": "192.168.0.10", + "SubnetMask": "255.255.252.0", + "AddressOrigin": "DHCP", + "Gateway": "192.168.0.1" + } + ], + "IPv6AddressPolicyTable": [ + { + "Prefix": "::1/128", + "Precedence": 50, + "Label": 0 + } + ], + "IPv6StaticAddresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 16 + } + ], + "IPv6DefaultGateway": "fe80::1ec1:deff:fe6f:1e24", + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred" + } + ], + "NameServers": [ + "names.dmtf.org" + ], + "@Redfish.Settings": { + "@odata.type": "#Settings.v1_5_0.Settings", + "SettingsObject": { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/Dedicated/SD" + }, + "Time": "2012-03-07T14:44.30-05:00", + "ETag": "84ffcbb050ddc7fa9cddb59014546e59", + "Messages": [ + { + "MessageId": "Base.1.0.SettingsFailed", + "RelatedProperties": [ + "/IPv6Addresses/PrefixLength" + ] + } + ] + }, + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/Dedicated", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/EthernetInterfaces/index.json new file mode 100644 index 00000000..c373a6af --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/EthernetInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Network Interface Collection", + "Description": "Collection of EthernetInterfaces for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/Dedicated" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/LogServices/Log/Entries/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/LogServices/Log/Entries/1/index.json new file mode 100644 index 00000000..6a4145ff --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/LogServices/Log/Entries/1/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "Event", + "Severity": "Critical", + "Created": "2012-03-07T14:44:00Z", + "SensorNumber": 1, + "Message": "System May be Melting", + "MessageId": "Event.1.0.TempWayTooHot", + "MessageArgs": [ + "88" + ], + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/Tower/Thermal" + } + }, + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/LogServices/Log/Entries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/LogServices/Log/Entries/index.json new file mode 100644 index 00000000..8e69f6f3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/LogServices/Log/Entries/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries/1", + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "Event", + "Severity": "Critical", + "Created": "2012-03-07T14:44:00Z", + "SensorNumber": 1, + "Message": "System May be Melting", + "MessageId": "Event.1.0.TempWayTooHot", + "MessageArgs": [ + "88" + ], + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/Tower/Thermal" + } + } + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/LogServices/Log/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/LogServices/Log/index.json new file mode 100644 index 00000000..6d2dbdfe --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/LogServices/Log/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#LogService.v1_9_0.LogService", + "Id": "Log", + "Name": "System Log Service", + "MaxNumberOfRecords": 1000, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Managers/BMC/LogServices/Log/Actions/LogService.ClearLog" + } + }, + "Entries": { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log/Entries" + }, + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/LogServices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/LogServices/index.json new file mode 100644 index 00000000..0de6f42a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/LogServices/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Description": "Collection of Log Services for this Manager", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices/Log" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/LogServices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1/RekeyActionInfo/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1/RekeyActionInfo/index.json new file mode 100644 index 00000000..5b47f8da --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1/RekeyActionInfo/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#ActionInfo.v1_6_0.ActionInfo", + "Id": "RekeyActionInfo", + "Name": "Rekey Action Info", + "Parameters": [ + { + "Name": "KeyPairAlgorithm", + "Required": true, + "DataType": "String", + "AllowableValues": [ + "TPM_ALG_RSA", + "TPM_ALG_ECDSA" + ] + }, + { + "Name": "KeyBitLength", + "Required": false, + "DataType": "Number" + }, + { + "Name": "KeyCurveId", + "Required": false, + "DataType": "String", + "AllowableValues": [ + "TPM_ECC_NIST_P256", + "TPM_ECC_NIST_P384", + "TPM_ECC_NIST_P521" + ] + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1/RekeyActionInfo", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1/index.json new file mode 100644 index 00000000..93ac8de2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1/index.json @@ -0,0 +1,44 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "1", + "Name": "HTTPS Certificate", + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIFsTCCA5mgAwIBAgIJAMusGfV8beSJMA0GCSqGSIb3DQEBCwUAMG8xCzAJBgNV\nBAYTAlVTMQ8wDQYDVQQIDAZPcmVnb24xETAPBgNVBAcMCFBvcnRsYW5kMRAwDgYD\nVQQKDAdDb250b3NvMQwwCgYDVQQLDANBQkMxHDAaBgNVBAMME21hbmFnZXIuY29u\ndG9zby5vcmcwHhcNMTgwOTA3MTMyMjA1WhcNMTkwOTA3MTMyMjA1WjBvMQswCQYD\nVQQGEwJVUzEPMA0GATowerECAwGT3JlZ29uMREwDwYDVQQHDAhQb3J0bGFuZDEQMA4G\nATowerECgwHQ29udG9zbzEMMAoGATowerECwwDQUJDMRwwGgYDVQQDDBNtYW5hZ2VyLmNv\nbnRvc28ub3JnMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAw39VGz5K\n9bD8UUmyUxH+s+IaYsd3rd8V3R6g3bzttGOW52nopt3ZQD4COHPePBcCBh2+xRFk\n0Wd6oJUECXKNYhoFRJAhyz2fmkO5I37D40iY8/Ihqnt0Kmt/8hETL2VMKbALnR+4\nAUNNGSomRD24FQDlK1Vs6urZHvTsEL5Z+CNdbKY6Yn1ksxR8vmze4hdxnzrQCua1\no7zNVzudLdhVpfeC3BvmflMjszPOjlo5dSkXeRWqQ1LikgcHyEf3hYWq3WXMUpkV\nm2nlM3Tzeaz2nO1quQ/HJ/DUuvHHvWIIZdExL1RABzSN8Sr3ZkMShmTNN4QWmrEX\nEADN8g8OXrRKrup+R6nbUT55Getn5jPesI5fNDHk0KRBUG0ALY73l9+ZlAdRTesq\naV6AL2hUYrb1SNjh50i15s4yPOytspF4B9LaqsG1w3PGjgLaUtWHTXwGAMdHVhWs\nym//6zFv3Ri5tbjThpeYv+UIkreyb0yAFlx/Kz62EFbkFcnaGPATqVd4yLtVdYu0\nz5O8JWhOuybmWMe6ifO97X8w7/Nr9QyzkB64wXSqsNpRiuZraErqa+hBqvPkz8KE\nFEwiclRvZ9OrNk/iKr1FO1HNs1byvNyJ3S9Bu4bMwMnxzrdNzaB5Ti0IywIvQ/qw\nJ8icHIn+3EM5g+DmvQTZIXNKOryrndjIUA0CAwEAAaNQME4wHQYDVR0OBBYEFLLG\niNCud7LYUKojqRVNhKBWoApFMB8GATowerdIwQYMBaAFLLGiNCud7LYUKojqRVNhKBW\noApFMAwGATowerdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggIBAG+NJSRv1S0K4KjE\nwzAIlEsmYs65vPxKLg0a07EW8xO4m7AKtty9dyc3+xh0ftwosTmXp2GL3RbNFqpc\nqDjS/XLDGS7DCb5T/g2vZusfUCz6WXpJCZMBLNyNaVyhTHeV9f8sCWXAODwx8ED2\nIHADWI9EqYg3HovYJNP4iUXfivBkFdq6ptOwgMVLGpeMvt/VwBilOklL/+xrhiMD\n1SwZ+sPdWfgcIaeQ+Y3h0cbHzCeYlZDXjDR41zGrEb1lhSAj5n/BEQDjXsiIY386\n/czYW7Zz2ZxOK67ENaABUxg5w8iqu8wkF0pVHbjBThkEPvvdwWKAFLDC55q1KO4H\nsZLx8U/usUdHW9pz+/C7QW7UEJjKP7LfUWnosz7NJYtb7lXJ6pyLkstlA35/aXv3\nxS4eHxHFExl7hiTPgWuFYZUfhdTYSoUTO7WHI7IIZvAh05I/akrE7RpPXviMdIrI\nluKOGwMDHuKSUX93BfFcm9WyMx2cGvbORAXPonGadkPbNsuSK1YkalZ27x5Aq10T\nwJ6/u29+BMDIRB1qJPf5gm4itQpX0hLKXRAdSPKQgvA2gDN5fIlPDEAlWt3oo5JI\n6aWKaL1zAwSFcV2XE6c0r9ZrQPQw1cTzeAMDzMQ7MnEb6kt/YNdGfzTL/5b+vF+e\nHApck5WMN3G/8qlI5rFGXG5zljlu\n-----END CERTIFICATE-----", + "CertificateType": "PEM", + "Issuer": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "manager.contoso.org" + }, + "Subject": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "manager.contoso.org" + }, + "ValidNotBefore": "2018-09-07T13:22:05Z", + "ValidNotAfter": "2019-09-07T13:22:05Z", + "KeyUsage": [ + "KeyEncipherment", + "ServerAuthentication" + ], + "SerialNumber": "5d:7a:d8:df:f6:fc:c1:b3:ca:fe:fb:cc:38:f3:01:64:51:ea:05:cb", + "Fingerprint": "A6:E9:D2:5C:DC:52:DA:4B:3B:14:97:F3:A4:53:D9:99:A1:0B:56:41", + "FingerprintHashAlgorithm": "TPM_ALG_SHA1", + "SignatureAlgorithm": "sha256WithRSAEncryption", + "Actions": { + "#Certificate.Rekey": { + "target": "/redfish/v1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1/Actions/Certificate.Rekey", + "@Redfish.ActionInfo": "/redfish/v1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1/RekeyActionInfo" + }, + "#Certificate.Renew": { + "target": "/redfish/v1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1/Actions/Certificate.Renew" + } + }, + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/NetworkProtocol/HTTPS/Certificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/NetworkProtocol/HTTPS/Certificates/index.json new file mode 100644 index 00000000..1ee534fa --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/NetworkProtocol/HTTPS/Certificates/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificate Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1" + } + ], + "@Redfish.SupportedCertificates": [ + "PEM" + ], + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol/HTTPS/Certificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/NetworkProtocol/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/NetworkProtocol/index.json new file mode 100644 index 00000000..0584769c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/NetworkProtocol/index.json @@ -0,0 +1,78 @@ +{ + "@odata.type": "#ManagerNetworkProtocol.v1_14_0.ManagerNetworkProtocol", + "Id": "NetworkProtocol", + "Name": "Manager Network Protocol", + "Description": "Manager Network Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "HostName": "web483-bmc", + "FQDN": "web483-bmc.dmtf.org", + "HTTP": { + "ProtocolEnabled": true, + "Port": 80 + }, + "HTTPS": { + "ProtocolEnabled": true, + "Port": 443, + "Certificates": { + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol/HTTPS/Certificates" + } + }, + "IPMI": { + "ProtocolEnabled": true, + "Port": 623 + }, + "SSH": { + "ProtocolEnabled": true, + "Port": 22 + }, + "SNMP": { + "ProtocolEnabled": true, + "EnableSNMPv1": true, + "EnableSNMPv2c": false, + "EnableSNMPv3": true, + "Port": 161, + "CommunityStrings": [ + { + "Name": "Read-only community", + "CommunityString": null, + "AccessMode": "Limited" + }, + { + "Name": "Full access community", + "CommunityString": null, + "AccessMode": "Full" + } + ], + "EngineId": { + "PrivateEnterpriseId": "00 00 01 9C", + "EnterpriseSpecificMethod": "00 11 22 33 44 55 66 77" + }, + "HideCommunityStrings": true, + "AuthenticationProtocol": "HMAC_SHA96", + "EncryptionProtocol": "CFB128_AES128" + }, + "VirtualMedia": { + "ProtocolEnabled": true, + "Port": 17988 + }, + "SSDP": { + "ProtocolEnabled": true, + "Port": 1900, + "NotifyMulticastIntervalSeconds": 600, + "NotifyTTL": 5, + "NotifyIPv6Scope": "Site" + }, + "Telnet": { + "ProtocolEnabled": true, + "Port": 23 + }, + "KVMIP": { + "ProtocolEnabled": true, + "Port": 5288 + }, + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/SerialInterfaces/TTY0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/SerialInterfaces/TTY0/index.json new file mode 100644 index 00000000..2cae0a79 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/SerialInterfaces/TTY0/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#SerialInterface.v1_3_0.SerialInterface", + "Id": "TTY0", + "Name": "Manager Serial Interface 1", + "Description": "Management for Serial Interface", + "InterfaceEnabled": true, + "SignalType": "Rs232", + "BitRate": "115200", + "Parity": "None", + "DataBits": "8", + "StopBits": "1", + "FlowControl": "None", + "ConnectorType": "RJ45", + "PinOut": "Cyclades", + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces/TTY0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/SerialInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/SerialInterfaces/index.json new file mode 100644 index 00000000..249de7d4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/SerialInterfaces/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#SerialInterfaceCollection.SerialInterfaceCollection", + "Name": "Serial Interface Collection", + "Description": "Collection of Serial Interfaces for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces/TTY0" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/VirtualMedia/CD1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/VirtualMedia/CD1/index.json new file mode 100644 index 00000000..f91e066b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/VirtualMedia/CD1/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#VirtualMedia.v1_7_0.VirtualMedia", + "Id": "CD1", + "Name": "Virtual CD", + "MediaTypes": [ + "CD", + "DVD" + ], + "Image": "redfish.dmtf.org/freeImages/freeOS.1.1.iso", + "ImageName": "mymedia-read-only", + "ConnectedVia": "Applet", + "Inserted": true, + "WriteProtected": false, + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/CD1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/VirtualMedia/Floppy1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/VirtualMedia/Floppy1/index.json new file mode 100644 index 00000000..15191be4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/VirtualMedia/Floppy1/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#VirtualMedia.v1_7_0.VirtualMedia", + "Id": "Floppy1", + "Name": "Virtual Removable Media", + "MediaTypes": [ + "Floppy", + "USBStick" + ], + "Image": "https://www.dmtf.org/freeImages/Sardine.img", + "ImageName": "Sardine2.1.43.35.6a", + "ConnectedVia": "URI", + "Inserted": true, + "WriteProtected": false, + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/Floppy1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/VirtualMedia/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/VirtualMedia/index.json new file mode 100644 index 00000000..116eb0b0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/VirtualMedia/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#VirtualMediaCollection.VirtualMediaCollection", + "Name": "Virtual Media Services", + "Description": "Redfish-BMC Virtual Media Service Settings", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/Floppy1" + }, + { + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/CD1" + } + ], + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/index.json new file mode 100644 index 00000000..0df39bad --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/BMC/index.json @@ -0,0 +1,83 @@ +{ + "@odata.type": "#Manager.v1_25_0.Manager", + "Id": "BMC", + "Name": "Manager", + "ManagerType": "BMC", + "Description": "Contoso BMC", + "ServiceEntryPointUUID": "92384634-2938-2342-8820-489239905423", + "UUID": "58893887-8974-2487-2389-841168418919", + "Model": "Joo Janta 200", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PowerState": "On", + "GraphicalConsole": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 2, + "ConnectTypesSupported": [ + "KVMIP" + ] + }, + "SerialConsole": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 1, + "ConnectTypesSupported": [ + "Telnet", + "SSH", + "IPMI" + ] + }, + "CommandShell": { + "ServiceEnabled": true, + "MaxConcurrentSessions": 4, + "ConnectTypesSupported": [ + "Telnet", + "SSH" + ] + }, + "FirmwareVersion": "1.45.455b66-rev4", + "NetworkProtocol": { + "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces" + }, + "SerialInterfaces": { + "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Managers/BMC/LogServices" + }, + "VirtualMedia": { + "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia" + }, + "Links": { + "ManagerForServers": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2" + } + ], + "ManagerForChassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower" + } + ], + "ManagerInChassis": { + "@odata.id": "/redfish/v1/Chassis/Tower" + } + }, + "Actions": { + "#Manager.Reset": { + "target": "/redfish/v1/Managers/BMC/Actions/Manager.Reset", + "ResetType@Redfish.AllowableValues": [ + "ForceRestart", + "GracefulRestart" + ] + } + }, + "@odata.id": "/redfish/v1/Managers/BMC", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/index.json new file mode 100644 index 00000000..2de83743 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Managers/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ManagerCollection.ManagerCollection", + "Name": "Manager Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ], + "@odata.id": "/redfish/v1/Managers", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Registries/Base.1.5.0.json/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Registries/Base.1.5.0.json/index.json new file mode 100644 index 00000000..88e4ced8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Registries/Base.1.5.0.json/index.json @@ -0,0 +1,558 @@ +{ + "@odata.type": "#MessageRegistry.v1_0_0.MessageRegistry", + "Id": "Base.1.5.0", + "Name": "Base Message Registry", + "Language": "en", + "Description": "This registry defines the base messages for Redfish", + "RegistryPrefix": "Base", + "RegistryVersion": "1.5.0", + "OwningEntity": "DMTF", + "Messages": { + "Success": { + "Description": "Indicates that all conditions of a successful operation have been met.", + "Message": "Successfully Completed Request", + "Severity": "OK", + "NumberOfArgs": 0, + "Resolution": "None" + }, + "GeneralError": { + "Description": "Indicates that a general error has occurred. Use in ExtendedInfo is discouraged. When used in ExtendedInfo, implementations are expected to include a Resolution property with this error to indicate how to resolve the problem.", + "Message": "A general error has occurred. See Resolution for information on how to resolve the error.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "None." + }, + "Created": { + "Description": "Indicates that all conditions of a successful creation operation have been met.", + "Message": "The resource has been created successfully", + "Severity": "OK", + "NumberOfArgs": 0, + "Resolution": "None" + }, + "NoOperation": { + "Description": "Indicates that the requested operation will not perform any changes on the service.", + "Message": "The request body submitted contain no data to act upon and no changes to the resource took place.", + "Severity": "Warning", + "NumberOfArgs": 0, + "Resolution": "Add properties in the JSON object and resubmit the request." + }, + "PropertyDuplicate": { + "Description": "Indicates that a duplicate property was included in the request body.", + "Message": "The property %1 was duplicated in the request.", + "Severity": "Warning", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Remove the duplicate property from the request body and resubmit the request if the operation failed." + }, + "PropertyUnknown": { + "Description": "Indicates that an unknown property was included in the request body.", + "Message": "The property %1 is not in the list of valid properties for the resource.", + "Severity": "Warning", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Remove the unknown property from the request body and resubmit the request if the operation failed." + }, + "PropertyValueTypeError": { + "Description": "Indicates that a property was given the wrong value type, such as when a number is supplied for a property that requires a string.", + "Message": "The value %1 for the property %2 is of a different type than the property can accept.", + "Severity": "Warning", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Correct the value for the property in the request body and resubmit the request if the operation failed." + }, + "PropertyValueFormatError": { + "Description": "Indicates that a property was given the correct value type but the value of that property was not supported.", + "Message": "The value %1 for the property %2 is of a different format than the property can accept.", + "Severity": "Warning", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Correct the value for the property in the request body and resubmit the request if the operation failed." + }, + "PropertyValueNotInList": { + "Description": "Indicates that a property was given the correct value type but the value of that property was not supported. This values not in an enumeration", + "Message": "The value %1 for the property %2 is not in the list of acceptable values.", + "Severity": "Warning", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Choose a value from the enumeration list that the implementation can support and resubmit the request if the operation failed." + }, + "PropertyNotWritable": { + "Description": "Indicates that a property was given a value in the request body, but the property is a readonly property.", + "Message": "The property %1 is a read only property and cannot be assigned a value.", + "Severity": "Warning", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Remove the property from the request body and resubmit the request if the operation failed." + }, + "PropertyMissing": { + "Description": "Indicates that a required property was not supplied as part of the request.", + "Message": "The property %1 is a required property and must be included in the request.", + "Severity": "Warning", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Ensure that the property is in the request body and has a valid value and resubmit the request if the operation failed." + }, + "MalformedJSON": { + "Description": "Indicates that the request body was malformed JSON. Could be duplicate, syntax error,etc.", + "Message": "The request body submitted was malformed JSON and could not be parsed by the receiving service.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Ensure that the request body is valid JSON and resubmit the request." + }, + "EmptyJSON": { + "Description": "Indicates that the request body contained an empty JSON object when one or more properties are expected in the body.", + "Message": "The request body submitted contained an empty JSON object and the service is unable to process it.", + "Severity": "Warning", + "NumberOfArgs": 0, + "Resolution": "Add properties in the JSON object and resubmit the request." + }, + "ActionNotSupported": { + "Description": "Indicates that the action supplied with the POST operation is not supported by the resource.", + "Message": "The action %1 is not supported by the resource.", + "Severity": "Critical", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "The action supplied cannot be resubmitted to the implementation. Perhaps the action was invalid, the wrong resource was the target or the implementation documentation may be of assistance." + }, + "ActionParameterMissing": { + "Description": "Indicates that the action requested was missing a parameter that is required to process the action.", + "Message": "The action %1 requires the parameter %2 to be present in the request body.", + "Severity": "Critical", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Supply the action with the required parameter in the request body when the request is resubmitted." + }, + "ActionParameterDuplicate": { + "Description": "Indicates that the action was supplied with a duplicated parameter in the request body.", + "Message": "The action %1 was submitted with more than one value for the parameter %2.", + "Severity": "Warning", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Resubmit the action with only one instance of the parameter in the request body if the operation failed." + }, + "ActionParameterUnknown": { + "Description": "Indicates that an action was submitted but a parameter supplied did not match any of the known parameters.", + "Message": "The action %1 was submitted with the invalid parameter %2.", + "Severity": "Warning", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Correct the invalid parameter and resubmit the request if the operation failed." + }, + "ActionParameterValueTypeError": { + "Description": "Indicates that a parameter was given the wrong value type, such as when a number is supplied for a parameter that requires a string.", + "Message": "The value %1 for the parameter %2 in the action %3 is of a different type than the parameter can accept.", + "Severity": "Warning", + "NumberOfArgs": 3, + "ParamTypes": [ + "string", + "string", + "string" + ], + "Resolution": "Correct the value for the parameter in the request body and resubmit the request if the operation failed." + }, + "ActionParameterValueFormatError": { + "Description": "Indicates that a parameter was given the correct value type but the value of that parameter was not supported. This includes value size/length exceeded.", + "Message": "The value %1 for the parameter %2 in the action %3 is of a different format than the parameter can accept.", + "Severity": "Warning", + "NumberOfArgs": 3, + "ParamTypes": [ + "string", + "string", + "string" + ], + "Resolution": "Correct the value for the parameter in the request body and resubmit the request if the operation failed." + }, + "ActionParameterNotSupported": { + "Description": "Indicates that the parameter supplied for the action is not supported on the resource.", + "Message": "The parameter %1 for the action %2 is not supported on the target resource.", + "Severity": "Warning", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Remove the parameter supplied and resubmit the request if the operation failed." + }, + "QueryParameterValueTypeError": { + "Description": "Indicates that a query parameter was given the wrong value type, such as when a number is supplied for a query parameter that requires a string.", + "Message": "The value %1 for the query parameter %2 is of a different type than the parameter can accept.", + "Severity": "Warning", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Correct the value for the query parameter in the request and resubmit the request if the operation failed." + }, + "QueryParameterValueFormatError": { + "Description": "Indicates that a query parameter was given the correct value type but the value of that parameter was not supported. This includes value size/length exceeded.", + "Message": "The value %1 for the parameter %2 is of a different format than the parameter can accept.", + "Severity": "Warning", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Correct the value for the query parameter in the request and resubmit the request if the operation failed." + }, + "QueryParameterOutOfRange": { + "Description": "Indicates that a query parameter was supplied that is out of range for the given resource. This can happen with values that are too low or beyond that possible for the supplied resource, such as when a page is requested that is beyond the last page.", + "Message": "The value %1 for the query parameter %2 is out of range %3.", + "Severity": "Warning", + "NumberOfArgs": 3, + "ParamTypes": [ + "string", + "string", + "string" + ], + "Resolution": "Reduce the value for the query parameter to a value that is within range, such as a start or count value that is within bounds of the number of resources in a collection or a page that is within the range of valid pages." + }, + "QueryNotSupportedOnResource": { + "Description": "Indicates that query is not supported on the given resource, such as when a start/count query is attempted on a resource that is not a collection.", + "Message": "Querying is not supported on the requested resource.", + "Severity": "Warning", + "NumberOfArgs": 0, + "Resolution": "Remove the query parameters and resubmit the request if the operation failed." + }, + "QueryNotSupported": { + "Description": "Indicates that query is not supported on the implementation.", + "Message": "Querying is not supported by the implementation.", + "Severity": "Warning", + "NumberOfArgs": 0, + "Resolution": "Remove the query parameters and resubmit the request if the operation failed." + }, + "SessionLimitExceeded": { + "Description": "Indicates that a session establishment has been requested but the operation failed due to the number of simultaneous sessions exceeding the limit of the implementation.", + "Message": "The session establishment failed due to the number of simultaneous sessions exceeding the limit of the implementation.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Reduce the number of other sessions before trying to establish the session or increase the limit of simultaneous sessions (if supported)." + }, + "EventSubscriptionLimitExceeded": { + "Description": "Indicates that a event subscription establishment has been requested but the operation failed due to the number of simultaneous connection exceeding the limit of the implementation.", + "Message": "The event subscription failed due to the number of simultaneous subscriptions exceeding the limit of the implementation.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Reduce the number of other subscriptions before trying to establish the event subscription or increase the limit of simultaneous subscriptions (if supported)." + }, + "ResourceCannotBeDeleted": { + "Description": "Indicates that a delete operation was attempted on a resource that cannot be deleted.", + "Message": "The delete request failed because the resource requested cannot be deleted.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Do not attempt to delete a non-deletable resource." + }, + "ResourceInUse": { + "Description": "Indicates that a change was requested to a resource but the change was rejected due to the resource being in use or transition.", + "Message": "The change to the requested resource failed because the resource is in use or in transition.", + "Severity": "Warning", + "NumberOfArgs": 0, + "Resolution": "Remove the condition and resubmit the request if the operation failed." + }, + "ResourceAlreadyExists": { + "Description": "Indicates that a resource change or creation was attempted but that the operation cannot proceed because the resource already exists.", + "Message": "The requested resource of type %1 with the property %2 with the value %3 already exists.", + "Severity": "Critical", + "NumberOfArgs": 3, + "ParamTypes": [ + "string", + "string", + "string" + ], + "Resolution": "Do not repeat the create operation as the resource has already been created." + }, + "ResourceNotFound": { + "Description": "Indicates that the operation expected a resource identifier that corresponds to an existing resource but one was not found.", + "Message": "The requested resource of type %1 named %2 was not found.", + "Severity": "Critical", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Provide a valid resource identifier and resubmit the request." + }, + "CreateFailedMissingReqProperties": { + "Description": "Indicates that a create was attempted on a resource but that properties that are required for the create operation were missing from the request.", + "Message": "The create operation failed because the required property %1 was missing from the request.", + "Severity": "Critical", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Correct the body to include the required property with a valid value and resubmit the request if the operation failed." + }, + "CreateLimitReachedForResource": { + "Description": "Indicates that no more resources can be created on the resource as it has reached its create limit.", + "Message": "The create operation failed because the resource has reached the limit of possible resources.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Either delete resources and resubmit the request if the operation failed or do not resubmit the request." + }, + "ServiceShuttingDown": { + "Description": "Indicates that the operation failed as the service is shutting down, such as when the service reboots.", + "Message": "The operation failed because the service is shutting down and can no longer take incoming requests.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "When the service becomes available, resubmit the request if the operation failed." + }, + "ServiceInUnknownState": { + "Description": "Indicates that the operation failed because the service is in an unknown state and cannot accept additional requests.", + "Message": "The operation failed because the service is in an unknown state and can no longer take incoming requests.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Restart the service and resubmit the request if the operation failed." + }, + "NoValidSession": { + "Description": "Indicates that the operation failed because a valid session is required in order to access any resources.", + "Message": "There is no valid session established with the implementation.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Establish as session before attempting any operations." + }, + "InsufficientPrivilege": { + "Description": "Indicates that the credentials associated with the established session do not have sufficient privileges for the requested operation", + "Message": "There are insufficient privileges for the account or credentials associated with the current session to perform the requested operation.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Either abandon the operation or change the associated access rights and resubmit the request if the operation failed." + }, + "AccountModified": { + "Description": "Indicates that the account was successfully modified.", + "Message": "The account was successfully modified.", + "Severity": "OK", + "NumberOfArgs": 0, + "Resolution": "No resolution is required." + }, + "AccountNotModified": { + "Description": "Indicates that the modification requested for the account was not successful.", + "Message": "The account modification request failed.", + "Severity": "Warning", + "NumberOfArgs": 0, + "Resolution": "The modification may have failed due to permission issues or issues with the request body." + }, + "AccountRemoved": { + "Description": "Indicates that the account was successfully removed.", + "Message": "The account was successfully removed.", + "Severity": "OK", + "NumberOfArgs": 0, + "Resolution": "No resolution is required." + }, + "AccountForSessionNoLongerExists": { + "Description": "Indicates that the account for the session has been removed, thus the session has been removed as well.", + "Message": "The account for the current session has been removed, thus the current session has been removed as well.", + "Severity": "OK", + "NumberOfArgs": 0, + "Resolution": "Attempt to connect with a valid account." + }, + "InvalidObject": { + "Description": "Indicates that the object in question is invalid according to the implementation. Examples include a firmware update malformed URI.", + "Message": "The object at %1 is invalid.", + "Severity": "Critical", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Either the object is malformed or the URI is not correct. Correct the condition and resubmit the request if it failed." + }, + "InternalError": { + "Description": "Indicates that the request failed for an unknown internal error but that the service is still operational.", + "Message": "The request failed due to an internal service error. The service is still operational.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Resubmit the request. If the problem persists, consider resetting the service." + }, + "UnrecognizedRequestBody": { + "Description": "Indicates that the service encountered an unrecognizable request body that could not even be interpreted as malformed JSON.", + "Message": "The service detected a malformed request body that it was unable to interpret.", + "Severity": "Warning", + "NumberOfArgs": 0, + "Resolution": "Correct the request body and resubmit the request if it failed." + }, + "ResourceMissingAtURI": { + "Description": "Indicates that the operation expected an image or other resource at the provided URI but none was found. Examples of this are in requests that require URIs like Firmware Update.", + "Message": "The resource at the URI %1 was not found.", + "Severity": "Critical", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Place a valid resource at the URI or correct the URI and resubmit the request." + }, + "ResourceAtUriInUnknownFormat": { + "Description": "Indicates that the URI was valid but the resource or image at that URI was in a format not supported by the service.", + "Message": "The resource at %1 is in a format not recognized by the service.", + "Severity": "Critical", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Place an image or resource or file that is recognized by the service at the URI." + }, + "ResourceAtUriUnauthorized": { + "Description": "Indicates that the attempt to access the resource/file/image at the URI was unauthorized.", + "Message": "While accessing the resource at %1, the service received an authorization error %2.", + "Severity": "Critical", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Ensure that the appropriate access is provided for the service in order for it to access the URI." + }, + "CouldNotEstablishConnection": { + "Description": "Indicates that the attempt to access the resource/file/image at the URI was unsuccessful because a session could not be established.", + "Message": "The service failed to establish a connection with the URI %1.", + "Severity": "Critical", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Ensure that the URI contains a valid and reachable node name, protocol information and other URI components." + }, + "SourceDoesNotSupportProtocol": { + "Description": "Indicates that while attempting to access, connect to or transfer a resource/file/image from another location that the other end of the connection did not support the protocol", + "Message": "The other end of the connection at %1 does not support the specified protocol %2.", + "Severity": "Critical", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Change protocols or URIs. " + }, + "AccessDenied": { + "Description": "Indicates that while attempting to access, connect to or transfer to/from another resource, the service denied access.", + "Message": "While attempting to establish a connection to %1, the service denied access.", + "Severity": "Critical", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Attempt to ensure that the URI is correct and that the service has the appropriate credentials." + }, + "ServiceTemporarilyUnavailable": { + "Description": "Indicates the service is temporarily unavailable.", + "Message": "The service is temporarily unavailable. Retry in %1 seconds.", + "Severity": "Critical", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Wait for the indicated retry duration and retry the operation." + }, + "InvalidIndex": { + "Description": "The Index is not valid.", + "Message": "The Index %1 is not a valid offset into the array.", + "Severity": "Warning", + "NumberOfArgs": 1, + "ParamTypes": [ + "number" + ], + "Resolution": "Verify the index value provided is within the bounds of the array." + }, + "PropertyValueModified": { + "Description": "Indicates that a property was given the correct value type but the value of that property was modified. Examples are truncated or rounded values.", + "Message": "The property %1 was assigned the value %2 due to modification by the service.", + "Severity": "Warning", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "No resolution is required." + }, + "ResourceInStandby": { + "Description": "Indicates that the request could not be performed because the resource is in standby.", + "Message": "The request could not be performed because the resource is in standby.", + "Severity": "Critical", + "NumberOfArgs": 0, + "Resolution": "Ensure that the resource is in the correct power state and resubmit the request." + }, + "ResourceExhaustion": { + "Description": "Indicates that a resource could not satisfy the request due to some unavailability of resources. An example is that available capacity has been allocated.", + "Message": "The resource %1 was unable to satisfy the request due to unavailability of resources.", + "Severity": "Critical", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Ensure that the resources are available and resubmit the request." + }, + "StringValueTooLong": { + "Description": "Indicates that a string value passed to the given resource exceeded its length limit. An example is when a shorter limit is imposed by an implementation than that allowed by the specification.", + "Message": "The string %1 exceeds the length limit %2.", + "Severity": "Warning", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "number" + ], + "Resolution": "Resubmit the request with an appropriate string length." + }, + "SessionTerminated": { + "Description": "Indicates that the DELETE operation on the Session resource resulted in the successful termination of the session.", + "Message": "The session was successfully terminated.", + "Severity": "OK", + "NumberOfArgs": 0, + "Resolution": "No resolution is required." + }, + "SubscriptionTerminated": { + "Description": "An event subscription has been terminated by the Service. No further events will be delivered.", + "Message": "The event subscription has been terminated.", + "Severity": "OK", + "NumberOfArgs": 0, + "Resolution": "No resolution is required." + }, + "ResourceTypeIncompatible": { + "Description": "Indicates that the resource type of the operation does not match that for the operation destination. Examples of when this can happen include during a POST to a collection using the wrong resource type, an update where the @odata.types do not match or on a major version incompatability.", + "Message": "The @odata.type of the request body %1 is incompatible with the @odata.type of the resource which is %2.", + "Severity": "Critical", + "NumberOfArgs": 2, + "ParamTypes": [ + "string", + "string" + ], + "Resolution": "Resubmit the request with a payload compatible with the resource's schema." + }, + "PasswordChangeRequired": { + "Description": "Indicates that the password for the account provided must be changed before accessing the service. The password can be changed with a PATCH to the 'Password' property in the ManagerAccount resource instance. Implementations that provide a default password for an account may require a password change prior to first access to the service.", + "Message": "The password provided for this account must be changed before access is granted. PATCH the 'Password' property for this account located at the target URI '%1' to complete this process.", + "Severity": "Critical", + "NumberOfArgs": 1, + "ParamTypes": [ + "string" + ], + "Resolution": "Change the password for this account using a PATCH to the 'Password' property at the URI provided." + } + }, + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Registries/Base.1.5.0/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Registries/Base.1.5.0/index.json new file mode 100644 index 00000000..e9ef0c72 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Registries/Base.1.5.0/index.json @@ -0,0 +1,19 @@ +{ + "@odata.type": "#MessageRegistryFile.v1_1_5.MessageRegistryFile", + "Id": "Base.1.5.0", + "Name": "Base Message Registry File", + "Description": "Base Message Registry File locations", + "Languages": [ + "en" + ], + "Registry": "Base.1.5.0", + "Location": [ + { + "Language": "en", + "PublicationUri": "https://redfish.contoso.org/registries/Base.1.5.0.json", + "Uri": "/redfish/v1/Registries/Base.1.5.0.json" + } + ], + "@odata.id": "/redfish/v1/Registries/Base.1.5.0", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Registries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Registries/index.json new file mode 100644 index 00000000..1b82fd5d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Registries/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#MessageRegistryFileCollection.MessageRegistryFileCollection", + "Name": "Registry File Collection", + "Description": "Registry Repository", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Registries/Base.1.5.0" + } + ], + "@odata.id": "/redfish/v1/Registries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/SessionService/Sessions/1234567890ABCDEF/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/SessionService/Sessions/1234567890ABCDEF/index.json new file mode 100644 index 00000000..90844a1b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/SessionService/Sessions/1234567890ABCDEF/index.json @@ -0,0 +1,9 @@ +{ + "@odata.type": "#Session.v1_9_0.Session", + "Id": "1234567890ABCDEF", + "Name": "User Session", + "Description": "Manager User Session", + "UserName": "Administrator", + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/SessionService/Sessions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/SessionService/Sessions/index.json new file mode 100644 index 00000000..8d8cdf58 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/SessionService/Sessions/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SessionCollection.SessionCollection", + "Name": "Session Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF" + } + ], + "@odata.id": "/redfish/v1/SessionService/Sessions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/SessionService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/SessionService/index.json new file mode 100644 index 00000000..62a05690 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/SessionService/index.json @@ -0,0 +1,17 @@ +{ + "@odata.type": "#SessionService.v1_2_0.SessionService", + "Id": "SessionService", + "Name": "Session Service", + "Description": "Session Service", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "SessionTimeout": 30, + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + }, + "@odata.id": "/redfish/v1/SessionService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Bios/Settings/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Bios/Settings/index.json new file mode 100644 index 00000000..152b40c2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Bios/Settings/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#Bios.v1_3_0.Bios", + "Id": "Settings", + "Name": "BIOS Configuration Pending Settings", + "AttributeRegistry": "BiosAttributeRegistryP89.v1_0_0", + "Attributes": { + "AdminPhone": "(404) 555-1212", + "BootMode": "Uefi", + "EmbeddedSata": "RAID", + "NicBoot1": "NetworkBoot", + "NicBoot2": "NetworkBoot", + "PowerProfile": "MaxPerf", + "ProcCoreDisable": 0, + "ProcHyperthreading": "Enabled", + "ProcTurboMode": "Disabled", + "UsbControl": "UsbEnabled" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Bios/Settings", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Bios/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Bios/index.json new file mode 100644 index 00000000..13a1f292 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Bios/index.json @@ -0,0 +1,45 @@ +{ + "@odata.type": "#Bios.v1_3_0.Bios", + "Id": "Bios", + "Name": "BIOS Configuration Current Settings", + "AttributeRegistry": "BiosAttributeRegistryP89.v1_0_0", + "Attributes": { + "AdminPhone": "", + "BootMode": "Uefi", + "EmbeddedSata": "Raid", + "NicBoot1": "NetworkBoot", + "NicBoot2": "Disabled", + "PowerProfile": "MaxPerf", + "ProcCoreDisable": 0, + "ProcHyperthreading": "Enabled", + "ProcTurboMode": "Enabled", + "UsbControl": "UsbEnabled" + }, + "ResetBiosToDefaultsPending": true, + "@Redfish.Settings": { + "@odata.type": "#Settings.v1_5_0.Settings", + "ETag": "9234ac83b9700123cc32", + "Messages": [ + { + "MessageId": "Base.1.0.SettingsFailed", + "RelatedProperties": [ + "/Attributes/ProcTurboMode" + ] + } + ], + "SettingsObject": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Bios/Settings" + }, + "Time": "2016-03-07T14:44.30-05:00" + }, + "Actions": { + "#Bios.ResetBios": { + "target": "/redfish/v1/Systems/437XR1238R2/Bios/Actions/Bios.ResetBios" + }, + "#Bios.ChangePassword": { + "target": "/redfish/v1/Systems/437XR1238R2/Bios/Actions/Bios.ChangePassword" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Bios", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/EthernetInterfaces/Network1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/EthernetInterfaces/Network1/index.json new file mode 100644 index 00000000..b0e7b11e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/EthernetInterfaces/Network1/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "Network1", + "Name": "Ethernet Interface", + "Description": "System NIC 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PermanentMACAddress": "FB:AA:1D:4E:D0:7A", + "MACAddress": "FB:AA:1D:4E:D0:7A", + "SpeedMbps": 10000, + "FullDuplex": true, + "HostName": "devrender2", + "FQDN": "devrender2.redfishspecification.org", + "NameServers": [ + "name1.redfishspecification.org", + "name2.redfishspecification.org" + ], + "IPv4Addresses": [ + { + "Address": "10.0.0.50", + "SubnetMask": "255.255.255.0", + "AddressOrigin": "DHCP", + "Gateway": "10.0.0.1" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/EthernetInterfaces/Network1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/EthernetInterfaces/Network2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/EthernetInterfaces/Network2/index.json new file mode 100644 index 00000000..39b20cad --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/EthernetInterfaces/Network2/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", + "Id": "Network2", + "Name": "Ethernet Interface", + "Description": "System NIC 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PermanentMACAddress": "FB:AA:1D:4E:D0:7C", + "MACAddress": "FB:AA:1D:4E:D0:7C", + "SpeedMbps": 10000, + "FullDuplex": true, + "HostName": "devrender2", + "FQDN": "devrender2.local", + "IPv6DefaultGateway": "fe80::3ed9:2bff:fe34:600", + "NameServers": [], + "IPv4Addresses": [ + { + "Address": "10.40.0.50", + "SubnetMask": "255.255.0.0", + "AddressOrigin": "DHCP", + "Gateway": "10.40.0.1" + } + ], + "IPv6Addresses": [ + { + "Address": "fe80::1ec1:deff:fe6f:1e24", + "PrefixLength": 64, + "AddressOrigin": "SLAAC", + "AddressState": "Preferred" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/EthernetInterfaces/Network2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/EthernetInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/EthernetInterfaces/index.json new file mode 100644 index 00000000..052c1fd6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/EthernetInterfaces/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection", + "Name": "Ethernet Interface Collection", + "Description": "Simple Network Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/EthernetInterfaces/Network1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/EthernetInterfaces/Network2" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/EthernetInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU1/Ports/DisplayPort1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU1/Ports/DisplayPort1/index.json new file mode 100644 index 00000000..e4546625 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU1/Ports/DisplayPort1/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "DisplayPort1", + "Name": "Display Port 1", + "Description": "Display Port 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "1", + "PortProtocol": "DisplayPort", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 21.6, + "Width": 4, + "MaxSpeedGbps": 32.4, + "CurrentProtocolVersion": "1.2", + "CapableProtocolVersions": [ + "1.0", + "1.1", + "1.1a", + "1.2", + "1.2a", + "1.3" + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/GraphicsControllers/GPU1/Ports/DisplayPort1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU1/Ports/DisplayPort2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU1/Ports/DisplayPort2/index.json new file mode 100644 index 00000000..1a84fe09 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU1/Ports/DisplayPort2/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "DisplayPort2", + "Name": "Display Port 2", + "Description": "Display Port 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "2", + "PortProtocol": "DisplayPort", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 0, + "Width": 4, + "MaxSpeedGbps": 32.4, + "CurrentProtocolVersion": null, + "CapableProtocolVersions": [ + "1.0", + "1.1", + "1.1a", + "1.2", + "1.2a", + "1.3" + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/GraphicsControllers/GPU1/Ports/DisplayPort2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU1/Ports/DisplayPort3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU1/Ports/DisplayPort3/index.json new file mode 100644 index 00000000..f9235fa7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU1/Ports/DisplayPort3/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "DisplayPort3", + "Name": "Display Port 3", + "Description": "Display Port 3", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "3", + "PortProtocol": "DisplayPort", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 0, + "Width": 4, + "MaxSpeedGbps": 32.4, + "CurrentProtocolVersion": null, + "CapableProtocolVersions": [ + "1.0", + "1.1", + "1.1a", + "1.2", + "1.2a", + "1.3" + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/GraphicsControllers/GPU1/Ports/DisplayPort3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU1/Ports/HDMI/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU1/Ports/HDMI/index.json new file mode 100644 index 00000000..adb05413 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU1/Ports/HDMI/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "HDMI", + "Name": "HDMI", + "Description": "HDMI", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "3", + "PortProtocol": "HDMI", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 10.2, + "Width": 3, + "MaxSpeedGbps": 18, + "CurrentProtocolVersion": "1.4", + "CapableProtocolVersions": [ + "1.0", + "1.1", + "1.2a", + "1.3", + "1.3a", + "1.4", + "1.4a", + "1.4b", + "2.0", + "2.0a" + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/GraphicsControllers/GPU1/Ports/HDMI", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU1/Ports/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU1/Ports/index.json new file mode 100644 index 00000000..d5314817 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU1/Ports/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "Port Collection", + "Description": "GPU Port Collection", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/GraphicsControllers/GPU1/Ports/DisplayPort1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/GraphicsControllers/GPU1/Ports/DisplayPort2" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/GraphicsControllers/GPU1/Ports/DisplayPort3" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/GraphicsControllers/GPU1/Ports/HDMI" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/GraphicsControllers/GPU1/Ports", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU1/index.json new file mode 100644 index 00000000..0ee97445 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU1/index.json @@ -0,0 +1,42 @@ +{ + "@odata.type": "#GraphicsController.v1_0_2.GraphicsController", + "Id": "GPU1", + "Name": "Contoso Graphics Controller 1", + "AssetTag": "", + "Manufacturer": "Contoso", + "Model": "GPU1", + "SKU": "80937", + "SerialNumber": "2M220100SL", + "PartNumber": "G37891", + "SparePartNumber": "G37890", + "BiosVersion": "90.02.17.00.7D", + "DriverVersion": "27.21.14.6079 (Contoso 460.79) DCH / Win 10 64", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Slot 1", + "LocationOrdinalValue": 1, + "LocationType": "Slot", + "Orientation": "LeftToRight", + "Reference": "Rear" + } + }, + "Ports": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/GraphicsControllers/GPU1/Ports" + }, + "Links": { + "Processors": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/GPU1" + } + ], + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/Tower/PCIeDevices/Slot1" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/GraphicsControllers/GPU1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU2/Ports/DisplayPort1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU2/Ports/DisplayPort1/index.json new file mode 100644 index 00000000..1810f070 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU2/Ports/DisplayPort1/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "DisplayPort1", + "Name": "Display Port 1", + "Description": "Display Port 1", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "1", + "PortProtocol": "DisplayPort", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 21.6, + "Width": 4, + "MaxSpeedGbps": 32.4, + "CurrentProtocolVersion": "1.2", + "CapableProtocolVersions": [ + "1.0", + "1.1", + "1.1a", + "1.2", + "1.2a", + "1.3" + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/GraphicsControllers/GPU2/Ports/DisplayPort1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU2/Ports/DisplayPort2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU2/Ports/DisplayPort2/index.json new file mode 100644 index 00000000..1f59fc4a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU2/Ports/DisplayPort2/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "DisplayPort2", + "Name": "Display Port 2", + "Description": "Display Port 2", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "2", + "PortProtocol": "DisplayPort", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 0, + "Width": 4, + "MaxSpeedGbps": 32.4, + "CurrentProtocolVersion": null, + "CapableProtocolVersions": [ + "1.0", + "1.1", + "1.1a", + "1.2", + "1.2a", + "1.3" + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/GraphicsControllers/GPU2/Ports/DisplayPort2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU2/Ports/DisplayPort3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU2/Ports/DisplayPort3/index.json new file mode 100644 index 00000000..6f3c3dec --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU2/Ports/DisplayPort3/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "DisplayPort3", + "Name": "Display Port 3", + "Description": "Display Port 3", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "3", + "PortProtocol": "DisplayPort", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 0, + "Width": 4, + "MaxSpeedGbps": 32.4, + "CurrentProtocolVersion": null, + "CapableProtocolVersions": [ + "1.0", + "1.1", + "1.1a", + "1.2", + "1.2a", + "1.3" + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/GraphicsControllers/GPU2/Ports/DisplayPort3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU2/Ports/HDMI/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU2/Ports/HDMI/index.json new file mode 100644 index 00000000..537951b9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU2/Ports/HDMI/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "HDMI", + "Name": "HDMI", + "Description": "HDMI", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "3", + "PortProtocol": "HDMI", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 10.2, + "Width": 3, + "MaxSpeedGbps": 18, + "CurrentProtocolVersion": "1.4", + "CapableProtocolVersions": [ + "1.0", + "1.1", + "1.2a", + "1.3", + "1.3a", + "1.4", + "1.4a", + "1.4b", + "2.0", + "2.0a" + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/GraphicsControllers/GPU2/Ports/HDMI", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU2/Ports/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU2/Ports/index.json new file mode 100644 index 00000000..8741e05c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU2/Ports/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "Port Collection", + "Description": "GPU Port Collection", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/GraphicsControllers/GPU2/Ports/DisplayPort1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/GraphicsControllers/GPU2/Ports/DisplayPort2" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/GraphicsControllers/GPU2/Ports/DisplayPort3" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/GraphicsControllers/GPU2/Ports/HDMI" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/GraphicsControllers/GPU2/Ports", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU2/index.json new file mode 100644 index 00000000..d8b80de9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/GPU2/index.json @@ -0,0 +1,42 @@ +{ + "@odata.type": "#GraphicsController.v1_0_2.GraphicsController", + "Id": "GPU2", + "Name": "Contoso Graphics Controller 2", + "AssetTag": "", + "Manufacturer": "Contoso", + "Model": "GPU2", + "SKU": "80937", + "SerialNumber": "2M220100SL", + "PartNumber": "G37891", + "SparePartNumber": "G37890", + "BiosVersion": "90.02.17.00.7D", + "DriverVersion": "27.21.14.6079 (Contoso 460.79) DCH / Win 10 64", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Slot 1", + "LocationOrdinalValue": 1, + "LocationType": "Slot", + "Orientation": "LeftToRight", + "Reference": "Rear" + } + }, + "Ports": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/GraphicsControllers/GPU2/Ports" + }, + "Links": { + "Processors": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/GPU2" + } + ], + "PCIeDevice": { + "@odata.id": "/redfish/v1/Chassis/Tower/PCIeDevices/Slot2" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/GraphicsControllers/GPU2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/index.json new file mode 100644 index 00000000..42fb1dbb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/GraphicsControllers/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#GraphicsControllerCollection.GraphicsControllerCollection", + "Name": "GraphicsControllers", + "Description": "Redfish Graphics Controllers", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/GraphicsControllers/GPU1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/GraphicsControllers/GPU2" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/GraphicsControllers", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/LogServices/Log1/Entries/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/LogServices/Log1/Entries/1/index.json new file mode 100644 index 00000000..4b42d5d3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/LogServices/Log1/Entries/1/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "SEL", + "Severity": "Critical", + "Created": "2012-03-07T14:44:00Z", + "EntryCode": "Upper Critical - going high", + "SensorType": "Temperature", + "SensorNumber": 1, + "Message": "Temperature threshold exceeded", + "MessageId": "0x592A28", + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/Tower/Thermal" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/LogServices/Log1/Entries/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/LogServices/Log1/Entries/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/LogServices/Log1/Entries/2/index.json new file mode 100644 index 00000000..62e6c114 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/LogServices/Log1/Entries/2/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "2", + "Name": "Log Entry 2", + "EntryType": "SEL", + "Severity": "Critical", + "Created": "2012-03-07T14:45:00Z", + "EntryCode": "Upper Critical - going high", + "SensorType": "Temperature", + "SensorNumber": 2, + "Message": "Temperature threshold exceeded", + "MessageId": "0x592E28", + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/Tower/Thermal" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/LogServices/Log1/Entries/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/LogServices/Log1/Entries/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/LogServices/Log1/Entries/index.json new file mode 100644 index 00000000..6d1ee23b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/LogServices/Log1/Entries/index.json @@ -0,0 +1,49 @@ +{ + "@odata.type": "#LogEntryCollection.LogEntryCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/LogServices/Log1/Entries/1", + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "1", + "Name": "Log Entry 1", + "EntryType": "SEL", + "Severity": "Critical", + "Created": "2012-03-07T14:44:00Z", + "EntryCode": "Upper Critical - going high", + "SensorType": "Temperature", + "SensorNumber": 1, + "Message": "Temperature threshold exceeded", + "MessageId": "0x592A28", + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/Tower/Thermal" + } + } + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/LogServices/Log1/Entries/2", + "@odata.type": "#LogEntry.v1_22_0.LogEntry", + "Id": "2", + "Name": "Log Entry 2", + "EntryType": "SEL", + "Severity": "Critical", + "Created": "2012-03-07T14:45:00Z", + "EntryCode": "Upper Critical - going high", + "SensorType": "Temperature", + "SensorNumber": 2, + "Message": "Temperature threshold exceeded", + "MessageId": "0x592E28", + "Links": { + "OriginOfCondition": { + "@odata.id": "/redfish/v1/Chassis/Tower/Thermal" + } + } + } + ], + "@odata.nextLink": "/redfish/v1/Systems/437XR1238R2/LogServices/Log1/Entries?$skiptoken=2", + "@odata.id": "/redfish/v1/Systems/437XR1238R2/LogServices/Log1/Entries", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/LogServices/Log1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/LogServices/Log1/index.json new file mode 100644 index 00000000..24cd4557 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/LogServices/Log1/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#LogService.v1_9_0.LogService", + "Id": "Log1", + "Name": "System Log Service", + "MaxNumberOfRecords": 1000, + "OverWritePolicy": "WrapsWhenFull", + "DateTime": "2015-03-13T04:14:33+06:00", + "DateTimeLocalOffset": "+06:00", + "ServiceEnabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Actions": { + "#LogService.ClearLog": { + "target": "/redfish/v1/Systems/437XR1238R2/LogServices/Log1/Actions/LogService.ClearLog" + } + }, + "Entries": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/LogServices/Log1/Entries" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/LogServices/Log1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/LogServices/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/LogServices/index.json new file mode 100644 index 00000000..6dc22f40 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/LogServices/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#LogServiceCollection.LogServiceCollection", + "Name": "Log Service Collection", + "Description": "Collection of Logs for this System", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/LogServices/Log1" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/LogServices", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM1/index.json new file mode 100644 index 00000000..c4e0721f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM1/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Name": "Regular Memory", + "Id": "DIMM1", + "RankCount": 1, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 131072, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Socket 1_A", + "LocationType": "Socket", + "LocationOrdinalValue": 0 + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Memory/DIMM1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM10/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM10/index.json new file mode 100644 index 00000000..32ff0a5e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM10/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Name": "Regular Memory", + "Id": "DIMM10", + "RankCount": 1, + "MaxTDPMilliWatts": [], + "CapacityMiB": 0, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 9, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Absent", + "Health": "OK" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Socket 2_B", + "LocationType": "Socket", + "LocationOrdinalValue": 0 + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Memory/DIMM10", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM11/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM11/index.json new file mode 100644 index 00000000..1a74cd4e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM11/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Name": "Regular Memory", + "Id": "DIMM11", + "RankCount": 1, + "MaxTDPMilliWatts": [], + "CapacityMiB": 0, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 9, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Absent", + "Health": "OK" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Socket 3_B", + "LocationType": "Socket", + "LocationOrdinalValue": 0 + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Memory/DIMM11", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM12/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM12/index.json new file mode 100644 index 00000000..49165a65 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM12/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Name": "Regular Memory", + "Id": "DIMM12", + "RankCount": 1, + "MaxTDPMilliWatts": [], + "CapacityMiB": 0, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 9, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Absent", + "Health": "OK" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Socket 4_B", + "LocationType": "Socket", + "LocationOrdinalValue": 0 + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Memory/DIMM12", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM13/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM13/index.json new file mode 100644 index 00000000..a79e1cf7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM13/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Name": "Regular Memory", + "Id": "DIMM13", + "RankCount": 1, + "MaxTDPMilliWatts": [], + "CapacityMiB": 0, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 9, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Absent", + "Health": "OK" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Socket 5_B", + "LocationType": "Socket", + "LocationOrdinalValue": 0 + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Memory/DIMM13", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM14/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM14/index.json new file mode 100644 index 00000000..852394c9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM14/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Name": "Regular Memory", + "Id": "DIMM14", + "RankCount": 1, + "MaxTDPMilliWatts": [], + "CapacityMiB": 0, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 9, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Absent", + "Health": "OK" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Socket 6_B", + "LocationType": "Socket", + "LocationOrdinalValue": 0 + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Memory/DIMM14", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM15/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM15/index.json new file mode 100644 index 00000000..d63964be --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM15/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Name": "Regular Memory", + "Id": "DIMM15", + "RankCount": 1, + "MaxTDPMilliWatts": [], + "CapacityMiB": 0, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 9, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Absent", + "Health": "OK" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Socket 7_B", + "LocationType": "Socket", + "LocationOrdinalValue": 0 + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Memory/DIMM15", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM16/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM16/index.json new file mode 100644 index 00000000..fc8ca04a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM16/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Name": "Regular Memory", + "Id": "DIMM16", + "RankCount": 1, + "MaxTDPMilliWatts": [], + "CapacityMiB": 0, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 9, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Absent", + "Health": "OK" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Socket 8_B", + "LocationType": "Socket", + "LocationOrdinalValue": 0 + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Memory/DIMM16", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM2/index.json new file mode 100644 index 00000000..e2b708c0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM2/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Name": "Regular Memory", + "Id": "DIMM2", + "RankCount": 1, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 131072, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Socket 2_A", + "LocationType": "Socket", + "LocationOrdinalValue": 0 + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Memory/DIMM2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM3/index.json new file mode 100644 index 00000000..4ecf68ab --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM3/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Name": "Regular Memory", + "Id": "DIMM3", + "RankCount": 1, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 131072, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Socket 3_A", + "LocationType": "Socket", + "LocationOrdinalValue": 0 + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Memory/DIMM3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM4/index.json new file mode 100644 index 00000000..9b111990 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM4/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Name": "Regular Memory", + "Id": "DIMM4", + "RankCount": 1, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 131072, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Socket 4_A", + "LocationType": "Socket", + "LocationOrdinalValue": 0 + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Memory/DIMM4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM5/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM5/index.json new file mode 100644 index 00000000..08f0fa3e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM5/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Name": "Regular Memory", + "Id": "DIMM5", + "RankCount": 1, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 131072, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Socket 5_A", + "LocationType": "Socket", + "LocationOrdinalValue": 0 + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Memory/DIMM5", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM6/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM6/index.json new file mode 100644 index 00000000..592be307 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM6/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Name": "Regular Memory", + "Id": "DIMM6", + "RankCount": 1, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 131072, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Socket 6_A", + "LocationType": "Socket", + "LocationOrdinalValue": 0 + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Memory/DIMM6", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM7/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM7/index.json new file mode 100644 index 00000000..86644034 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM7/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Name": "Regular Memory", + "Id": "DIMM7", + "RankCount": 1, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 131072, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Socket 7_A", + "LocationType": "Socket", + "LocationOrdinalValue": 0 + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Memory/DIMM7", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM8/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM8/index.json new file mode 100644 index 00000000..6635d0e9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM8/index.json @@ -0,0 +1,38 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Name": "Regular Memory", + "Id": "DIMM8", + "RankCount": 1, + "MaxTDPMilliWatts": [ + 12000 + ], + "CapacityMiB": 131072, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 1, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Socket 8_A", + "LocationType": "Socket", + "LocationOrdinalValue": 0 + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Memory/DIMM8", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM9/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM9/index.json new file mode 100644 index 00000000..d9f5a064 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/DIMM9/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Memory.v1_24_0.Memory", + "Name": "Regular Memory", + "Id": "DIMM9", + "RankCount": 1, + "MaxTDPMilliWatts": [], + "CapacityMiB": 0, + "DataWidthBits": 64, + "BusWidthBits": 72, + "ErrorCorrection": "MultiBitECC", + "MemoryLocation": { + "Socket": 9, + "MemoryController": 1, + "Channel": 1, + "Slot": 1 + }, + "MemoryType": "DRAM", + "MemoryDeviceType": "DDR4", + "BaseModuleType": "RDIMM", + "MemoryMedia": [ + "DRAM" + ], + "Status": { + "State": "Absent", + "Health": "OK" + }, + "Location": { + "PartLocation": { + "ServiceLabel": "Socket 1_B", + "LocationType": "Socket", + "LocationOrdinalValue": 0 + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Memory/DIMM9", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/index.json new file mode 100644 index 00000000..37da82d1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Memory/index.json @@ -0,0 +1,57 @@ +{ + "@odata.type": "#MemoryCollection.MemoryCollection", + "Name": "Memory Module Collection", + "Members@odata.count": 16, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Memory/DIMM1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Memory/DIMM2" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Memory/DIMM3" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Memory/DIMM4" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Memory/DIMM5" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Memory/DIMM6" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Memory/DIMM7" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Memory/DIMM8" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Memory/DIMM9" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Memory/DIMM10" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Memory/DIMM11" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Memory/DIMM12" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Memory/DIMM13" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Memory/DIMM14" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Memory/DIMM15" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Memory/DIMM16" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Memory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/NetworkInterfaces/NIC1/NetworkDeviceFunctions/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/NetworkInterfaces/NIC1/NetworkDeviceFunctions/index.json new file mode 100644 index 00000000..6445c785 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/NetworkInterfaces/NIC1/NetworkDeviceFunctions/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#NetworkDeviceFunctionCollection.NetworkDeviceFunctionCollection", + "Name": "Network Device Function Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/NetworkAdapters/NIC1/NetworkDeviceFunctions/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/NetworkAdapters/NIC1/NetworkDeviceFunctions/2" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/NetworkInterfaces/NIC1/NetworkDeviceFunctions", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/NetworkInterfaces/NIC1/Ports/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/NetworkInterfaces/NIC1/Ports/index.json new file mode 100644 index 00000000..52d4789c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/NetworkInterfaces/NIC1/Ports/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "Port Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/NetworkAdapters/NIC1/Ports/1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/NetworkAdapters/NIC1/Ports/2" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/NetworkInterfaces/NIC1/Ports", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/NetworkInterfaces/NIC1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/NetworkInterfaces/NIC1/index.json new file mode 100644 index 00000000..3b046681 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/NetworkInterfaces/NIC1/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#NetworkInterface.v1_2_3.NetworkInterface", + "Id": "NIC1", + "Name": "Network Device", + "Ports": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/NetworkInterfaces/NIC1/Ports" + }, + "NetworkDeviceFunctions": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/NetworkInterfaces/NIC1/NetworkDeviceFunctions" + }, + "Links": { + "NetworkAdapter": { + "@odata.id": "/redfish/v1/Chassis/Tower/NetworkAdapters/NIC1" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/NetworkInterfaces/NIC1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/NetworkInterfaces/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/NetworkInterfaces/index.json new file mode 100644 index 00000000..6514c108 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/NetworkInterfaces/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#NetworkInterfaceCollection.NetworkInterfaceCollection", + "Name": "Network Interface Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/NetworkInterfaces/NIC1" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/NetworkInterfaces", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/EnvironmentMetrics/index.json new file mode 100644 index 00000000..533eba93 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/EnvironmentMetrics/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Processor Environment Metrics", + "TemperatureCelsius": { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/CPU1Temp", + "Reading": 44 + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/CPU1Power", + "Reading": 12.87 + }, + "FanSpeedsPercent": [ + { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/CPUFan1", + "DeviceName": "CPU #1 Fan Speed", + "Reading": 80 + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core1-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core1-Thread/index.json new file mode 100644 index 00000000..b52b589f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core1-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core1-Thread", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core1-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core1/index.json new file mode 100644 index 00000000..399997a7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core1/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core1", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core10-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core10-Thread/index.json new file mode 100644 index 00000000..c61fb0c8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core10-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core10-Thread", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core10-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core10/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core10/index.json new file mode 100644 index 00000000..266dde49 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core10/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core10", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core10", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core11-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core11-Thread/index.json new file mode 100644 index 00000000..7ac4e588 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core11-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core11-Thread", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core11-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core11/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core11/index.json new file mode 100644 index 00000000..b137bd75 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core11/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core11", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core11", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core12-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core12-Thread/index.json new file mode 100644 index 00000000..110f791d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core12-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core12-Thread", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core12-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core12/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core12/index.json new file mode 100644 index 00000000..29b90183 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core12/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core12", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core12", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core13-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core13-Thread/index.json new file mode 100644 index 00000000..1f692af6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core13-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core13-Thread", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core13-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core13/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core13/index.json new file mode 100644 index 00000000..dee62336 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core13/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core13", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core13", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core14-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core14-Thread/index.json new file mode 100644 index 00000000..1c52978a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core14-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core14-Thread", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core14-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core14/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core14/index.json new file mode 100644 index 00000000..85741ac9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core14/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core14", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core14", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core15-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core15-Thread/index.json new file mode 100644 index 00000000..0eb46250 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core15-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core15-Thread", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core15-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core15/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core15/index.json new file mode 100644 index 00000000..3ddb026f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core15/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core15", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core15", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core16-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core16-Thread/index.json new file mode 100644 index 00000000..8ccffcdc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core16-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core16-Thread", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core16-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core16/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core16/index.json new file mode 100644 index 00000000..1f84d845 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core16/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core16", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core16", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core2-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core2-Thread/index.json new file mode 100644 index 00000000..d7a7cb1f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core2-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core2-Thread", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core2-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core2/index.json new file mode 100644 index 00000000..2ce63431 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core2/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core2", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core3-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core3-Thread/index.json new file mode 100644 index 00000000..34ed413e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core3-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core3-Thread", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core3-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core3/index.json new file mode 100644 index 00000000..12c4e23f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core3/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core3", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core4-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core4-Thread/index.json new file mode 100644 index 00000000..1e931ed3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core4-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core4-Thread", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core4-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core4/index.json new file mode 100644 index 00000000..9d534ea8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core4/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core4", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core5-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core5-Thread/index.json new file mode 100644 index 00000000..7cb4a30c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core5-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core5-Thread", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core5-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core5/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core5/index.json new file mode 100644 index 00000000..84b0386c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core5/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core5", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core5", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core6-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core6-Thread/index.json new file mode 100644 index 00000000..839b3dbc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core6-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core6-Thread", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core6-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core6/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core6/index.json new file mode 100644 index 00000000..0526c545 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core6/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core6", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core6", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core7-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core7-Thread/index.json new file mode 100644 index 00000000..9e1eab9d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core7-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core7-Thread", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core7-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core7/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core7/index.json new file mode 100644 index 00000000..799b4e84 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core7/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core7", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core7", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core8-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core8-Thread/index.json new file mode 100644 index 00000000..37fcd097 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core8-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core8-Thread", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core8-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core8/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core8/index.json new file mode 100644 index 00000000..e544612b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core8/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core8", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core8", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core9-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core9-Thread/index.json new file mode 100644 index 00000000..ab8a5b9f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core9-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core9-Thread", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core9-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core9/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core9/index.json new file mode 100644 index 00000000..bae0b4ad --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core9/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core9", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core9", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/index.json new file mode 100644 index 00000000..77cc5806 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/SubProcessors/index.json @@ -0,0 +1,105 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "SubProcessors Collection", + "Members@odata.count": 32, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core1-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core2" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core2-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core3" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core3-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core4" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core4-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core5" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core5-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core6" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core6-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core7" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core7-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core8" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core8-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core9" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core9-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core10" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core10-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core11" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core11-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core12" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core12-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core13" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core13-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core14" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core14-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core15" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core15-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core16" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors/Core16-Thread" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/index.json new file mode 100644 index 00000000..39432ec0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU1/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU1", + "Name": "Processor", + "Socket": "CPU 1", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "TotalCores": 16, + "TotalThreads": 32, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/EnvironmentMetrics" + }, + "SubProcessors": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1/SubProcessors" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/EnvironmentMetrics/index.json new file mode 100644 index 00000000..0bd099cb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/EnvironmentMetrics/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Processor Environment Metrics", + "TemperatureCelsius": { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/CPU2Temp", + "Reading": 44 + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/CPU2Power", + "Reading": 12.87 + }, + "FanSpeedsPercent": [ + { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/CPUFan1", + "DeviceName": "CPU #1 Fan Speed", + "Reading": 80 + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core1-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core1-Thread/index.json new file mode 100644 index 00000000..9703f0b6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core1-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core1-Thread", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core1-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core1/index.json new file mode 100644 index 00000000..c8109ae1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core1/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core1", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core10-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core10-Thread/index.json new file mode 100644 index 00000000..9fdff229 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core10-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core10-Thread", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core10-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core10/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core10/index.json new file mode 100644 index 00000000..bf3dd38a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core10/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core10", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core10", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core11-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core11-Thread/index.json new file mode 100644 index 00000000..d02ee68a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core11-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core11-Thread", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core11-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core11/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core11/index.json new file mode 100644 index 00000000..af3989f9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core11/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core11", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core11", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core12-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core12-Thread/index.json new file mode 100644 index 00000000..126898f2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core12-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core12-Thread", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core12-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core12/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core12/index.json new file mode 100644 index 00000000..78bad873 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core12/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core12", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core12", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core13-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core13-Thread/index.json new file mode 100644 index 00000000..e09d0ce6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core13-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core13-Thread", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core13-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core13/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core13/index.json new file mode 100644 index 00000000..3e20547e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core13/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core13", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core13", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core14-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core14-Thread/index.json new file mode 100644 index 00000000..a3600df0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core14-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core14-Thread", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core14-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core14/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core14/index.json new file mode 100644 index 00000000..9231c62f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core14/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core14", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core14", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core15-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core15-Thread/index.json new file mode 100644 index 00000000..ccfd3b5d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core15-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core15-Thread", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core15-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core15/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core15/index.json new file mode 100644 index 00000000..4d83d9b2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core15/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core15", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core15", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core16-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core16-Thread/index.json new file mode 100644 index 00000000..fadb3873 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core16-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core16-Thread", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core16-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core16/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core16/index.json new file mode 100644 index 00000000..ffb0a96b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core16/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core16", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core16", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core2-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core2-Thread/index.json new file mode 100644 index 00000000..96e17880 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core2-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core2-Thread", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core2-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core2/index.json new file mode 100644 index 00000000..d0d6d9a5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core2/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core2", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core3-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core3-Thread/index.json new file mode 100644 index 00000000..5a3086e0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core3-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core3-Thread", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core3-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core3/index.json new file mode 100644 index 00000000..3ed3dbaf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core3/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core3", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core4-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core4-Thread/index.json new file mode 100644 index 00000000..09ffb613 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core4-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core4-Thread", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core4-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core4/index.json new file mode 100644 index 00000000..825af13b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core4/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core4", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core5-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core5-Thread/index.json new file mode 100644 index 00000000..33d5145b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core5-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core5-Thread", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core5-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core5/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core5/index.json new file mode 100644 index 00000000..3e642bd5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core5/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core5", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core5", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core6-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core6-Thread/index.json new file mode 100644 index 00000000..ad16fe8b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core6-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core6-Thread", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core6-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core6/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core6/index.json new file mode 100644 index 00000000..d13c1755 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core6/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core6", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core6", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core7-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core7-Thread/index.json new file mode 100644 index 00000000..09734e18 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core7-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core7-Thread", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core7-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core7/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core7/index.json new file mode 100644 index 00000000..f4f2bac8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core7/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core7", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core7", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core8-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core8-Thread/index.json new file mode 100644 index 00000000..67e1c5d4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core8-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core8-Thread", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core8-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core8/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core8/index.json new file mode 100644 index 00000000..6ebc7263 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core8/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core8", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core8", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core9-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core9-Thread/index.json new file mode 100644 index 00000000..2a66fdc8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core9-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core9-Thread", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core9-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core9/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core9/index.json new file mode 100644 index 00000000..cceb7c0b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core9/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core9", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core9", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/index.json new file mode 100644 index 00000000..df512101 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/SubProcessors/index.json @@ -0,0 +1,105 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "SubProcessors Collection", + "Members@odata.count": 32, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core1-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core2" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core2-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core3" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core3-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core4" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core4-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core5" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core5-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core6" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core6-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core7" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core7-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core8" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core8-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core9" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core9-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core10" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core10-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core11" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core11-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core12" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core12-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core13" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core13-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core14" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core14-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core15" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core15-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core16" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors/Core16-Thread" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/index.json new file mode 100644 index 00000000..99324710 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU2/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU2", + "Name": "Processor", + "Socket": "CPU 2", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "TotalCores": 16, + "TotalThreads": 32, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/EnvironmentMetrics" + }, + "SubProcessors": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2/SubProcessors" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/EnvironmentMetrics/index.json new file mode 100644 index 00000000..d51da2f5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/EnvironmentMetrics/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Processor Environment Metrics", + "TemperatureCelsius": { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/CPU3Temp", + "Reading": 44 + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/CPU3Power", + "Reading": 12.87 + }, + "FanSpeedsPercent": [ + { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/CPUFan1", + "DeviceName": "CPU #1 Fan Speed", + "Reading": 80 + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core1-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core1-Thread/index.json new file mode 100644 index 00000000..294acaa6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core1-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core1-Thread", + "Name": "Processor", + "Socket": "CPU 3", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core1-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core1/index.json new file mode 100644 index 00000000..378d414e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core1/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core1", + "Name": "Processor", + "Socket": "CPU 3", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core10-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core10-Thread/index.json new file mode 100644 index 00000000..97e474b0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core10-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core10-Thread", + "Name": "Processor", + "Socket": "CPU 3", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core10-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core10/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core10/index.json new file mode 100644 index 00000000..0d9fbb5b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core10/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core10", + "Name": "Processor", + "Socket": "CPU 3", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core10", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core11-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core11-Thread/index.json new file mode 100644 index 00000000..a363b248 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core11-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core11-Thread", + "Name": "Processor", + "Socket": "CPU 3", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core11-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core11/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core11/index.json new file mode 100644 index 00000000..6d6eb53d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core11/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core11", + "Name": "Processor", + "Socket": "CPU 3", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core11", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core12-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core12-Thread/index.json new file mode 100644 index 00000000..bbf82e42 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core12-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core12-Thread", + "Name": "Processor", + "Socket": "CPU 3", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core12-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core12/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core12/index.json new file mode 100644 index 00000000..1de8a69f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core12/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core12", + "Name": "Processor", + "Socket": "CPU 3", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core12", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core13-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core13-Thread/index.json new file mode 100644 index 00000000..ca8ada6b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core13-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core13-Thread", + "Name": "Processor", + "Socket": "CPU 3", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core13-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core13/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core13/index.json new file mode 100644 index 00000000..4fcf0f59 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core13/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core13", + "Name": "Processor", + "Socket": "CPU 3", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core13", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core14-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core14-Thread/index.json new file mode 100644 index 00000000..4b31cbd3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core14-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core14-Thread", + "Name": "Processor", + "Socket": "CPU 3", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core14-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core14/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core14/index.json new file mode 100644 index 00000000..f187b0e6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core14/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core14", + "Name": "Processor", + "Socket": "CPU 3", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core14", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core15-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core15-Thread/index.json new file mode 100644 index 00000000..9fe97851 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core15-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core15-Thread", + "Name": "Processor", + "Socket": "CPU 3", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core15-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core15/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core15/index.json new file mode 100644 index 00000000..0a20b015 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core15/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core15", + "Name": "Processor", + "Socket": "CPU 3", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core15", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core16-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core16-Thread/index.json new file mode 100644 index 00000000..f5282ab5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core16-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core16-Thread", + "Name": "Processor", + "Socket": "CPU 3", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core16-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core16/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core16/index.json new file mode 100644 index 00000000..e8c08657 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core16/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core16", + "Name": "Processor", + "Socket": "CPU 3", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core16", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core2-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core2-Thread/index.json new file mode 100644 index 00000000..1392efac --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core2-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core2-Thread", + "Name": "Processor", + "Socket": "CPU 3", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core2-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core2/index.json new file mode 100644 index 00000000..b25a9d99 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core2/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core2", + "Name": "Processor", + "Socket": "CPU 3", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core3-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core3-Thread/index.json new file mode 100644 index 00000000..8990b2b0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core3-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core3-Thread", + "Name": "Processor", + "Socket": "CPU 3", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core3-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core3/index.json new file mode 100644 index 00000000..dbc8e4ea --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core3/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core3", + "Name": "Processor", + "Socket": "CPU 3", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core4-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core4-Thread/index.json new file mode 100644 index 00000000..ba2e816a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core4-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core4-Thread", + "Name": "Processor", + "Socket": "CPU 3", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core4-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core4/index.json new file mode 100644 index 00000000..4852694b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core4/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core4", + "Name": "Processor", + "Socket": "CPU 3", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core5-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core5-Thread/index.json new file mode 100644 index 00000000..5a6abb31 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core5-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core5-Thread", + "Name": "Processor", + "Socket": "CPU 3", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core5-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core5/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core5/index.json new file mode 100644 index 00000000..807b6e22 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core5/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core5", + "Name": "Processor", + "Socket": "CPU 3", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core5", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core6-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core6-Thread/index.json new file mode 100644 index 00000000..31e1c7c8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core6-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core6-Thread", + "Name": "Processor", + "Socket": "CPU 3", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core6-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core6/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core6/index.json new file mode 100644 index 00000000..540835f8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core6/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core6", + "Name": "Processor", + "Socket": "CPU 3", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core6", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core7-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core7-Thread/index.json new file mode 100644 index 00000000..17f40364 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core7-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core7-Thread", + "Name": "Processor", + "Socket": "CPU 3", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core7-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core7/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core7/index.json new file mode 100644 index 00000000..aba62264 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core7/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core7", + "Name": "Processor", + "Socket": "CPU 3", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core7", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core8-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core8-Thread/index.json new file mode 100644 index 00000000..1d0548bd --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core8-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core8-Thread", + "Name": "Processor", + "Socket": "CPU 3", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core8-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core8/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core8/index.json new file mode 100644 index 00000000..38677654 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core8/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core8", + "Name": "Processor", + "Socket": "CPU 3", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core8", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core9-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core9-Thread/index.json new file mode 100644 index 00000000..8a6e1859 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core9-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core9-Thread", + "Name": "Processor", + "Socket": "CPU 3", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core9-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core9/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core9/index.json new file mode 100644 index 00000000..b9ef1acb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core9/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core9", + "Name": "Processor", + "Socket": "CPU 3", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core9", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/index.json new file mode 100644 index 00000000..b068a799 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/SubProcessors/index.json @@ -0,0 +1,105 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "SubProcessors Collection", + "Members@odata.count": 32, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core1-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core2" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core2-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core3" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core3-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core4" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core4-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core5" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core5-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core6" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core6-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core7" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core7-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core8" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core8-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core9" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core9-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core10" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core10-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core11" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core11-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core12" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core12-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core13" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core13-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core14" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core14-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core15" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core15-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core16" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors/Core16-Thread" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/index.json new file mode 100644 index 00000000..cd1759ad --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU3/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU3", + "Name": "Processor", + "Socket": "CPU 3", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "TotalCores": 16, + "TotalThreads": 32, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/EnvironmentMetrics" + }, + "SubProcessors": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3/SubProcessors" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/EnvironmentMetrics/index.json new file mode 100644 index 00000000..082799f1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/EnvironmentMetrics/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Processor Environment Metrics", + "TemperatureCelsius": { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/CPU4Temp", + "Reading": 44 + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/CPU4Power", + "Reading": 12.87 + }, + "FanSpeedsPercent": [ + { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/CPUFan1", + "DeviceName": "CPU #1 Fan Speed", + "Reading": 80 + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core1-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core1-Thread/index.json new file mode 100644 index 00000000..60255324 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core1-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core1-Thread", + "Name": "Processor", + "Socket": "CPU 4", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core1-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core1/index.json new file mode 100644 index 00000000..752c9187 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core1/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core1", + "Name": "Processor", + "Socket": "CPU 4", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core10-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core10-Thread/index.json new file mode 100644 index 00000000..52b7ac0c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core10-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core10-Thread", + "Name": "Processor", + "Socket": "CPU 4", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core10-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core10/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core10/index.json new file mode 100644 index 00000000..bd256c7e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core10/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core10", + "Name": "Processor", + "Socket": "CPU 4", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core10", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core11-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core11-Thread/index.json new file mode 100644 index 00000000..7ff94bf0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core11-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core11-Thread", + "Name": "Processor", + "Socket": "CPU 4", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core11-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core11/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core11/index.json new file mode 100644 index 00000000..745d8192 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core11/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core11", + "Name": "Processor", + "Socket": "CPU 4", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core11", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core12-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core12-Thread/index.json new file mode 100644 index 00000000..190029ac --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core12-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core12-Thread", + "Name": "Processor", + "Socket": "CPU 4", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core12-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core12/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core12/index.json new file mode 100644 index 00000000..3b7c8bc8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core12/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core12", + "Name": "Processor", + "Socket": "CPU 4", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core12", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core13-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core13-Thread/index.json new file mode 100644 index 00000000..daa5f447 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core13-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core13-Thread", + "Name": "Processor", + "Socket": "CPU 4", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core13-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core13/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core13/index.json new file mode 100644 index 00000000..b21762fc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core13/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core13", + "Name": "Processor", + "Socket": "CPU 4", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core13", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core14-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core14-Thread/index.json new file mode 100644 index 00000000..cc249ee5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core14-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core14-Thread", + "Name": "Processor", + "Socket": "CPU 4", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core14-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core14/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core14/index.json new file mode 100644 index 00000000..dccb7e24 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core14/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core14", + "Name": "Processor", + "Socket": "CPU 4", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core14", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core15-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core15-Thread/index.json new file mode 100644 index 00000000..0ede4730 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core15-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core15-Thread", + "Name": "Processor", + "Socket": "CPU 4", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core15-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core15/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core15/index.json new file mode 100644 index 00000000..108dc40b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core15/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core15", + "Name": "Processor", + "Socket": "CPU 4", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core15", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core16-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core16-Thread/index.json new file mode 100644 index 00000000..ac3a1f64 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core16-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core16-Thread", + "Name": "Processor", + "Socket": "CPU 4", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core16-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core16/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core16/index.json new file mode 100644 index 00000000..c8d331fe --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core16/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core16", + "Name": "Processor", + "Socket": "CPU 4", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core16", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core2-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core2-Thread/index.json new file mode 100644 index 00000000..89be25d4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core2-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core2-Thread", + "Name": "Processor", + "Socket": "CPU 4", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core2-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core2/index.json new file mode 100644 index 00000000..9821e8fe --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core2/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core2", + "Name": "Processor", + "Socket": "CPU 4", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core3-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core3-Thread/index.json new file mode 100644 index 00000000..8842edc8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core3-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core3-Thread", + "Name": "Processor", + "Socket": "CPU 4", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core3-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core3/index.json new file mode 100644 index 00000000..fcd366d2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core3/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core3", + "Name": "Processor", + "Socket": "CPU 4", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core4-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core4-Thread/index.json new file mode 100644 index 00000000..89c94393 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core4-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core4-Thread", + "Name": "Processor", + "Socket": "CPU 4", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core4-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core4/index.json new file mode 100644 index 00000000..8b66edbe --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core4/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core4", + "Name": "Processor", + "Socket": "CPU 4", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core5-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core5-Thread/index.json new file mode 100644 index 00000000..44d95009 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core5-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core5-Thread", + "Name": "Processor", + "Socket": "CPU 4", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core5-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core5/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core5/index.json new file mode 100644 index 00000000..c840fbdf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core5/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core5", + "Name": "Processor", + "Socket": "CPU 4", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core5", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core6-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core6-Thread/index.json new file mode 100644 index 00000000..30ec7eef --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core6-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core6-Thread", + "Name": "Processor", + "Socket": "CPU 4", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core6-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core6/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core6/index.json new file mode 100644 index 00000000..7a2649c1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core6/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core6", + "Name": "Processor", + "Socket": "CPU 4", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core6", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core7-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core7-Thread/index.json new file mode 100644 index 00000000..a8ca0c87 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core7-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core7-Thread", + "Name": "Processor", + "Socket": "CPU 4", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core7-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core7/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core7/index.json new file mode 100644 index 00000000..576d6bd5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core7/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core7", + "Name": "Processor", + "Socket": "CPU 4", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core7", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core8-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core8-Thread/index.json new file mode 100644 index 00000000..6ffd3da4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core8-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core8-Thread", + "Name": "Processor", + "Socket": "CPU 4", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core8-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core8/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core8/index.json new file mode 100644 index 00000000..b1523ed8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core8/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core8", + "Name": "Processor", + "Socket": "CPU 4", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core8", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core9-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core9-Thread/index.json new file mode 100644 index 00000000..884386e6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core9-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core9-Thread", + "Name": "Processor", + "Socket": "CPU 4", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core9-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core9/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core9/index.json new file mode 100644 index 00000000..12b02cc1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core9/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core9", + "Name": "Processor", + "Socket": "CPU 4", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core9", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/index.json new file mode 100644 index 00000000..da9e8edf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/SubProcessors/index.json @@ -0,0 +1,105 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "SubProcessors Collection", + "Members@odata.count": 32, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core1-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core2" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core2-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core3" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core3-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core4" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core4-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core5" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core5-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core6" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core6-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core7" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core7-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core8" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core8-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core9" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core9-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core10" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core10-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core11" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core11-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core12" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core12-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core13" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core13-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core14" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core14-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core15" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core15-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core16" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors/Core16-Thread" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/index.json new file mode 100644 index 00000000..e87dccb3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU4/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU4", + "Name": "Processor", + "Socket": "CPU 4", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "TotalCores": 16, + "TotalThreads": 32, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/EnvironmentMetrics" + }, + "SubProcessors": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4/SubProcessors" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/EnvironmentMetrics/index.json new file mode 100644 index 00000000..5b12a7c1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/EnvironmentMetrics/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Processor Environment Metrics", + "TemperatureCelsius": { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/CPU5Temp", + "Reading": 44 + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/CPU5Power", + "Reading": 12.87 + }, + "FanSpeedsPercent": [ + { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/CPUFan1", + "DeviceName": "CPU #1 Fan Speed", + "Reading": 80 + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core1-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core1-Thread/index.json new file mode 100644 index 00000000..a2887816 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core1-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core1-Thread", + "Name": "Processor", + "Socket": "CPU 5", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core1-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core1/index.json new file mode 100644 index 00000000..e9e57296 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core1/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core1", + "Name": "Processor", + "Socket": "CPU 5", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core10-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core10-Thread/index.json new file mode 100644 index 00000000..681990b9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core10-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core10-Thread", + "Name": "Processor", + "Socket": "CPU 5", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core10-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core10/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core10/index.json new file mode 100644 index 00000000..9ec1622f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core10/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core10", + "Name": "Processor", + "Socket": "CPU 5", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core10", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core11-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core11-Thread/index.json new file mode 100644 index 00000000..59d38a86 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core11-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core11-Thread", + "Name": "Processor", + "Socket": "CPU 5", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core11-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core11/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core11/index.json new file mode 100644 index 00000000..a0c04ae1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core11/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core11", + "Name": "Processor", + "Socket": "CPU 5", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core11", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core12-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core12-Thread/index.json new file mode 100644 index 00000000..7a3ec08a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core12-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core12-Thread", + "Name": "Processor", + "Socket": "CPU 5", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core12-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core12/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core12/index.json new file mode 100644 index 00000000..24d866f6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core12/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core12", + "Name": "Processor", + "Socket": "CPU 5", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core12", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core13-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core13-Thread/index.json new file mode 100644 index 00000000..df061164 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core13-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core13-Thread", + "Name": "Processor", + "Socket": "CPU 5", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core13-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core13/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core13/index.json new file mode 100644 index 00000000..c903687c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core13/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core13", + "Name": "Processor", + "Socket": "CPU 5", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core13", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core14-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core14-Thread/index.json new file mode 100644 index 00000000..06f532e1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core14-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core14-Thread", + "Name": "Processor", + "Socket": "CPU 5", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core14-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core14/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core14/index.json new file mode 100644 index 00000000..5aa8d5f8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core14/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core14", + "Name": "Processor", + "Socket": "CPU 5", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core14", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core15-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core15-Thread/index.json new file mode 100644 index 00000000..234f2976 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core15-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core15-Thread", + "Name": "Processor", + "Socket": "CPU 5", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core15-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core15/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core15/index.json new file mode 100644 index 00000000..d8f05fbb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core15/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core15", + "Name": "Processor", + "Socket": "CPU 5", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core15", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core16-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core16-Thread/index.json new file mode 100644 index 00000000..b968466f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core16-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core16-Thread", + "Name": "Processor", + "Socket": "CPU 5", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core16-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core16/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core16/index.json new file mode 100644 index 00000000..45e96fb2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core16/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core16", + "Name": "Processor", + "Socket": "CPU 5", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core16", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core2-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core2-Thread/index.json new file mode 100644 index 00000000..a2a4bdbe --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core2-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core2-Thread", + "Name": "Processor", + "Socket": "CPU 5", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core2-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core2/index.json new file mode 100644 index 00000000..9c27e188 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core2/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core2", + "Name": "Processor", + "Socket": "CPU 5", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core3-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core3-Thread/index.json new file mode 100644 index 00000000..d3a24e08 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core3-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core3-Thread", + "Name": "Processor", + "Socket": "CPU 5", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core3-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core3/index.json new file mode 100644 index 00000000..223eb76c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core3/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core3", + "Name": "Processor", + "Socket": "CPU 5", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core4-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core4-Thread/index.json new file mode 100644 index 00000000..ef37f2f1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core4-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core4-Thread", + "Name": "Processor", + "Socket": "CPU 5", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core4-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core4/index.json new file mode 100644 index 00000000..881c587e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core4/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core4", + "Name": "Processor", + "Socket": "CPU 5", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core5-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core5-Thread/index.json new file mode 100644 index 00000000..8c9cdbfe --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core5-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core5-Thread", + "Name": "Processor", + "Socket": "CPU 5", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core5-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core5/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core5/index.json new file mode 100644 index 00000000..d7e33a79 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core5/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core5", + "Name": "Processor", + "Socket": "CPU 5", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core5", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core6-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core6-Thread/index.json new file mode 100644 index 00000000..69371665 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core6-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core6-Thread", + "Name": "Processor", + "Socket": "CPU 5", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core6-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core6/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core6/index.json new file mode 100644 index 00000000..c42dbfd6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core6/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core6", + "Name": "Processor", + "Socket": "CPU 5", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core6", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core7-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core7-Thread/index.json new file mode 100644 index 00000000..06068b8d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core7-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core7-Thread", + "Name": "Processor", + "Socket": "CPU 5", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core7-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core7/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core7/index.json new file mode 100644 index 00000000..ff846521 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core7/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core7", + "Name": "Processor", + "Socket": "CPU 5", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core7", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core8-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core8-Thread/index.json new file mode 100644 index 00000000..15b4ead5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core8-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core8-Thread", + "Name": "Processor", + "Socket": "CPU 5", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core8-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core8/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core8/index.json new file mode 100644 index 00000000..670971d7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core8/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core8", + "Name": "Processor", + "Socket": "CPU 5", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core8", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core9-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core9-Thread/index.json new file mode 100644 index 00000000..23972c5e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core9-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core9-Thread", + "Name": "Processor", + "Socket": "CPU 5", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core9-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core9/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core9/index.json new file mode 100644 index 00000000..4f058664 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core9/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core9", + "Name": "Processor", + "Socket": "CPU 5", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core9", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/index.json new file mode 100644 index 00000000..2ce60c44 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/SubProcessors/index.json @@ -0,0 +1,105 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "SubProcessors Collection", + "Members@odata.count": 32, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core1-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core2" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core2-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core3" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core3-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core4" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core4-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core5" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core5-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core6" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core6-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core7" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core7-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core8" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core8-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core9" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core9-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core10" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core10-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core11" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core11-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core12" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core12-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core13" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core13-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core14" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core14-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core15" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core15-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core16" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors/Core16-Thread" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/index.json new file mode 100644 index 00000000..d403bce4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU5/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU5", + "Name": "Processor", + "Socket": "CPU 5", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "TotalCores": 16, + "TotalThreads": 32, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/EnvironmentMetrics" + }, + "SubProcessors": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5/SubProcessors" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/EnvironmentMetrics/index.json new file mode 100644 index 00000000..83f1e594 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/EnvironmentMetrics/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Processor Environment Metrics", + "TemperatureCelsius": { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/CPU6Temp", + "Reading": 44 + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/CPU6Power", + "Reading": 12.87 + }, + "FanSpeedsPercent": [ + { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/CPUFan1", + "DeviceName": "CPU #1 Fan Speed", + "Reading": 80 + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core1-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core1-Thread/index.json new file mode 100644 index 00000000..d6c04069 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core1-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core1-Thread", + "Name": "Processor", + "Socket": "CPU 6", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core1-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core1/index.json new file mode 100644 index 00000000..f88b38a8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core1/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core1", + "Name": "Processor", + "Socket": "CPU 6", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core10-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core10-Thread/index.json new file mode 100644 index 00000000..ad922208 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core10-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core10-Thread", + "Name": "Processor", + "Socket": "CPU 6", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core10-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core10/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core10/index.json new file mode 100644 index 00000000..c7906d0c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core10/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core10", + "Name": "Processor", + "Socket": "CPU 6", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core10", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core11-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core11-Thread/index.json new file mode 100644 index 00000000..8c2af6f8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core11-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core11-Thread", + "Name": "Processor", + "Socket": "CPU 6", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core11-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core11/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core11/index.json new file mode 100644 index 00000000..24cb24c0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core11/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core11", + "Name": "Processor", + "Socket": "CPU 6", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core11", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core12-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core12-Thread/index.json new file mode 100644 index 00000000..798a5c20 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core12-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core12-Thread", + "Name": "Processor", + "Socket": "CPU 6", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core12-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core12/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core12/index.json new file mode 100644 index 00000000..284327bb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core12/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core12", + "Name": "Processor", + "Socket": "CPU 6", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core12", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core13-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core13-Thread/index.json new file mode 100644 index 00000000..d81d5f4b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core13-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core13-Thread", + "Name": "Processor", + "Socket": "CPU 6", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core13-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core13/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core13/index.json new file mode 100644 index 00000000..d756750c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core13/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core13", + "Name": "Processor", + "Socket": "CPU 6", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core13", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core14-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core14-Thread/index.json new file mode 100644 index 00000000..1f3d5d4f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core14-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core14-Thread", + "Name": "Processor", + "Socket": "CPU 6", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core14-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core14/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core14/index.json new file mode 100644 index 00000000..1cd304ed --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core14/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core14", + "Name": "Processor", + "Socket": "CPU 6", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core14", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core15-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core15-Thread/index.json new file mode 100644 index 00000000..132833a2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core15-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core15-Thread", + "Name": "Processor", + "Socket": "CPU 6", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core15-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core15/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core15/index.json new file mode 100644 index 00000000..eda4c466 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core15/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core15", + "Name": "Processor", + "Socket": "CPU 6", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core15", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core16-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core16-Thread/index.json new file mode 100644 index 00000000..49a16ade --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core16-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core16-Thread", + "Name": "Processor", + "Socket": "CPU 6", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core16-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core16/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core16/index.json new file mode 100644 index 00000000..0a23741f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core16/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core16", + "Name": "Processor", + "Socket": "CPU 6", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core16", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core2-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core2-Thread/index.json new file mode 100644 index 00000000..1c396ff3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core2-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core2-Thread", + "Name": "Processor", + "Socket": "CPU 6", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core2-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core2/index.json new file mode 100644 index 00000000..ed5633db --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core2/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core2", + "Name": "Processor", + "Socket": "CPU 6", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core3-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core3-Thread/index.json new file mode 100644 index 00000000..6c43fe8a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core3-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core3-Thread", + "Name": "Processor", + "Socket": "CPU 6", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core3-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core3/index.json new file mode 100644 index 00000000..9cc1f029 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core3/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core3", + "Name": "Processor", + "Socket": "CPU 6", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core4-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core4-Thread/index.json new file mode 100644 index 00000000..a07724de --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core4-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core4-Thread", + "Name": "Processor", + "Socket": "CPU 6", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core4-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core4/index.json new file mode 100644 index 00000000..630fa2af --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core4/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core4", + "Name": "Processor", + "Socket": "CPU 6", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core5-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core5-Thread/index.json new file mode 100644 index 00000000..9f8fe668 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core5-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core5-Thread", + "Name": "Processor", + "Socket": "CPU 6", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core5-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core5/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core5/index.json new file mode 100644 index 00000000..b276026e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core5/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core5", + "Name": "Processor", + "Socket": "CPU 6", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core5", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core6-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core6-Thread/index.json new file mode 100644 index 00000000..97ee3f75 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core6-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core6-Thread", + "Name": "Processor", + "Socket": "CPU 6", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core6-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core6/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core6/index.json new file mode 100644 index 00000000..2769ecdb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core6/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core6", + "Name": "Processor", + "Socket": "CPU 6", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core6", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core7-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core7-Thread/index.json new file mode 100644 index 00000000..92d69e43 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core7-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core7-Thread", + "Name": "Processor", + "Socket": "CPU 6", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core7-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core7/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core7/index.json new file mode 100644 index 00000000..0cad3a53 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core7/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core7", + "Name": "Processor", + "Socket": "CPU 6", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core7", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core8-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core8-Thread/index.json new file mode 100644 index 00000000..954b0ae2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core8-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core8-Thread", + "Name": "Processor", + "Socket": "CPU 6", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core8-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core8/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core8/index.json new file mode 100644 index 00000000..c6ddbaa1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core8/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core8", + "Name": "Processor", + "Socket": "CPU 6", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core8", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core9-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core9-Thread/index.json new file mode 100644 index 00000000..9f3fc1bf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core9-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core9-Thread", + "Name": "Processor", + "Socket": "CPU 6", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core9-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core9/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core9/index.json new file mode 100644 index 00000000..a08daeeb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core9/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core9", + "Name": "Processor", + "Socket": "CPU 6", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core9", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/index.json new file mode 100644 index 00000000..b0287005 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/SubProcessors/index.json @@ -0,0 +1,105 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "SubProcessors Collection", + "Members@odata.count": 32, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core1-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core2" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core2-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core3" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core3-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core4" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core4-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core5" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core5-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core6" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core6-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core7" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core7-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core8" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core8-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core9" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core9-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core10" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core10-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core11" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core11-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core12" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core12-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core13" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core13-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core14" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core14-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core15" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core15-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core16" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors/Core16-Thread" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/index.json new file mode 100644 index 00000000..adca40b1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU6/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU6", + "Name": "Processor", + "Socket": "CPU 6", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "TotalCores": 16, + "TotalThreads": 32, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/EnvironmentMetrics" + }, + "SubProcessors": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6/SubProcessors" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/EnvironmentMetrics/index.json new file mode 100644 index 00000000..820ab3e5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/EnvironmentMetrics/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Processor Environment Metrics", + "TemperatureCelsius": { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/CPU7Temp", + "Reading": 44 + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/CPU7Power", + "Reading": 12.87 + }, + "FanSpeedsPercent": [ + { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/CPUFan1", + "DeviceName": "CPU #1 Fan Speed", + "Reading": 80 + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core1-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core1-Thread/index.json new file mode 100644 index 00000000..ebb8c77c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core1-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core1-Thread", + "Name": "Processor", + "Socket": "CPU 7", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core1-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core1/index.json new file mode 100644 index 00000000..2601523c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core1/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core1", + "Name": "Processor", + "Socket": "CPU 7", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core10-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core10-Thread/index.json new file mode 100644 index 00000000..fdfe43f0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core10-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core10-Thread", + "Name": "Processor", + "Socket": "CPU 7", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core10-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core10/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core10/index.json new file mode 100644 index 00000000..c72d1fcf --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core10/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core10", + "Name": "Processor", + "Socket": "CPU 7", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core10", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core11-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core11-Thread/index.json new file mode 100644 index 00000000..dbb1f3dd --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core11-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core11-Thread", + "Name": "Processor", + "Socket": "CPU 7", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core11-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core11/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core11/index.json new file mode 100644 index 00000000..4c3e33ed --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core11/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core11", + "Name": "Processor", + "Socket": "CPU 7", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core11", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core12-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core12-Thread/index.json new file mode 100644 index 00000000..a2556535 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core12-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core12-Thread", + "Name": "Processor", + "Socket": "CPU 7", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core12-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core12/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core12/index.json new file mode 100644 index 00000000..298a25c3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core12/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core12", + "Name": "Processor", + "Socket": "CPU 7", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core12", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core13-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core13-Thread/index.json new file mode 100644 index 00000000..379b87d9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core13-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core13-Thread", + "Name": "Processor", + "Socket": "CPU 7", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core13-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core13/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core13/index.json new file mode 100644 index 00000000..144e81bd --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core13/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core13", + "Name": "Processor", + "Socket": "CPU 7", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core13", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core14-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core14-Thread/index.json new file mode 100644 index 00000000..60fd405a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core14-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core14-Thread", + "Name": "Processor", + "Socket": "CPU 7", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core14-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core14/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core14/index.json new file mode 100644 index 00000000..3c6b18d9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core14/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core14", + "Name": "Processor", + "Socket": "CPU 7", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core14", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core15-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core15-Thread/index.json new file mode 100644 index 00000000..4d01d372 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core15-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core15-Thread", + "Name": "Processor", + "Socket": "CPU 7", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core15-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core15/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core15/index.json new file mode 100644 index 00000000..d5e92694 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core15/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core15", + "Name": "Processor", + "Socket": "CPU 7", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core15", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core16-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core16-Thread/index.json new file mode 100644 index 00000000..de0e15dd --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core16-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core16-Thread", + "Name": "Processor", + "Socket": "CPU 7", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core16-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core16/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core16/index.json new file mode 100644 index 00000000..2b983f1a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core16/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core16", + "Name": "Processor", + "Socket": "CPU 7", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core16", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core2-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core2-Thread/index.json new file mode 100644 index 00000000..033805e4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core2-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core2-Thread", + "Name": "Processor", + "Socket": "CPU 7", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core2-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core2/index.json new file mode 100644 index 00000000..8f48a3d3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core2/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core2", + "Name": "Processor", + "Socket": "CPU 7", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core3-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core3-Thread/index.json new file mode 100644 index 00000000..fcf357f9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core3-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core3-Thread", + "Name": "Processor", + "Socket": "CPU 7", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core3-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core3/index.json new file mode 100644 index 00000000..cf650667 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core3/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core3", + "Name": "Processor", + "Socket": "CPU 7", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core4-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core4-Thread/index.json new file mode 100644 index 00000000..47ecbe41 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core4-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core4-Thread", + "Name": "Processor", + "Socket": "CPU 7", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core4-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core4/index.json new file mode 100644 index 00000000..89299b8e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core4/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core4", + "Name": "Processor", + "Socket": "CPU 7", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core5-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core5-Thread/index.json new file mode 100644 index 00000000..834a1a79 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core5-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core5-Thread", + "Name": "Processor", + "Socket": "CPU 7", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core5-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core5/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core5/index.json new file mode 100644 index 00000000..219cfb8b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core5/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core5", + "Name": "Processor", + "Socket": "CPU 7", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core5", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core6-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core6-Thread/index.json new file mode 100644 index 00000000..a2c1b7fa --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core6-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core6-Thread", + "Name": "Processor", + "Socket": "CPU 7", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core6-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core6/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core6/index.json new file mode 100644 index 00000000..6d5407f6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core6/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core6", + "Name": "Processor", + "Socket": "CPU 7", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core6", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core7-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core7-Thread/index.json new file mode 100644 index 00000000..f81cb632 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core7-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core7-Thread", + "Name": "Processor", + "Socket": "CPU 7", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core7-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core7/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core7/index.json new file mode 100644 index 00000000..5db80a4b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core7/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core7", + "Name": "Processor", + "Socket": "CPU 7", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core7", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core8-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core8-Thread/index.json new file mode 100644 index 00000000..1c2136ae --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core8-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core8-Thread", + "Name": "Processor", + "Socket": "CPU 7", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core8-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core8/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core8/index.json new file mode 100644 index 00000000..0f67fec0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core8/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core8", + "Name": "Processor", + "Socket": "CPU 7", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core8", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core9-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core9-Thread/index.json new file mode 100644 index 00000000..6314da39 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core9-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core9-Thread", + "Name": "Processor", + "Socket": "CPU 7", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core9-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core9/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core9/index.json new file mode 100644 index 00000000..8b24e046 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core9/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core9", + "Name": "Processor", + "Socket": "CPU 7", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core9", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/index.json new file mode 100644 index 00000000..2d2933ed --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/SubProcessors/index.json @@ -0,0 +1,105 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "SubProcessors Collection", + "Members@odata.count": 32, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core1-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core2" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core2-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core3" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core3-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core4" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core4-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core5" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core5-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core6" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core6-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core7" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core7-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core8" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core8-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core9" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core9-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core10" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core10-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core11" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core11-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core12" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core12-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core13" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core13-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core14" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core14-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core15" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core15-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core16" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors/Core16-Thread" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/index.json new file mode 100644 index 00000000..14bcc7d1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU7/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU7", + "Name": "Processor", + "Socket": "CPU 7", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "TotalCores": 16, + "TotalThreads": 32, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/EnvironmentMetrics" + }, + "SubProcessors": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7/SubProcessors" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/EnvironmentMetrics/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/EnvironmentMetrics/index.json new file mode 100644 index 00000000..38088cc0 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/EnvironmentMetrics/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", + "Id": "EnvironmentMetrics", + "Name": "Processor Environment Metrics", + "TemperatureCelsius": { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/CPU8Temp", + "Reading": 44 + }, + "PowerWatts": { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/CPU8Power", + "Reading": 12.87 + }, + "FanSpeedsPercent": [ + { + "DataSourceUri": "/redfish/v1/Chassis/Tower/Sensors/CPUFan1", + "DeviceName": "CPU #1 Fan Speed", + "Reading": 80 + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/EnvironmentMetrics", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core1-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core1-Thread/index.json new file mode 100644 index 00000000..8bf52e15 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core1-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core1-Thread", + "Name": "Processor", + "Socket": "CPU 8", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core1-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core1/index.json new file mode 100644 index 00000000..1d43512d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core1/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core1", + "Name": "Processor", + "Socket": "CPU 8", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core10-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core10-Thread/index.json new file mode 100644 index 00000000..096c4e96 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core10-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core10-Thread", + "Name": "Processor", + "Socket": "CPU 8", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core10-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core10/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core10/index.json new file mode 100644 index 00000000..6cafd216 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core10/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core10", + "Name": "Processor", + "Socket": "CPU 8", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core10", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core11-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core11-Thread/index.json new file mode 100644 index 00000000..2529b64b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core11-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core11-Thread", + "Name": "Processor", + "Socket": "CPU 8", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core11-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core11/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core11/index.json new file mode 100644 index 00000000..28a6d253 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core11/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core11", + "Name": "Processor", + "Socket": "CPU 8", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core11", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core12-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core12-Thread/index.json new file mode 100644 index 00000000..e4f98481 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core12-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core12-Thread", + "Name": "Processor", + "Socket": "CPU 8", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core12-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core12/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core12/index.json new file mode 100644 index 00000000..18b1d0f4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core12/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core12", + "Name": "Processor", + "Socket": "CPU 8", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core12", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core13-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core13-Thread/index.json new file mode 100644 index 00000000..98bb6573 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core13-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core13-Thread", + "Name": "Processor", + "Socket": "CPU 8", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core13-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core13/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core13/index.json new file mode 100644 index 00000000..d8dcbfc5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core13/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core13", + "Name": "Processor", + "Socket": "CPU 8", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core13", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core14-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core14-Thread/index.json new file mode 100644 index 00000000..a8a391f7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core14-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core14-Thread", + "Name": "Processor", + "Socket": "CPU 8", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core14-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core14/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core14/index.json new file mode 100644 index 00000000..0b17c753 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core14/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core14", + "Name": "Processor", + "Socket": "CPU 8", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core14", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core15-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core15-Thread/index.json new file mode 100644 index 00000000..c003dc95 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core15-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core15-Thread", + "Name": "Processor", + "Socket": "CPU 8", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core15-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core15/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core15/index.json new file mode 100644 index 00000000..1994caae --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core15/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core15", + "Name": "Processor", + "Socket": "CPU 8", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core15", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core16-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core16-Thread/index.json new file mode 100644 index 00000000..4c6eae5f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core16-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core16-Thread", + "Name": "Processor", + "Socket": "CPU 8", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core16-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core16/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core16/index.json new file mode 100644 index 00000000..cbd263cc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core16/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core16", + "Name": "Processor", + "Socket": "CPU 8", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core16", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core2-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core2-Thread/index.json new file mode 100644 index 00000000..5702de19 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core2-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core2-Thread", + "Name": "Processor", + "Socket": "CPU 8", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core2-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core2/index.json new file mode 100644 index 00000000..1faecda1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core2/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core2", + "Name": "Processor", + "Socket": "CPU 8", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core3-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core3-Thread/index.json new file mode 100644 index 00000000..ee507261 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core3-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core3-Thread", + "Name": "Processor", + "Socket": "CPU 8", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core3-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core3/index.json new file mode 100644 index 00000000..48ea488a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core3/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core3", + "Name": "Processor", + "Socket": "CPU 8", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core4-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core4-Thread/index.json new file mode 100644 index 00000000..1f49fa4c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core4-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core4-Thread", + "Name": "Processor", + "Socket": "CPU 8", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core4-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core4/index.json new file mode 100644 index 00000000..eb1d5b41 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core4/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core4", + "Name": "Processor", + "Socket": "CPU 8", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core5-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core5-Thread/index.json new file mode 100644 index 00000000..c5a45fd6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core5-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core5-Thread", + "Name": "Processor", + "Socket": "CPU 8", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core5-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core5/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core5/index.json new file mode 100644 index 00000000..eee42aff --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core5/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core5", + "Name": "Processor", + "Socket": "CPU 8", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core5", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core6-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core6-Thread/index.json new file mode 100644 index 00000000..5e197da4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core6-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core6-Thread", + "Name": "Processor", + "Socket": "CPU 8", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core6-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core6/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core6/index.json new file mode 100644 index 00000000..1ac4ba40 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core6/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core6", + "Name": "Processor", + "Socket": "CPU 8", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core6", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core7-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core7-Thread/index.json new file mode 100644 index 00000000..80b246e2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core7-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core7-Thread", + "Name": "Processor", + "Socket": "CPU 8", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core7-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core7/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core7/index.json new file mode 100644 index 00000000..f77a9b44 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core7/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core7", + "Name": "Processor", + "Socket": "CPU 8", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core7", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core8-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core8-Thread/index.json new file mode 100644 index 00000000..3eaef429 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core8-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core8-Thread", + "Name": "Processor", + "Socket": "CPU 8", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core8-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core8/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core8/index.json new file mode 100644 index 00000000..0cc2959e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core8/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core8", + "Name": "Processor", + "Socket": "CPU 8", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core8", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core9-Thread/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core9-Thread/index.json new file mode 100644 index 00000000..6ce9c9c1 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core9-Thread/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core9-Thread", + "Name": "Processor", + "Socket": "CPU 8", + "ProcessorType": "Thread", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core9-Thread", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core9/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core9/index.json new file mode 100644 index 00000000..ffd2d426 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core9/index.json @@ -0,0 +1,26 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "Core9", + "Name": "Processor", + "Socket": "CPU 8", + "ProcessorType": "Core", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core9", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/index.json new file mode 100644 index 00000000..25a4526b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/SubProcessors/index.json @@ -0,0 +1,105 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "SubProcessors Collection", + "Members@odata.count": 32, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core1-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core2" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core2-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core3" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core3-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core4" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core4-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core5" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core5-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core6" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core6-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core7" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core7-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core8" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core8-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core9" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core9-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core10" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core10-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core11" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core11-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core12" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core12-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core13" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core13-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core14" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core14-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core15" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core15-Thread" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core16" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors/Core16-Thread" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/index.json new file mode 100644 index 00000000..02c49553 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/CPU8/index.json @@ -0,0 +1,34 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "CPU8", + "Name": "Processor", + "Socket": "CPU 8", + "ProcessorType": "CPU", + "ProcessorArchitecture": "x86", + "InstructionSet": "x86-64", + "Manufacturer": "Intel(R) Corporation", + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "ProcessorId": { + "VendorId": "GenuineIntel", + "IdentificationRegisters": "0x34AC34DC8901274A", + "EffectiveFamily": "0x42", + "EffectiveModel": "0x61", + "Step": "0x1", + "MicrocodeInfo": "0x429943" + }, + "MaxSpeedMHz": 2300, + "TotalCores": 16, + "TotalThreads": 32, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "EnvironmentMetrics": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/EnvironmentMetrics" + }, + "SubProcessors": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8/SubProcessors" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/GPU1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/GPU1/index.json new file mode 100644 index 00000000..6d14887f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/GPU1/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "GPU1", + "Name": "GPU1", + "ProcessorType": "GPU", + "ProcessorArchitecture": "OEM", + "InstructionSet": "OEM", + "Manufacturer": "Nvidia(R) Corporation", + "Model": "Nvidia(R) TU102", + "MemorySummary": { + "TotalMemorySizeMiB": 11264, + "TotalCacheSizeMiB": 4 + }, + "MaxSpeedMHz": 1350, + "TotalCores": 576, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/GPU1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/GPU2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/GPU2/index.json new file mode 100644 index 00000000..13597af9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/GPU2/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#Processor.v1_24_0.Processor", + "Id": "GPU2", + "Name": "GPU2", + "ProcessorType": "GPU", + "ProcessorArchitecture": "OEM", + "InstructionSet": "OEM", + "Manufacturer": "Nvidia(R) Corporation", + "Model": "Nvidia(R) TU102", + "MemorySummary": { + "TotalMemorySizeMiB": 11264, + "TotalCacheSizeMiB": 4 + }, + "MaxSpeedMHz": 1350, + "TotalCores": 576, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/GPU2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/index.json new file mode 100644 index 00000000..e58e50a9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Processors/index.json @@ -0,0 +1,39 @@ +{ + "@odata.type": "#ProcessorCollection.ProcessorCollection", + "Name": "Processors Collection", + "Members@odata.count": 10, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/GPU1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/GPU2" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEK/Certificates/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEK/Certificates/1/index.json new file mode 100644 index 00000000..99841207 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEK/Certificates/1/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "1", + "Name": "Contoso KEK Certificate", + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIDbzCCAlegAwIBAgIUf2b1tKa8CXy2saePf6i1mIwnRTcwDQYJKoZIhvcNAQEL\nBQAwVzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdo\nMQ8wDQYDVQQKEwZMZW5vdm8xGDAWBgNVBAMTD0xlbm92byBVRUZJIEtFSzAeFw0x\nNzA1MjcwMzU0NDJaFw00MTA1MjcwMzU0NDJaMFcxCzAJBgNVBAYTAlVTMQswCQYD\nVQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEPMA0GA1UEChMGTGVub3ZvMRgwFgYD\nVQQDEw9MZW5vdm8gVUVGSSBLRUswggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\nAoIBAQDCu6lcSg/MmtcXRGPmxSaMRuFUa/Hoge40OnklJ936OYqPTTZGPZMld0mq\nzrfW/jZ7YYbtbS2vLTU4uzKo6YHRgp+IlAalmXZNh+D1MsJpJ1zqbxkcBW/ohPZY\nTgNPugYeVw+kbcunxQPqa6dvgidGu6qo3uLCJ0kWmZeCqGLgJ8NkKyGpiALALCcK\njVHNd87WUVnf9V1VsaeGytIOk42VbxBjuP1yS/nW1yJ+9wmftYtDy6/MuFT7DIM7\n1cVsRZGlM0WZbfVxHVAd8KGOvsXMOu7vgfKrLd/ZOWwtk+Iqthg23+Cc7aY2tc9q\nS1pa378idhbY8beJIyjCQgdheL8vAgMBAAGjMzAxMA8GA1UdEwEB/wQFMAMBAf8w\nDgYDVR0PAQH/BAQDAgIEMA4GA1UdDwEB/wQEAwIHgDANBgkqhkiG9w0BAQsFAAOC\nAQEAtcTQVLt/t8ijoB6Na4pvdtG0c11ZG9vJvx0mZEgp30VUwgWPqnlAmkA5RNhh\nate/fGNvwAuyJZjiHJ4nqtJ9/pEDc+RMnPiGZDzKZcZlYiqOwod6nZklGw6X3f45\nxmiM+YYfeY1vlptTnm2FyuFtgqiJ6lAVJ4c17KyrsDBw79G/3hsB9H3E8YeyA0kq\nXELejPl9JSAEvY6+KtO/BFRR36Q1Xwz9lUWI+tLkAiOLIgLsJBu4ADX276pCGGTw\nIj9pRcFEjGwp3iwXid4323b36iLiUDyQTkBGjzZlIZekSS+BMEyZ9RKoIyrxyUjC\npmPlF6edID9hg2iv9pPjGfFfKQ==\n-----END CERTIFICATE-----", + "CertificateType": "PEM", + "Issuer": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "KEK.contoso.org" + }, + "Subject": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "Contoso UEFI KEK" + }, + "ValidNotBefore": "2018-09-07T13:22:05Z", + "ValidNotAfter": "2041-09-07T13:22:05Z", + "KeyUsage": [ + "KeyCertSign", + "DigitalSignature", + "CRLSigning" + ], + "UefiSignatureOwner": "5491316d-9694-4639-b72d-b8630ffa7dab", + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEK/Certificates/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEK/Certificates/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEK/Certificates/2/index.json new file mode 100644 index 00000000..1686ab9d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEK/Certificates/2/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "2", + "Name": "Microsoft Corporation KEK Certificate", + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIDbzCCAlegAwIBAgIUf2b1tKa8CXy2shrPf6i1mIwnRTcwDQYJKoZIhvcNAQEL\nBQAwVzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdo\nMQ8wDQYDVQQKEwZMZW5vdm8xGDAWBgNVBAMTD0xlbm92byBVRUZJIEtFSzAeFw0x\nNzA1MjcwMzU0NDJaFw00MTA1MjcwMzU0NDJaMFcxCzAJBgNVBAYTAlVTMQswCQYD\nVQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEPMA0GA1UEChMGTGVub3ZvMRgwFgYD\nVQQDEw9MZW5vdm8gVUVGSSBLRUswggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\nAoIBAQDCu6lcSg/MmtcXRGPmxSaMRuFUa/Hoge40OnklJ936OYqPTTZGPZMld0mq\nzrfW/jZ7YYbtbS2vLTU4uzKo6YHRgp+IlAalmXZNh+D1MsJpJ1zqbxkcBW/ohPZY\nTgNPugYeVw+kbcunxQPqa6dvgidGu6qo3uLCJ0kWmZeCqGLgJ8NkKyGpiALALCcK\njVHNd87WUVnf9V1VsqRGytIOk42VbxBjuP1yS/nW1yJ+9wmftYtDy6/MuFT7DIM7\n1cVsRZGlM0WZbfVxHVAd8KGOvsXMOu7vgfKrLd/ZOWwtk+Iqthg23+Cc7aY2tc9q\nS1pa378idhbY8beJIyjCQgdheL8vAgMBAAGjMzAxMA8GA1UdEwEB/wQFMAMBAf8w\nDgYDVR0PAQH/BAQDAgIEMA4GA1UdDwEB/wQEAwIHgDANBgkqhkiG9w0BAQsFAAOC\nAQEAtcTQVLt/t8ijoB6Na4pvdtG0c11ZG9vJvx0mZEgp30VUwgWPqnlAmkA5RNhh\nate/fGNvwAuyJZjiHJ4nqtJ9/pEDc+RMnPiGZDzKZcZlYiqOwod6nZklGw6X3f45\nxmiM+YYfeY1vlptTnm2FyuFtgqiJ6lAVJ4c17KyrsDBw79G/3hsB9H3E8YeyA0kq\nXELejPl9JSSCvY6+KtO/BFRR36Q1Xwz9lUWI+tLkAiOLIgLsJBu4ADX276pCGGTw\nIj9pRcFEjGwp3iwXid4323b36iLiUDyQTkBGjzZlIZekSS+BMEyZ9RKoIyrxyUjC\npmPlF6edID9hg2iv9pPjGfFfKQ==\n-----END CERTIFICATE-----", + "CertificateType": "PEM", + "Issuer": { + "Country": "US", + "State": "Washington", + "City": "Redmond", + "Organization": "Microsoft Corporation", + "CommonName": "Microsoft Corporation Third Party Marketplace Root" + }, + "Subject": { + "Country": "US", + "State": "Washington", + "City": "Redmond", + "Organization": "Microsoft Corporation", + "CommonName": "Microsoft Corporation KEK CA 2011" + }, + "ValidNotBefore": "2011-06-24T13:41:29Z", + "ValidNotAfter": "2026-06-24T13:51:29Z", + "KeyUsage": [ + "KeyCertSign", + "DigitalSignature", + "CRLSigning" + ], + "UefiSignatureOwner": "77fa9abd-0359-4d32-bd60-28f4e78f784b", + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEK/Certificates/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEK/Certificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEK/Certificates/index.json new file mode 100644 index 00000000..1107a9bb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEK/Certificates/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificate Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEK/Certificates/1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEK/Certificates/2" + } + ], + "@Redfish.SupportedCertificates": [ + "PEM" + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEK/Certificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEK/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEK/index.json new file mode 100644 index 00000000..f140fce3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEK/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#SecureBootDatabase.v1_0_3.SecureBootDatabase", + "Id": "KEK", + "Name": "KEK - Key Exchange Key Database", + "Description": "UEFI KEK Secure Boot Database", + "DatabaseId": "KEK", + "Certificates": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEK/Certificates/" + }, + "Actions": { + "#SecureBootDatabase.ResetKeys": { + "target": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEK/Actions/SecureBootDatabase.ResetKeys", + "ResetKeysType@Redfish.AllowableValues": [ + "ResetAllKeysToDefault", + "DeleteAllKeys" + ] + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEK", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/1/index.json new file mode 100644 index 00000000..72ee7eeb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/1/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "1", + "Name": "Contoso KEK Certificate", + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIDbzCCAlegAwIBAgIUf2b1tKa8CXy2saePf6i1mIwnRTcwDQYJKoZIhvcNAQEL\nBQAwVzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdo\nMQ8wDQYDVQQKEwZMZW5vdm8xGDAWBgNVBAMTD0xlbm92byBVRUZJIEtFSzAeFw0x\nNzA1MjcwMzU0NDJaFw00MTA1MjcwMzU0NDJaMFcxCzAJBgNVBAYTAlVTMQswCQYD\nVQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEPMA0GA1UEChMGTGVub3ZvMRgwFgYD\nVQQDEw9MZW5vdm8gVUVGSSBLRUswggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\nAoIBAQDCu6lcSg/MmtcXRGPmxSaMRuFUa/Hoge40OnklJ936OYqPTTZGPZMld0mq\nzrfW/jZ7YYbtbS2vLTU4uzKo6YHRgp+IlAalmXZNh+D1MsJpJ1zqbxkcBW/ohPZY\nTgNPugYeVw+kbcunxQPqa6dvgidGu6qo3uLCJ0kWmZeCqGLgJ8NkKyGpiALALCcK\njVHNd87WUVnf9V1VsaeGytIOk42VbxBjuP1yS/nW1yJ+9wmftYtDy6/MuFT7DIM7\n1cVsRZGlM0WZbfVxHVAd8KGOvsXMOu7vgfKrLd/ZOWwtk+Iqthg23+Cc7aY2tc9q\nS1pa378idhbY8beJIyjCQgdheL8vAgMBAAGjMzAxMA8GA1UdEwEB/wQFMAMBAf8w\nDgYDVR0PAQH/BAQDAgIEMA4GA1UdDwEB/wQEAwIHgDANBgkqhkiG9w0BAQsFAAOC\nAQEAtcTQVLt/t8ijoB6Na4pvdtG0c11ZG9vJvx0mZEgp30VUwgWPqnlAmkA5RNhh\nate/fGNvwAuyJZjiHJ4nqtJ9/pEDc+RMnPiGZDzKZcZlYiqOwod6nZklGw6X3f45\nxmiM+YYfeY1vlptTnm2FyuFtgqiJ6lAVJ4c17KyrsDBw79G/3hsB9H3E8YeyA0kq\nXELejPl9JSAEvY6+KtO/BFRR36Q1Xwz9lUWI+tLkAiOLIgLsJBu4ADX276pCGGTw\nIj9pRcFEjGwp3iwXid4323b36iLiUDyQTkBGjzZlIZekSS+BMEyZ9RKoIyrxyUjC\npmPlF6edID9hg2iv9pPjGfFfKQ==\n-----END CERTIFICATE-----", + "CertificateType": "PEM", + "Issuer": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "KEK.contoso.org" + }, + "Subject": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "Contoso UEFI KEK" + }, + "ValidNotBefore": "2018-09-07T13:22:05Z", + "ValidNotAfter": "2041-09-07T13:22:05Z", + "KeyUsage": [ + "KeyCertSign", + "DigitalSignature", + "CRLSigning" + ], + "UefiSignatureOwner": "5491316d-9694-4639-b72d-b8630ffa7dab", + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/2/index.json new file mode 100644 index 00000000..09fa0a6f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/2/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "2", + "Name": "Microsoft Corporation KEK Certificate", + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIDbzCCAlegAwIBAgIUf2b1tKa8CXy2shrPf6i1mIwnRTcwDQYJKoZIhvcNAQEL\nBQAwVzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdo\nMQ8wDQYDVQQKEwZMZW5vdm8xGDAWBgNVBAMTD0xlbm92byBVRUZJIEtFSzAeFw0x\nNzA1MjcwMzU0NDJaFw00MTA1MjcwMzU0NDJaMFcxCzAJBgNVBAYTAlVTMQswCQYD\nVQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEPMA0GA1UEChMGTGVub3ZvMRgwFgYD\nVQQDEw9MZW5vdm8gVUVGSSBLRUswggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\nAoIBAQDCu6lcSg/MmtcXRGPmxSaMRuFUa/Hoge40OnklJ936OYqPTTZGPZMld0mq\nzrfW/jZ7YYbtbS2vLTU4uzKo6YHRgp+IlAalmXZNh+D1MsJpJ1zqbxkcBW/ohPZY\nTgNPugYeVw+kbcunxQPqa6dvgidGu6qo3uLCJ0kWmZeCqGLgJ8NkKyGpiALALCcK\njVHNd87WUVnf9V1VsqRGytIOk42VbxBjuP1yS/nW1yJ+9wmftYtDy6/MuFT7DIM7\n1cVsRZGlM0WZbfVxHVAd8KGOvsXMOu7vgfKrLd/ZOWwtk+Iqthg23+Cc7aY2tc9q\nS1pa378idhbY8beJIyjCQgdheL8vAgMBAAGjMzAxMA8GA1UdEwEB/wQFMAMBAf8w\nDgYDVR0PAQH/BAQDAgIEMA4GA1UdDwEB/wQEAwIHgDANBgkqhkiG9w0BAQsFAAOC\nAQEAtcTQVLt/t8ijoB6Na4pvdtG0c11ZG9vJvx0mZEgp30VUwgWPqnlAmkA5RNhh\nate/fGNvwAuyJZjiHJ4nqtJ9/pEDc+RMnPiGZDzKZcZlYiqOwod6nZklGw6X3f45\nxmiM+YYfeY1vlptTnm2FyuFtgqiJ6lAVJ4c17KyrsDBw79G/3hsB9H3E8YeyA0kq\nXELejPl9JSSCvY6+KtO/BFRR36Q1Xwz9lUWI+tLkAiOLIgLsJBu4ADX276pCGGTw\nIj9pRcFEjGwp3iwXid4323b36iLiUDyQTkBGjzZlIZekSS+BMEyZ9RKoIyrxyUjC\npmPlF6edID9hg2iv9pPjGfFfKQ==\n-----END CERTIFICATE-----", + "CertificateType": "PEM", + "Issuer": { + "Country": "US", + "State": "Washington", + "City": "Redmond", + "Organization": "Microsoft Corporation", + "CommonName": "Microsoft Corporation Third Party Marketplace Root" + }, + "Subject": { + "Country": "US", + "State": "Washington", + "City": "Redmond", + "Organization": "Microsoft Corporation", + "CommonName": "Microsoft Corporation KEK CA 2011" + }, + "ValidNotBefore": "2011-06-24T13:41:29Z", + "ValidNotAfter": "2026-06-24T13:51:29Z", + "KeyUsage": [ + "KeyCertSign", + "DigitalSignature", + "CRLSigning" + ], + "UefiSignatureOwner": "77fa9abd-0359-4d32-bd60-28f4e78f784b", + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/index.json new file mode 100644 index 00000000..84065e24 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificate Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/2" + } + ], + "@Redfish.SupportedCertificates": [ + "PEM" + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEKDefault/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEKDefault/index.json new file mode 100644 index 00000000..adaddd8a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEKDefault/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SecureBootDatabase.v1_0_3.SecureBootDatabase", + "Id": "KEKDefault", + "Name": "KEKDefault - Default Key Exchange Key Database", + "Description": "UEFI KEKDefault Secure Boot Database", + "DatabaseId": "KEKDefault", + "Certificates": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEKDefault/Certificates/" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEKDefault", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/PK/Certificates/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/PK/Certificates/1/index.json new file mode 100644 index 00000000..3ef468ca --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/PK/Certificates/1/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "1", + "Name": "PK Certificate", + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIDbTCCAlWgAwIBAgIUAZjZIHcy1np+3qP8RaHzTWaghuQwDQYJKoZIhvcNAQEL\nBQAwVjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdo\nMQ8wDQYDVQQKEwZMZW5vdm8xFzAVBgNVBAMTDkxlbm92byBVRUZJIFBLMB4XDTE3\nMDUyNzAzNTMzN1oXDTQxMDUyNzAzNTMzN1owVjELMAkGA1UEBhMCVVMxCzAJBgNV\nBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMQ8wDQYDVQQKEwZMZW5vdm8xFzAVBgNV\nBAMTDkxlbm92byBVRUZJIFBLMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC\nAQEA62pJedCNMZbqqqOfvpQb091Ov1SUZaAhIZl1GsaeZ9P0xHH1H93UdQSTA918\nqSHIxp31WLHdI+LiYEnJbXZgnJ2RhEPVXE55VvzUTI6zEV5elo5adnxXmXH7oz6x\n35nIBYCKGayfM+jg/S1oJr5s5H9/67M88nijZS/8dDg29UTVcu+YM4IgbNhY48Gi\nrPG+iIQ4kh4PcdPY+SAEHIxD94HhlTQHnrLrWjF9hdepVty48KrqcQYfKmsUAJ6M\nzyxYIyIEJSG61Lv49DlbPppC7uVjVV+laPwJyzoqg5c1lkhz0HaODy0OI7i8gTiH\nAe2vGt6liKQbsDvXS/Xy8kmn8wIDAQABozMwMTAPBgNVHRMBAf8EBTADAQH/MA4G\nA1UdDwEB/wQEAwICBDAOBgNVHQ8BAf8EBAMCB4AwDQYJKoZIhvcNAQELBQADggEB\nAAl2n3X/rZSKQju2AbBcmuRnPUXwqih5Qql+oOYzsE3XaZC1vILAAJLBUcHvbGkL\n40JQ9NaUAzxsaeERoMl7vneyNTutY03tmIDdC0nYzN9eEZO0GSEAVKoxgxLZ+od3\na2yGZ9htjCvaqUNniOlXCKQ0T595Z24mwY20F/ras1j8WXAYjyiCBUDpWi70VAdB\n0aCpZzterITmo7ymx7zK2hHIaYbRlXIXLMesdfSS/4hSLR49SvfVbOcnajdfmcI/\nXIWNRE/Xvg17lrgjMZ0vdU4wCVe2sAh6ckB45tJM/v97ICCZZld0Ee8IH1ayabmo\njSgtuHs9sxviahyMDv3gEGk=\n-----END CERTIFICATE-----", + "CertificateType": "PEM", + "Issuer": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "PK.contoso.org" + }, + "Subject": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "Contoso UEFI PK" + }, + "ValidNotBefore": "2018-09-07T13:22:05Z", + "ValidNotAfter": "2041-09-07T13:22:05Z", + "KeyUsage": [ + "KeyCertSign", + "DigitalSignature" + ], + "UefiSignatureOwner": "5491316d-9694-4639-b72d-b8630ffa7dab", + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/PK/Certificates/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/PK/Certificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/PK/Certificates/index.json new file mode 100644 index 00000000..7e094258 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/PK/Certificates/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificate Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/PK/Certificates/1" + } + ], + "@Redfish.SupportedCertificates": [ + "PEM" + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/PK/Certificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/PK/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/PK/index.json new file mode 100644 index 00000000..f0bf03d4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/PK/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#SecureBootDatabase.v1_0_3.SecureBootDatabase", + "Id": "PK", + "Name": "PK - Platform Key", + "Description": "UEFI PK Secure Boot Database", + "DatabaseId": "PK", + "Certificates": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/PK/Certificates/" + }, + "Actions": { + "#SecureBootDatabase.ResetKeys": { + "target": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/PK/Actions/SecureBootDatabase.ResetKeys", + "ResetKeysType@Redfish.AllowableValues": [ + "ResetAllKeysToDefault", + "DeleteAllKeys" + ] + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/PK", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/PKDefault/Certificates/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/PKDefault/Certificates/1/index.json new file mode 100644 index 00000000..08af94b7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/PKDefault/Certificates/1/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "1", + "Name": "PKDefault Certificate", + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIDbTCCAlWgAwIBAgIUAZjZIHcy1np+3qP8RaHzTWaghuQwDQYJKoZIhvcNAQEL\nBQAwVjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdo\nMQ8wDQYDVQQKEwZMZW5vdm8xFzAVBgNVBAMTDkxlbm92byBVRUZJIFBLMB4XDTE3\nMDUyNzAzNTMzN1oXDTQxMDUyNzAzNTMzN1owVjELMAkGA1UEBhMCVVMxCzAJBgNV\nBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMQ8wDQYDVQQKEwZMZW5vdm8xFzAVBgNV\nBAMTDkxlbm92byBVRUZJIFBLMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC\nAQEA62pJedCNMZbqqqOfvpQb091Ov1SUZaAhIZl1GsaeZ9P0xHH1H93UdQSTA918\nqSHIxp31WLHdI+LiYEnJbXZgnJ2RhEPVXE55VvzUTI6zEV5elo5adnxXmXH7oz6x\n35nIBYCKGayfM+jg/S1oJr5s5H9/67M88nijZS/8dDg29UTVcu+YM4IgbNhY48Gi\nrPG+iIQ4kh4PcdPY+SAEHIxD94HhlTQHnrLrWjF9hdepVty48KrqcQYfKmsUAJ6M\nzyxYIyIEJSG61Lv49DlbPppC7uVjVV+laPwJyzoqg5c1lkhz0HaODy0OI7i8gTiH\nAe2vGt6liKQbsDvXS/Xy8kmn8wIDAQABozMwMTAPBgNVHRMBAf8EBTADAQH/MA4G\nA1UdDwEB/wQEAwICBDAOBgNVHQ8BAf8EBAMCB4AwDQYJKoZIhvcNAQELBQADggEB\nAAl2n3X/rZSKQju2AbBcmuRnPUXwqih5Qql+oOYzsE3XaZC1vILAAJLBUcHvbGkL\n40JQ9NaUAzxsaeERoMl7vneyNTutY03tmIDdC0nYzN9eEZO0GSEAVKoxgxLZ+od3\na2yGZ9htjCvaqUNniOlXCKQ0T595Z24mwY20F/ras1j8WXAYjyiCBUDpWi70VAdB\n0aCpZzterITmo7ymx7zK2hHIaYbRlXIXLMesdfSS/4hSLR49SvfVbOcnajdfmcI/\nXIWNRE/Xvg17lrgjMZ0vdU4wCVe2sAh6ckB45tJM/v97ICCZZld0Ee8IH1ayabmo\njSgtuHs9sxviahyMDv3gEGk=\n-----END CERTIFICATE-----", + "CertificateType": "PEM", + "Issuer": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "PK.contoso.org" + }, + "Subject": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "Contoso UEFI PK" + }, + "ValidNotBefore": "2018-09-07T13:22:05Z", + "ValidNotAfter": "2041-09-07T13:22:05Z", + "KeyUsage": [ + "KeyCertSign", + "DigitalSignature" + ], + "UefiSignatureOwner": "5491316d-9694-4639-b72d-b8630ffa7dab", + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/PKDefault/Certificates/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/PKDefault/Certificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/PKDefault/Certificates/index.json new file mode 100644 index 00000000..59f3ca1d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/PKDefault/Certificates/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificate Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/PKDefault/Certificates/1" + } + ], + "@Redfish.SupportedCertificates": [ + "PEM" + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/PKDefault/Certificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/PKDefault/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/PKDefault/index.json new file mode 100644 index 00000000..ebe3b4bd --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/PKDefault/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SecureBootDatabase.v1_0_3.SecureBootDatabase", + "Id": "PKDefault", + "Name": "PKDefault - Default Platform Key", + "Description": "UEFI PKDefault Secure Boot Database", + "DatabaseId": "PKDefault", + "Certificates": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/PKDefault/Certificates/" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/PKDefault", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/Certificates/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/Certificates/1/index.json new file mode 100644 index 00000000..b01fde98 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/Certificates/1/index.json @@ -0,0 +1,32 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "1", + "Name": "Contoso db Certificate", + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIDbTCCAlWgAwIBAgIUO2MdJt2cTCGr0eO4PiBV5Uk0b/IwDQYJKoZIhvcNAQEL\nBQAwVjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdo\nMQ8wDQYDVQQKEwZMZW5vdm8xFzAVBgNVBAMTDkxlbm92byBVRUZJIERCMB4XDTE3\nMDMxNTIxMTYzNFoXDTQxMDMxNTIxMTYzNFowVjELMAkGA1UEBhMCVVMxCzAJBgNV\nBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdoMQ8wDQYDVQQKEwZMZW5vdm8xFzAVBgNV\nBAMTDkxlbm92byBVRUZJIERCMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC\nAQEA1ezmdoBlk5yDVuXw8F774CvllhMz9bT0/TpH3kmRpPAizSRDzbHLUuBMC6SE\nW4zjdLxTqOlwZt6UUcWxlyzKcoDPe43cE6YH1kM/rscvm3AaVL+4GcyGgS9DL6qe\nQFHWER25xCTokMsCdKB42Ty7hWW5FBPepgAS+GDfqQfb/4hoonIlen5X+dqVIsE/\nRM1DIVBUiIbJdgERYeoGjY/Rh4A1VWl6ErzyzokYnf63JjSFR2kVV0apbr4ISOTM\n7qBd1RNHwQrCAryRADX1XGvRZURzwQdEXfOqZOkVjNKr1fD761qvPE8TQWWJ9Q8r\nmciMocIXqoqWKPAkgbMwKmcsFQIDAQABozMwMTAPBgNVHRMBAf8EBTADAQH/MA4G\nA1UdDwEB/wQEAwICBDAOBgNVHQ8BAf8EBAMCB4AwDQYJKoZIhvcNAQELBQADggEB\nAJ2U0UjB+sxF/HE5sY56vJbdFITl8o0Yf7XJImL0VTgpYjfeqiE768G2uTUbzCKy\nhDOps3+4w4p8FUSO6StzCz6UuUyxlUjQzpkxZ97Ouq1sGhjy7dZybTEByJD6LpI7\nl1EpJSfBiwxTdm7svJoABKs8Hs7e9f3XX5PK76SxllMbDaxAm7UvCppYBBR1SeyC\ngWt3rGRiO3W6pfd07ioCD03kgGzYNOZeU2S+maE1Xt4kUoYs3HXyrhJGfN26gM8h\n4w5LfCKrlxi+3KMf+vXxEBfGYBvjwcA7KCW92GnUQGVjZbEGs6EaTBx7i9gA2+te\noWS/500qiwNRp2xqdBxg1d0=\n-----END CERTIFICATE-----", + "CertificateType": "PEM", + "Issuer": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "db.contoso.org" + }, + "Subject": { + "Country": "US", + "State": "Oregon", + "City": "Portland", + "Organization": "Contoso", + "OrganizationalUnit": "ABC", + "CommonName": "Contoso UEFI db" + }, + "ValidNotBefore": "2018-09-07T13:22:05Z", + "ValidNotAfter": "2041-09-07T13:22:05Z", + "KeyUsage": [ + "KeyCertSign", + "DigitalSignature" + ], + "UefiSignatureOwner": "5491316d-9694-4639-b72d-b8630ffa7dab", + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/Certificates/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/Certificates/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/Certificates/2/index.json new file mode 100644 index 00000000..95955cb2 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/Certificates/2/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "2", + "Name": "Microsoft Corporation UEFI CA Certificate", + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIDbzCCAlegAwIBAgIUf2b1tKa8CXy2shrPf6i1mIwnRTcwDQYJKoZIhvcNAQEL\nBQAwVzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk5DMRAwDgYDVQQHEwdSYWxlaWdo\nMQ8wDQYDVQQKEwZMZW5vdm8xGDAWBgNVBAMTD0xlbm92byBVRUZJIEtFSzAeFw0x\nNzA1MjcwMzU0NDJaFw00MTA1MjcwMzU0NDJaMFcxCzAJBgNVBAYTAlVTMQswCQYD\nVQQIEwJOQzEQMA4GA1UEBxMHUmFsZWlnaDEPMA0GA1UEChMGTGVub3ZvMRgwFgYD\nVQQDEw9MZW5vdm8gVUVGSSBLRUswggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\nAoIBAQDCu6lcSg/MmtcXRGPmxSaMRuFUa/Hoge40OnklJ936OYqPTTZGPZMld0mq\nzrfW/jZ7YYbtbS2vLTU4uzKo6YHRgp+IlAalmXZNh+D1MsJpJ1zqbxkcBW/ohPZY\nTgNPugYeVw+kbcunxQPqa6dvgidGu6qo3uLCJ0kWmZeCqGLgJ8NkKyGpiALALCcK\njVHNd87WUVnf9V1VsqRGytIOk42VbxBjuP1yS/nW1yJ+9wmftYtDy6/MuFT7DIM7\n1cVsRZGlM0WZbfVxHVAd8KGOvsXMOu7vgfKrLd/ZOWwtk+Iqthg23+Cc7aY2tc9q\nS1pa378idhbY8beJIyjCQgdheL8vAgMBAAGjMzAxMA8GA1UdEwEB/wQFMAMBAf8w\nDgYDVR0PAQH/BAQDAgIEMA4GA1UdDwEB/wQEAwIHgDANBgkqhkiG9w0BAQsFAAOC\nAQEAtcTQVLt/t8ijoB6Na4pvdtG0c11ZG9vJvx0mZEgp30VUwgWPqnlAmkA5RNhh\nate/fGNvwAuyJZjiHJ4nqtJ9/pEDc+RMnPiGZDzKZcZlYiqOwod6nZklGw6X3f45\nxmiM+YYfeY1vlptTnm2FyuFtgqiJ6lAVJ4c17KyrsDBw79G/3hsB9H3E8YeyA0kq\nXELejPl9JSSCvY6+KtO/BFRR36Q1Xwz9lUWI+tLkAiOLIgLsJBu4ADX276pCGGTw\nIj9pRcFEjGwp3iwXid4323b36iLiUDyQTkBGjzZlIZekSS+BMEyZ9RKoIyrxyUjC\npmPlF6edID9hg2iv9pPjGfFfKQ==\n-----END CERTIFICATE-----", + "CertificateType": "PEM", + "Issuer": { + "Country": "US", + "State": "Washington", + "City": "Redmond", + "Organization": "Microsoft Corporation", + "CommonName": "Microsoft Corporation Third Party Marketplace Root" + }, + "Subject": { + "Country": "US", + "State": "Washington", + "City": "Redmond", + "Organization": "Microsoft Corporation", + "CommonName": "Microsoft Corporation UEFI CA 2011" + }, + "ValidNotBefore": "2011-06-27T14:22:45Z", + "ValidNotAfter": "2026-06-27T14:32:45Z", + "KeyUsage": [ + "KeyCertSign", + "DigitalSignature", + "CRLSigning" + ], + "UefiSignatureOwner": "77fa9abd-0359-4d32-bd60-28f4e78f784b", + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/Certificates/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/Certificates/3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/Certificates/3/index.json new file mode 100644 index 00000000..67fb15dc --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/Certificates/3/index.json @@ -0,0 +1,31 @@ +{ + "@odata.type": "#Certificate.v1_11_0.Certificate", + "Id": "3", + "Name": "Microsoft Corporation Windows Production Certificate", + "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIF1zCCA7+gAwIBAgIKYQd2VgAAAAAACDANBgkqhkiG9w0BAQsFADCBiDELMAkG\nA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx\nHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEyMDAGA1UEAxMpTWljcm9z\nb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTAwHhcNMTExMDE5MTg0\nMTQyWhcNMjYxMDE5MTg1MTQyWjCBhDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldh\nc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBD\nb3Jwb3JhdGlvbjEuMCwGA1UEAxMlTWljcm9zb2Z0IFdpbmRvd3MgUHJvZHVjdGlv\nbiBQQ0EgMjAxMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAN0Mu6Lk\nLgnj58X3lmm8ACG9aTMz760Ey1SA7gaDu8UghNn30ovzOLCrpK0tfGJ5Bf/jSj8E\nNSBw48Tna+CcwDZ16Yox3Y1w5dw3tXRGlihbh2AjLL/cR6Vn91EnnnLrB6bJuR47\nUzV85dPsJ7mHHP65ySMJb6hGkcFuljxB08ujP10Cak3saR8lKFw2//1DFQqU4Bm0\nz9/CEuLCWyfuJ3gwi1sqCWsiiVNgFizAaB1TuuxJ851hjIVoCXNEXX2iVCvdefcV\nzzVdbBwrXM68nCOLb261Jtk2E8NP1ieuuTI7QZIs4cfNd+iqVE73XAsEh2W0Qxio\nsuBtGXfsWiT6SAMCAwEAAaOCAUMwggE/MBAGCSsGAQQBgjcVAQQDAgEAMB0GA1Ud\nDgQWBBSpKQI5jhbEl3jNkPmeT5rhfFWvUzAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi\nAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTV\n9lbLj+iiXGJo0T2UkFvXzpoYxDBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8vY3Js\nLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXRfMjAx\nMC0wNi0yMy5jcmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5odHRwOi8v\nd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dF8yMDEwLTA2\nLTIzLmNydDANBgkqhkiG9w0BAQsFAAOCAgEAFPx8cVGlecJusu85Prw8Ug9uKz8Q\nE3P+qGjQSKY0TYqWBSbuMUaQYXnW/zguRWv0wOUouNodj4rbCdcax0wKNmZqjOwb\n1wSQqBgXpJu54kAyNnbEwVrGv+QEwOoW06zDaO9irN1UbFAwWKbrfP6Up06O9Ox8\nhnNXwlIhczRa86OKVsgE2gcJ7fiL4870fo6u8PYLigj7P8kdcn9TuOu+Y+DjPTFl\nsIHl8qzNFqSfPaixm8JC0JCEX1Qd/4nquh1HkG+wc05Bn0CfX+WhKrIRkXOKISjw\nzt5zOV8+q1xg7N8DEKjTCen09paFtn9RiGZHGY2isBI9gSpoBXe7kUxie7bBB8e6\neoc0Aw5LYnqZ6cr8zko3yS2kV3wc/j3cuA9a+tbEswKFAjrqs9lu5GkhN96B0fZ1\nGQVn05NXXikbOcjuLeHN5EVzW9DSznqrFhmCRljQXp2Bs2evbDXyvOU/JOI1ogp1\nBvYYVpnUeCzRBRvr0IgBnaoQ8QXfun4sY7cGmyMhxPl4bOJYFwY2K5ESA8yk2fIt\nuvmUnUDtGEXxzopcaz6rA9NwGCoKauBfR9HVYwoy8q/XNh8qcFrlQlkIcUtXun6D\ngfAhPPQcwcW5kJMOiEWThumxIJm+mMvFlaRdYtagYwggvXUQd30980W5n5efy1eA\nbzOpBM93pGIcWX4=\n-----END CERTIFICATE-----", + "CertificateType": "PEM", + "Issuer": { + "Country": "US", + "State": "Washington", + "City": "Redmond", + "Organization": "Microsoft Corporation", + "CommonName": "Microsoft Root Certificate Authority 2010" + }, + "Subject": { + "Country": "US", + "State": "Washington", + "City": "Redmond", + "Organization": "Microsoft Corporation", + "CommonName": "Microsoft Windows Production PCA 2011" + }, + "ValidNotBefore": "2011-10-19T11:41:42Z", + "ValidNotAfter": "2026-10-19T11:51:42Z", + "KeyUsage": [ + "KeyCertSign", + "DigitalSignature", + "CRLSigning" + ], + "UefiSignatureOwner": "77fa9abd-0359-4d32-bd60-28f4e78f784b", + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/Certificates/3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/Certificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/Certificates/index.json new file mode 100644 index 00000000..10053d62 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/Certificates/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificate Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/Certificates/1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/Certificates/2" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/Certificates/3" + } + ], + "@Redfish.SupportedCertificates": [ + "PEM" + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/Certificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/Signatures/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/Signatures/1/index.json new file mode 100644 index 00000000..145eeb4a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/Signatures/1/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#Signature.v1_0_3.Signature", + "Id": "1", + "Name": "SHA256 Signature", + "SignatureString": "80B4D96931BF0D02FD91A61E19D14F1DA452E66DB2408CA8604D411F92659F0A", + "SignatureTypeRegistry": "UEFI", + "SignatureType": "EFI_CERT_SHA256_GUID", + "UefiSignatureOwner": "28d5e212-165b-4ca0-909b-c86b9cee0112", + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/Signatures/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/Signatures/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/Signatures/index.json new file mode 100644 index 00000000..8d130941 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/Signatures/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SignatureCollection.SignatureCollection", + "Name": "Signature Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/Signatures/1" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/Signatures", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/index.json new file mode 100644 index 00000000..0154a02a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#SecureBootDatabase.v1_0_3.SecureBootDatabase", + "Id": "db", + "Name": "db - Authorized Signature Database", + "Description": "UEFI db Secure Boot Database", + "DatabaseId": "db", + "Certificates": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/Certificates/" + }, + "Signatures": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/Signatures/" + }, + "Actions": { + "#SecureBootDatabase.ResetKeys": { + "target": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/Actions/SecureBootDatabase.ResetKeys", + "ResetKeysType@Redfish.AllowableValues": [ + "ResetAllKeysToDefault", + "DeleteAllKeys" + ] + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbDefault/Signatures/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbDefault/Signatures/1/index.json new file mode 100644 index 00000000..ee00d8ba --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbDefault/Signatures/1/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#Signature.v1_0_3.Signature", + "Id": "1", + "Name": "SHA256 Signature", + "SignatureString": "80B4D96931BF0D02FD91A61E19D14F1DA452E66DB2408CA8604D411F92659F0A", + "SignatureTypeRegistry": "UEFI", + "SignatureType": "EFI_CERT_SHA256_GUID", + "UefiSignatureOwner": "28d5e212-165b-4ca0-909b-c86b9cee0112", + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbDefault/Signatures/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbDefault/Signatures/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbDefault/Signatures/index.json new file mode 100644 index 00000000..f725bc3c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbDefault/Signatures/index.json @@ -0,0 +1,8 @@ +{ + "@odata.type": "#SignatureCollection.SignatureCollection", + "Name": "Signature Collection", + "Members@odata.count": 0, + "Members": [], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbDefault/Signatures", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbDefault/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbDefault/index.json new file mode 100644 index 00000000..46c343f9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbDefault/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SecureBootDatabase.v1_0_3.SecureBootDatabase", + "Id": "dbDefault", + "Name": "dbDefault - Default Authorized Signature Database", + "Description": "UEFI dbDefault Secure Boot Database", + "DatabaseId": "dbDefault", + "Signatures": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbDefault/Signatures/" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbDefault", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbx/Certificates/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbx/Certificates/index.json new file mode 100644 index 00000000..c5da1b6d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbx/Certificates/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#CertificateCollection.CertificateCollection", + "Name": "Certificate Collection", + "Members@odata.count": 0, + "Members": [], + "@Redfish.SupportedCertificates": [ + "PEM" + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbx/Certificates", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbx/Signatures/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbx/Signatures/1/index.json new file mode 100644 index 00000000..3f21d500 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbx/Signatures/1/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#Signature.v1_0_3.Signature", + "Id": "1", + "Name": "SHA256 Signature", + "SignatureString": "0000000000000000000000000000000000000000000000000000000000000000", + "SignatureTypeRegistry": "UEFI", + "SignatureType": "EFI_CERT_SHA256_GUID", + "UefiSignatureOwner": "00000000-0000-0000-0000-000000000000", + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbx/Signatures/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbx/Signatures/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbx/Signatures/2/index.json new file mode 100644 index 00000000..fc8a3573 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbx/Signatures/2/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#Signature.v1_0_3.Signature", + "Id": "2", + "Name": "SHA256 Signature", + "SignatureString": "AF460B2C71D4BA303980B38CD9A09A9FC092D9B0DDBC9ADF824BF6C72CD980AB", + "SignatureTypeRegistry": "UEFI", + "SignatureType": "EFI_CERT_SHA256_GUID", + "UefiSignatureOwner": "b30f32b3-eca0-41a6-3777-a22bcf62cab2", + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbx/Signatures/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbx/Signatures/3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbx/Signatures/3/index.json new file mode 100644 index 00000000..d447d9f3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbx/Signatures/3/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#Signature.v1_0_3.Signature", + "Id": "3", + "Name": "SHA256 Signature", + "SignatureString": "ACD161952F7B443BF2E83F9AFC7E0F972CB4448DA3814A7F8047584F2102E7B7", + "SignatureTypeRegistry": "UEFI", + "SignatureType": "EFI_CERT_SHA256_GUID", + "UefiSignatureOwner": "b30f32b3-eca0-41a6-3777-a22bcf62cab2", + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbx/Signatures/3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbx/Signatures/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbx/Signatures/index.json new file mode 100644 index 00000000..11b153c4 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbx/Signatures/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#SignatureCollection.SignatureCollection", + "Name": "Signature Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbx/Signatures/1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbx/Signatures/2" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbx/Signatures/3" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbx/Signatures", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbx/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbx/index.json new file mode 100644 index 00000000..b75b717a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbx/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#SecureBootDatabase.v1_0_3.SecureBootDatabase", + "Id": "dbx", + "Name": "dbx - Forbidden Signature Database", + "Description": "UEFI dbx Secure Boot Database", + "DatabaseId": "dbx", + "Certificates": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbx/Certificates/" + }, + "Signatures": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbx/Signatures/" + }, + "Actions": { + "#SecureBootDatabase.ResetKeys": { + "target": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbx/Actions/SecureBootDatabase.ResetKeys", + "ResetKeysType@Redfish.AllowableValues": [ + "ResetAllKeysToDefault", + "DeleteAllKeys" + ] + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbx", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbxDefault/Signatures/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbxDefault/Signatures/1/index.json new file mode 100644 index 00000000..4d16edab --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbxDefault/Signatures/1/index.json @@ -0,0 +1,11 @@ +{ + "@odata.type": "#Signature.v1_0_3.Signature", + "Id": "1", + "Name": "SHA256 Signature", + "SignatureString": "0000000000000000000000000000000000000000000000000000000000000000", + "SignatureTypeRegistry": "UEFI", + "SignatureType": "EFI_CERT_SHA256_GUID", + "UefiSignatureOwner": "00000000-0000-0000-0000-000000000000", + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbxDefault/Signatures/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbxDefault/Signatures/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbxDefault/Signatures/index.json new file mode 100644 index 00000000..d893c6b5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbxDefault/Signatures/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SignatureCollection.SignatureCollection", + "Name": "Signature Collection", + "Members@odata.count": 3, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db/Signatures/1" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbxDefault/Signatures", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbxDefault/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbxDefault/index.json new file mode 100644 index 00000000..5adc6b45 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbxDefault/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#SecureBootDatabase.v1_0_3.SecureBootDatabase", + "Id": "dbxDefault", + "Name": "dbxDefault - Default Forbidden Signature Database", + "Description": "UEFI dbxDefault Secure Boot Database", + "DatabaseId": "dbxDefault", + "Signatures": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbxDefault/Signatures/" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbxDefault", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/index.json new file mode 100644 index 00000000..d832a18d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#SecureBootDatabaseCollection.SecureBootDatabaseCollection", + "Name": "UEFI SecureBoot Database Collection", + "Members@odata.count": 8, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/PK" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEK" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/db" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbx" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/PKDefault" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/KEKDefault" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbDefault" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases/dbxDefault" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/index.json new file mode 100644 index 00000000..73bccdb3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/SecureBoot/index.json @@ -0,0 +1,23 @@ +{ + "@odata.type": "#SecureBoot.v1_2_1.SecureBoot", + "Id": "SecureBoot", + "Name": "UEFI Secure Boot", + "Actions": { + "#SecureBoot.ResetKeys": { + "target": "/redfish/v1/Systems/437XR1238R2/SecureBoot/Actions/SecureBoot.ResetKeys", + "ResetKeysType@Redfish.AllowableValues": [ + "ResetAllKeysToDefault", + "DeleteAllKeys", + "DeletePK" + ] + } + }, + "SecureBootEnable": false, + "SecureBootCurrentBoot": "Disabled", + "SecureBootMode": "UserMode", + "SecureBootDatabases": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot/SecureBootDatabases" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/HAFiberChannel/Volumes/AssetStorage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/HAFiberChannel/Volumes/AssetStorage/index.json new file mode 100644 index 00000000..3cb0d111 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/HAFiberChannel/Volumes/AssetStorage/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#Volume.v1_11_0.Volume", + "Id": "AssetStorage", + "Name": "Remote Storage for Assets", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Encrypted": false, + "RAIDType": "None", + "CapacityBytes": 40532396646334460, + "Identifiers": [ + { + "DurableNameFormat": "FC_WWN", + "DurableName": "10:00:00:00:c9:93:54:6e" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/HAFiberChannel/Volumes/AssetStorage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/HAFiberChannel/Volumes/RenderStorage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/HAFiberChannel/Volumes/RenderStorage/index.json new file mode 100644 index 00000000..cd47b60d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/HAFiberChannel/Volumes/RenderStorage/index.json @@ -0,0 +1,20 @@ +{ + "@odata.type": "#Volume.v1_11_0.Volume", + "Id": "RenderStorage", + "Name": "Remote Render Storage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Encrypted": false, + "RAIDType": "None", + "CapacityBytes": 23058430092136940000, + "Identifiers": [ + { + "DurableNameFormat": "FC_WWN", + "DurableName": "10:00:00:00:c9:93:53:6d" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/HAFiberChannel/Volumes/RenderStorage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/HAFiberChannel/Volumes/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/HAFiberChannel/Volumes/index.json new file mode 100644 index 00000000..a96db798 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/HAFiberChannel/Volumes/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#VolumeCollection.VolumeCollection", + "Name": "Storage Volume Collection", + "Description": "Storage Volume Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/HAFiberChannel/Volumes/RenderStorage" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/HAFiberChannel/Volumes/AssetStorage" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/HAFiberChannel/Volumes", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/HAFiberChannel/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/HAFiberChannel/index.json new file mode 100644 index 00000000..909abfbe --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/HAFiberChannel/index.json @@ -0,0 +1,56 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Id": "HAFiberChannel", + "Name": "Fiber Channel HA Domain", + "Description": "Fiber Channel HA Domain", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "StorageControllers": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/HAFiberChannel#/StorageControllers/0", + "MemberId": "0", + "Name": "SuperFC 5000", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Manufacturer": "Contoso", + "Model": "SuperFC 5000", + "SKU": "89587433", + "SerialNumber": "2M220100SL", + "PartNumber": "232-4598D7", + "SpeedGbps": 64, + "FirmwareVersion": "4.5.44", + "SupportedDeviceProtocols": [ + "FC" + ] + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/HAFiberChannel#/StorageControllers/1", + "MemberId": "1", + "Name": "SuperFC 5000", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Manufacturer": "Contoso", + "Model": "SuperFC 5000", + "SKU": "89587433", + "SerialNumber": "2M220100SM", + "PartNumber": "232-4598D7", + "SpeedGbps": 64, + "FirmwareVersion": "4.5.44", + "SupportedDeviceProtocols": [ + "FC" + ] + } + ], + "Volumes": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/NVMeSecondary/Volumes" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/HAFiberChannel", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/NVMeSWRAID/Volumes/Boot/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/NVMeSWRAID/Volumes/Boot/index.json new file mode 100644 index 00000000..6ac52e85 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/NVMeSWRAID/Volumes/Boot/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#Volume.v1_11_0.Volume", + "Id": "Boot", + "Name": "Boot/Application Volume", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Encrypted": false, + "RAIDType": "RAID1", + "CapacityBytes": 1125899906842624, + "Identifiers": [ + { + "DurableNameFormat": "UUID", + "DurableName": "38f1818b-111e-463a-aa19-fa54f792e468" + } + ], + "Links": { + "Drives": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/M.2-1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/M.2-2" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/NVMeSWRAID/Volumes/Boot", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/NVMeSWRAID/Volumes/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/NVMeSWRAID/Volumes/index.json new file mode 100644 index 00000000..7ade4790 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/NVMeSWRAID/Volumes/index.json @@ -0,0 +1,13 @@ +{ + "@odata.type": "#VolumeCollection.VolumeCollection", + "Name": "Storage Volume Collection", + "Description": "Storage Volume Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/NVMeSWRAID/Volumes/Boot" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/NVMeSWRAID/Volumes", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/NVMeSWRAID/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/NVMeSWRAID/index.json new file mode 100644 index 00000000..75bf7767 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/NVMeSWRAID/index.json @@ -0,0 +1,42 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Id": "NVMeSWRAID", + "Name": "SW RAID for Integrated NVMe Boot Drives", + "Description": "Contoso SW RAID", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "StorageControllers": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/NVMeSWRAID#/StorageControllers/0", + "MemberId": "0", + "Name": "Contoso SW RAID", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "SupportedDeviceProtocols": [ + "NVMe" + ], + "SupportedRAIDTypes": [ + "RAID0", + "RAID1" + ] + } + ], + "Drives": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/M.2-1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/M.2-2" + } + ], + "Volumes": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/NVMeSWRAID/Volumes" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/NVMeSWRAID", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/NVMeSecondary/Volumes/AssetCache/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/NVMeSecondary/Volumes/AssetCache/index.json new file mode 100644 index 00000000..e899f334 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/NVMeSecondary/Volumes/AssetCache/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#Volume.v1_11_0.Volume", + "Id": "AssetCache", + "Name": "Local Cache for Assets", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Encrypted": false, + "RAIDType": "None", + "CapacityBytes": 2251799813685248, + "Identifiers": [ + { + "DurableNameFormat": "UUID", + "DurableName": "38f1818b-111e-463a-aa19-fa54f792e468" + } + ], + "Links": { + "Drives": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-2-0" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-2-1" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/NVMeSecondary/Volumes/AssetCache", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/NVMeSecondary/Volumes/RenderVol/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/NVMeSecondary/Volumes/RenderVol/index.json new file mode 100644 index 00000000..f5b90dc7 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/NVMeSecondary/Volumes/RenderVol/index.json @@ -0,0 +1,30 @@ +{ + "@odata.type": "#Volume.v1_11_0.Volume", + "Id": "RenderVol", + "Name": "Local Render Storage", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Encrypted": false, + "RAIDType": "None", + "CapacityBytes": 2251799813685248, + "Identifiers": [ + { + "DurableNameFormat": "UUID", + "DurableName": "38f1818b-111e-463a-aa19-fa54f792e468" + } + ], + "Links": { + "Drives": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-2-2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-2-3" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/NVMeSecondary/Volumes/RenderVol", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/NVMeSecondary/Volumes/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/NVMeSecondary/Volumes/index.json new file mode 100644 index 00000000..2675b6fe --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/NVMeSecondary/Volumes/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#VolumeCollection.VolumeCollection", + "Name": "Storage Volume Collection", + "Description": "Storage Volume Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/NVMeSecondary/Volumes/RenderVol" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/NVMeSecondary/Volumes/AssetCache" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/RAIDIntegrated/Volumes", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/NVMeSecondary/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/NVMeSecondary/index.json new file mode 100644 index 00000000..881f7086 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/NVMeSecondary/index.json @@ -0,0 +1,59 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Id": "NVMeSecondary", + "Name": "Secondary NVMe Storage", + "Description": "Contoso HW RAID", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "StorageControllers": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/NVMeSecondary#/StorageControllers/0", + "MemberId": "0", + "Name": "NVMe Bridge", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "SupportedDeviceProtocols": [ + "NVMe" + ], + "SupportedRAIDTypes": [ + "None" + ] + } + ], + "Drives": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-2-0" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-2-1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-2-2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-2-3" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-2-4" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-2-5" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-2-6" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-2-7" + } + ], + "Volumes": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/NVMeSecondary/Volumes" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/NVMeSecondary", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/RAIDIntegrated/Volumes/Scratchpad/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/RAIDIntegrated/Volumes/Scratchpad/index.json new file mode 100644 index 00000000..f90b890c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/RAIDIntegrated/Volumes/Scratchpad/index.json @@ -0,0 +1,27 @@ +{ + "@odata.type": "#Volume.v1_11_0.Volume", + "Id": "Scratchpad", + "Name": "Scratchpad Volume", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Encrypted": false, + "RAIDType": "None", + "CapacityBytes": 20266198323167230, + "Identifiers": [ + { + "DurableNameFormat": "UUID", + "DurableName": "38f1818b-111e-463a-aa19-fa54f792e468" + } + ], + "Links": { + "Drives": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-1-0" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/RAIDIntegrated/Volumes/Scratchpad", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/RAIDIntegrated/Volumes/Secondary/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/RAIDIntegrated/Volumes/Secondary/index.json new file mode 100644 index 00000000..3028068e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/RAIDIntegrated/Volumes/Secondary/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Volume.v1_11_0.Volume", + "Id": "Secondary", + "Name": "Scratchpad Volume", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Encrypted": false, + "RAIDType": "RAID5", + "CapacityBytes": 40532396646334460, + "Identifiers": [ + { + "DurableNameFormat": "UUID", + "DurableName": "38f1818b-111e-463a-aa19-fa54f792e468" + } + ], + "Links": { + "Drives": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-1-1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-1-2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-1-3" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/RAIDIntegrated/Volumes/Secondary", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/RAIDIntegrated/Volumes/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/RAIDIntegrated/Volumes/index.json new file mode 100644 index 00000000..fc8d5001 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/RAIDIntegrated/Volumes/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#VolumeCollection.VolumeCollection", + "Name": "Storage Volume Collection", + "Description": "Storage Volume Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/RAIDIntegrated/Volumes/Scratchpad" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/RAIDIntegrated/Volumes/Secondary" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/RAIDIntegrated/Volumes", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/RAIDIntegrated/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/RAIDIntegrated/index.json new file mode 100644 index 00000000..31ae5911 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/RAIDIntegrated/index.json @@ -0,0 +1,82 @@ +{ + "@odata.type": "#Storage.v1_23_0.Storage", + "Id": "RAIDIntegrated", + "Name": "Integrated RAID for SAS/SATA Drives", + "Description": "Contoso HW RAID", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "StorageControllers": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/RAIDIntegrated#/StorageControllers/0", + "MemberId": "0", + "Name": "Contoso HW RAID", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Manufacturer": "Contoso", + "Model": "RAID 16oz can", + "SKU": "7687121", + "SerialNumber": "2M220100SL", + "PartNumber": "88/476363", + "AssetTag": "8675309", + "SpeedGbps": 12, + "FirmwareVersion": "23.13.06.0006", + "SupportedControllerProtocols": [ + "PCIe" + ], + "SupportedDeviceProtocols": [ + "SAS", + "SATA" + ], + "SupportedRAIDTypes": [ + "None", + "RAID0", + "RAID1", + "RAID5", + "RAID6", + "RAID10", + "RAID50", + "RAID60" + ], + "ControllerRates": { + "RebuildRatePercent": 30, + "ConsistencyCheckRatePercent": 15 + } + } + ], + "Drives": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-1-0" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-1-1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-1-2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-1-3" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-1-4" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-1-5" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-1-6" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/Drives/Disk-1-7" + } + ], + "Volumes": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/RAIDIntegrated/Volumes" + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/RAIDIntegrated", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/index.json new file mode 100644 index 00000000..a29a2f26 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/Storage/index.json @@ -0,0 +1,21 @@ +{ + "@odata.type": "#StorageCollection.StorageCollection", + "Name": "Storage Collection", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/NVMeSWRAID" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/RAIDIntegrated" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/NVMeSecondary" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage/HAFiberChannel" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB1/Ports/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB1/Ports/1/index.json new file mode 100644 index 00000000..62a59c73 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB1/Ports/1/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "1", + "Name": "USB Port 1", + "Description": "USB Port 1", + "Enabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "1", + "PortProtocol": "USB", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 0.12, + "Width": 1, + "MaxSpeedGbps": 10, + "CurrentProtocolVersion": "2.0", + "CapableProtocolVersions": [ + "1.0", + "1.1", + "2.0", + "3.0", + "3.1" + ], + "Location": { + "PartLocation": { + "ServiceLabel": "USB 1", + "LocationOrdinalValue": 1, + "LocationType": "Connector", + "Orientation": "TopToBottom", + "Reference": "Front" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/USBControllers/USB1/Ports/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB1/Ports/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB1/Ports/2/index.json new file mode 100644 index 00000000..41e0327d --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB1/Ports/2/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "2", + "Name": "USB Port 2", + "Description": "USB Port 2", + "Enabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "2", + "PortProtocol": "USB", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 0, + "Width": 1, + "MaxSpeedGbps": 10, + "CurrentProtocolVersion": null, + "CapableProtocolVersions": [ + "1.0", + "1.1", + "2.0", + "3.0", + "3.1" + ], + "Location": { + "PartLocation": { + "ServiceLabel": "USB 2", + "LocationOrdinalValue": 2, + "LocationType": "Connector", + "Orientation": "TopToBottom", + "Reference": "Front" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/USBControllers/USB1/Ports/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB1/Ports/3/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB1/Ports/3/index.json new file mode 100644 index 00000000..88f41a19 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB1/Ports/3/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "3", + "Name": "USB Port 3", + "Description": "USB Port 3", + "Enabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "3", + "PortProtocol": "USB", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 0, + "Width": 1, + "MaxSpeedGbps": 10, + "CurrentProtocolVersion": null, + "CapableProtocolVersions": [ + "1.0", + "1.1", + "2.0", + "3.0", + "3.1" + ], + "Location": { + "PartLocation": { + "ServiceLabel": "USB 3", + "LocationOrdinalValue": 1, + "LocationType": "Connector", + "Orientation": "TopToBottom", + "Reference": "Rear" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/USBControllers/USB1/Ports/3", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB1/Ports/4/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB1/Ports/4/index.json new file mode 100644 index 00000000..c68885d3 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB1/Ports/4/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "4", + "Name": "USB Port 4", + "Description": "USB Port 4", + "Enabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "3", + "PortProtocol": "USB", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 0, + "Width": 1, + "MaxSpeedGbps": 10, + "CurrentProtocolVersion": null, + "CapableProtocolVersions": [ + "1.0", + "1.1", + "2.0", + "3.0", + "3.1" + ], + "Location": { + "PartLocation": { + "ServiceLabel": "USB 4", + "LocationOrdinalValue": 2, + "LocationType": "Connector", + "Orientation": "TopToBottom", + "Reference": "Rear" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/USBControllers/USB1/Ports/4", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB1/Ports/5/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB1/Ports/5/index.json new file mode 100644 index 00000000..cf45743a --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB1/Ports/5/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "5", + "Name": "USB Port 5", + "Description": "USB Port 5", + "Enabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "3", + "PortProtocol": "USB", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 0, + "Width": 1, + "MaxSpeedGbps": 10, + "CurrentProtocolVersion": null, + "CapableProtocolVersions": [ + "1.0", + "1.1", + "2.0", + "3.0", + "3.1" + ], + "Location": { + "PartLocation": { + "ServiceLabel": "USB 5", + "LocationOrdinalValue": 3, + "LocationType": "Connector", + "Orientation": "TopToBottom", + "Reference": "Rear" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/USBControllers/USB1/Ports/5", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB1/Ports/6/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB1/Ports/6/index.json new file mode 100644 index 00000000..1baf0227 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB1/Ports/6/index.json @@ -0,0 +1,36 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "6", + "Name": "USB Port 6", + "Description": "USB Port 6", + "Enabled": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "3", + "PortProtocol": "USB", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 0, + "Width": 1, + "MaxSpeedGbps": 10, + "CurrentProtocolVersion": null, + "CapableProtocolVersions": [ + "1.0", + "1.1", + "2.0", + "3.0", + "3.1" + ], + "Location": { + "PartLocation": { + "ServiceLabel": "USB 6", + "LocationOrdinalValue": 4, + "LocationType": "Connector", + "Orientation": "TopToBottom", + "Reference": "Rear" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/USBControllers/USB1/Ports/6", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB1/Ports/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB1/Ports/index.json new file mode 100644 index 00000000..d307059c --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB1/Ports/index.json @@ -0,0 +1,28 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "Port Collection", + "Description": "USB Port Collection", + "Members@odata.count": 6, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/USBControllers/USB1/Ports/1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/USBControllers/USB1/Ports/2" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/USBControllers/USB1/Ports/3" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/USBControllers/USB1/Ports/4" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/USBControllers/USB1/Ports/5" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/USBControllers/USB1/Ports/6" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/USBControllers/USB1/Ports", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB1/index.json new file mode 100644 index 00000000..38921ec5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB1/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#USBController.v1_0_1.USBController", + "Id": "USB1", + "Name": "Contoso USB Controller 1", + "Manufacturer": "Contoso", + "Model": "USBv3", + "SKU": "80937", + "SerialNumber": "2M220100SL", + "PartNumber": "G37891", + "SparePartNumber": "G37890", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Ports": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/USBControllers/USB1/Ports" + }, + "Links": { + "Processors": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/USBControllers/USB1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB2/Ports/1/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB2/Ports/1/index.json new file mode 100644 index 00000000..7b1c4178 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB2/Ports/1/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "1", + "Name": "USB Port 7", + "Description": "USB Port 7", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "7", + "PortProtocol": "USB", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 0.12, + "Width": 1, + "MaxSpeedGbps": 0.48, + "CurrentProtocolVersion": "2.0", + "CapableProtocolVersions": [ + "1.0", + "1.1", + "2.0" + ], + "Location": { + "PartLocation": { + "ServiceLabel": "USB 7", + "LocationOrdinalValue": 5, + "LocationType": "Connector", + "Orientation": "TopToBottom", + "Reference": "Rear" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/USBControllers/USB2/Ports/1", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB2/Ports/2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB2/Ports/2/index.json new file mode 100644 index 00000000..f6310878 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB2/Ports/2/index.json @@ -0,0 +1,33 @@ +{ + "@odata.type": "#Port.v1_20_0.Port", + "Id": "2", + "Name": "USB Port 8", + "Description": "USB Port 8", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "PortId": "8", + "PortProtocol": "USB", + "PortType": "BidirectionalPort", + "CurrentSpeedGbps": 0, + "Width": 1, + "MaxSpeedGbps": 0.48, + "CurrentProtocolVersion": null, + "CapableProtocolVersions": [ + "1.0", + "1.1", + "2.0" + ], + "Location": { + "PartLocation": { + "ServiceLabel": "USB 8", + "LocationOrdinalValue": 6, + "LocationType": "Connector", + "Orientation": "TopToBottom", + "Reference": "Rear" + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/USBControllers/USB2/Ports/2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB2/Ports/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB2/Ports/index.json new file mode 100644 index 00000000..a59fec6b --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB2/Ports/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#PortCollection.PortCollection", + "Name": "Port Collection", + "Description": "USB Port Collection", + "Members@odata.count": 4, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/USBControllers/USB2/Ports/1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/USBControllers/USB2/Ports/2" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/USBControllers/USB2/Ports", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB2/index.json new file mode 100644 index 00000000..66b0f3fb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/USB2/index.json @@ -0,0 +1,48 @@ +{ + "@odata.type": "#USBController.v1_0_1.USBController", + "Id": "USB2", + "Name": "Contoso USB Controller 2", + "Manufacturer": "Contoso", + "Model": "USBv2", + "SKU": "80937", + "SerialNumber": "2M220100SL", + "PartNumber": "G37891", + "SparePartNumber": "G37890", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Ports": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/USBControllers/USB2/Ports" + }, + "Links": { + "Processors": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU2" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU3" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU4" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU5" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU6" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU7" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors/CPU8" + } + ] + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2/USBControllers/USB2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/index.json new file mode 100644 index 00000000..25287d54 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/USBControllers/index.json @@ -0,0 +1,16 @@ +{ + "@odata.type": "#USBControllerCollection.USBControllerCollection", + "Name": "USBControllers", + "Description": "Redfish USB Controllers", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/USBControllers/USB1" + }, + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/USBControllers/USB2" + } + ], + "@odata.id": "/redfish/v1/Systems/437XR1238R2/USBControllers", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/index.json new file mode 100644 index 00000000..56423189 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/437XR1238R2/index.json @@ -0,0 +1,182 @@ +{ + "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", + "Id": "437XR1238R2", + "Name": "Dev-Render-2", + "SystemType": "Physical", + "AssetTag": "Memphis-45Z-2381", + "Manufacturer": "Contoso", + "Model": "3500", + "SubModel": "TX", + "SKU": "8675309", + "SerialNumber": "437XR1238R2", + "PartNumber": "224071-J23", + "Description": "Development Rendering Server", + "UUID": "38947555-7742-3448-3784-823347823834", + "HostName": "devrender2", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "HostingRoles": [ + "ApplicationServer" + ], + "IndicatorLED": "Off", + "PowerState": "On", + "Boot": { + "BootSourceOverrideEnabled": "Disabled", + "BootSourceOverrideTarget": "Hdd", + "BootSourceOverrideTarget@Redfish.AllowableValues": [ + "None", + "Pxe", + "Cd", + "Usb", + "Hdd", + "BiosSetup", + "Utilities", + "Diags", + "SDCard", + "UefiTarget" + ], + "BootSourceOverrideMode": "UEFI", + "UefiTargetBootSourceOverride": "/0x31/0x33/0x01/0x01" + }, + "TrustedModules": [ + { + "FirmwareVersion": "1.13b", + "InterfaceType": "TPM1_2", + "Status": { + "State": "Enabled", + "Health": "OK" + } + } + ], + "Oem": { + "Contoso": { + "@odata.type": "#Contoso.ComputerSystem", + "ProductionLocation": { + "FacilityName": "Tennessee Development Facility", + "Country": "USA" + } + }, + "Chipwise": { + "@odata.type": "#Chipwise.ComputerSystem", + "Style": "Executive" + } + }, + "BiosVersion": "P79 v1.95 (12/06/2019)", + "ProcessorSummary": { + "Count": 8, + "Model": "Intel(R) Xeon(R) Gold 5218 2.3GHz", + "LogicalProcessorCount": 256, + "CoreCount": 128, + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + } + }, + "MemorySummary": { + "TotalSystemMemoryGiB": 1024, + "TotalSystemPersistentMemoryGiB": 0, + "MemoryMirroring": "None", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + } + }, + "PCIeDevices": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower/PCIeDevices/Slot1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/PCIeDevices/Slot2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/PCIeDevices/Slot3" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/PCIeDevices/Slot4" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/PCIeDevices/IntegratedNIC" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/PCIeDevices/IntegratedNVMe1" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/PCIeDevices/IntegratedNVMe2" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/PCIeDevices/IntegratedRAID" + }, + { + "@odata.id": "/redfish/v1/Chassis/Tower/PCIeDevices/EmbeddedNVMeBridge" + } + ], + "Bios": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Bios" + }, + "SecureBoot": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/SecureBoot" + }, + "Processors": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Processors" + }, + "Memory": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Memory" + }, + "EthernetInterfaces": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/EthernetInterfaces" + }, + "Storage": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/Storage" + }, + "LogServices": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/LogServices" + }, + "USBControllers": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/USBControllers" + }, + "GraphicsControllers": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/GraphicsControllers" + }, + "NetworkInterfaces": { + "@odata.id": "/redfish/v1/Systems/437XR1238R2/NetworkInterfaces" + }, + "Links": { + "Chassis": [ + { + "@odata.id": "/redfish/v1/Chassis/Tower" + } + ], + "ManagedBy": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ] + }, + "Actions": { + "#ComputerSystem.Reset": { + "target": "/redfish/v1/Systems/437XR1238R2/Actions/ComputerSystem.Reset", + "ResetType@Redfish.AllowableValues": [ + "On", + "ForceOff", + "GracefulShutdown", + "GracefulRestart", + "ForceRestart", + "Nmi", + "ForceOn", + "PushPowerButton" + ] + }, + "Oem": { + "#Contoso.Reset": { + "target": "/redfish/v1/Systems/437XR1238R2/Oem/Contoso/Actions/Contoso.Reset" + } + } + }, + "@odata.id": "/redfish/v1/Systems/437XR1238R2", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/index.json new file mode 100644 index 00000000..8632b3e6 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/Systems/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#ComputerSystemCollection.ComputerSystemCollection", + "Name": "Computer System Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2" + } + ], + "@odata.id": "/redfish/v1/Systems", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/TaskService/Tasks/545/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/TaskService/Tasks/545/index.json new file mode 100644 index 00000000..ef4dfe19 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/TaskService/Tasks/545/index.json @@ -0,0 +1,24 @@ +{ + "@odata.type": "#Task.v1_7_4.Task", + "Id": "545", + "Name": "Task 545", + "TaskState": "Completed", + "StartTime": "2012-03-07T14:44:00+06:00", + "EndTime": "2012-03-07T14:45:00+06:00", + "TaskStatus": "OK", + "Messages": [ + { + "MessageId": "Base.1.0.PropertyNotWritable", + "RelatedProperties": [ + "/SKU" + ], + "Message": "The property SKU is a read only property and cannot be assigned a value", + "MessageArgs": [ + "SKU" + ], + "Severity": "Warning" + } + ], + "@odata.id": "/redfish/v1/TaskService/Tasks/545", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/TaskService/Tasks/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/TaskService/Tasks/index.json new file mode 100644 index 00000000..cf1c32c8 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/TaskService/Tasks/index.json @@ -0,0 +1,12 @@ +{ + "@odata.type": "#TaskCollection.TaskCollection", + "Name": "Task Collection", + "Members@odata.count": 1, + "Members": [ + { + "@odata.id": "/redfish/v1/TaskService/Tasks/545" + } + ], + "@odata.id": "/redfish/v1/TaskService/Tasks", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/TaskService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/TaskService/index.json new file mode 100644 index 00000000..d04a90b5 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/TaskService/index.json @@ -0,0 +1,18 @@ +{ + "@odata.type": "#TaskService.v1_3_0.TaskService", + "Id": "TaskService", + "Name": "Tasks Service", + "DateTime": "2015-03-13T04:14:33+06:00", + "CompletedTaskOverWritePolicy": "Manual", + "LifeCycleEventOnTaskStateChange": true, + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "ServiceEnabled": true, + "Tasks": { + "@odata.id": "/redfish/v1/TaskService/Tasks" + }, + "@odata.id": "/redfish/v1/TaskService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/UpdateService/FirmwareInventory/BIOS/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/UpdateService/FirmwareInventory/BIOS/index.json new file mode 100644 index 00000000..b0ab5274 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/UpdateService/FirmwareInventory/BIOS/index.json @@ -0,0 +1,22 @@ +{ + "@odata.type": "#SoftwareInventory.v1_15_0.SoftwareInventory", + "Id": "BIOS", + "Name": "Contoso BIOS Firmware", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Updateable": true, + "Manufacturer": "Contoso", + "ReleaseDate": "2017-12-06T12:00:00Z", + "Version": "P79 v1.45", + "SoftwareId": "FEE82A67-6CE2-4625-9F44-237AD2402C28", + "LowestSupportedVersion": "P79 v1.10", + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Systems/437XR1238R2" + } + ], + "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/BIOS", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/UpdateService/FirmwareInventory/BMC/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/UpdateService/FirmwareInventory/BMC/index.json new file mode 100644 index 00000000..5ddd741e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/UpdateService/FirmwareInventory/BMC/index.json @@ -0,0 +1,25 @@ +{ + "@odata.type": "#SoftwareInventory.v1_15_0.SoftwareInventory", + "Id": "BMC", + "Name": "Contoso BMC Firmware", + "Status": { + "State": "Enabled", + "Health": "OK" + }, + "Updateable": true, + "Manufacturer": "Contoso", + "ReleaseDate": "2017-08-22T12:00:00Z", + "Version": "1.45.455b66-rev4", + "SoftwareId": "1624A9DF-5E13-47FC-874A-DF3AFF143089", + "LowestSupportedVersion": "1.30.367a12-rev1", + "UefiDevicePaths": [ + "BMC(0x1,0x0ABCDEF)" + ], + "RelatedItem": [ + { + "@odata.id": "/redfish/v1/Managers/BMC" + } + ], + "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/BMC", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/UpdateService/FirmwareInventory/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/UpdateService/FirmwareInventory/index.json new file mode 100644 index 00000000..d8621b82 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/UpdateService/FirmwareInventory/index.json @@ -0,0 +1,15 @@ +{ + "@odata.type": "#SoftwareInventoryCollection.SoftwareInventoryCollection", + "Name": "Firmware Collection", + "Members@odata.count": 2, + "Members": [ + { + "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/BMC" + }, + { + "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/BIOS" + } + ], + "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/UpdateService/SimpleUpdateActionInfo/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/UpdateService/SimpleUpdateActionInfo/index.json new file mode 100644 index 00000000..68871f2f --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/UpdateService/SimpleUpdateActionInfo/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#ActionInfo.v1_6_0.ActionInfo", + "Id": "SimpleUpdateActionInfo", + "Name": "Simple Update Action Info", + "Parameters": [ + { + "Name": "ImageURI", + "Required": true, + "DataType": "String" + }, + { + "Name": "TransferProtocol", + "Required": false, + "DataType": "String", + "AllowableValues": [ + "FTP", + "SFTP", + "HTTP", + "HTTPS", + "SCP", + "TFTP" + ] + }, + { + "Name": "Username", + "Required": false, + "DataType": "String" + }, + { + "Name": "Password", + "Required": false, + "DataType": "String" + } + ], + "@odata.id": "/redfish/v1/UpdateService/SimpleUpdateActionInfo", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/UpdateService/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/UpdateService/index.json new file mode 100644 index 00000000..d90adfcb --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/UpdateService/index.json @@ -0,0 +1,37 @@ +{ + "@odata.type": "#UpdateService.v1_17_1.UpdateService", + "Id": "UpdateService", + "Name": "Update service", + "Status": { + "State": "Enabled", + "Health": "OK", + "HealthRollup": "OK" + }, + "ServiceEnabled": true, + "HttpPushUri": "/FWUpdate", + "HttpPushUriOptions": { + "HttpPushUriApplyTime": { + "ApplyTime": "Immediate", + "ApplyTime@Redfish.AllowableValues": [ + "Immediate", + "OnReset", + "AtMaintenanceWindowStart", + "InMaintenanceWindowOnReset" + ], + "MaintenanceWindowStartTime": "2018-12-01T03:00:00+06:00", + "MaintenanceWindowDurationInSeconds": 600 + } + }, + "HttpPushUriOptionsBusy": false, + "FirmwareInventory": { + "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory" + }, + "Actions": { + "#UpdateService.SimpleUpdate": { + "target": "/redfish/v1/UpdateService/Actions/UpdateService.SimpleUpdate", + "@Redfish.ActionInfo": "/redfish/v1/UpdateService/SimpleUpdateActionInfo" + } + }, + "@odata.id": "/redfish/v1/UpdateService", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/explorer_config.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/explorer_config.json new file mode 100644 index 00000000..7e4ef89e --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/explorer_config.json @@ -0,0 +1,66 @@ +{ + "name": "Complex Tower Server", + "description": "This illustration of a Redfish service implementation shows a fully featured tower server, as might be used in a rendering or development environment. It depicts the types of information that can be expected, but does not represent an actual implementation.", + "navlinks": [ + { + "text": "Main", + "target": "main" + }, + { + "text": "Systems", + "target": "Systems", + "navlinks": [ + { + "text": "437XR1238R2", + "target": "437XR1238R2" + } + ] + }, + { + "text": "Chassis", + "target": "Chassis", + "navlinks": [ + { + "text": "Tower", + "target": "Tower" + } + ] + }, + { + "text": "Managers", + "target": "Managers", + "navlinks": [ + { + "text": "BMC", + "target": "BMC" + } + ] + }, + { + "text": "Task Service", + "target": "TaskService" + }, + { + "text": "Session Service", + "target": "SessionService" + }, + { + "target": "AccountService", + "text": "Account Service" + }, + { + "target": "EventService", + "text": "Event Service", + "navlinks": [ + { + "text": "Subscriptions", + "target": "Subscriptions" + } + ] + }, + { + "target": "UpdateService", + "text": "Update Service" + } + ] +} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/public-tower/index.json b/test_dependencies/mockups/DSP2043_2026.2/public-tower/index.json new file mode 100644 index 00000000..a8afc5a9 --- /dev/null +++ b/test_dependencies/mockups/DSP2043_2026.2/public-tower/index.json @@ -0,0 +1,57 @@ +{ + "@odata.type": "#ServiceRoot.v1_22_0.ServiceRoot", + "Id": "RootService", + "Name": "Root Service", + "RedfishVersion": "1.15.0", + "UUID": "6915e2f4-e3bc-443d-9bcd-a0f9648a8bf6", + "ProtocolFeaturesSupported": { + "ExpandQuery": { + "ExpandAll": true, + "Levels": true, + "MaxLevels": 6, + "Links": true, + "NoLinks": true + }, + "SelectQuery": false, + "FilterQuery": false, + "OnlyMemberQuery": true, + "ExcerptQuery": true + }, + "Systems": { + "@odata.id": "/redfish/v1/Systems" + }, + "Chassis": { + "@odata.id": "/redfish/v1/Chassis" + }, + "Managers": { + "@odata.id": "/redfish/v1/Managers" + }, + "Tasks": { + "@odata.id": "/redfish/v1/TaskService" + }, + "SessionService": { + "@odata.id": "/redfish/v1/SessionService" + }, + "AccountService": { + "@odata.id": "/redfish/v1/AccountService" + }, + "EventService": { + "@odata.id": "/redfish/v1/EventService" + }, + "Registries": { + "@odata.id": "/redfish/v1/Registries" + }, + "UpdateService": { + "@odata.id": "/redfish/v1/UpdateService" + }, + "CertificateService": { + "@odata.id": "/redfish/v1/CertificateService" + }, + "Links": { + "Sessions": { + "@odata.id": "/redfish/v1/SessionService/Sessions" + } + }, + "@odata.id": "/redfish/v1/", + "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright." +} \ No newline at end of file From 4a724155de6dff3a31d4edc2dea9880ad324a406 Mon Sep 17 00:00:00 2001 From: MurrayGroves Date: Mon, 26 Oct 2026 14:23:03 +0000 Subject: [PATCH 05/33] Split network collector into sub-package, add support for new Port type Tested against 2026.2 with a chassis with no link status, and one with link status. --- collector/chassis/collector.go | 88 +-------- .../chassis/network_adapters/collector.go | 174 ++++++++++++++++++ .../network_adapters/collector_test.go | 69 +++++++ 3 files changed, 246 insertions(+), 85 deletions(-) create mode 100644 collector/chassis/network_adapters/collector.go create mode 100644 collector/chassis/network_adapters/collector_test.go diff --git a/collector/chassis/collector.go b/collector/chassis/collector.go index e4155144..c6e7394b 100755 --- a/collector/chassis/collector.go +++ b/collector/chassis/collector.go @@ -9,6 +9,7 @@ import ( "github.com/prometheus/client_golang/prometheus" "github.com/stmcginnis/gofish/schemas" + "github.com/stackhpc/redfish_exporter/collector/chassis/network_adapters" "github.com/stackhpc/redfish_exporter/collector/chassis/power" "github.com/stackhpc/redfish_exporter/collector/chassis/thermal" "github.com/stackhpc/redfish_exporter/common" @@ -19,8 +20,6 @@ var ( ChassisSubsystem = "chassis" ChassisLabelNames = []string{"resource", "chassis_id"} ChassisModel = []string{"resource", "chassis_id", "manufacturer", "model", "part_number", "sku"} - ChassisNetworkAdapterLabelNames = []string{"resource", "chassis_id", "network_adapter", "network_adapter_id"} - ChassisNetworkPortLabelNames = []string{"resource", "chassis_id", "network_adapter", "network_adapter_id", "network_port", "network_port_id", "network_port_type", "network_port_speed", "network_port_connectiont_type", "network_physical_port_number"} ChassisPhysicalSecurityLabelNames = []string{"resource", "chassis_id", "intrusion_sensor_number", "intrusion_sensor_rearm"} ChassisLogServiceLabelNames = []string{"chassis_id", "log_service", "log_service_id", "log_service_enabled", "log_service_overwrite_policy"} @@ -44,12 +43,6 @@ func createChassisMetricMap() map[string]common.Metric { common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "state", fmt.Sprintf("state of chassis,%s", common.StateHelp), ChassisLabelNames) common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "model_info", "organization responsible for producing the chassis, the name by which the manufacturer generally refers to the chassis, and a part number and sku assigned by the organization that is responsible for producing or manufacturing the chassis", ChassisModel) - common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "network_adapter_state", fmt.Sprintf("chassis network adapter state,%s", common.StateHelp), ChassisNetworkAdapterLabelNames) - common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "network_adapter_health_state", fmt.Sprintf("chassis network adapter health state,%s", common.HealthHelp), ChassisNetworkAdapterLabelNames) - - common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "network_port_state", fmt.Sprintf("chassis network port state,%s", common.StateHelp), ChassisNetworkPortLabelNames) - common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "network_port_health_state", fmt.Sprintf("chassis network port health state,%s", common.HealthHelp), ChassisNetworkPortLabelNames) - common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "network_port_link_state", fmt.Sprintf("chassis network port link state state,%s", common.PortLinkHelp), ChassisNetworkPortLabelNames) common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "physical_security_sensor_state", fmt.Sprintf("indicates the known state of the physical security sensor, such as if it is hardware intrusion detected,%s", common.IntrusionSensorHelp), ChassisPhysicalSecurityLabelNames) common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "log_service_state", fmt.Sprintf("chassis log service state,%s", common.StateHelp), ChassisLogServiceLabelNames) @@ -130,23 +123,8 @@ func (c *ChassisCollector) Collect(ch chan<- prometheus.Metric) { power := power.NewCollector(c.Ctx, c.Log, chassis) wg.Go(func() { power.Collect(ch) }) - // process NetapAdapter - - networkAdapters, err := chassis.NetworkAdapters() - if err != nil { - chassisLogContext.Error("error getting network adapters data from chassis", "operation", "chassis.NetworkAdapters()", "err", err) - } else if networkAdapters == nil { - chassisLogContext.Info("no network adapters data found", "operation", "chassis.NetworkAdapters()") - } else { - wg5 := &sync.WaitGroup{} - wg5.Add(len(networkAdapters)) - - for _, networkAdapter := range networkAdapters { - if err = parseNetworkAdapter(ch, chassisID, networkAdapter, wg5); err != nil { - chassisLogContext.Error("error getting network ports from network adapter", "operation", "chassis.NetworkAdapters()", "err", err) - } - } - } + network_adapters := network_adapters.NewCollector(c.Ctx, c.Log, chassis) + wg.Go(func() { network_adapters.Collect(ch) }) physicalSecurity := chassis.PhysicalSecurity if physicalSecurity != (schemas.PhysicalSecurity{}) { @@ -186,66 +164,6 @@ func (c *ChassisCollector) Collect(ch chan<- prometheus.Metric) { c.collectorScrapeStatus.WithLabelValues("chassis").Set(float64(1)) } - -func parseNetworkAdapter(ch chan<- prometheus.Metric, chassisID string, networkAdapter *schemas.NetworkAdapter, wg *sync.WaitGroup) error { - defer wg.Done() - networkAdapterName := networkAdapter.Name - networkAdapterID := networkAdapter.ID - networkAdapterState := networkAdapter.Status.State - networkAdapterHealthState := networkAdapter.Status.Health - chassisNetworkAdapterLabelValues := []string{"network_adapter", chassisID, networkAdapterName, networkAdapterID} - if networkAdapterStateValue, ok := common.ParseCommonStatusState(networkAdapterState); ok { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_network_adapter_state"].Desc, prometheus.GaugeValue, networkAdapterStateValue, chassisNetworkAdapterLabelValues...) - } - if networkAdapterHealthStateValue, ok := common.ParseCommonStatusHealth(networkAdapterHealthState); ok { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_network_adapter_health_state"].Desc, prometheus.GaugeValue, networkAdapterHealthStateValue, chassisNetworkAdapterLabelValues...) - } - - if networkPorts, err := networkAdapter.NetworkPorts(); err != nil { - return err - } else { - wg6 := &sync.WaitGroup{} - wg6.Add(len(networkPorts)) - for _, networkPort := range networkPorts { - go parseNetworkPort(ch, chassisID, networkPort, networkAdapterName, networkAdapterID, wg6) - } - wg6.Wait() - } - return nil -} - -func parsePortLinkStatus(status schemas.NetworkPortLinkStatus) (float64, bool) { - if bytes.Equal([]byte(status), []byte("Up")) { - return float64(1), true - } - return float64(0), false -} - -func parseNetworkPort(ch chan<- prometheus.Metric, chassisID string, networkPort *schemas.NetworkPort, networkAdapterName string, networkAdapterID string, wg *sync.WaitGroup) { - defer wg.Done() - networkPortName := networkPort.Name - networkPortID := networkPort.ID - networkPortState := networkPort.Status.State - networkLinkStatus := networkPort.LinkStatus - networkPortLinkType := networkPort.ActiveLinkTechnology - networkPortLinkSpeed := fmt.Sprintf("%d Mbps", networkPort.CurrentLinkSpeedMbps) - networkPortHealthState := networkPort.Status.Health - networkPortConnectionType := networkPort.FCPortConnectionType - networkPhysicalPortNumber := networkPort.PhysicalPortNumber - chassisNetworkPortLabelValues := []string{"network_port", chassisID, networkAdapterName, networkAdapterID, networkPortName, networkPortID, string(networkPortLinkType), networkPortLinkSpeed, string(networkPortConnectionType), networkPhysicalPortNumber} - - if networkLinkStatusValue, ok := parsePortLinkStatus(networkLinkStatus); ok { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_network_port_link_state"].Desc, prometheus.GaugeValue, networkLinkStatusValue, chassisNetworkPortLabelValues...) - } - - if networkPortStateValue, ok := common.ParseCommonStatusState(networkPortState); ok { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_network_port_state"].Desc, prometheus.GaugeValue, networkPortStateValue, chassisNetworkPortLabelValues...) - } - if networkPortHealthStateValue, ok := common.ParseCommonStatusHealth(networkPortHealthState); ok { - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_network_port_health_state"].Desc, prometheus.GaugeValue, networkPortHealthStateValue, chassisNetworkPortLabelValues...) - } -} - func parsePhySecIntrusionSensor(method schemas.IntrusionSensor) (float64, bool) { if bytes.Equal([]byte(method), []byte("Normal")) { return float64(1), true diff --git a/collector/chassis/network_adapters/collector.go b/collector/chassis/network_adapters/collector.go new file mode 100644 index 00000000..fbdf4db4 --- /dev/null +++ b/collector/chassis/network_adapters/collector.go @@ -0,0 +1,174 @@ +package network_adapters + +import ( + "bytes" + "fmt" + "log/slog" + "sync" + + "github.com/prometheus/client_golang/prometheus" + "github.com/stackhpc/redfish_exporter/common" + "github.com/stmcginnis/gofish/schemas" +) + +var ( + Subsystem = "chassis" + + ChassisNetworkAdapterLabelNames = []string{"resource", "chassis_id", "network_adapter", "network_adapter_id"} + ChassisNetworkPortLabelNames = []string{"resource", "chassis_id", "network_adapter", "network_adapter_id", "network_port", "network_port_id", "network_port_type", "network_port_speed", "network_port_connectiont_type", "network_physical_port_number"} + + metricMap = createMetricMap() +) + +func createMetricMap() map[string]common.Metric { + metrics := make(map[string]common.Metric) + + common.AddToMetricMap(metrics, Subsystem, "network_adapter_state", fmt.Sprintf("chassis network adapter state,%s", common.StateHelp), ChassisNetworkAdapterLabelNames) + common.AddToMetricMap(metrics, Subsystem, "network_adapter_health_state", fmt.Sprintf("chassis network adapter health state,%s", common.HealthHelp), ChassisNetworkAdapterLabelNames) + + common.AddToMetricMap(metrics, Subsystem, "network_port_state", fmt.Sprintf("chassis network port state,%s", common.StateHelp), ChassisNetworkPortLabelNames) + common.AddToMetricMap(metrics, Subsystem, "network_port_health_state", fmt.Sprintf("chassis network port health state,%s", common.HealthHelp), ChassisNetworkPortLabelNames) + common.AddToMetricMap(metrics, Subsystem, "network_port_link_state", fmt.Sprintf("chassis network port link state state,%s", common.PortLinkHelp), ChassisNetworkPortLabelNames) + + return metrics +} + +// Implements the prometheus.Collector. +type Collector struct { + Ctx *common.CollectionContext + metrics map[string]common.Metric + Log *slog.Logger + chassis *schemas.Chassis +} + +// NewCollector returns a collector that collects chassis network adapter data +func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, chassis *schemas.Chassis) *Collector { + return &Collector{ + metrics: metricMap, + Ctx: ctx, + Log: logger.With( + "collector", Subsystem, + ), + chassis: chassis, + } +} + +// Describe implemented prometheus.Collector +func (c *Collector) Describe(ch chan<- *prometheus.Desc) { + for _, metric := range c.metrics { + ch <- metric.Desc + } +} + +func (c *Collector) Collect(ch chan<- prometheus.Metric) { + wg := &sync.WaitGroup{} + + networkAdapters, err := c.chassis.NetworkAdapters() + if err != nil { + c.Log.Error("error getting network adapters data from chassis", "operation", "chassis.NetworkAdapters()", "err", err) + } else if networkAdapters == nil { + c.Log.Info("no network adapters data found", "operation", "chassis.NetworkAdapters()") + } else { + for _, networkAdapter := range networkAdapters { + c.Log.Debug("Found network adapter", "location", networkAdapter.ODataID) + wg.Go(func() { + if err = c.parseNetworkAdapter(ch, networkAdapter); err != nil { + c.Log.Error("error getting network ports from network adapter", "operation", "chassis.NetworkAdapters()", "err", err) + } + }) + } + } + + wg.Wait() +} + +func (c *Collector) parseNetworkAdapter(ch chan<- prometheus.Metric, networkAdapter *schemas.NetworkAdapter) error { + chassisNetworkAdapterLabelValues := []string{"network_adapter", c.chassis.ID, networkAdapter.Name, networkAdapter.ID} + if networkAdapterStateValue, ok := common.ParseCommonStatusState(networkAdapter.Status.State); ok { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_network_adapter_state"].Desc, prometheus.GaugeValue, networkAdapterStateValue, chassisNetworkAdapterLabelValues...) + } + if networkAdapterHealthStateValue, ok := common.ParseCommonStatusHealth(networkAdapter.Status.Health); ok { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_network_adapter_health_state"].Desc, prometheus.GaugeValue, networkAdapterHealthStateValue, chassisNetworkAdapterLabelValues...) + } + + // NetworkPorts has been deprecated in Redfish v1.5.0 + networkPorts, err := networkAdapter.NetworkPorts() + if err != nil { + return err + } + + // In favour of Ports + ports, err := networkAdapter.Ports() + if err != nil { + return err + } + + wg := &sync.WaitGroup{} + + for _, networkPort := range networkPorts { + c.Log.Debug("Found network port", "location", networkPort.ODataID) + wg.Go(func() { c.parseNetworkPort(ch, networkPort, networkAdapter.Name, networkAdapter.ID) }) + } + + for _, port := range ports { + c.Log.Debug("Found port", "location", port.ODataID) + wg.Go(func() { c.parsePort(ch, port, networkAdapter.Name, networkAdapter.ID) }) + } + + wg.Wait() + return nil +} + +func parseNetworkPortLinkStatus(status schemas.NetworkPortLinkStatus) (float64, bool) { + if bytes.Equal([]byte(status), []byte("Up")) { + return float64(1), true + } + return float64(0), false +} + +func parsePortLinkStatus(status schemas.PortLinkStatus) (float64, bool) { + if bytes.Equal([]byte(status), []byte("LinkUp")) { + return float64(1), true + } + if bytes.Equal([]byte(status), []byte("LinkDown")) { + return float64(0), true + } + return float64(0), false +} + + +func (c *Collector) parseNetworkPort(ch chan<- prometheus.Metric, networkPort *schemas.NetworkPort, networkAdapterName string, networkAdapterID string) { + networkPortLinkType := networkPort.ActiveLinkTechnology + networkPortLinkSpeed := fmt.Sprintf("%d Mbps", *networkPort.CurrentLinkSpeedMbps) + networkPortConnectionType := networkPort.FCPortConnectionType + chassisNetworkPortLabelValues := []string{"network_port", c.chassis.ID, networkAdapterName, networkAdapterID, networkPort.Name, networkPort.ID, string(networkPortLinkType), networkPortLinkSpeed, string(networkPortConnectionType), networkPort.PhysicalPortNumber} + + if linkStatus, ok := parseNetworkPortLinkStatus(networkPort.LinkStatus); ok { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_network_port_link_state"].Desc, prometheus.GaugeValue, linkStatus, chassisNetworkPortLabelValues...) + } + + if portState, ok := common.ParseCommonStatusState(networkPort.Status.State); ok { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_network_port_state"].Desc, prometheus.GaugeValue, portState, chassisNetworkPortLabelValues...) + } + if healthStatus, ok := common.ParseCommonStatusHealth(networkPort.Status.Health); ok { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_network_port_health_state"].Desc, prometheus.GaugeValue, healthStatus, chassisNetworkPortLabelValues...) + } +} + +func (c *Collector) parsePort(ch chan<- prometheus.Metric, port *schemas.Port, networkAdapterName string, networkAdapterID string) { + networkPortLinkType := port.LinkNetworkTechnology + networkPortLinkSpeed := fmt.Sprintf("%f Gbps", *port.CurrentSpeedGbps) + networkPortConnectionType := port.FibreChannel.PortConnectionType + chassisNetworkPortLabelValues := []string{"network_port", c.chassis.ID, networkAdapterName, networkAdapterID, port.Name, port.ID, string(networkPortLinkType), networkPortLinkSpeed, string(networkPortConnectionType), port.Location.PartLocation.ServiceLabel} + + if linkStatus, ok := parsePortLinkStatus(port.LinkStatus); ok { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_network_port_link_state"].Desc, prometheus.GaugeValue, linkStatus, chassisNetworkPortLabelValues...) + } + + if portState, ok := common.ParseCommonStatusState(port.Status.State); ok { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_network_port_state"].Desc, prometheus.GaugeValue, portState, chassisNetworkPortLabelValues...) + } + if healthStatus, ok := common.ParseCommonStatusHealth(port.Status.Health); ok { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_network_port_health_state"].Desc, prometheus.GaugeValue, healthStatus, chassisNetworkPortLabelValues...) + } +} diff --git a/collector/chassis/network_adapters/collector_test.go b/collector/chassis/network_adapters/collector_test.go new file mode 100644 index 00000000..62daa42f --- /dev/null +++ b/collector/chassis/network_adapters/collector_test.go @@ -0,0 +1,69 @@ +package network_adapters_test + +import ( + "testing" + + "github.com/prometheus/common/promslog" + "github.com/stackhpc/redfish_exporter/collector/chassis/network_adapters" + "github.com/stackhpc/redfish_exporter/common" + redfish_test "github.com/stackhpc/redfish_exporter/common/test" + "github.com/stretchr/testify/require" +) + +func TestPublicTower_2026_2(t *testing.T) { + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-tower", false) + + chassis, err := redfishClient.Service.Chassis() + require.NoError(t, err) + + ctx := common.CollectionContext{ + RedfishClient: redfishClient, + } + + promslogConfig := promslog.Config{} + logger := promslog.New(&promslogConfig) + + collector := network_adapters.NewCollector(&ctx, logger, chassis[0]) + expected := ` + redfish_chassis_network_port_health_state{chassis_id="Tower",network_adapter="Network Adapter",network_adapter_id="NIC1",network_physical_port_number="NIC 1",network_port="NIC Port 1",network_port_connectiont_type="",network_port_id="1",network_port_speed="10.000000 Gbps",network_port_type="",resource="network_port"} 1 + redfish_chassis_network_port_health_state{chassis_id="Tower",network_adapter="Network Adapter",network_adapter_id="NIC1",network_physical_port_number="NIC 1",network_port="NIC Port 2",network_port_connectiont_type="",network_port_id="2",network_port_speed="10.000000 Gbps",network_port_type="",resource="network_port"} 1 + redfish_chassis_network_port_state{chassis_id="Tower",network_adapter="Network Adapter",network_adapter_id="NIC1",network_physical_port_number="NIC 1",network_port="NIC Port 1",network_port_connectiont_type="",network_port_id="1",network_port_speed="10.000000 Gbps",network_port_type="",resource="network_port"} 1 + redfish_chassis_network_port_state{chassis_id="Tower",network_adapter="Network Adapter",network_adapter_id="NIC1",network_physical_port_number="NIC 1",network_port="NIC Port 2",network_port_connectiont_type="",network_port_id="2",network_port_speed="10.000000 Gbps",network_port_type="",resource="network_port"} 1 + ` + redfish_test.CollectAndCompare(t, collector, expected, + "redfish_chassis_network_port_state", + "redfish_chassis_network_port_health_state", + ) +} + +func TestPublicACD_2026_2(t *testing.T) { + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-acd", false) + + chassis, err := redfishClient.Service.Chassis() + require.NoError(t, err) + + ctx := common.CollectionContext{ + RedfishClient: redfishClient, + } + + promslogConfig := promslog.Config{} + logger := promslog.New(&promslogConfig) + + collector := network_adapters.NewCollector(&ctx, logger, chassis[0]) + expected := ` + redfish_chassis_network_port_link_state{chassis_id="1U",network_adapter="Contoso PS100 NIC",network_adapter_id="Slot3",network_physical_port_number="",network_port="25Gbps Ethernet Subport",network_port_connectiont_type="",network_port_id="CSP_P1",network_port_speed="25.000000 Gbps",network_port_type="Ethernet",resource="network_port"} 1 + redfish_chassis_network_port_link_state{chassis_id="1U",network_adapter="Contoso PS100 NIC",network_adapter_id="Slot3",network_physical_port_number="",network_port="25Gbps Ethernet Subport",network_port_connectiont_type="",network_port_id="CSP_P2",network_port_speed="25.000000 Gbps",network_port_type="Ethernet",resource="network_port"} 1 + redfish_chassis_network_port_link_state{chassis_id="1U",network_adapter="Contoso PS100 NIC",network_adapter_id="Slot3",network_physical_port_number="",network_port="25Gbps Ethernet Subport",network_port_connectiont_type="",network_port_id="CSP_P3",network_port_speed="25.000000 Gbps",network_port_type="Ethernet",resource="network_port"} 1 + redfish_chassis_network_port_link_state{chassis_id="1U",network_adapter="Contoso PS100 NIC",network_adapter_id="Slot3",network_physical_port_number="",network_port="25Gbps Ethernet Subport",network_port_connectiont_type="",network_port_id="CSP_P4",network_port_speed="25.000000 Gbps",network_port_type="Ethernet",resource="network_port"} 1 + redfish_chassis_network_port_link_state{chassis_id="1U",network_adapter="Contoso SC32G-FC HBA",network_adapter_id="Slot2",network_physical_port_number="",network_port="Port 2",network_port_connectiont_type="",network_port_id="SC2KP2",network_port_speed="25.000000 Gbps",network_port_type="Ethernet",resource="network_port"} 1 + redfish_chassis_network_port_link_state{chassis_id="1U",network_adapter="NetworkAdapter",network_adapter_id="Slot1",network_physical_port_number="",network_port="Port 2",network_port_connectiont_type="",network_port_id="SC2KP2",network_port_speed="25.000000 Gbps",network_port_type="Ethernet",resource="network_port"} 1 + redfish_chassis_network_port_link_state{chassis_id="1U",network_adapter="NetworkAdapter",network_adapter_id="Slot4",network_physical_port_number="",network_port="100Gbps Ethernet Support",network_port_connectiont_type="",network_port_id="AG_P1",network_port_speed="100.000000 Gbps",network_port_type="Ethernet",resource="network_port"} 1 + redfish_chassis_network_port_link_state{chassis_id="1U",network_adapter="NetworkAdapter",network_adapter_id="Slot4",network_physical_port_number="",network_port="25Gbps Ethernet Support",network_port_connectiont_type="",network_port_id="PHY_P1",network_port_speed="25.000000 Gbps",network_port_type="Ethernet",resource="network_port"} 1 + redfish_chassis_network_port_link_state{chassis_id="1U",network_adapter="NetworkAdapter",network_adapter_id="Slot4",network_physical_port_number="",network_port="25Gbps Ethernet Support",network_port_connectiont_type="",network_port_id="PHY_P2",network_port_speed="25.000000 Gbps",network_port_type="Ethernet",resource="network_port"} 1 + redfish_chassis_network_port_link_state{chassis_id="1U",network_adapter="NetworkAdapter",network_adapter_id="Slot4",network_physical_port_number="",network_port="25Gbps Ethernet Support",network_port_connectiont_type="",network_port_id="PHY_P3",network_port_speed="25.000000 Gbps",network_port_type="Ethernet",resource="network_port"} 1 + redfish_chassis_network_port_link_state{chassis_id="1U",network_adapter="NetworkAdapter",network_adapter_id="Slot4",network_physical_port_number="",network_port="25Gbps Ethernet Support",network_port_connectiont_type="",network_port_id="PHY_P4",network_port_speed="25.000000 Gbps",network_port_type="Ethernet",resource="network_port"} 1 + ` + redfish_test.CollectAndCompare(t, collector, expected, + "redfish_chassis_network_port_link_state", + ) +} From 17e76b1a9783e1e97ebe761b95cca7af72c7ed38 Mon Sep 17 00:00:00 2001 From: MurrayGroves Date: Mon, 26 Oct 2026 14:52:32 +0000 Subject: [PATCH 06/33] Tidy up chassis collector --- collector/chassis/collector.go | 133 ++++++++++++++++----------------- collector/manager/collector.go | 2 +- collector/system/collector.go | 2 +- common/collector.go | 36 +++++---- 4 files changed, 85 insertions(+), 88 deletions(-) diff --git a/collector/chassis/collector.go b/collector/chassis/collector.go index c6e7394b..8d45f974 100755 --- a/collector/chassis/collector.go +++ b/collector/chassis/collector.go @@ -28,8 +28,8 @@ var ( chassisMetrics = createChassisMetricMap() ) -// ChassisCollector implements the prometheus.Collector. -type ChassisCollector struct { +// Collector implements the prometheus.Collector. +type Collector struct { Ctx *common.CollectionContext metrics map[string]common.Metric collectorScrapeStatus *prometheus.GaugeVec @@ -53,10 +53,10 @@ func createChassisMetricMap() map[string]common.Metric { } // NewChassisCollector returns a collector that collecting chassis statistics -func NewChassisCollector(ctx *common.CollectionContext, logger *slog.Logger) *ChassisCollector { +func NewChassisCollector(ctx *common.CollectionContext, logger *slog.Logger) *Collector { // get service from redfish client - return &ChassisCollector{ + return &Collector{ metrics: chassisMetrics, Ctx: ctx, Log: logger.With( @@ -74,7 +74,7 @@ func NewChassisCollector(ctx *common.CollectionContext, logger *slog.Logger) *Ch } // Describe implemented prometheus.Collector -func (c *ChassisCollector) Describe(ch chan<- *prometheus.Desc) { +func (c *Collector) Describe(ch chan<- *prometheus.Desc) { for _, metric := range c.metrics { ch <- metric.Desc } @@ -83,87 +83,86 @@ func (c *ChassisCollector) Describe(ch chan<- *prometheus.Desc) { } // Collect implemented prometheus.Collector -func (c *ChassisCollector) Collect(ch chan<- prometheus.Metric) { - collectorLogContext := c.Log - collectLogs := c.Ctx.CollectLogs +func (c *Collector) Collect(ch chan<- prometheus.Metric) { service := c.Ctx.RedfishClient.Service wg := &sync.WaitGroup{} // get a list of chassis from service - if chassises, err := service.Chassis(); err != nil { - collectorLogContext.Error("error getting chassis from service", "operation", "service.Chassis()", "err", err) - } else { - // process the chassises - for _, chassis := range chassises { - chassisLogContext := collectorLogContext.With("Chassis", chassis.ID) - chassisLogContext.Info("collector scrape started") - chassisID := chassis.ID - chassisStatus := chassis.Status - chassisStatusState := chassisStatus.State - chassisStatusHealth := chassisStatus.Health - ChassisLabelValues := []string{"chassis", chassisID} - if chassisStatusHealthValue, ok := common.ParseCommonStatusHealth(chassisStatusHealth); ok { - ch <- prometheus.MustNewConstMetric(c.metrics["chassis_health"].Desc, prometheus.GaugeValue, chassisStatusHealthValue, ChassisLabelValues...) - } - if chassisStatusStateValue, ok := common.ParseCommonStatusState(chassisStatusState); ok { - ch <- prometheus.MustNewConstMetric(c.metrics["chassis_state"].Desc, prometheus.GaugeValue, chassisStatusStateValue, ChassisLabelValues...) - } + chassises, err := service.Chassis() + if err != nil { + c.Log.Error("error getting chassis from service", "operation", "service.Chassis()", "err", err) + return + } + + // process the chassises + for _, chassis := range chassises { + chassisLogContext := c.Log.With("Chassis", chassis.ID) + chassisLogContext.Info("collector scrape started") + ChassisLabelValues := []string{"chassis", chassis.ID} + if chassisStatusHealthValue, ok := common.ParseCommonStatusHealth(chassis.Status.Health); ok { + ch <- prometheus.MustNewConstMetric(c.metrics["chassis_health"].Desc, prometheus.GaugeValue, chassisStatusHealthValue, ChassisLabelValues...) + } + if chassisStatusStateValue, ok := common.ParseCommonStatusState(chassis.Status.State); ok { + ch <- prometheus.MustNewConstMetric(c.metrics["chassis_state"].Desc, prometheus.GaugeValue, chassisStatusStateValue, ChassisLabelValues...) + } - chassisManufacturer := chassis.Manufacturer - chassisModel := chassis.Model - chassisPartNumber := chassis.PartNumber - chassisSKU := chassis.SKU - ChassisModelLabelValues := []string{"chassis", chassisID, chassisManufacturer, chassisModel, chassisPartNumber, chassisSKU} - ch <- prometheus.MustNewConstMetric(c.metrics["chassis_model_info"].Desc, prometheus.GaugeValue, 1, ChassisModelLabelValues...) + ChassisModelLabelValues := []string{"chassis", chassis.ID, chassis.Manufacturer, chassis.Model, chassis.PartNumber, chassis.SKU} + ch <- prometheus.MustNewConstMetric(c.metrics["chassis_model_info"].Desc, prometheus.GaugeValue, 1, ChassisModelLabelValues...) - thermal := thermal.NewCollector(c.Ctx, c.Log, chassis) - wg.Go(func() { thermal.Collect(ch) }) + physicalSecurity := chassis.PhysicalSecurity + if physicalSecurity != (schemas.PhysicalSecurity{}) { + physicalSecurityIntrusionSensor := physicalSecurity.IntrusionSensor + physicalSecurityIntrusionSensorNumber := fmt.Sprint(physicalSecurity.IntrusionSensorNumber) + physicalSecurityIntrusionSensorReArmMethod := string(physicalSecurity.IntrusionSensorReArm) - power := power.NewCollector(c.Ctx, c.Log, chassis) - wg.Go(func() { power.Collect(ch) }) + if phySecIntrusionSensor, ok := parsePhySecIntrusionSensor(physicalSecurityIntrusionSensor); ok { + ChassisPhysicalSecurityLabelValues := []string{"physical_security", chassis.ID, physicalSecurityIntrusionSensorNumber, physicalSecurityIntrusionSensorReArmMethod} + ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_physical_security_sensor_state"].Desc, prometheus.GaugeValue, phySecIntrusionSensor, ChassisPhysicalSecurityLabelValues...) + } + } - network_adapters := network_adapters.NewCollector(c.Ctx, c.Log, chassis) - wg.Go(func() { network_adapters.Collect(ch) }) + thermal := thermal.NewCollector(c.Ctx, c.Log, chassis) + wg.Go(func() { thermal.Collect(ch) }) - physicalSecurity := chassis.PhysicalSecurity - if physicalSecurity != (schemas.PhysicalSecurity{}) { - physicalSecurityIntrusionSensor := physicalSecurity.IntrusionSensor - physicalSecurityIntrusionSensorNumber := fmt.Sprint(physicalSecurity.IntrusionSensorNumber) - physicalSecurityIntrusionSensorReArmMethod := string(physicalSecurity.IntrusionSensorReArm) + power := power.NewCollector(c.Ctx, c.Log, chassis) + wg.Go(func() { power.Collect(ch) }) - if phySecIntrusionSensor, ok := parsePhySecIntrusionSensor(physicalSecurityIntrusionSensor); ok { - ChassisPhysicalSecurityLabelValues := []string{"physical_security", chassisID, physicalSecurityIntrusionSensorNumber, physicalSecurityIntrusionSensorReArmMethod} - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_physical_security_sensor_state"].Desc, prometheus.GaugeValue, phySecIntrusionSensor, ChassisPhysicalSecurityLabelValues...) - } - } + network_adapters := network_adapters.NewCollector(c.Ctx, c.Log, chassis) + wg.Go(func() { network_adapters.Collect(ch) }) - // process log services - if collectLogs { - logServices, err := chassis.LogServices() - if err != nil { - chassisLogContext.Error("error getting log services from chassis", "operation", "chassis.LogServices()", "err", err) - } else if logServices == nil { - chassisLogContext.Info("no log services found", "operation", "chassis.LogServices()") - } else { - wg6 := &sync.WaitGroup{} - wg6.Add(len(logServices)) - - for _, logService := range logServices { - if err = common.ParseLogService(ch, chassisMetrics, c.Ctx, chassisLogContext, ChassisSubsystem, chassisID, logService, wg6); err != nil { - chassisLogContext.Error("error getting log entries from log service", "operation", "chassis.LogServices()", "err", err) - } - } - } - } - chassisLogContext.Info("collector scrape completed") + // process log services + if c.Ctx.CollectLogs { } } wg.Wait() + c.Log.Info("collector scrape completed") c.collectorScrapeStatus.WithLabelValues("chassis").Set(float64(1)) } +func collectLogs(ch chan<- prometheus.Metric, chassis schemas.Chassis, logContext *slog.Logger, ctx *common.CollectionContext) { + logServices, err := chassis.LogServices() + if err != nil { + logContext.Error("error getting log services from chassis", "operation", "chassis.LogServices()", "err", err) + return + } else if logServices == nil { + logContext.Info("no log services found", "operation", "chassis.LogServices()") + return + } + + wg := &sync.WaitGroup{} + for _, logService := range logServices { + wg.Go(func() { + if err = common.ParseLogService(ch, chassisMetrics, ctx, logContext, ChassisSubsystem, chassis.ID, logService); err != nil { + logContext.Error("error getting log entries from log service", "operation", "chassis.LogServices()", "err", err) + } + }) + } + + wg.Wait() +} + func parsePhySecIntrusionSensor(method schemas.IntrusionSensor) (float64, bool) { if bytes.Equal([]byte(method), []byte("Normal")) { return float64(1), true diff --git a/collector/manager/collector.go b/collector/manager/collector.go index d6197c4e..395b7711 100755 --- a/collector/manager/collector.go +++ b/collector/manager/collector.go @@ -122,7 +122,7 @@ func (m *ManagerCollector) Collect(ch chan<- prometheus.Metric) { wg.Add(len(logServices)) for _, logService := range logServices { - if err = common.ParseLogService(ch, managerMetrics, m.Ctx, managerLogContext, ManagerSubmanager, ManagerID, logService, wg); err != nil { + if err = common.ParseLogService(ch, managerMetrics, m.Ctx, managerLogContext, ManagerSubmanager, ManagerID, logService); err != nil { managerLogContext.Error("error getting log entries from log service", "operation", "manager.LogServices()", "err", err) } } diff --git a/collector/system/collector.go b/collector/system/collector.go index 56945ae9..a0c755dc 100755 --- a/collector/system/collector.go +++ b/collector/system/collector.go @@ -248,7 +248,7 @@ func (s *SystemCollector) Collect(ch chan<- prometheus.Metric) { wg10.Add(len(logServices)) for _, logService := range logServices { - if err = common.ParseLogService(ch, systemMetrics, s.Ctx, systemLogContext, SystemSubsystem, SystemID, logService, wg10); err != nil { + if err = common.ParseLogService(ch, systemMetrics, s.Ctx, systemLogContext, SystemSubsystem, SystemID, logService); err != nil { systemLogContext.Error("error getting log entries from log service", "operation", "system.LogServices()", "err", err) } } diff --git a/common/collector.go b/common/collector.go index 62a745fc..82efba99 100644 --- a/common/collector.go +++ b/common/collector.go @@ -34,27 +34,22 @@ func AddToMetricMap(metricMap map[string]Metric, subsystem, name, help string, v } } -func ParseLogService(ch chan<- prometheus.Metric, metrics map[string]Metric, ctx *CollectionContext, logger *slog.Logger, subsystem, collectorID string, logService *schemas.LogService, wg *sync.WaitGroup) (err error) { - defer wg.Done() - logServiceName := logService.Name - logServiceID := logService.ID +func ParseLogService(ch chan<- prometheus.Metric, metrics map[string]Metric, ctx *CollectionContext, logger *slog.Logger, subsystem, collectorID string, logService *schemas.LogService) (err error) { logServiceEnabled := fmt.Sprint(logService.ServiceEnabled) logServiceOverWritePolicy := string(logService.OverWritePolicy) - logServiceState := logService.Status.State - logServiceHealthState := logService.Status.Health - logServiceLabelValues := []string{collectorID, logServiceName, logServiceID, logServiceEnabled, logServiceOverWritePolicy} + logServiceLabelValues := []string{collectorID, logService.Name, logService.ID, logServiceEnabled, logServiceOverWritePolicy} - if logServiceStateValue, ok := ParseCommonStatusState(logServiceState); ok { + if logServiceStateValue, ok := ParseCommonStatusState(logService.Status.State); ok { ch <- prometheus.MustNewConstMetric(metrics[fmt.Sprintf("%s_%s", subsystem, "log_service_state")].Desc, prometheus.GaugeValue, logServiceStateValue, logServiceLabelValues...) } - if logServiceHealthStateValue, ok := ParseCommonStatusHealth(logServiceHealthState); ok { + if logServiceHealthStateValue, ok := ParseCommonStatusHealth(logService.Status.Health); ok { ch <- prometheus.MustNewConstMetric(metrics[fmt.Sprintf("%s_%s", subsystem, "log_service_health_state")].Desc, prometheus.GaugeValue, logServiceHealthStateValue, logServiceLabelValues...) } var ( logEntries []*schemas.LogEntry ) - logCount, ok := ctx.LogCount[logServiceID] + logCount, ok := ctx.LogCount[logService.ID] if !ok { logCount, ok = ctx.LogCount["DEFAULT"] if !ok { @@ -62,33 +57,36 @@ func ParseLogService(ch chan<- prometheus.Metric, metrics map[string]Metric, ctx } } - logger.Info(fmt.Sprintf("logServiceID=%s, logcount=%d", logServiceID, logCount), "operation", "parseLogService") + logger.Info(fmt.Sprintf("logServiceID=%s, logcount=%d", logService.ID, logCount), "operation", "parseLogService") if logCount > 0 { - //logEntries, err = logService.FilteredEntries(common.WithTop(logCount)) + logEntries, err = logService.FilteredEntries(schemas.WithTop(logCount)) } else { logEntries, err = logService.Entries() } if err != nil { return } - wg2 := &sync.WaitGroup{} - wg2.Add(len(logEntries)) + + wg := &sync.WaitGroup{} processed := make(map[string]bool) for _, logEntry := range logEntries { _, exists := processed[logEntry.MessageID] if exists { - wg2.Done() continue } - go ParseLogEntry(ch, metrics[fmt.Sprintf("%s_%s", subsystem, "log_entry_severity_state")].Desc, collectorID, logServiceName, logServiceID, logEntry, wg2) + wg.Go(func() { + ParseLogEntry(ch, metrics[fmt.Sprintf("%s_%s", subsystem, "log_entry_severity_state")].Desc, collectorID, logService.Name, logService.ID, logEntry) + }) processed[logEntry.MessageID] = true } - return + + wg.Wait() + + return nil } -func ParseLogEntry(ch chan<- prometheus.Metric, desc *prometheus.Desc, collectorID, logServiceName, logServiceID string, logEntry *schemas.LogEntry, wg *sync.WaitGroup) { - defer wg.Done() +func ParseLogEntry(ch chan<- prometheus.Metric, desc *prometheus.Desc, collectorID, logServiceName, logServiceID string, logEntry *schemas.LogEntry) { logEntryName := logEntry.Name logEntryID := logEntry.ID logEntryCode := string(logEntry.EntryCode) From 2595cb5cf20b9a76415e5763cdf163086ffe92bc Mon Sep 17 00:00:00 2001 From: MurrayGroves Date: Mon, 26 Oct 2026 15:06:54 +0000 Subject: [PATCH 07/33] Tidy up manager collector --- collector/collector.go | 2 +- collector/manager/collector.go | 124 +++++++++++++++++---------------- 2 files changed, 66 insertions(+), 60 deletions(-) diff --git a/collector/collector.go b/collector/collector.go index 7a293c20..197a6fa8 100755 --- a/collector/collector.go +++ b/collector/collector.go @@ -46,7 +46,7 @@ func NewRedfishCollector(ctx *common.CollectionContext, logger *slog.Logger) *Re var collectors map[string]prometheus.Collector chassisCollector := chassis.NewChassisCollector(ctx, logger) systemCollector := system.NewSystemCollector(ctx, logger) - managerCollector := manager.NewManagerCollector(ctx, logger) + managerCollector := manager.NewCollector(ctx, logger) collectors = map[string]prometheus.Collector{"chassis": chassisCollector, "system": systemCollector, "manager": managerCollector} diff --git a/collector/manager/collector.go b/collector/manager/collector.go index 395b7711..f4d63eb9 100755 --- a/collector/manager/collector.go +++ b/collector/manager/collector.go @@ -8,6 +8,7 @@ import ( "github.com/prometheus/client_golang/prometheus" "github.com/stackhpc/redfish_exporter/common" + "github.com/stmcginnis/gofish/schemas" ) // ManagerSubmanager is the manager subsystem @@ -19,11 +20,11 @@ var ( ManagerLogServiceLabelNames = []string{"manager_id", "log_service", "log_service_id", "log_service_enabled", "log_service_overwrite_policy"} ManagerLogEntryLabelNames = []string{"manager_id", "log_service", "log_service_id", "log_entry", "log_entry_id", "log_entry_code", "log_entry_type", "log_entry_message_id", "log_entry_sensor_number", "log_entry_sensor_type"} - managerMetrics = createManagerMetricMap() + metricMap = createManagerMetricMap() ) -// ManagerCollector implements the prometheus.Collector. -type ManagerCollector struct { +// Collector implements the prometheus.Collector. +type Collector struct { Ctx *common.CollectionContext metrics map[string]common.Metric collectorScrapeStatus *prometheus.GaugeVec @@ -44,10 +45,10 @@ func createManagerMetricMap() map[string]common.Metric { return managerMetrics } -// NewManagerCollector returns a collector that collecting memory statistics -func NewManagerCollector(ctx *common.CollectionContext, logger *slog.Logger) *ManagerCollector { - return &ManagerCollector{ - metrics: managerMetrics, +// NewCollector returns a collector that collecting memory statistics +func NewCollector(ctx *common.CollectionContext, logger *slog.Logger) *Collector { + return &Collector{ + metrics: metricMap, Ctx: ctx, Log: logger.With( "collector", "ManagerCollector", @@ -64,7 +65,7 @@ func NewManagerCollector(ctx *common.CollectionContext, logger *slog.Logger) *Ma } // Describe implemented prometheus.Collector -func (m *ManagerCollector) Describe(ch chan<- *prometheus.Desc) { +func (m *Collector) Describe(ch chan<- *prometheus.Desc) { for _, metric := range m.metrics { ch <- metric.Desc } @@ -73,66 +74,71 @@ func (m *ManagerCollector) Describe(ch chan<- *prometheus.Desc) { } // Collect implemented prometheus.Collector -func (m *ManagerCollector) Collect(ch chan<- prometheus.Metric) { - collectorLogContext := m.Log - collectLogs := m.Ctx.CollectLogs +func (m *Collector) Collect(ch chan<- prometheus.Metric) { + logContext := m.Log //get service service := m.Ctx.RedfishClient.Service // get a list of managers from service - if managers, err := service.Managers(); err != nil { - collectorLogContext.Error("error getting managers from service", "operation", "service.Managers()", "err", err) - } else { - for _, manager := range managers { - managerLogContext := collectorLogContext.With("Manager", manager.ID) - managerLogContext.Info("collector scrape started") - // overall manager metrics - ManagerID := manager.ID - managerName := manager.Name - managerModel := manager.Model - managerType := fmt.Sprint(manager.ManagerType) - managerPowerState := manager.PowerState - managerState := manager.Status.State - managerHealthState := manager.Status.Health - - ManagerLabelValues := []string{ManagerID, managerName, managerModel, managerType} - - if managerHealthStateValue, ok := common.ParseCommonStatusHealth(managerHealthState); ok { - ch <- prometheus.MustNewConstMetric(m.metrics["manager_health_state"].Desc, prometheus.GaugeValue, managerHealthStateValue, ManagerLabelValues...) - } - if managerStateValue, ok := common.ParseCommonStatusState(managerState); ok { - ch <- prometheus.MustNewConstMetric(m.metrics["manager_state"].Desc, prometheus.GaugeValue, managerStateValue, ManagerLabelValues...) - } - if managerPowerStateValue, ok := common.ParseCommonPowerState(managerPowerState); ok { - ch <- prometheus.MustNewConstMetric(m.metrics["manager_power_state"].Desc, prometheus.GaugeValue, managerPowerStateValue, ManagerLabelValues...) - } - if manager.FirmwareVersion != "" { - ch <- prometheus.MustNewConstMetric(m.metrics["manager_firmware_info"].Desc, prometheus.GaugeValue, 1, append(ManagerLabelValues, manager.FirmwareVersion)...) - } + managers, err := service.Managers() + if err != nil { + logContext.Error("error getting managers from service", "operation", "service.Managers()", "err", err) + return + } + + wg := &sync.WaitGroup{} + for _, manager := range managers { + wg.Go(func() { + m.collectManager(ch, manager) + }) + } + + wg.Wait() + m.collectorScrapeStatus.WithLabelValues("manager").Set(float64(1)) +} - // process log services - if collectLogs { - logServices, err := manager.LogServices() - if err != nil { - managerLogContext.Error("error getting log services from manager", "operation", "manager.LogServices()", "err", err) - } else if logServices == nil { - managerLogContext.Info("no log services found", "operation", "manager.LogServices()") - } else { - wg := &sync.WaitGroup{} - wg.Add(len(logServices)) - - for _, logService := range logServices { - if err = common.ParseLogService(ch, managerMetrics, m.Ctx, managerLogContext, ManagerSubmanager, ManagerID, logService); err != nil { - managerLogContext.Error("error getting log entries from log service", "operation", "manager.LogServices()", "err", err) - } +func (c *Collector) collectManager(ch chan<- prometheus.Metric, manager *schemas.Manager) { + logContext := c.Log.With("Manager", manager.ID) + logContext.Info("collector scrape started") + // overall manager metrics + managerType := fmt.Sprint(manager.ManagerType) + + ManagerLabelValues := []string{manager.ID, manager.Name, manager.Model, managerType} + + if healthStatusValue, ok := common.ParseCommonStatusHealth(manager.Status.Health); ok { + ch <- prometheus.MustNewConstMetric(metricMap["manager_health_state"].Desc, prometheus.GaugeValue, healthStatusValue, ManagerLabelValues...) + } + if stateValue, ok := common.ParseCommonStatusState(manager.Status.State); ok { + ch <- prometheus.MustNewConstMetric(metricMap["manager_state"].Desc, prometheus.GaugeValue, stateValue, ManagerLabelValues...) + } + if powerStateValue, ok := common.ParseCommonPowerState(manager.PowerState); ok { + ch <- prometheus.MustNewConstMetric(metricMap["manager_power_state"].Desc, prometheus.GaugeValue, powerStateValue, ManagerLabelValues...) + } + if manager.FirmwareVersion != "" { + ch <- prometheus.MustNewConstMetric(metricMap["manager_firmware_info"].Desc, prometheus.GaugeValue, 1, append(ManagerLabelValues, manager.FirmwareVersion)...) + } + + // process log services + if c.Ctx.CollectLogs { + logServices, err := manager.LogServices() + if err != nil { + logContext.Error("error getting log services from manager", "operation", "manager.LogServices()", "err", err) + } else if logServices == nil { + logContext.Info("no log services found", "operation", "manager.LogServices()") + } else { + wg := &sync.WaitGroup{} + + for _, logService := range logServices { + wg.Go(func() { + if err = common.ParseLogService(ch, metricMap, c.Ctx, logContext, ManagerSubmanager, manager.ID, logService); err != nil { + logContext.Error("error getting log entries from log service", "operation", "manager.LogServices()", "err", err) } - } + }) } - managerLogContext.Info("collector scrape completed") + wg.Wait() } - m.collectorScrapeStatus.WithLabelValues("manager").Set(float64(1)) - } + logContext.Info("collector scrape completed") } From 728527272dd845ade7fb9194f1552e0f3affb3e2 Mon Sep 17 00:00:00 2001 From: MurrayGroves Date: Mon, 26 Oct 2026 15:24:33 +0000 Subject: [PATCH 08/33] Split system/memory into new collector --- collector/system/collector.go | 50 ++----------- collector/system/memory/collector.go | 85 +++++++++++++++++++++++ collector/system/memory/collector_test.go | 82 ++++++++++++++++++++++ 3 files changed, 174 insertions(+), 43 deletions(-) create mode 100644 collector/system/memory/collector.go create mode 100644 collector/system/memory/collector_test.go diff --git a/collector/system/collector.go b/collector/system/collector.go index a0c755dc..ec8cc81f 100755 --- a/collector/system/collector.go +++ b/collector/system/collector.go @@ -8,6 +8,7 @@ import ( "sync" "github.com/prometheus/client_golang/prometheus" + "github.com/stackhpc/redfish_exporter/collector/system/memory" "github.com/stackhpc/redfish_exporter/common" "github.com/stmcginnis/gofish/schemas" ) @@ -17,7 +18,6 @@ var ( SystemSubsystem = "system" SystemLabelNames = []string{"hostname", "resource", "system_id"} SystemBIOSLabelNames = append(slices.Clone(SystemLabelNames), "bios_version") - SystemMemoryLabelNames = []string{"hostname", "resource", "memory", "memory_id"} SystemProcessorLabelNames = []string{"hostname", "resource", "processor", "processor_id"} SystemVolumeLabelNames = []string{"hostname", "resource", "volume", "volume_id"} SystemDeviceLabelNames = []string{"hostname", "resource", "device"} @@ -59,10 +59,6 @@ func createSystemMetricMap() map[string]common.Metric { common.AddToMetricMap(systemMetrics, SystemSubsystem, "total_processor_health_state", fmt.Sprintf("system overall processor health,%s", common.HealthHelp), SystemLabelNames) common.AddToMetricMap(systemMetrics, SystemSubsystem, "total_processor_count", "system total processor count", SystemLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "memory_state", fmt.Sprintf("system memory state,%s", common.StateHelp), SystemMemoryLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "memory_health_state", fmt.Sprintf("system memory health state,%s", common.HealthHelp), SystemMemoryLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "memory_capacity", "system memory capacity, MiB", SystemMemoryLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "processor_state", fmt.Sprintf("system processor state,%s", common.StateHelp), SystemProcessorLabelNames) common.AddToMetricMap(systemMetrics, SystemSubsystem, "processor_health_state", fmt.Sprintf("system processor health state,%s", common.HealthHelp), SystemProcessorLabelNames) common.AddToMetricMap(systemMetrics, SystemSubsystem, "processor_total_threads", "system processor total threads", SystemProcessorLabelNames) @@ -194,7 +190,6 @@ func (s *SystemCollector) Collect(ch chan<- prometheus.Metric) { // get system OdataID //systemOdataID := system.ODataID - wg1 := &sync.WaitGroup{} // memory wg2 := &sync.WaitGroup{} // processor wg3 := &sync.WaitGroup{} // storage/volumes wg4 := &sync.WaitGroup{} // storage/drives @@ -205,8 +200,11 @@ func (s *SystemCollector) Collect(ch chan<- prometheus.Metric) { wg9 := &sync.WaitGroup{} // pcie functions wg10 := &sync.WaitGroup{} // log services + wg := &sync.WaitGroup{} + if !slices.Contains(disabledMetrics, "memory") { - processMemory(system, systemLogContext, wg1, ch, systemHostName) + collector := memory.NewCollector(s.Ctx, s.Log, system) + wg.Go(func() { collector.Collect(ch) }) } if !slices.Contains(disabledMetrics, "processor") { @@ -255,7 +253,6 @@ func (s *SystemCollector) Collect(ch chan<- prometheus.Metric) { } } - wg1.Wait() wg2.Wait() wg3.Wait() wg4.Wait() @@ -266,27 +263,14 @@ func (s *SystemCollector) Collect(ch chan<- prometheus.Metric) { wg9.Wait() wg10.Wait() + wg.Wait() + systemLogContext.Info("collector scrape completed") } s.collectorScrapeStatus.WithLabelValues("system").Set(float64(1)) } } -func processMemory(system *schemas.ComputerSystem, systemLogContext *slog.Logger, wg1 *sync.WaitGroup, ch chan<- prometheus.Metric, systemHostName string) { - memories, err := system.Memory() - if err != nil { - systemLogContext.Error("error getting memory data from system", "operation", "system.Memory()", "err", err) - } else if memories == nil { - systemLogContext.Info("no memory data found", "operation", "system.Memory()") - } else { - wg1.Add(len(memories)) - - for _, memory := range memories { - go parseMemory(ch, systemHostName, memory, wg1) - } - } -} - func processProcessors(system *schemas.ComputerSystem, systemLogContext *slog.Logger, wg2 *sync.WaitGroup, ch chan<- prometheus.Metric, systemHostName string) { processors, err := system.Processors() if err != nil { @@ -467,26 +451,6 @@ func processNetworkInterfaces(system *schemas.ComputerSystem, systemLogContext * } } -func parseMemory(ch chan<- prometheus.Metric, systemHostName string, memory *schemas.Memory, wg *sync.WaitGroup) { - defer wg.Done() - memoryName := memory.Name - memoryID := memory.ID - //memoryDeviceLocator := memory.DeviceLocator - memoryState := memory.Status.State - memoryHealthState := memory.Status.Health - - systemMemoryLabelValues := []string{systemHostName, "memory", memoryName, memoryID} - if memoryStateValue, ok := common.ParseCommonStatusState(memoryState); ok { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_memory_state"].Desc, prometheus.GaugeValue, memoryStateValue, systemMemoryLabelValues...) - } - if memoryHealthStateValue, ok := common.ParseCommonStatusHealth(memoryHealthState); ok { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_memory_health_state"].Desc, prometheus.GaugeValue, memoryHealthStateValue, systemMemoryLabelValues...) - } - if memory.CapacityMiB != nil { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_memory_capacity"].Desc, prometheus.GaugeValue, float64(*memory.CapacityMiB), systemMemoryLabelValues...) - } -} - func parseProcessor(ch chan<- prometheus.Metric, systemHostName string, processor *schemas.Processor, wg *sync.WaitGroup) { defer wg.Done() diff --git a/collector/system/memory/collector.go b/collector/system/memory/collector.go new file mode 100644 index 00000000..56e750ab --- /dev/null +++ b/collector/system/memory/collector.go @@ -0,0 +1,85 @@ +package memory + +import ( + "fmt" + "log/slog" + "sync" + + "github.com/prometheus/client_golang/prometheus" + "github.com/stackhpc/redfish_exporter/common" + "github.com/stmcginnis/gofish/schemas" +) + +var ( + Subsystem = "system" + + SystemMemoryLabelNames = []string{"hostname", "resource", "memory", "memory_id"} + + metricMap = createMetricMap() +) + +func createMetricMap() map[string]common.Metric { + metrics := make(map[string]common.Metric) + + common.AddToMetricMap(metrics, Subsystem, "memory_state", fmt.Sprintf("system memory state,%s", common.StateHelp), SystemMemoryLabelNames) + common.AddToMetricMap(metrics, Subsystem, "memory_health_state", fmt.Sprintf("system memory health state,%s", common.HealthHelp), SystemMemoryLabelNames) + common.AddToMetricMap(metrics, Subsystem, "memory_capacity", "system memory capacity, MiB", SystemMemoryLabelNames) + + return metrics +} + +// Implements the prometheus.Collector. +type Collector struct { + Ctx *common.CollectionContext + metrics map[string]common.Metric + Log *slog.Logger + system *schemas.ComputerSystem +} + +// NewCollector returns a collector that collects system memory data +func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, system *schemas.ComputerSystem) *Collector { + return &Collector{ + metrics: metricMap, + Ctx: ctx, + Log: logger.With( + "collector", Subsystem, + "system", system.ID, + ), + system: system, + } +} + +// Describe implemented prometheus.Collector +func (c *Collector) Describe(ch chan<- *prometheus.Desc) { + for _, metric := range c.metrics { + ch <- metric.Desc + } +} + +func (c *Collector) Collect(ch chan<- prometheus.Metric) { + memories, err := c.system.Memory() + if err != nil { + c.Log.Error("error getting memory data from system", "operation", "system.Memory()", "err", err) + } else if memories == nil { + c.Log.Info("no memory data found", "operation", "system.Memory()") + } + + wg := &sync.WaitGroup{} + for _, memory := range memories { + wg.Go(func() { parseMemory(ch, c.system.HostName, memory) }) + } + wg.Wait() +} + +func parseMemory(ch chan<- prometheus.Metric, systemHostName string, memory *schemas.Memory) { + systemMemoryLabelValues := []string{systemHostName, "memory", memory.Name, memory.ID} + if stateValue, ok := common.ParseCommonStatusState(memory.Status.State); ok { + ch <- prometheus.MustNewConstMetric(metricMap["system_memory_state"].Desc, prometheus.GaugeValue, stateValue, systemMemoryLabelValues...) + } + if healthStatusValue, ok := common.ParseCommonStatusHealth(memory.Status.Health); ok { + ch <- prometheus.MustNewConstMetric(metricMap["system_memory_health_state"].Desc, prometheus.GaugeValue, healthStatusValue, systemMemoryLabelValues...) + } + if memory.CapacityMiB != nil { + ch <- prometheus.MustNewConstMetric(metricMap["system_memory_capacity"].Desc, prometheus.GaugeValue, float64(*memory.CapacityMiB), systemMemoryLabelValues...) + } +} diff --git a/collector/system/memory/collector_test.go b/collector/system/memory/collector_test.go new file mode 100644 index 00000000..3c8e39b0 --- /dev/null +++ b/collector/system/memory/collector_test.go @@ -0,0 +1,82 @@ +package memory_test + +import ( + "testing" + + "github.com/prometheus/common/promslog" + "github.com/stackhpc/redfish_exporter/collector/system/memory" + "github.com/stackhpc/redfish_exporter/common" + redfish_test "github.com/stackhpc/redfish_exporter/common/test" + "github.com/stretchr/testify/require" +) + +func TestPublicTower_2026_2(t *testing.T) { + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-tower", false) + + systems, err := redfishClient.Service.Systems() + require.NoError(t, err) + + ctx := common.CollectionContext{ + RedfishClient: redfishClient, + } + + promslogConfig := promslog.Config{} + logger := promslog.New(&promslogConfig) + + collector := memory.NewCollector(&ctx, logger, systems[0]) + expected := ` + redfish_system_memory_capacity{hostname="devrender2",memory="Regular Memory",memory_id="DIMM1",resource="memory"} 131072 + redfish_system_memory_capacity{hostname="devrender2",memory="Regular Memory",memory_id="DIMM10",resource="memory"} 0 + redfish_system_memory_capacity{hostname="devrender2",memory="Regular Memory",memory_id="DIMM11",resource="memory"} 0 + redfish_system_memory_capacity{hostname="devrender2",memory="Regular Memory",memory_id="DIMM12",resource="memory"} 0 + redfish_system_memory_capacity{hostname="devrender2",memory="Regular Memory",memory_id="DIMM13",resource="memory"} 0 + redfish_system_memory_capacity{hostname="devrender2",memory="Regular Memory",memory_id="DIMM14",resource="memory"} 0 + redfish_system_memory_capacity{hostname="devrender2",memory="Regular Memory",memory_id="DIMM15",resource="memory"} 0 + redfish_system_memory_capacity{hostname="devrender2",memory="Regular Memory",memory_id="DIMM16",resource="memory"} 0 + redfish_system_memory_capacity{hostname="devrender2",memory="Regular Memory",memory_id="DIMM2",resource="memory"} 131072 + redfish_system_memory_capacity{hostname="devrender2",memory="Regular Memory",memory_id="DIMM3",resource="memory"} 131072 + redfish_system_memory_capacity{hostname="devrender2",memory="Regular Memory",memory_id="DIMM4",resource="memory"} 131072 + redfish_system_memory_capacity{hostname="devrender2",memory="Regular Memory",memory_id="DIMM5",resource="memory"} 131072 + redfish_system_memory_capacity{hostname="devrender2",memory="Regular Memory",memory_id="DIMM6",resource="memory"} 131072 + redfish_system_memory_capacity{hostname="devrender2",memory="Regular Memory",memory_id="DIMM7",resource="memory"} 131072 + redfish_system_memory_capacity{hostname="devrender2",memory="Regular Memory",memory_id="DIMM8",resource="memory"} 131072 + redfish_system_memory_capacity{hostname="devrender2",memory="Regular Memory",memory_id="DIMM9",resource="memory"} 0 + redfish_system_memory_health_state{hostname="devrender2",memory="Regular Memory",memory_id="DIMM1",resource="memory"} 1 + redfish_system_memory_health_state{hostname="devrender2",memory="Regular Memory",memory_id="DIMM10",resource="memory"} 1 + redfish_system_memory_health_state{hostname="devrender2",memory="Regular Memory",memory_id="DIMM11",resource="memory"} 1 + redfish_system_memory_health_state{hostname="devrender2",memory="Regular Memory",memory_id="DIMM12",resource="memory"} 1 + redfish_system_memory_health_state{hostname="devrender2",memory="Regular Memory",memory_id="DIMM13",resource="memory"} 1 + redfish_system_memory_health_state{hostname="devrender2",memory="Regular Memory",memory_id="DIMM14",resource="memory"} 1 + redfish_system_memory_health_state{hostname="devrender2",memory="Regular Memory",memory_id="DIMM15",resource="memory"} 1 + redfish_system_memory_health_state{hostname="devrender2",memory="Regular Memory",memory_id="DIMM16",resource="memory"} 1 + redfish_system_memory_health_state{hostname="devrender2",memory="Regular Memory",memory_id="DIMM2",resource="memory"} 1 + redfish_system_memory_health_state{hostname="devrender2",memory="Regular Memory",memory_id="DIMM3",resource="memory"} 1 + redfish_system_memory_health_state{hostname="devrender2",memory="Regular Memory",memory_id="DIMM4",resource="memory"} 1 + redfish_system_memory_health_state{hostname="devrender2",memory="Regular Memory",memory_id="DIMM5",resource="memory"} 1 + redfish_system_memory_health_state{hostname="devrender2",memory="Regular Memory",memory_id="DIMM6",resource="memory"} 1 + redfish_system_memory_health_state{hostname="devrender2",memory="Regular Memory",memory_id="DIMM7",resource="memory"} 1 + redfish_system_memory_health_state{hostname="devrender2",memory="Regular Memory",memory_id="DIMM8",resource="memory"} 1 + redfish_system_memory_health_state{hostname="devrender2",memory="Regular Memory",memory_id="DIMM9",resource="memory"} 1 + redfish_system_memory_state{hostname="devrender2",memory="Regular Memory",memory_id="DIMM1",resource="memory"} 1 + redfish_system_memory_state{hostname="devrender2",memory="Regular Memory",memory_id="DIMM10",resource="memory"} 7 + redfish_system_memory_state{hostname="devrender2",memory="Regular Memory",memory_id="DIMM11",resource="memory"} 7 + redfish_system_memory_state{hostname="devrender2",memory="Regular Memory",memory_id="DIMM12",resource="memory"} 7 + redfish_system_memory_state{hostname="devrender2",memory="Regular Memory",memory_id="DIMM13",resource="memory"} 7 + redfish_system_memory_state{hostname="devrender2",memory="Regular Memory",memory_id="DIMM14",resource="memory"} 7 + redfish_system_memory_state{hostname="devrender2",memory="Regular Memory",memory_id="DIMM15",resource="memory"} 7 + redfish_system_memory_state{hostname="devrender2",memory="Regular Memory",memory_id="DIMM16",resource="memory"} 7 + redfish_system_memory_state{hostname="devrender2",memory="Regular Memory",memory_id="DIMM2",resource="memory"} 1 + redfish_system_memory_state{hostname="devrender2",memory="Regular Memory",memory_id="DIMM3",resource="memory"} 1 + redfish_system_memory_state{hostname="devrender2",memory="Regular Memory",memory_id="DIMM4",resource="memory"} 1 + redfish_system_memory_state{hostname="devrender2",memory="Regular Memory",memory_id="DIMM5",resource="memory"} 1 + redfish_system_memory_state{hostname="devrender2",memory="Regular Memory",memory_id="DIMM6",resource="memory"} 1 + redfish_system_memory_state{hostname="devrender2",memory="Regular Memory",memory_id="DIMM7",resource="memory"} 1 + redfish_system_memory_state{hostname="devrender2",memory="Regular Memory",memory_id="DIMM8",resource="memory"} 1 + redfish_system_memory_state{hostname="devrender2",memory="Regular Memory",memory_id="DIMM9",resource="memory"} 7 + ` + redfish_test.CollectAndCompare(t, collector, expected, + "redfish_system_memory_state", + "redfish_system_memory_health_state", + "redfish_system_memory_capacity", + ) +} From 6641321142f47ddc6022812efa82768cc75bb12d Mon Sep 17 00:00:00 2001 From: MurrayGroves Date: Mon, 26 Oct 2026 15:35:54 +0000 Subject: [PATCH 09/33] Split system/processors into new collector --- collector/system/collector.go | 54 +--------- collector/system/processors/collector.go | 100 ++++++++++++++++++ collector/system/processors/collector_test.go | 73 +++++++++++++ 3 files changed, 176 insertions(+), 51 deletions(-) create mode 100644 collector/system/processors/collector.go create mode 100644 collector/system/processors/collector_test.go diff --git a/collector/system/collector.go b/collector/system/collector.go index ec8cc81f..e1d67fac 100755 --- a/collector/system/collector.go +++ b/collector/system/collector.go @@ -9,6 +9,7 @@ import ( "github.com/prometheus/client_golang/prometheus" "github.com/stackhpc/redfish_exporter/collector/system/memory" + "github.com/stackhpc/redfish_exporter/collector/system/processors" "github.com/stackhpc/redfish_exporter/common" "github.com/stmcginnis/gofish/schemas" ) @@ -18,7 +19,6 @@ var ( SystemSubsystem = "system" SystemLabelNames = []string{"hostname", "resource", "system_id"} SystemBIOSLabelNames = append(slices.Clone(SystemLabelNames), "bios_version") - SystemProcessorLabelNames = []string{"hostname", "resource", "processor", "processor_id"} SystemVolumeLabelNames = []string{"hostname", "resource", "volume", "volume_id"} SystemDeviceLabelNames = []string{"hostname", "resource", "device"} SystemDriveLabelNames = []string{"hostname", "resource", "drive", "drive_id"} @@ -59,13 +59,6 @@ func createSystemMetricMap() map[string]common.Metric { common.AddToMetricMap(systemMetrics, SystemSubsystem, "total_processor_health_state", fmt.Sprintf("system overall processor health,%s", common.HealthHelp), SystemLabelNames) common.AddToMetricMap(systemMetrics, SystemSubsystem, "total_processor_count", "system total processor count", SystemLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "processor_state", fmt.Sprintf("system processor state,%s", common.StateHelp), SystemProcessorLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "processor_health_state", fmt.Sprintf("system processor health state,%s", common.HealthHelp), SystemProcessorLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "processor_total_threads", "system processor total threads", SystemProcessorLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "processor_total_threads_enabled", "system processor total enabled threads", SystemProcessorLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "processor_total_cores", "system processor total cores", SystemProcessorLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "processor_total_cores_enabled", "system processor total enabled cores", SystemProcessorLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "simple_storage_device_state", fmt.Sprintf("system simple storage device state,%s", common.StateHelp), SystemDeviceLabelNames) common.AddToMetricMap(systemMetrics, SystemSubsystem, "simple_storage_device_health_state", fmt.Sprintf("system simple storage device health state,%s", common.HealthHelp), SystemDeviceLabelNames) @@ -190,7 +183,6 @@ func (s *SystemCollector) Collect(ch chan<- prometheus.Metric) { // get system OdataID //systemOdataID := system.ODataID - wg2 := &sync.WaitGroup{} // processor wg3 := &sync.WaitGroup{} // storage/volumes wg4 := &sync.WaitGroup{} // storage/drives wg5 := &sync.WaitGroup{} // pcie devices @@ -208,7 +200,8 @@ func (s *SystemCollector) Collect(ch chan<- prometheus.Metric) { } if !slices.Contains(disabledMetrics, "processor") { - processProcessors(system, systemLogContext, wg2, ch, systemHostName) + collector := processors.NewCollector(s.Ctx, s.Log, system) + wg.Go(func() { collector.Collect(ch) }) } if !slices.Contains(disabledMetrics, "storage") { @@ -253,7 +246,6 @@ func (s *SystemCollector) Collect(ch chan<- prometheus.Metric) { } } - wg2.Wait() wg3.Wait() wg4.Wait() wg5.Wait() @@ -271,22 +263,6 @@ func (s *SystemCollector) Collect(ch chan<- prometheus.Metric) { } } -func processProcessors(system *schemas.ComputerSystem, systemLogContext *slog.Logger, wg2 *sync.WaitGroup, ch chan<- prometheus.Metric, systemHostName string) { - processors, err := system.Processors() - if err != nil { - systemLogContext.Error("error getting processor data from system", "operation", "system.Processors()", "err", err) - } else if processors == nil { - systemLogContext.Info("no processor data found", "operation", "system.Processors()") - } else { - wg2.Add(len(processors)) - - for _, processor := range processors { - go parseProcessor(ch, systemHostName, processor, wg2) - - } - } -} - func processStorage(system *schemas.ComputerSystem, systemLogContext *slog.Logger, wg3 *sync.WaitGroup, ch chan<- prometheus.Metric, systemHostName string, wg4 *sync.WaitGroup) { storages, err := system.Storage() if err != nil { @@ -451,30 +427,6 @@ func processNetworkInterfaces(system *schemas.ComputerSystem, systemLogContext * } } -func parseProcessor(ch chan<- prometheus.Metric, systemHostName string, processor *schemas.Processor, wg *sync.WaitGroup) { - defer wg.Done() - - systemProcessorLabelValues := []string{systemHostName, "processor", processor.Name, processor.ID} - - if processorStateValue, ok := common.ParseCommonStatusState(processor.Status.State); ok { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_processor_state"].Desc, prometheus.GaugeValue, processorStateValue, systemProcessorLabelValues...) - } - if processorHealthStateValue, ok := common.ParseCommonStatusHealth(processor.Status.Health); ok { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_processor_health_state"].Desc, prometheus.GaugeValue, processorHealthStateValue, systemProcessorLabelValues...) - } - if processor.TotalThreads != nil { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_processor_total_threads"].Desc, prometheus.GaugeValue, float64(*processor.TotalThreads), systemProcessorLabelValues...) - } - if processor.TotalEnabledThreads != nil { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_processor_total_threads_enabled"].Desc, prometheus.GaugeValue, float64(*processor.TotalThreads), systemProcessorLabelValues...) - } - if processor.TotalCores != nil { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_processor_total_cores"].Desc, prometheus.GaugeValue, float64(*processor.TotalCores), systemProcessorLabelValues...) - } - if processor.TotalEnabledCores != nil { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_processor_total_cores_enabled"].Desc, prometheus.GaugeValue, float64(*processor.TotalCores), systemProcessorLabelValues...) - } -} func parseVolume(ch chan<- prometheus.Metric, systemHostName string, volume *schemas.Volume, wg *sync.WaitGroup) { defer wg.Done() volumeName := volume.Name diff --git a/collector/system/processors/collector.go b/collector/system/processors/collector.go new file mode 100644 index 00000000..727d594e --- /dev/null +++ b/collector/system/processors/collector.go @@ -0,0 +1,100 @@ +package processors + +import ( + "fmt" + "log/slog" + "sync" + + "github.com/prometheus/client_golang/prometheus" + "github.com/stackhpc/redfish_exporter/common" + "github.com/stmcginnis/gofish/schemas" +) + +var ( + Subsystem = "system" + + SystemProcessorLabelNames = []string{"hostname", "resource", "processor", "processor_id"} + + metricMap = createMetricMap() +) + +func createMetricMap() map[string]common.Metric { + metrics := make(map[string]common.Metric) + + common.AddToMetricMap(metrics, Subsystem, "processor_state", fmt.Sprintf("system processor state,%s", common.StateHelp), SystemProcessorLabelNames) + common.AddToMetricMap(metrics, Subsystem, "processor_health_state", fmt.Sprintf("system processor health state,%s", common.HealthHelp), SystemProcessorLabelNames) + common.AddToMetricMap(metrics, Subsystem, "processor_total_threads", "system processor total threads", SystemProcessorLabelNames) + common.AddToMetricMap(metrics, Subsystem, "processor_total_threads_enabled", "system processor total enabled threads", SystemProcessorLabelNames) + common.AddToMetricMap(metrics, Subsystem, "processor_total_cores", "system processor total cores", SystemProcessorLabelNames) + common.AddToMetricMap(metrics, Subsystem, "processor_total_cores_enabled", "system processor total enabled cores", SystemProcessorLabelNames) + + return metrics +} + +// Implements the prometheus.Collector. +type Collector struct { + Ctx *common.CollectionContext + metrics map[string]common.Metric + Log *slog.Logger + system *schemas.ComputerSystem +} + +// NewCollector returns a collector that collects system memory data +func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, system *schemas.ComputerSystem) *Collector { + return &Collector{ + metrics: metricMap, + Ctx: ctx, + Log: logger.With( + "collector", Subsystem, + "system", system.ID, + ), + system: system, + } +} + +// Describe implemented prometheus.Collector +func (c *Collector) Describe(ch chan<- *prometheus.Desc) { + for _, metric := range c.metrics { + ch <- metric.Desc + } +} + +func (c *Collector) Collect(ch chan<- prometheus.Metric) { + processors, err := c.system.Processors() + if err != nil { + c.Log.Error("error getting processor data from system", "operation", "system.Processors()", "err", err) + return + } else if processors == nil { + c.Log.Info("no processor data found", "operation", "system.Processors()") + return + } + + wg := &sync.WaitGroup{} + for _, processor := range processors { + wg.Go(func() { parseProcessor(ch, c.system.HostName, processor) }) + } + wg.Wait() +} + +func parseProcessor(ch chan<- prometheus.Metric, systemHostName string, processor *schemas.Processor) { + systemProcessorLabelValues := []string{systemHostName, "processor", processor.Name, processor.ID} + + if processorStateValue, ok := common.ParseCommonStatusState(processor.Status.State); ok { + ch <- prometheus.MustNewConstMetric(metricMap["system_processor_state"].Desc, prometheus.GaugeValue, processorStateValue, systemProcessorLabelValues...) + } + if processorHealthStateValue, ok := common.ParseCommonStatusHealth(processor.Status.Health); ok { + ch <- prometheus.MustNewConstMetric(metricMap["system_processor_health_state"].Desc, prometheus.GaugeValue, processorHealthStateValue, systemProcessorLabelValues...) + } + if processor.TotalThreads != nil { + ch <- prometheus.MustNewConstMetric(metricMap["system_processor_total_threads"].Desc, prometheus.GaugeValue, float64(*processor.TotalThreads), systemProcessorLabelValues...) + } + if processor.TotalEnabledThreads != nil { + ch <- prometheus.MustNewConstMetric(metricMap["system_processor_total_threads_enabled"].Desc, prometheus.GaugeValue, float64(*processor.TotalThreads), systemProcessorLabelValues...) + } + if processor.TotalCores != nil { + ch <- prometheus.MustNewConstMetric(metricMap["system_processor_total_cores"].Desc, prometheus.GaugeValue, float64(*processor.TotalCores), systemProcessorLabelValues...) + } + if processor.TotalEnabledCores != nil { + ch <- prometheus.MustNewConstMetric(metricMap["system_processor_total_cores_enabled"].Desc, prometheus.GaugeValue, float64(*processor.TotalCores), systemProcessorLabelValues...) + } +} diff --git a/collector/system/processors/collector_test.go b/collector/system/processors/collector_test.go new file mode 100644 index 00000000..59ea7473 --- /dev/null +++ b/collector/system/processors/collector_test.go @@ -0,0 +1,73 @@ +package processors_test + +import ( + "testing" + + "github.com/prometheus/common/promslog" + "github.com/stackhpc/redfish_exporter/collector/system/processors" + "github.com/stackhpc/redfish_exporter/common" + redfish_test "github.com/stackhpc/redfish_exporter/common/test" + "github.com/stretchr/testify/require" +) + +func TestPublicTower_2026_2(t *testing.T) { + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-tower", false) + + systems, err := redfishClient.Service.Systems() + require.NoError(t, err) + + ctx := common.CollectionContext{ + RedfishClient: redfishClient, + } + + promslogConfig := promslog.Config{} + logger := promslog.New(&promslogConfig) + + collector := processors.NewCollector(&ctx, logger, systems[0]) + expected := ` + redfish_system_processor_health_state{hostname="devrender2",processor="GPU1",processor_id="GPU1",resource="processor"} 1 + redfish_system_processor_health_state{hostname="devrender2",processor="GPU2",processor_id="GPU2",resource="processor"} 1 + redfish_system_processor_health_state{hostname="devrender2",processor="Processor",processor_id="CPU1",resource="processor"} 1 + redfish_system_processor_health_state{hostname="devrender2",processor="Processor",processor_id="CPU2",resource="processor"} 1 + redfish_system_processor_health_state{hostname="devrender2",processor="Processor",processor_id="CPU3",resource="processor"} 1 + redfish_system_processor_health_state{hostname="devrender2",processor="Processor",processor_id="CPU4",resource="processor"} 1 + redfish_system_processor_health_state{hostname="devrender2",processor="Processor",processor_id="CPU5",resource="processor"} 1 + redfish_system_processor_health_state{hostname="devrender2",processor="Processor",processor_id="CPU6",resource="processor"} 1 + redfish_system_processor_health_state{hostname="devrender2",processor="Processor",processor_id="CPU7",resource="processor"} 1 + redfish_system_processor_health_state{hostname="devrender2",processor="Processor",processor_id="CPU8",resource="processor"} 1 + redfish_system_processor_state{hostname="devrender2",processor="GPU1",processor_id="GPU1",resource="processor"} 1 + redfish_system_processor_state{hostname="devrender2",processor="GPU2",processor_id="GPU2",resource="processor"} 1 + redfish_system_processor_state{hostname="devrender2",processor="Processor",processor_id="CPU1",resource="processor"} 1 + redfish_system_processor_state{hostname="devrender2",processor="Processor",processor_id="CPU2",resource="processor"} 1 + redfish_system_processor_state{hostname="devrender2",processor="Processor",processor_id="CPU3",resource="processor"} 1 + redfish_system_processor_state{hostname="devrender2",processor="Processor",processor_id="CPU4",resource="processor"} 1 + redfish_system_processor_state{hostname="devrender2",processor="Processor",processor_id="CPU5",resource="processor"} 1 + redfish_system_processor_state{hostname="devrender2",processor="Processor",processor_id="CPU6",resource="processor"} 1 + redfish_system_processor_state{hostname="devrender2",processor="Processor",processor_id="CPU7",resource="processor"} 1 + redfish_system_processor_state{hostname="devrender2",processor="Processor",processor_id="CPU8",resource="processor"} 1 + redfish_system_processor_total_cores{hostname="devrender2",processor="GPU1",processor_id="GPU1",resource="processor"} 576 + redfish_system_processor_total_cores{hostname="devrender2",processor="GPU2",processor_id="GPU2",resource="processor"} 576 + redfish_system_processor_total_cores{hostname="devrender2",processor="Processor",processor_id="CPU1",resource="processor"} 16 + redfish_system_processor_total_cores{hostname="devrender2",processor="Processor",processor_id="CPU2",resource="processor"} 16 + redfish_system_processor_total_cores{hostname="devrender2",processor="Processor",processor_id="CPU3",resource="processor"} 16 + redfish_system_processor_total_cores{hostname="devrender2",processor="Processor",processor_id="CPU4",resource="processor"} 16 + redfish_system_processor_total_cores{hostname="devrender2",processor="Processor",processor_id="CPU5",resource="processor"} 16 + redfish_system_processor_total_cores{hostname="devrender2",processor="Processor",processor_id="CPU6",resource="processor"} 16 + redfish_system_processor_total_cores{hostname="devrender2",processor="Processor",processor_id="CPU7",resource="processor"} 16 + redfish_system_processor_total_cores{hostname="devrender2",processor="Processor",processor_id="CPU8",resource="processor"} 16 + redfish_system_processor_total_threads{hostname="devrender2",processor="Processor",processor_id="CPU1",resource="processor"} 32 + redfish_system_processor_total_threads{hostname="devrender2",processor="Processor",processor_id="CPU2",resource="processor"} 32 + redfish_system_processor_total_threads{hostname="devrender2",processor="Processor",processor_id="CPU3",resource="processor"} 32 + redfish_system_processor_total_threads{hostname="devrender2",processor="Processor",processor_id="CPU4",resource="processor"} 32 + redfish_system_processor_total_threads{hostname="devrender2",processor="Processor",processor_id="CPU5",resource="processor"} 32 + redfish_system_processor_total_threads{hostname="devrender2",processor="Processor",processor_id="CPU6",resource="processor"} 32 + redfish_system_processor_total_threads{hostname="devrender2",processor="Processor",processor_id="CPU7",resource="processor"} 32 + redfish_system_processor_total_threads{hostname="devrender2",processor="Processor",processor_id="CPU8",resource="processor"} 32 + ` + redfish_test.CollectAndCompare(t, collector, expected, + "redfish_system_processor_state", + "redfish_system_processor_health_state", + "redfish_system_processor_total_threads", + "redfish_system_processor_total_cores", + ) +} From 12fdd695c5d036f2c86b0d7fec817a4f9e02383b Mon Sep 17 00:00:00 2001 From: MurrayGroves Date: Tue, 27 Oct 2026 09:40:16 +0000 Subject: [PATCH 10/33] Split system/pcie_devices into new collector --- collector/system/collector.go | 10 +- collector/system/memory/collector.go | 2 + collector/system/pcie_devices/collector.go | 93 +++++++++++++++++++ .../system/pcie_devices/collector_test.go | 51 ++++++++++ 4 files changed, 149 insertions(+), 7 deletions(-) create mode 100644 collector/system/pcie_devices/collector.go create mode 100644 collector/system/pcie_devices/collector_test.go diff --git a/collector/system/collector.go b/collector/system/collector.go index e1d67fac..70c76e89 100755 --- a/collector/system/collector.go +++ b/collector/system/collector.go @@ -9,6 +9,7 @@ import ( "github.com/prometheus/client_golang/prometheus" "github.com/stackhpc/redfish_exporter/collector/system/memory" + "github.com/stackhpc/redfish_exporter/collector/system/pcie_devices" "github.com/stackhpc/redfish_exporter/collector/system/processors" "github.com/stackhpc/redfish_exporter/common" "github.com/stmcginnis/gofish/schemas" @@ -23,7 +24,6 @@ var ( SystemDeviceLabelNames = []string{"hostname", "resource", "device"} SystemDriveLabelNames = []string{"hostname", "resource", "drive", "drive_id"} SystemStorageControllerLabelNames = []string{"hostname", "resource", "storage_controller", "storage_controller_id"} - SystemPCIeDeviceLabelNames = []string{"hostname", "resource", "pcie_device", "pcie_device_id", "pcie_device_partnumber", "pcie_device_type", "pcie_serial_number"} SystemNetworkInterfaceLabelNames = []string{"hostname", "resource", "network_interface", "network_interface_id"} SystemEthernetInterfaceLabelNames = []string{"hostname", "resource", "ethernet_interface", "ethernet_interface_id", "ethernet_interface_speed"} SystemPCIeFunctionLabelNames = []string{"hostname", "resource", "pcie_function_name", "pcie_function_id", "pci_function_deviceclass", "pci_function_type"} @@ -73,9 +73,6 @@ func createSystemMetricMap() map[string]common.Metric { common.AddToMetricMap(systemMetrics, SystemSubsystem, "storage_controller_state", fmt.Sprintf("system storage controller state,%s", common.StateHelp), SystemStorageControllerLabelNames) common.AddToMetricMap(systemMetrics, SystemSubsystem, "storage_controller_health_state", fmt.Sprintf("system storage controller health state,%s", common.HealthHelp), SystemStorageControllerLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "pcie_device_state", fmt.Sprintf("system pcie device state,%s", common.StateHelp), SystemPCIeDeviceLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "pcie_device_health_state", fmt.Sprintf("system pcie device health state,%s", common.HealthHelp), SystemPCIeDeviceLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "pcie_function_state", fmt.Sprintf("system pcie function state,%s", common.StateHelp), SystemPCIeFunctionLabelNames) common.AddToMetricMap(systemMetrics, SystemSubsystem, "pcie_function_health_state", fmt.Sprintf("system pcie device function state,%s", common.HealthHelp), SystemPCIeFunctionLabelNames) @@ -185,7 +182,6 @@ func (s *SystemCollector) Collect(ch chan<- prometheus.Metric) { wg3 := &sync.WaitGroup{} // storage/volumes wg4 := &sync.WaitGroup{} // storage/drives - wg5 := &sync.WaitGroup{} // pcie devices wg6 := &sync.WaitGroup{} // network interfaces wg7 := &sync.WaitGroup{} // ethernet interfaces wg8 := &sync.WaitGroup{} // simple storage @@ -209,7 +205,8 @@ func (s *SystemCollector) Collect(ch chan<- prometheus.Metric) { } if !slices.Contains(disabledMetrics, "pcie_devices") { - processPcieDevices(system, systemLogContext, wg5, ch, systemHostName) + collector := pcie_devices.NewCollector(s.Ctx, s.Log, system) + wg.Go(func() { collector.Collect(ch) }) } if !slices.Contains(disabledMetrics, "network_interfaces") { @@ -248,7 +245,6 @@ func (s *SystemCollector) Collect(ch chan<- prometheus.Metric) { wg3.Wait() wg4.Wait() - wg5.Wait() wg6.Wait() wg7.Wait() wg8.Wait() diff --git a/collector/system/memory/collector.go b/collector/system/memory/collector.go index 56e750ab..1bc6a692 100644 --- a/collector/system/memory/collector.go +++ b/collector/system/memory/collector.go @@ -60,8 +60,10 @@ func (c *Collector) Collect(ch chan<- prometheus.Metric) { memories, err := c.system.Memory() if err != nil { c.Log.Error("error getting memory data from system", "operation", "system.Memory()", "err", err) + return } else if memories == nil { c.Log.Info("no memory data found", "operation", "system.Memory()") + return } wg := &sync.WaitGroup{} diff --git a/collector/system/pcie_devices/collector.go b/collector/system/pcie_devices/collector.go new file mode 100644 index 00000000..dd81bc9b --- /dev/null +++ b/collector/system/pcie_devices/collector.go @@ -0,0 +1,93 @@ +package pcie_devices + +import ( + "fmt" + "log/slog" + "sync" + + "github.com/prometheus/client_golang/prometheus" + "github.com/stackhpc/redfish_exporter/common" + "github.com/stmcginnis/gofish/schemas" +) + +var ( + Subsystem = "system" + + SystemPCIeDeviceLabelNames = []string{"hostname", "resource", "pcie_device", "pcie_device_id", "pcie_device_partnumber", "pcie_device_type", "pcie_serial_number"} + + metricMap = createMetricMap() +) + +func createMetricMap() map[string]common.Metric { + metrics := make(map[string]common.Metric) + + common.AddToMetricMap(metrics, Subsystem, "pcie_device_state", fmt.Sprintf("system pcie device state,%s", common.StateHelp), SystemPCIeDeviceLabelNames) + common.AddToMetricMap(metrics, Subsystem, "pcie_device_health_state", fmt.Sprintf("system pcie device health state,%s", common.HealthHelp), SystemPCIeDeviceLabelNames) + + return metrics +} + +// Implements the prometheus.Collector. +type Collector struct { + Ctx *common.CollectionContext + metrics map[string]common.Metric + Log *slog.Logger + system *schemas.ComputerSystem +} + +// NewCollector returns a collector that collects system memory data +func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, system *schemas.ComputerSystem) *Collector { + return &Collector{ + metrics: metricMap, + Ctx: ctx, + Log: logger.With( + "collector", Subsystem, + "system", system.ID, + ), + system: system, + } +} + +// Describe implemented prometheus.Collector +func (c *Collector) Describe(ch chan<- *prometheus.Desc) { + for _, metric := range c.metrics { + ch <- metric.Desc + } +} + +func (c *Collector) Collect(ch chan<- prometheus.Metric) { + pcieDevices, err := c.system.PCIeDevices() + if err != nil { + c.Log.Error("error getting PCI-E device data from system", "operation", "system.PCIeDevices()", "err", err) + return + } else if pcieDevices == nil { + c.Log.Info("no PCI-E device data found", "operation", "system.PCIeDevices()") + return + } + + processed := make(map[string]bool) + wg := &sync.WaitGroup{} + //Some devices are returning duplicated PCIeDevices. This is workaround for this. Example of such data can be found in sampleOut/system_duplicated_devices.json + for _, pcieDevice := range pcieDevices { + _, exists := processed[pcieDevice.ODataID] + if exists { + c.Log.Info(fmt.Sprintf("Ignoring duplicate pci device: %s", pcieDevice.ODataID), "operation", "system.PCIeDevices()") + continue + } + processed[pcieDevice.ODataID] = true + wg.Go(func() { c.parsePcieDevice(ch, pcieDevice) }) + } + wg.Wait() +} + +func (c *Collector) parsePcieDevice(ch chan<- prometheus.Metric, pcieDevice *schemas.PCIeDevice) { + pcieDeviceType := fmt.Sprint(pcieDevice.DeviceType) + systemPCIeDeviceLabelValues := []string{c.system.HostName, "pcie_device", pcieDevice.Name, pcieDevice.ID, pcieDevice.PartNumber, pcieDeviceType, pcieDevice.SerialNumber} + + if stateValue, ok := common.ParseCommonStatusState(pcieDevice.Status.State); ok { + ch <- prometheus.MustNewConstMetric(metricMap["system_pcie_device_state"].Desc, prometheus.GaugeValue, stateValue, systemPCIeDeviceLabelValues...) + } + if healthStateValue, ok := common.ParseCommonStatusHealth(pcieDevice.Status.Health); ok { + ch <- prometheus.MustNewConstMetric(metricMap["system_pcie_device_health_state"].Desc, prometheus.GaugeValue, healthStateValue, systemPCIeDeviceLabelValues...) + } +} diff --git a/collector/system/pcie_devices/collector_test.go b/collector/system/pcie_devices/collector_test.go new file mode 100644 index 00000000..fb25b21e --- /dev/null +++ b/collector/system/pcie_devices/collector_test.go @@ -0,0 +1,51 @@ +package pcie_devices_test + +import ( + "testing" + + "github.com/prometheus/common/promslog" + "github.com/stackhpc/redfish_exporter/collector/system/pcie_devices" + "github.com/stackhpc/redfish_exporter/common" + redfish_test "github.com/stackhpc/redfish_exporter/common/test" + "github.com/stretchr/testify/require" +) + +func TestPublicTower_2026_2(t *testing.T) { + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-tower", false) + + systems, err := redfishClient.Service.Systems() + require.NoError(t, err) + + ctx := common.CollectionContext{ + RedfishClient: redfishClient, + } + + promslogConfig := promslog.Config{} + logger := promslog.New(&promslogConfig) + + collector := pcie_devices.NewCollector(&ctx, logger, systems[0]) + expected := ` + redfish_system_pcie_device_health_state{hostname="devrender2",pcie_device="Integrated NVMe Drive 1",pcie_device_id="IntegratedNVMe1",pcie_device_partnumber="232-4598D7",pcie_device_type="MultiFunction",pcie_serial_number="2M220100SL",resource="pcie_device"} 1 + redfish_system_pcie_device_health_state{hostname="devrender2",pcie_device="Integrated NVMe Drive 2",pcie_device_id="IntegratedNVMe2",pcie_device_partnumber="232-4598D7",pcie_device_type="MultiFunction",pcie_serial_number="2M220100SL",resource="pcie_device"} 1 + redfish_system_pcie_device_health_state{hostname="devrender2",pcie_device="Integrated SAS/SATA RAID Controller",pcie_device_id="IntegratedRAID",pcie_device_partnumber="232-4598D7",pcie_device_type="SingleFunction",pcie_serial_number="2M220100SL",resource="pcie_device"} 1 + redfish_system_pcie_device_health_state{hostname="devrender2",pcie_device="NVMe to PCIe Bridge",pcie_device_id="EmbeddedNVMeBridge",pcie_device_partnumber="232-4598D7",pcie_device_type="SingleFunction",pcie_serial_number="2M220100SL",resource="pcie_device"} 1 + redfish_system_pcie_device_health_state{hostname="devrender2",pcie_device="PCI Device in Slot 1",pcie_device_id="Slot1",pcie_device_partnumber="232-4598D7",pcie_device_type="SingleFunction",pcie_serial_number="2M220100SL",resource="pcie_device"} 1 + redfish_system_pcie_device_health_state{hostname="devrender2",pcie_device="PCI Device in Slot 2",pcie_device_id="Slot2",pcie_device_partnumber="232-4598D7",pcie_device_type="SingleFunction",pcie_serial_number="2M220100SL",resource="pcie_device"} 1 + redfish_system_pcie_device_health_state{hostname="devrender2",pcie_device="PCI Device in Slot 3",pcie_device_id="Slot3",pcie_device_partnumber="232-4598D7",pcie_device_type="MultiFunction",pcie_serial_number="2M220100SL",resource="pcie_device"} 1 + redfish_system_pcie_device_health_state{hostname="devrender2",pcie_device="PCI Device in Slot 4",pcie_device_id="Slot4",pcie_device_partnumber="232-4598D7",pcie_device_type="MultiFunction",pcie_serial_number="2M220100SM",resource="pcie_device"} 1 + redfish_system_pcie_device_health_state{hostname="devrender2",pcie_device="Simple Two-Port NIC",pcie_device_id="IntegratedNIC",pcie_device_partnumber="232-4598D7",pcie_device_type="MultiFunction",pcie_serial_number="2M220100SL",resource="pcie_device"} 1 + redfish_system_pcie_device_state{hostname="devrender2",pcie_device="Integrated NVMe Drive 1",pcie_device_id="IntegratedNVMe1",pcie_device_partnumber="232-4598D7",pcie_device_type="MultiFunction",pcie_serial_number="2M220100SL",resource="pcie_device"} 1 + redfish_system_pcie_device_state{hostname="devrender2",pcie_device="Integrated NVMe Drive 2",pcie_device_id="IntegratedNVMe2",pcie_device_partnumber="232-4598D7",pcie_device_type="MultiFunction",pcie_serial_number="2M220100SL",resource="pcie_device"} 1 + redfish_system_pcie_device_state{hostname="devrender2",pcie_device="Integrated SAS/SATA RAID Controller",pcie_device_id="IntegratedRAID",pcie_device_partnumber="232-4598D7",pcie_device_type="SingleFunction",pcie_serial_number="2M220100SL",resource="pcie_device"} 1 + redfish_system_pcie_device_state{hostname="devrender2",pcie_device="NVMe to PCIe Bridge",pcie_device_id="EmbeddedNVMeBridge",pcie_device_partnumber="232-4598D7",pcie_device_type="SingleFunction",pcie_serial_number="2M220100SL",resource="pcie_device"} 1 + redfish_system_pcie_device_state{hostname="devrender2",pcie_device="PCI Device in Slot 1",pcie_device_id="Slot1",pcie_device_partnumber="232-4598D7",pcie_device_type="SingleFunction",pcie_serial_number="2M220100SL",resource="pcie_device"} 1 + redfish_system_pcie_device_state{hostname="devrender2",pcie_device="PCI Device in Slot 2",pcie_device_id="Slot2",pcie_device_partnumber="232-4598D7",pcie_device_type="SingleFunction",pcie_serial_number="2M220100SL",resource="pcie_device"} 1 + redfish_system_pcie_device_state{hostname="devrender2",pcie_device="PCI Device in Slot 3",pcie_device_id="Slot3",pcie_device_partnumber="232-4598D7",pcie_device_type="MultiFunction",pcie_serial_number="2M220100SL",resource="pcie_device"} 1 + redfish_system_pcie_device_state{hostname="devrender2",pcie_device="PCI Device in Slot 4",pcie_device_id="Slot4",pcie_device_partnumber="232-4598D7",pcie_device_type="MultiFunction",pcie_serial_number="2M220100SM",resource="pcie_device"} 1 + redfish_system_pcie_device_state{hostname="devrender2",pcie_device="Simple Two-Port NIC",pcie_device_id="IntegratedNIC",pcie_device_partnumber="232-4598D7",pcie_device_type="MultiFunction",pcie_serial_number="2M220100SL",resource="pcie_device"} 1 + ` + redfish_test.CollectAndCompare(t, collector, expected, + "redfish_system_pcie_device_state", + "redfish_system_pcie_device_health_state", + ) +} From 2f092c46c734edbe7748b1dc4c99275169b86e66 Mon Sep 17 00:00:00 2001 From: MurrayGroves Date: Tue, 27 Oct 2026 10:12:55 +0000 Subject: [PATCH 11/33] Split system/network_interfaces into new collector --- collector/system/collector.go | 82 +----------------- .../system/network_interfaces/collector.go | 84 +++++++++++++++++++ .../network_interfaces/collector_test.go | 35 ++++++++ 3 files changed, 122 insertions(+), 79 deletions(-) create mode 100644 collector/system/network_interfaces/collector.go create mode 100644 collector/system/network_interfaces/collector_test.go diff --git a/collector/system/collector.go b/collector/system/collector.go index 70c76e89..52d34e60 100755 --- a/collector/system/collector.go +++ b/collector/system/collector.go @@ -9,6 +9,7 @@ import ( "github.com/prometheus/client_golang/prometheus" "github.com/stackhpc/redfish_exporter/collector/system/memory" + "github.com/stackhpc/redfish_exporter/collector/system/network_interfaces" "github.com/stackhpc/redfish_exporter/collector/system/pcie_devices" "github.com/stackhpc/redfish_exporter/collector/system/processors" "github.com/stackhpc/redfish_exporter/common" @@ -24,7 +25,6 @@ var ( SystemDeviceLabelNames = []string{"hostname", "resource", "device"} SystemDriveLabelNames = []string{"hostname", "resource", "drive", "drive_id"} SystemStorageControllerLabelNames = []string{"hostname", "resource", "storage_controller", "storage_controller_id"} - SystemNetworkInterfaceLabelNames = []string{"hostname", "resource", "network_interface", "network_interface_id"} SystemEthernetInterfaceLabelNames = []string{"hostname", "resource", "ethernet_interface", "ethernet_interface_id", "ethernet_interface_speed"} SystemPCIeFunctionLabelNames = []string{"hostname", "resource", "pcie_function_name", "pcie_function_id", "pci_function_deviceclass", "pci_function_type"} @@ -76,9 +76,6 @@ func createSystemMetricMap() map[string]common.Metric { common.AddToMetricMap(systemMetrics, SystemSubsystem, "pcie_function_state", fmt.Sprintf("system pcie function state,%s", common.StateHelp), SystemPCIeFunctionLabelNames) common.AddToMetricMap(systemMetrics, SystemSubsystem, "pcie_function_health_state", fmt.Sprintf("system pcie device function state,%s", common.HealthHelp), SystemPCIeFunctionLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "network_interface_state", fmt.Sprintf("system network interface state,%s", common.StateHelp), SystemNetworkInterfaceLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "network_interface_health_state", fmt.Sprintf("system network interface health state,%s", common.HealthHelp), SystemNetworkInterfaceLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "ethernet_interface_state", fmt.Sprintf("system ethernet interface state,%s", common.StateHelp), SystemEthernetInterfaceLabelNames) common.AddToMetricMap(systemMetrics, SystemSubsystem, "ethernet_interface_health_state", fmt.Sprintf("system ethernet interface health state,%s", common.HealthHelp), SystemEthernetInterfaceLabelNames) common.AddToMetricMap(systemMetrics, SystemSubsystem, "ethernet_interface_link_status", fmt.Sprintf("system ethernet interface link status,%s", common.LinkHelp), SystemEthernetInterfaceLabelNames) @@ -182,7 +179,6 @@ func (s *SystemCollector) Collect(ch chan<- prometheus.Metric) { wg3 := &sync.WaitGroup{} // storage/volumes wg4 := &sync.WaitGroup{} // storage/drives - wg6 := &sync.WaitGroup{} // network interfaces wg7 := &sync.WaitGroup{} // ethernet interfaces wg8 := &sync.WaitGroup{} // simple storage wg9 := &sync.WaitGroup{} // pcie functions @@ -210,7 +206,8 @@ func (s *SystemCollector) Collect(ch chan<- prometheus.Metric) { } if !slices.Contains(disabledMetrics, "network_interfaces") { - processNetworkInterfaces(system, systemLogContext, wg6, ch, systemHostName) + collector := network_interfaces.NewCollector(s.Ctx, s.Log, system) + wg.Go(func() { collector.Collect(ch) }) } if !slices.Contains(disabledMetrics, "ethernet_interfaces") { @@ -245,7 +242,6 @@ func (s *SystemCollector) Collect(ch chan<- prometheus.Metric) { wg3.Wait() wg4.Wait() - wg6.Wait() wg7.Wait() wg8.Wait() wg9.Wait() @@ -329,29 +325,6 @@ func processStorage(system *schemas.ComputerSystem, systemLogContext *slog.Logge } } -func processPcieDevices(system *schemas.ComputerSystem, systemLogContext *slog.Logger, wg5 *sync.WaitGroup, ch chan<- prometheus.Metric, systemHostName string) { - pcieDevices, err := system.PCIeDevices() - if err != nil { - systemLogContext.Error("error getting PCI-E device data from system", "operation", "system.PCIeDevices()", "err", err) - } else if pcieDevices == nil { - systemLogContext.Info("no PCI-E device data found", "operation", "system.PCIeDevices()") - } else { - processed := make(map[string]bool) - wg5.Add(len(pcieDevices)) - //Some devices are returning duplicated PCIeDevices. This is workaround for this. Example of such data can be found in sampleOut/system_duplicated_devices.json - for _, pcieDevice := range pcieDevices { - _, exists := processed[pcieDevice.ODataID] - if exists { - systemLogContext.Info(fmt.Sprintf("Ignoring duplicate pci device: %s", pcieDevice.ODataID), "operation", "system.PCIeDevices()") - wg5.Done() - continue - } - processed[pcieDevice.ODataID] = true - go parsePcieDevice(ch, systemHostName, pcieDevice, wg5) - } - } -} - func processPcieFunctions(system *schemas.ComputerSystem, systemLogContext *slog.Logger, wg9 *sync.WaitGroup, ch chan<- prometheus.Metric, systemHostName string) { pcieFunctions, err := system.PCIeFunctions() if err != nil { @@ -409,20 +382,6 @@ func processEthernetInterfaces(system *schemas.ComputerSystem, systemLogContext } } -func processNetworkInterfaces(system *schemas.ComputerSystem, systemLogContext *slog.Logger, wg6 *sync.WaitGroup, ch chan<- prometheus.Metric, systemHostName string) { - networkInterfaces, err := system.NetworkInterfaces() - if err != nil { - systemLogContext.Error("error getting network interface data from system", "operation", "system.NetworkInterfaces()", "err", err) - } else if networkInterfaces == nil { - systemLogContext.Info("no network interface data found", "operation", "system.NetworkInterfaces()") - } else { - wg6.Add(len(networkInterfaces)) - for _, networkInterface := range networkInterfaces { - go parseNetworkInterface(ch, systemHostName, networkInterface, wg6) - } - } -} - func parseVolume(ch chan<- prometheus.Metric, systemHostName string, volume *schemas.Volume, wg *sync.WaitGroup) { defer wg.Done() volumeName := volume.Name @@ -471,41 +430,6 @@ func parseDrive(ch chan<- prometheus.Metric, systemHostName string, drive *schem } } -func parsePcieDevice(ch chan<- prometheus.Metric, systemHostName string, pcieDevice *schemas.PCIeDevice, wg *sync.WaitGroup) { - defer wg.Done() - pcieDeviceName := pcieDevice.Name - pcieDeviceID := pcieDevice.ID - pcieDeviceState := pcieDevice.Status.State - pcieDeviceHealthState := pcieDevice.Status.Health - pcieDevicePartNumber := pcieDevice.PartNumber - pcieDeviceType := fmt.Sprint(pcieDevice.DeviceType) - pcieSerialNumber := pcieDevice.SerialNumber - systemPCIeDeviceLabelValues := []string{systemHostName, "pcie_device", pcieDeviceName, pcieDeviceID, pcieDevicePartNumber, pcieDeviceType, pcieSerialNumber} - - if pcieStateVaule, ok := common.ParseCommonStatusState(pcieDeviceState); ok { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_pcie_device_state"].Desc, prometheus.GaugeValue, pcieStateVaule, systemPCIeDeviceLabelValues...) - } - if pcieHealthStateVaule, ok := common.ParseCommonStatusHealth(pcieDeviceHealthState); ok { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_pcie_device_health_state"].Desc, prometheus.GaugeValue, pcieHealthStateVaule, systemPCIeDeviceLabelValues...) - } -} - -func parseNetworkInterface(ch chan<- prometheus.Metric, systemHostName string, networkInterface *schemas.NetworkInterface, wg *sync.WaitGroup) { - defer wg.Done() - networkInterfaceName := networkInterface.Name - networkInterfaceID := networkInterface.ID - networkInterfaceState := networkInterface.Status.State - networkInterfaceHealthState := networkInterface.Status.Health - systemNetworkInterfaceLabelValues := []string{systemHostName, "network_interface", networkInterfaceName, networkInterfaceID} - - if networknetworkInterfaceStateVaule, ok := common.ParseCommonStatusState(networkInterfaceState); ok { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_network_interface_state"].Desc, prometheus.GaugeValue, networknetworkInterfaceStateVaule, systemNetworkInterfaceLabelValues...) - } - if networknetworkInterfaceHealthStateVaule, ok := common.ParseCommonStatusHealth(networkInterfaceHealthState); ok { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_network_interface_health_state"].Desc, prometheus.GaugeValue, networknetworkInterfaceHealthStateVaule, systemNetworkInterfaceLabelValues...) - } -} - func parseEthernetInterface(ch chan<- prometheus.Metric, systemHostName string, ethernetInterface *schemas.EthernetInterface, wg *sync.WaitGroup) { defer wg.Done() //ethernetInterfaceODataIDslice := strings.Split(ethernetInterface.ODataID, "/") diff --git a/collector/system/network_interfaces/collector.go b/collector/system/network_interfaces/collector.go new file mode 100644 index 00000000..a84b7ad2 --- /dev/null +++ b/collector/system/network_interfaces/collector.go @@ -0,0 +1,84 @@ +package network_interfaces + +import ( + "fmt" + "log/slog" + "sync" + + "github.com/prometheus/client_golang/prometheus" + "github.com/stackhpc/redfish_exporter/common" + "github.com/stmcginnis/gofish/schemas" +) + +var ( + Subsystem = "system" + + SystemNetworkInterfaceLabelNames = []string{"hostname", "resource", "network_interface", "network_interface_id"} + + metricMap = createMetricMap() +) + +func createMetricMap() map[string]common.Metric { + metrics := make(map[string]common.Metric) + + common.AddToMetricMap(metrics, Subsystem, "network_interface_state", fmt.Sprintf("system network interface state,%s", common.StateHelp), SystemNetworkInterfaceLabelNames) + common.AddToMetricMap(metrics, Subsystem, "network_interface_health_state", fmt.Sprintf("system network interface health state,%s", common.HealthHelp), SystemNetworkInterfaceLabelNames) + + return metrics +} + +// Implements the prometheus.Collector. +type Collector struct { + Ctx *common.CollectionContext + metrics map[string]common.Metric + Log *slog.Logger + system *schemas.ComputerSystem +} + +// NewCollector returns a collector that collects system memory data +func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, system *schemas.ComputerSystem) *Collector { + return &Collector{ + metrics: metricMap, + Ctx: ctx, + Log: logger.With( + "collector", Subsystem, + "system", system.ID, + ), + system: system, + } +} + +// Describe implemented prometheus.Collector +func (c *Collector) Describe(ch chan<- *prometheus.Desc) { + for _, metric := range c.metrics { + ch <- metric.Desc + } +} + +func (c *Collector) Collect(ch chan<- prometheus.Metric) { + networkInterfaces, err := c.system.NetworkInterfaces() + if err != nil { + c.Log.Error("error getting network interface data from system", "operation", "system.NetworkInterfaces()", "err", err) + return + } else if networkInterfaces == nil { + c.Log.Info("no network interface data found", "operation", "system.NetworkInterfaces()") + return + } + + wg := &sync.WaitGroup{} + for _, networkInterface := range networkInterfaces { + wg.Go(func() {c.parseNetworkInterface(ch, networkInterface)}) + } + wg.Wait() +} + +func (c *Collector) parseNetworkInterface(ch chan<- prometheus.Metric, networkInterface *schemas.NetworkInterface) { + systemNetworkInterfaceLabelValues := []string{c.system.HostName, "network_interface", networkInterface.Name, networkInterface.ID} + + if stateValue, ok := common.ParseCommonStatusState(networkInterface.Status.State); ok { + ch <- prometheus.MustNewConstMetric(metricMap["system_network_interface_state"].Desc, prometheus.GaugeValue, stateValue, systemNetworkInterfaceLabelValues...) + } + if healthStatusValue, ok := common.ParseCommonStatusHealth(networkInterface.Status.Health); ok { + ch <- prometheus.MustNewConstMetric(metricMap["system_network_interface_health_state"].Desc, prometheus.GaugeValue, healthStatusValue, systemNetworkInterfaceLabelValues...) + } +} diff --git a/collector/system/network_interfaces/collector_test.go b/collector/system/network_interfaces/collector_test.go new file mode 100644 index 00000000..20dc2a58 --- /dev/null +++ b/collector/system/network_interfaces/collector_test.go @@ -0,0 +1,35 @@ +package network_interfaces_test + +import ( + "testing" + + "github.com/prometheus/common/promslog" + "github.com/stackhpc/redfish_exporter/collector/system/network_interfaces" + "github.com/stackhpc/redfish_exporter/common" + redfish_test "github.com/stackhpc/redfish_exporter/common/test" + "github.com/stretchr/testify/require" +) + +func TestPublicACD_2026_2(t *testing.T) { + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-acd", false) + + systems, err := redfishClient.Service.Systems() + require.NoError(t, err) + + ctx := common.CollectionContext{ + RedfishClient: redfishClient, + } + + promslogConfig := promslog.Config{} + logger := promslog.New(&promslogConfig) + + collector := network_interfaces.NewCollector(&ctx, logger, systems[0]) + expected := ` + redfish_system_network_interface_state{hostname="web483",network_interface="E810 Network Interface",network_interface_id="SCFCP1F0",resource="network_interface"} 1 + ` + redfish_test.CollectAndCompare(t, collector, expected, + "redfish_system_network_interface_state", + // None of the Redfish mockups report health state for a NetworkInterface + // "redfish_system_network_interface_health_state" + ) +} From a13f69093bdcfaaba2d1d5d4d2c005caf79b40fa Mon Sep 17 00:00:00 2001 From: MurrayGroves Date: Tue, 27 Oct 2026 10:32:16 +0000 Subject: [PATCH 12/33] Split system/ethernet_interfaces into new collector --- collector/system/collector.go | 72 +----------- .../system/ethernet_interfaces/collector.go | 103 ++++++++++++++++++ .../ethernet_interfaces/collector_test.go | 43 ++++++++ common/collector.go | 9 ++ 4 files changed, 158 insertions(+), 69 deletions(-) create mode 100644 collector/system/ethernet_interfaces/collector.go create mode 100644 collector/system/ethernet_interfaces/collector_test.go diff --git a/collector/system/collector.go b/collector/system/collector.go index 52d34e60..d9676654 100755 --- a/collector/system/collector.go +++ b/collector/system/collector.go @@ -1,13 +1,13 @@ package system import ( - "bytes" "fmt" "log/slog" "slices" "sync" "github.com/prometheus/client_golang/prometheus" + "github.com/stackhpc/redfish_exporter/collector/system/ethernet_interfaces" "github.com/stackhpc/redfish_exporter/collector/system/memory" "github.com/stackhpc/redfish_exporter/collector/system/network_interfaces" "github.com/stackhpc/redfish_exporter/collector/system/pcie_devices" @@ -25,7 +25,6 @@ var ( SystemDeviceLabelNames = []string{"hostname", "resource", "device"} SystemDriveLabelNames = []string{"hostname", "resource", "drive", "drive_id"} SystemStorageControllerLabelNames = []string{"hostname", "resource", "storage_controller", "storage_controller_id"} - SystemEthernetInterfaceLabelNames = []string{"hostname", "resource", "ethernet_interface", "ethernet_interface_id", "ethernet_interface_speed"} SystemPCIeFunctionLabelNames = []string{"hostname", "resource", "pcie_function_name", "pcie_function_id", "pci_function_deviceclass", "pci_function_type"} SystemLogServiceLabelNames = []string{"system_id", "log_service", "log_service_id", "log_service_enabled", "log_service_overwrite_policy"} @@ -76,11 +75,6 @@ func createSystemMetricMap() map[string]common.Metric { common.AddToMetricMap(systemMetrics, SystemSubsystem, "pcie_function_state", fmt.Sprintf("system pcie function state,%s", common.StateHelp), SystemPCIeFunctionLabelNames) common.AddToMetricMap(systemMetrics, SystemSubsystem, "pcie_function_health_state", fmt.Sprintf("system pcie device function state,%s", common.HealthHelp), SystemPCIeFunctionLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "ethernet_interface_state", fmt.Sprintf("system ethernet interface state,%s", common.StateHelp), SystemEthernetInterfaceLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "ethernet_interface_health_state", fmt.Sprintf("system ethernet interface health state,%s", common.HealthHelp), SystemEthernetInterfaceLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "ethernet_interface_link_status", fmt.Sprintf("system ethernet interface link status,%s", common.LinkHelp), SystemEthernetInterfaceLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "ethernet_interface_link_enabled", "system ethernet interface if the link is enabled", SystemEthernetInterfaceLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "log_service_state", fmt.Sprintf("system log service state,%s", common.StateHelp), SystemLogServiceLabelNames) common.AddToMetricMap(systemMetrics, SystemSubsystem, "log_service_health_state", fmt.Sprintf("system log service health state,%s", common.HealthHelp), SystemLogServiceLabelNames) common.AddToMetricMap(systemMetrics, SystemSubsystem, "log_entry_severity_state", fmt.Sprintf("system log entry severity state,%s", common.SeverityHelp), SystemLogEntryLabelNames) @@ -179,7 +173,6 @@ func (s *SystemCollector) Collect(ch chan<- prometheus.Metric) { wg3 := &sync.WaitGroup{} // storage/volumes wg4 := &sync.WaitGroup{} // storage/drives - wg7 := &sync.WaitGroup{} // ethernet interfaces wg8 := &sync.WaitGroup{} // simple storage wg9 := &sync.WaitGroup{} // pcie functions wg10 := &sync.WaitGroup{} // log services @@ -211,7 +204,8 @@ func (s *SystemCollector) Collect(ch chan<- prometheus.Metric) { } if !slices.Contains(disabledMetrics, "ethernet_interfaces") { - processEthernetInterfaces(system, systemLogContext, wg7, ch, systemHostName) + collector := ethernet_interfaces.NewCollector(s.Ctx, s.Log, system) + wg.Go(func() { collector.Collect(ch) }) } if !slices.Contains(disabledMetrics, "simple_storage") { @@ -242,7 +236,6 @@ func (s *SystemCollector) Collect(ch chan<- prometheus.Metric) { wg3.Wait() wg4.Wait() - wg7.Wait() wg8.Wait() wg9.Wait() wg10.Wait() @@ -368,20 +361,6 @@ func processSimpleStorage(system *schemas.ComputerSystem, systemLogContext *slog } } -func processEthernetInterfaces(system *schemas.ComputerSystem, systemLogContext *slog.Logger, wg7 *sync.WaitGroup, ch chan<- prometheus.Metric, systemHostName string) { - ethernetInterfaces, err := system.EthernetInterfaces() - if err != nil { - systemLogContext.Error("error getting ethernet interface data from system", "operation", "system.EthernetInterfaces()", "err", err) - } else if ethernetInterfaces == nil { - systemLogContext.Info("no ethernet interface data found", "operation", "system.PCIeDevices()") - } else { - wg7.Add(len(ethernetInterfaces)) - for _, ethernetInterface := range ethernetInterfaces { - go parseEthernetInterface(ch, systemHostName, ethernetInterface, wg7) - } - } -} - func parseVolume(ch chan<- prometheus.Metric, systemHostName string, volume *schemas.Volume, wg *sync.WaitGroup) { defer wg.Done() volumeName := volume.Name @@ -430,51 +409,6 @@ func parseDrive(ch chan<- prometheus.Metric, systemHostName string, drive *schem } } -func parseEthernetInterface(ch chan<- prometheus.Metric, systemHostName string, ethernetInterface *schemas.EthernetInterface, wg *sync.WaitGroup) { - defer wg.Done() - //ethernetInterfaceODataIDslice := strings.Split(ethernetInterface.ODataID, "/") - //ethernetInterfaceName := ethernetInterfaceODataIDslice[len(ethernetInterfaceODataIDslice)-1] - ethernetInterfaceName := ethernetInterface.Name - ethernetInterfaceID := ethernetInterface.ID - ethernetInterfaceLinkStatus := ethernetInterface.LinkStatus - ethernetInterfaceEnabled := ethernetInterface.InterfaceEnabled - ethernetInterfaceSpeed := fmt.Sprintf("%d Mbps", ethernetInterface.SpeedMbps) - ethernetInterfaceState := ethernetInterface.Status.State - ethernetInterfaceHealthState := ethernetInterface.Status.Health - systemEthernetInterfaceLabelValues := []string{systemHostName, "ethernet_interface", ethernetInterfaceName, ethernetInterfaceID, ethernetInterfaceSpeed} - if ethernetInterfaceStateValue, ok := common.ParseCommonStatusState(ethernetInterfaceState); ok { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_ethernet_interface_state"].Desc, prometheus.GaugeValue, ethernetInterfaceStateValue, systemEthernetInterfaceLabelValues...) - } - if ethernetInterfaceHealthStateValue, ok := common.ParseCommonStatusHealth(ethernetInterfaceHealthState); ok { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_ethernet_interface_health_state"].Desc, prometheus.GaugeValue, ethernetInterfaceHealthStateValue, systemEthernetInterfaceLabelValues...) - } - if ethernetInterfaceLinkStatusValue, ok := parseLinkStatus(ethernetInterfaceLinkStatus); ok { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_ethernet_interface_link_status"].Desc, prometheus.GaugeValue, ethernetInterfaceLinkStatusValue, systemEthernetInterfaceLabelValues...) - } - - ch <- prometheus.MustNewConstMetric(systemMetrics["system_ethernet_interface_link_enabled"].Desc, prometheus.GaugeValue, boolToFloat64(ethernetInterfaceEnabled), systemEthernetInterfaceLabelValues...) -} - -func parseLinkStatus(status schemas.LinkStatus) (float64, bool) { - if bytes.Equal([]byte(status), []byte("LinkUp")) { - return float64(1), true - } else if bytes.Equal([]byte(status), []byte("NoLink")) { - return float64(2), true - } else if bytes.Equal([]byte(status), []byte("LinkDown")) { - return float64(3), true - } - return float64(0), false -} - -func boolToFloat64(data bool) float64 { - - if data { - return float64(1) - } - return float64(0) - -} - func parsePcieFunction(ch chan<- prometheus.Metric, systemHostName string, pcieFunction *schemas.PCIeFunction, wg *sync.WaitGroup) { defer wg.Done() pcieFunctionName := pcieFunction.Name diff --git a/collector/system/ethernet_interfaces/collector.go b/collector/system/ethernet_interfaces/collector.go new file mode 100644 index 00000000..2b54b654 --- /dev/null +++ b/collector/system/ethernet_interfaces/collector.go @@ -0,0 +1,103 @@ +package ethernet_interfaces + +import ( + "bytes" + "fmt" + "log/slog" + "sync" + + "github.com/prometheus/client_golang/prometheus" + "github.com/stackhpc/redfish_exporter/common" + "github.com/stmcginnis/gofish/schemas" +) + +var ( + Subsystem = "system" + + SystemEthernetInterfaceLabelNames = []string{"hostname", "resource", "ethernet_interface", "ethernet_interface_id", "ethernet_interface_speed"} + + metricMap = createMetricMap() +) + +func createMetricMap() map[string]common.Metric { + metrics := make(map[string]common.Metric) + + common.AddToMetricMap(metrics, Subsystem, "ethernet_interface_state", fmt.Sprintf("system ethernet interface state,%s", common.StateHelp), SystemEthernetInterfaceLabelNames) + common.AddToMetricMap(metrics, Subsystem, "ethernet_interface_health_state", fmt.Sprintf("system ethernet interface health state,%s", common.HealthHelp), SystemEthernetInterfaceLabelNames) + common.AddToMetricMap(metrics, Subsystem, "ethernet_interface_link_status", fmt.Sprintf("system ethernet interface link status,%s", common.LinkHelp), SystemEthernetInterfaceLabelNames) + common.AddToMetricMap(metrics, Subsystem, "ethernet_interface_link_enabled", "system ethernet interface if the link is enabled", SystemEthernetInterfaceLabelNames) + + return metrics +} + +// Implements the prometheus.Collector. +type Collector struct { + Ctx *common.CollectionContext + metrics map[string]common.Metric + Log *slog.Logger + system *schemas.ComputerSystem +} + +// NewCollector returns a collector that collects system memory data +func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, system *schemas.ComputerSystem) *Collector { + return &Collector{ + metrics: metricMap, + Ctx: ctx, + Log: logger.With( + "collector", Subsystem, + "system", system.ID, + ), + system: system, + } +} + +// Describe implemented prometheus.Collector +func (c *Collector) Describe(ch chan<- *prometheus.Desc) { + for _, metric := range c.metrics { + ch <- metric.Desc + } +} + +func (c *Collector) Collect(ch chan<- prometheus.Metric) { + ethernetInterfaces, err := c.system.EthernetInterfaces() + if err != nil { + c.Log.Error("error getting ethernet interface data from system", "operation", "system.EthernetInterfaces()", "err", err) + return + } else if ethernetInterfaces == nil { + c.Log.Info("no ethernet interface data found", "operation", "system.PCIeDevices()") + return + } + + wg := &sync.WaitGroup{} + for _, ethernetInterface := range ethernetInterfaces { + wg.Go(func() { c.parseEthernetInterface(ch, ethernetInterface) }) + } + wg.Wait() +} + +func (c *Collector) parseEthernetInterface(ch chan<- prometheus.Metric, ethernetInterface *schemas.EthernetInterface) { + ethernetInterfaceSpeed := fmt.Sprintf("%d Mbps", *ethernetInterface.SpeedMbps) + systemEthernetInterfaceLabelValues := []string{c.system.HostName, "ethernet_interface", ethernetInterface.Name, ethernetInterface.ID, ethernetInterfaceSpeed} + if ethernetInterfaceStateValue, ok := common.ParseCommonStatusState(ethernetInterface.Status.State); ok { + ch <- prometheus.MustNewConstMetric(metricMap["system_ethernet_interface_state"].Desc, prometheus.GaugeValue, ethernetInterfaceStateValue, systemEthernetInterfaceLabelValues...) + } + if ethernetInterfaceHealthStateValue, ok := common.ParseCommonStatusHealth(ethernetInterface.Status.Health); ok { + ch <- prometheus.MustNewConstMetric(metricMap["system_ethernet_interface_health_state"].Desc, prometheus.GaugeValue, ethernetInterfaceHealthStateValue, systemEthernetInterfaceLabelValues...) + } + if ethernetInterfaceLinkStatusValue, ok := parseLinkStatus(ethernetInterface.LinkStatus); ok { + ch <- prometheus.MustNewConstMetric(metricMap["system_ethernet_interface_link_status"].Desc, prometheus.GaugeValue, ethernetInterfaceLinkStatusValue, systemEthernetInterfaceLabelValues...) + } + + ch <- prometheus.MustNewConstMetric(metricMap["system_ethernet_interface_link_enabled"].Desc, prometheus.GaugeValue, common.BoolToFloat64(ethernetInterface.InterfaceEnabled), systemEthernetInterfaceLabelValues...) +} + +func parseLinkStatus(status schemas.LinkStatus) (float64, bool) { + if bytes.Equal([]byte(status), []byte("LinkUp")) { + return float64(1), true + } else if bytes.Equal([]byte(status), []byte("NoLink")) { + return float64(2), true + } else if bytes.Equal([]byte(status), []byte("LinkDown")) { + return float64(3), true + } + return float64(0), false +} diff --git a/collector/system/ethernet_interfaces/collector_test.go b/collector/system/ethernet_interfaces/collector_test.go new file mode 100644 index 00000000..63722b15 --- /dev/null +++ b/collector/system/ethernet_interfaces/collector_test.go @@ -0,0 +1,43 @@ +package ethernet_interfaces_test + +import ( + "testing" + + "github.com/prometheus/common/promslog" + "github.com/stackhpc/redfish_exporter/collector/system/ethernet_interfaces" + "github.com/stackhpc/redfish_exporter/common" + redfish_test "github.com/stackhpc/redfish_exporter/common/test" + "github.com/stretchr/testify/require" +) + +func TestPublicACD_2026_2(t *testing.T) { + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-acd", false) + + systems, err := redfishClient.Service.Systems() + require.NoError(t, err) + + ctx := common.CollectionContext{ + RedfishClient: redfishClient, + } + + promslogConfig := promslog.Config{} + logger := promslog.New(&promslogConfig) + + collector := ethernet_interfaces.NewCollector(&ctx, logger, systems[0]) + expected := ` + redfish_system_ethernet_interface_health_state{ethernet_interface="",ethernet_interface_id="SC2KP1F0",ethernet_interface_speed="1000 Mbps",hostname="web483",resource="ethernet_interface"} 1 + redfish_system_ethernet_interface_health_state{ethernet_interface="",ethernet_interface_id="SC2KP2F0",ethernet_interface_speed="1000 Mbps",hostname="web483",resource="ethernet_interface"} 1 + redfish_system_ethernet_interface_link_enabled{ethernet_interface="",ethernet_interface_id="SC2KP1F0",ethernet_interface_speed="1000 Mbps",hostname="web483",resource="ethernet_interface"} 1 + redfish_system_ethernet_interface_link_enabled{ethernet_interface="",ethernet_interface_id="SC2KP2F0",ethernet_interface_speed="1000 Mbps",hostname="web483",resource="ethernet_interface"} 1 + redfish_system_ethernet_interface_link_status{ethernet_interface="",ethernet_interface_id="SC2KP1F0",ethernet_interface_speed="1000 Mbps",hostname="web483",resource="ethernet_interface"} 1 + redfish_system_ethernet_interface_link_status{ethernet_interface="",ethernet_interface_id="SC2KP2F0",ethernet_interface_speed="1000 Mbps",hostname="web483",resource="ethernet_interface"} 1 + redfish_system_ethernet_interface_state{ethernet_interface="",ethernet_interface_id="SC2KP1F0",ethernet_interface_speed="1000 Mbps",hostname="web483",resource="ethernet_interface"} 1 + redfish_system_ethernet_interface_state{ethernet_interface="",ethernet_interface_id="SC2KP2F0",ethernet_interface_speed="1000 Mbps",hostname="web483",resource="ethernet_interface"} 1 + ` + redfish_test.CollectAndCompare(t, collector, expected, + "redfish_system_ethernet_interface_state", + "redfish_system_ethernet_interface_health_state", + "redfish_system_ethernet_interface_link_status", + "redfish_system_ethernet_interface_link_enabled", + ) +} diff --git a/common/collector.go b/common/collector.go index 82efba99..d6b7ab9a 100644 --- a/common/collector.go +++ b/common/collector.go @@ -102,3 +102,12 @@ func ParseLogEntry(ch chan<- prometheus.Metric, desc *prometheus.Desc, collector ch <- prometheus.MustNewConstMetric(desc, prometheus.GaugeValue, logEntrySeverityStateValue, logEntryLabelValues...) } } + +func BoolToFloat64(data bool) float64 { + + if data { + return float64(1) + } + return float64(0) + +} From 2b1eab58dcbb8b96930223feb6b5eef698bcce5b Mon Sep 17 00:00:00 2001 From: MurrayGroves Date: Tue, 27 Oct 2026 10:47:20 +0000 Subject: [PATCH 13/33] Split system/pcie_functions into new collector --- collector/system/collector.go | 44 +--------- collector/system/pcie_functions/collector.go | 88 +++++++++++++++++++ .../system/pcie_functions/collector_test.go | 39 ++++++++ 3 files changed, 130 insertions(+), 41 deletions(-) create mode 100644 collector/system/pcie_functions/collector.go create mode 100644 collector/system/pcie_functions/collector_test.go diff --git a/collector/system/collector.go b/collector/system/collector.go index d9676654..02315027 100755 --- a/collector/system/collector.go +++ b/collector/system/collector.go @@ -11,6 +11,7 @@ import ( "github.com/stackhpc/redfish_exporter/collector/system/memory" "github.com/stackhpc/redfish_exporter/collector/system/network_interfaces" "github.com/stackhpc/redfish_exporter/collector/system/pcie_devices" + "github.com/stackhpc/redfish_exporter/collector/system/pcie_functions" "github.com/stackhpc/redfish_exporter/collector/system/processors" "github.com/stackhpc/redfish_exporter/common" "github.com/stmcginnis/gofish/schemas" @@ -25,7 +26,6 @@ var ( SystemDeviceLabelNames = []string{"hostname", "resource", "device"} SystemDriveLabelNames = []string{"hostname", "resource", "drive", "drive_id"} SystemStorageControllerLabelNames = []string{"hostname", "resource", "storage_controller", "storage_controller_id"} - SystemPCIeFunctionLabelNames = []string{"hostname", "resource", "pcie_function_name", "pcie_function_id", "pci_function_deviceclass", "pci_function_type"} SystemLogServiceLabelNames = []string{"system_id", "log_service", "log_service_id", "log_service_enabled", "log_service_overwrite_policy"} SystemLogEntryLabelNames = []string{"system_id", "log_service", "log_service_id", "log_entry", "log_entry_id", "log_entry_code", "log_entry_type", "log_entry_message_id", "log_entry_sensor_number", "log_entry_sensor_type"} @@ -72,9 +72,6 @@ func createSystemMetricMap() map[string]common.Metric { common.AddToMetricMap(systemMetrics, SystemSubsystem, "storage_controller_state", fmt.Sprintf("system storage controller state,%s", common.StateHelp), SystemStorageControllerLabelNames) common.AddToMetricMap(systemMetrics, SystemSubsystem, "storage_controller_health_state", fmt.Sprintf("system storage controller health state,%s", common.HealthHelp), SystemStorageControllerLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "pcie_function_state", fmt.Sprintf("system pcie function state,%s", common.StateHelp), SystemPCIeFunctionLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "pcie_function_health_state", fmt.Sprintf("system pcie device function state,%s", common.HealthHelp), SystemPCIeFunctionLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "log_service_state", fmt.Sprintf("system log service state,%s", common.StateHelp), SystemLogServiceLabelNames) common.AddToMetricMap(systemMetrics, SystemSubsystem, "log_service_health_state", fmt.Sprintf("system log service health state,%s", common.HealthHelp), SystemLogServiceLabelNames) common.AddToMetricMap(systemMetrics, SystemSubsystem, "log_entry_severity_state", fmt.Sprintf("system log entry severity state,%s", common.SeverityHelp), SystemLogEntryLabelNames) @@ -174,7 +171,6 @@ func (s *SystemCollector) Collect(ch chan<- prometheus.Metric) { wg3 := &sync.WaitGroup{} // storage/volumes wg4 := &sync.WaitGroup{} // storage/drives wg8 := &sync.WaitGroup{} // simple storage - wg9 := &sync.WaitGroup{} // pcie functions wg10 := &sync.WaitGroup{} // log services wg := &sync.WaitGroup{} @@ -213,7 +209,8 @@ func (s *SystemCollector) Collect(ch chan<- prometheus.Metric) { } if !slices.Contains(disabledMetrics, "pcie_functions") { - processPcieFunctions(system, systemLogContext, wg9, ch, systemHostName) + collector := pcie_functions.NewCollector(s.Ctx, s.Log, system) + wg.Go(func() { collector.Collect(ch) }) } // process log services @@ -237,7 +234,6 @@ func (s *SystemCollector) Collect(ch chan<- prometheus.Metric) { wg3.Wait() wg4.Wait() wg8.Wait() - wg9.Wait() wg10.Wait() wg.Wait() @@ -318,20 +314,6 @@ func processStorage(system *schemas.ComputerSystem, systemLogContext *slog.Logge } } -func processPcieFunctions(system *schemas.ComputerSystem, systemLogContext *slog.Logger, wg9 *sync.WaitGroup, ch chan<- prometheus.Metric, systemHostName string) { - pcieFunctions, err := system.PCIeFunctions() - if err != nil { - systemLogContext.Error("error getting PCI-E device function data from system", "operation", "system.PCIEFunctions()", "err", err) - } else if pcieFunctions == nil { - systemLogContext.Info("no PCI-E device function data found", "operation", "system.PCIeFunctions()") - } else { - wg9.Add(len(pcieFunctions)) - for _, pcieFunction := range pcieFunctions { - go parsePcieFunction(ch, systemHostName, pcieFunction, wg9) - } - } -} - func processSimpleStorage(system *schemas.ComputerSystem, systemLogContext *slog.Logger, wg8 *sync.WaitGroup, ch chan<- prometheus.Metric, systemHostName string) { simpleStorages, err := system.SimpleStorage() if err != nil { @@ -408,23 +390,3 @@ func parseDrive(ch chan<- prometheus.Metric, systemHostName string, drive *schem ch <- prometheus.MustNewConstMetric(systemMetrics["system_storage_drive_capacity"].Desc, prometheus.GaugeValue, float64(*drive.CapacityBytes), systemdriveLabelValues...) } } - -func parsePcieFunction(ch chan<- prometheus.Metric, systemHostName string, pcieFunction *schemas.PCIeFunction, wg *sync.WaitGroup) { - defer wg.Done() - pcieFunctionName := pcieFunction.Name - pcieFunctionID := fmt.Sprint(pcieFunction.ID) - pciFunctionDeviceclass := fmt.Sprint(pcieFunction.DeviceClass) - pciFunctionType := fmt.Sprint(pcieFunction.FunctionType) - pciFunctionState := pcieFunction.Status.State - pciFunctionHealthState := pcieFunction.Status.Health - - systemPCIeFunctionLabelLabelValues := []string{systemHostName, "pcie_function", pcieFunctionName, pcieFunctionID, pciFunctionDeviceclass, pciFunctionType} - - if pciFunctionStateValue, ok := common.ParseCommonStatusState(pciFunctionState); ok { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_pcie_function_state"].Desc, prometheus.GaugeValue, pciFunctionStateValue, systemPCIeFunctionLabelLabelValues...) - } - - if pciFunctionHealthStateValue, ok := common.ParseCommonStatusHealth(pciFunctionHealthState); ok { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_pcie_function_health_state"].Desc, prometheus.GaugeValue, pciFunctionHealthStateValue, systemPCIeFunctionLabelLabelValues...) - } -} diff --git a/collector/system/pcie_functions/collector.go b/collector/system/pcie_functions/collector.go new file mode 100644 index 00000000..320650e7 --- /dev/null +++ b/collector/system/pcie_functions/collector.go @@ -0,0 +1,88 @@ +package pcie_functions + +import ( + "fmt" + "log/slog" + "sync" + + "github.com/prometheus/client_golang/prometheus" + "github.com/stackhpc/redfish_exporter/common" + "github.com/stmcginnis/gofish/schemas" +) + +var ( + Subsystem = "system" + + SystemPCIeFunctionLabelNames = []string{"hostname", "resource", "pcie_function_name", "pcie_function_id", "pci_function_deviceclass", "pci_function_type"} + + metricMap = createMetricMap() +) + +func createMetricMap() map[string]common.Metric { + metrics := make(map[string]common.Metric) + + common.AddToMetricMap(metrics, Subsystem, "pcie_function_state", fmt.Sprintf("system pcie function state,%s", common.StateHelp), SystemPCIeFunctionLabelNames) + common.AddToMetricMap(metrics, Subsystem, "pcie_function_health_state", fmt.Sprintf("system pcie device function state,%s", common.HealthHelp), SystemPCIeFunctionLabelNames) + + return metrics +} + +// Implements the prometheus.Collector. +type Collector struct { + Ctx *common.CollectionContext + metrics map[string]common.Metric + Log *slog.Logger + system *schemas.ComputerSystem +} + +// NewCollector returns a collector that collects system memory data +func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, system *schemas.ComputerSystem) *Collector { + return &Collector{ + metrics: metricMap, + Ctx: ctx, + Log: logger.With( + "collector", Subsystem, + "system", system.ID, + ), + system: system, + } +} + +// Describe implemented prometheus.Collector +func (c *Collector) Describe(ch chan<- *prometheus.Desc) { + for _, metric := range c.metrics { + ch <- metric.Desc + } +} + +func (c *Collector) Collect(ch chan<- prometheus.Metric) { + pcieFunctions, err := c.system.PCIeFunctions() + if err != nil { + c.Log.Error("error getting PCI-E device function data from system", "operation", "system.PCIEFunctions()", "err", err) + return + } else if pcieFunctions == nil { + c.Log.Info("no PCI-E device function data found", "operation", "system.PCIeFunctions()") + return + } + + wg := &sync.WaitGroup{} + for _, pcieFunction := range pcieFunctions { + wg.Go(func() { c.parsePcieFunction(ch, pcieFunction) }) + } + wg.Wait() +} + +func (c *Collector) parsePcieFunction(ch chan<- prometheus.Metric, pcieFunction *schemas.PCIeFunction) { + pciFunctionDeviceclass := fmt.Sprint(pcieFunction.DeviceClass) + pciFunctionType := fmt.Sprint(pcieFunction.FunctionType) + + systemPCIeFunctionLabelLabelValues := []string{c.system.HostName, "pcie_function", pcieFunction.Name, pcieFunction.ID, pciFunctionDeviceclass, pciFunctionType} + + if pciFunctionStateValue, ok := common.ParseCommonStatusState(pcieFunction.Status.State); ok { + ch <- prometheus.MustNewConstMetric(metricMap["system_pcie_function_state"].Desc, prometheus.GaugeValue, pciFunctionStateValue, systemPCIeFunctionLabelLabelValues...) + } + + if pciFunctionHealthStateValue, ok := common.ParseCommonStatusHealth(pcieFunction.Status.Health); ok { + ch <- prometheus.MustNewConstMetric(metricMap["system_pcie_function_health_state"].Desc, prometheus.GaugeValue, pciFunctionHealthStateValue, systemPCIeFunctionLabelLabelValues...) + } +} diff --git a/collector/system/pcie_functions/collector_test.go b/collector/system/pcie_functions/collector_test.go new file mode 100644 index 00000000..8db23acc --- /dev/null +++ b/collector/system/pcie_functions/collector_test.go @@ -0,0 +1,39 @@ +package pcie_functions_test + +import ( + "testing" + + "github.com/prometheus/common/promslog" + "github.com/stackhpc/redfish_exporter/collector/system/pcie_functions" + "github.com/stackhpc/redfish_exporter/common" + redfish_test "github.com/stackhpc/redfish_exporter/common/test" + "github.com/stretchr/testify/require" +) + +func TestPublicCXL_2026_2(t *testing.T) { + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-cxl", false) + + systems, err := redfishClient.Service.Systems() + require.NoError(t, err) + + ctx := common.CollectionContext{ + RedfishClient: redfishClient, + } + + promslogConfig := promslog.Config{} + logger := promslog.New(&promslogConfig) + + collector := pcie_functions.NewCollector(&ctx, logger, systems[0]) + expected := ` + redfish_system_pcie_function_health_state{hostname="",pci_function_deviceclass="MemoryController",pci_function_type="Physical",pcie_function_id="1",pcie_function_name="CXL Function",resource="pcie_function"} 1 + redfish_system_pcie_function_health_state{hostname="",pci_function_deviceclass="ProcessingAccelerators",pci_function_type="Physical",pcie_function_id="1",pcie_function_name="CXL Function",resource="pcie_function"} 1 + redfish_system_pcie_function_health_state{hostname="",pci_function_deviceclass="Processor",pci_function_type="Physical",pcie_function_id="1",pcie_function_name="CXL Function",resource="pcie_function"} 1 + redfish_system_pcie_function_state{hostname="",pci_function_deviceclass="MemoryController",pci_function_type="Physical",pcie_function_id="1",pcie_function_name="CXL Function",resource="pcie_function"} 1 + redfish_system_pcie_function_state{hostname="",pci_function_deviceclass="ProcessingAccelerators",pci_function_type="Physical",pcie_function_id="1",pcie_function_name="CXL Function",resource="pcie_function"} 1 + redfish_system_pcie_function_state{hostname="",pci_function_deviceclass="Processor",pci_function_type="Physical",pcie_function_id="1",pcie_function_name="CXL Function",resource="pcie_function"} 1 + ` + redfish_test.CollectAndCompare(t, collector, expected, + "redfish_system_pcie_function_state", + "redfish_system_pcie_function_health_state", + ) +} From fe01ddcba90e63553c92476963993d165e44ad66 Mon Sep 17 00:00:00 2001 From: MurrayGroves Date: Tue, 27 Oct 2026 10:59:14 +0000 Subject: [PATCH 14/33] Move system/logs into separate function --- collector/chassis/collector.go | 11 +++++---- collector/system/collector.go | 42 +++++++++++++++++++--------------- 2 files changed, 29 insertions(+), 24 deletions(-) diff --git a/collector/chassis/collector.go b/collector/chassis/collector.go index 8d45f974..b5236682 100755 --- a/collector/chassis/collector.go +++ b/collector/chassis/collector.go @@ -133,6 +133,7 @@ func (c *Collector) Collect(ch chan<- prometheus.Metric) { // process log services if c.Ctx.CollectLogs { + wg.Go(func() { c.collectLogs(ch, chassis) }) } } @@ -141,21 +142,21 @@ func (c *Collector) Collect(ch chan<- prometheus.Metric) { c.collectorScrapeStatus.WithLabelValues("chassis").Set(float64(1)) } -func collectLogs(ch chan<- prometheus.Metric, chassis schemas.Chassis, logContext *slog.Logger, ctx *common.CollectionContext) { +func (c* Collector) collectLogs(ch chan<- prometheus.Metric, chassis *schemas.Chassis) { logServices, err := chassis.LogServices() if err != nil { - logContext.Error("error getting log services from chassis", "operation", "chassis.LogServices()", "err", err) + c.Log.Error("error getting log services from chassis", "operation", "chassis.LogServices()", "err", err) return } else if logServices == nil { - logContext.Info("no log services found", "operation", "chassis.LogServices()") + c.Log.Info("no log services found", "operation", "chassis.LogServices()") return } wg := &sync.WaitGroup{} for _, logService := range logServices { wg.Go(func() { - if err = common.ParseLogService(ch, chassisMetrics, ctx, logContext, ChassisSubsystem, chassis.ID, logService); err != nil { - logContext.Error("error getting log entries from log service", "operation", "chassis.LogServices()", "err", err) + if err = common.ParseLogService(ch, chassisMetrics, c.Ctx, c.Log.With("log_service", logService.ID), ChassisSubsystem, chassis.ID, logService); err != nil { + c.Log.Error("error getting log entries from log service", "operation", "chassis.LogServices()", "err", err) } }) } diff --git a/collector/system/collector.go b/collector/system/collector.go index 02315027..04dd9cab 100755 --- a/collector/system/collector.go +++ b/collector/system/collector.go @@ -165,13 +165,9 @@ func (s *SystemCollector) Collect(ch chan<- prometheus.Metric) { ch <- prometheus.MustNewConstMetric(s.metrics["system_total_memory_health_state"].Desc, prometheus.GaugeValue, systemTotalMemoryHealthStateValue, systemLabelValues...) } - // get system OdataID - //systemOdataID := system.ODataID - wg3 := &sync.WaitGroup{} // storage/volumes wg4 := &sync.WaitGroup{} // storage/drives wg8 := &sync.WaitGroup{} // simple storage - wg10 := &sync.WaitGroup{} // log services wg := &sync.WaitGroup{} @@ -215,26 +211,12 @@ func (s *SystemCollector) Collect(ch chan<- prometheus.Metric) { // process log services if collectLogs { - logServices, err := system.LogServices() - if err != nil { - systemLogContext.Error("error getting log services from system", "operation", "system.LogServices()", "err", err) - } else if logServices == nil { - systemLogContext.Info("no log services found", "operation", "system.LogServices()") - } else { - wg10.Add(len(logServices)) - - for _, logService := range logServices { - if err = common.ParseLogService(ch, systemMetrics, s.Ctx, systemLogContext, SystemSubsystem, SystemID, logService); err != nil { - systemLogContext.Error("error getting log entries from log service", "operation", "system.LogServices()", "err", err) - } - } - } + wg.Go(func() { s.collectLogs(ch, system) }) } wg3.Wait() wg4.Wait() wg8.Wait() - wg10.Wait() wg.Wait() @@ -244,6 +226,28 @@ func (s *SystemCollector) Collect(ch chan<- prometheus.Metric) { } } +func (c* SystemCollector) collectLogs(ch chan<- prometheus.Metric, system *schemas.ComputerSystem) { + logServices, err := system.LogServices() + if err != nil { + c.Log.Error("error getting log services from system", "operation", "system.LogServices()", "err", err) + return + } else if logServices == nil { + c.Log.Info("no log services found", "operation", "system.LogServices()") + return + } + + wg := &sync.WaitGroup{} + for _, logService := range logServices { + wg.Go(func() { + if err = common.ParseLogService(ch, systemMetrics, c.Ctx, c.Log.With("log_service", logService.ID), SystemSubsystem, system.ID, logService); err != nil { + c.Log.Error("error getting log entries from log service", "operation", "chassis.LogServices()", "err", err) + } + }) + } + + wg.Wait() +} + func processStorage(system *schemas.ComputerSystem, systemLogContext *slog.Logger, wg3 *sync.WaitGroup, ch chan<- prometheus.Metric, systemHostName string, wg4 *sync.WaitGroup) { storages, err := system.Storage() if err != nil { From f9ca0adb1b04ff66429e268bb7c77f4aca61ea96 Mon Sep 17 00:00:00 2001 From: MurrayGroves Date: Tue, 27 Oct 2026 13:08:20 +0000 Subject: [PATCH 15/33] Allow concurrent requests, re-using TCP connections, fix unguarded pointer accesses --- .gitignore | 2 + .../chassis/network_adapters/collector.go | 40 ++++++++++------ .../network_adapters/collector_test.go | 47 ++++++++++++------- collector/chassis/thermal/collector.go | 1 + common/context.go | 2 + main.go | 2 + 6 files changed, 63 insertions(+), 31 deletions(-) diff --git a/.gitignore b/.gitignore index 40d54135..f2bce504 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,5 @@ config.yml # Commit all Helm chart files !helm/** helm/*.lock + +redfish_exporter_cpu_profile diff --git a/collector/chassis/network_adapters/collector.go b/collector/chassis/network_adapters/collector.go index fbdf4db4..493aa8df 100644 --- a/collector/chassis/network_adapters/collector.go +++ b/collector/chassis/network_adapters/collector.go @@ -15,7 +15,7 @@ var ( Subsystem = "chassis" ChassisNetworkAdapterLabelNames = []string{"resource", "chassis_id", "network_adapter", "network_adapter_id"} - ChassisNetworkPortLabelNames = []string{"resource", "chassis_id", "network_adapter", "network_adapter_id", "network_port", "network_port_id", "network_port_type", "network_port_speed", "network_port_connectiont_type", "network_physical_port_number"} + ChassisNetworkPortLabelNames = []string{"resource", "chassis_id", "network_adapter", "network_adapter_id", "network_port", "network_port_id", "network_port_type", "network_port_connectiont_type", "network_physical_port_number"} metricMap = createMetricMap() ) @@ -29,6 +29,8 @@ func createMetricMap() map[string]common.Metric { common.AddToMetricMap(metrics, Subsystem, "network_port_state", fmt.Sprintf("chassis network port state,%s", common.StateHelp), ChassisNetworkPortLabelNames) common.AddToMetricMap(metrics, Subsystem, "network_port_health_state", fmt.Sprintf("chassis network port health state,%s", common.HealthHelp), ChassisNetworkPortLabelNames) common.AddToMetricMap(metrics, Subsystem, "network_port_link_state", fmt.Sprintf("chassis network port link state state,%s", common.PortLinkHelp), ChassisNetworkPortLabelNames) + common.AddToMetricMap(metrics, Subsystem, "network_port_link_speed_gbps", fmt.Sprintf("chassis network port link speed in gbps"), ChassisNetworkPortLabelNames) + common.AddToMetricMap(metrics, Subsystem, "network_port_link_speed_mbps", fmt.Sprintf("chassis network port link speed in mbps"), ChassisNetworkPortLabelNames) return metrics } @@ -66,17 +68,19 @@ func (c *Collector) Collect(ch chan<- prometheus.Metric) { networkAdapters, err := c.chassis.NetworkAdapters() if err != nil { c.Log.Error("error getting network adapters data from chassis", "operation", "chassis.NetworkAdapters()", "err", err) + return } else if networkAdapters == nil { c.Log.Info("no network adapters data found", "operation", "chassis.NetworkAdapters()") - } else { - for _, networkAdapter := range networkAdapters { - c.Log.Debug("Found network adapter", "location", networkAdapter.ODataID) - wg.Go(func() { - if err = c.parseNetworkAdapter(ch, networkAdapter); err != nil { - c.Log.Error("error getting network ports from network adapter", "operation", "chassis.NetworkAdapters()", "err", err) - } - }) - } + return + } + + for _, networkAdapter := range networkAdapters { + c.Log.Debug("Found network adapter", "location", networkAdapter.ODataID) + wg.Go(func() { + if err = c.parseNetworkAdapter(ch, networkAdapter); err != nil { + c.Log.Error("error getting network ports from network adapter", "operation", "chassis.NetworkAdapters()", "err", err) + } + }) } wg.Wait() @@ -136,12 +140,14 @@ func parsePortLinkStatus(status schemas.PortLinkStatus) (float64, bool) { return float64(0), false } - func (c *Collector) parseNetworkPort(ch chan<- prometheus.Metric, networkPort *schemas.NetworkPort, networkAdapterName string, networkAdapterID string) { networkPortLinkType := networkPort.ActiveLinkTechnology - networkPortLinkSpeed := fmt.Sprintf("%d Mbps", *networkPort.CurrentLinkSpeedMbps) networkPortConnectionType := networkPort.FCPortConnectionType - chassisNetworkPortLabelValues := []string{"network_port", c.chassis.ID, networkAdapterName, networkAdapterID, networkPort.Name, networkPort.ID, string(networkPortLinkType), networkPortLinkSpeed, string(networkPortConnectionType), networkPort.PhysicalPortNumber} + chassisNetworkPortLabelValues := []string{"network_port", c.chassis.ID, networkAdapterName, networkAdapterID, networkPort.Name, networkPort.ID, string(networkPortLinkType), string(networkPortConnectionType), networkPort.PhysicalPortNumber} + + if networkPort.CurrentLinkSpeedMbps != nil { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_network_port_link_speed_mbps"].Desc, prometheus.GaugeValue, float64(*networkPort.CurrentLinkSpeedMbps), chassisNetworkPortLabelValues...) + } if linkStatus, ok := parseNetworkPortLinkStatus(networkPort.LinkStatus); ok { ch <- prometheus.MustNewConstMetric(metricMap["chassis_network_port_link_state"].Desc, prometheus.GaugeValue, linkStatus, chassisNetworkPortLabelValues...) @@ -157,9 +163,12 @@ func (c *Collector) parseNetworkPort(ch chan<- prometheus.Metric, networkPort *s func (c *Collector) parsePort(ch chan<- prometheus.Metric, port *schemas.Port, networkAdapterName string, networkAdapterID string) { networkPortLinkType := port.LinkNetworkTechnology - networkPortLinkSpeed := fmt.Sprintf("%f Gbps", *port.CurrentSpeedGbps) networkPortConnectionType := port.FibreChannel.PortConnectionType - chassisNetworkPortLabelValues := []string{"network_port", c.chassis.ID, networkAdapterName, networkAdapterID, port.Name, port.ID, string(networkPortLinkType), networkPortLinkSpeed, string(networkPortConnectionType), port.Location.PartLocation.ServiceLabel} + chassisNetworkPortLabelValues := []string{"network_port", c.chassis.ID, networkAdapterName, networkAdapterID, port.Name, port.ID, string(networkPortLinkType), string(networkPortConnectionType), port.Location.PartLocation.ServiceLabel} + + if port.CurrentSpeedGbps != nil { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_network_port_link_speed_gbps"].Desc, prometheus.GaugeValue, *port.CurrentSpeedGbps, chassisNetworkPortLabelValues...) + } if linkStatus, ok := parsePortLinkStatus(port.LinkStatus); ok { ch <- prometheus.MustNewConstMetric(metricMap["chassis_network_port_link_state"].Desc, prometheus.GaugeValue, linkStatus, chassisNetworkPortLabelValues...) @@ -168,6 +177,7 @@ func (c *Collector) parsePort(ch chan<- prometheus.Metric, port *schemas.Port, n if portState, ok := common.ParseCommonStatusState(port.Status.State); ok { ch <- prometheus.MustNewConstMetric(metricMap["chassis_network_port_state"].Desc, prometheus.GaugeValue, portState, chassisNetworkPortLabelValues...) } + if healthStatus, ok := common.ParseCommonStatusHealth(port.Status.Health); ok { ch <- prometheus.MustNewConstMetric(metricMap["chassis_network_port_health_state"].Desc, prometheus.GaugeValue, healthStatus, chassisNetworkPortLabelValues...) } diff --git a/collector/chassis/network_adapters/collector_test.go b/collector/chassis/network_adapters/collector_test.go index 62daa42f..3b71525b 100644 --- a/collector/chassis/network_adapters/collector_test.go +++ b/collector/chassis/network_adapters/collector_test.go @@ -25,14 +25,17 @@ func TestPublicTower_2026_2(t *testing.T) { collector := network_adapters.NewCollector(&ctx, logger, chassis[0]) expected := ` - redfish_chassis_network_port_health_state{chassis_id="Tower",network_adapter="Network Adapter",network_adapter_id="NIC1",network_physical_port_number="NIC 1",network_port="NIC Port 1",network_port_connectiont_type="",network_port_id="1",network_port_speed="10.000000 Gbps",network_port_type="",resource="network_port"} 1 - redfish_chassis_network_port_health_state{chassis_id="Tower",network_adapter="Network Adapter",network_adapter_id="NIC1",network_physical_port_number="NIC 1",network_port="NIC Port 2",network_port_connectiont_type="",network_port_id="2",network_port_speed="10.000000 Gbps",network_port_type="",resource="network_port"} 1 - redfish_chassis_network_port_state{chassis_id="Tower",network_adapter="Network Adapter",network_adapter_id="NIC1",network_physical_port_number="NIC 1",network_port="NIC Port 1",network_port_connectiont_type="",network_port_id="1",network_port_speed="10.000000 Gbps",network_port_type="",resource="network_port"} 1 - redfish_chassis_network_port_state{chassis_id="Tower",network_adapter="Network Adapter",network_adapter_id="NIC1",network_physical_port_number="NIC 1",network_port="NIC Port 2",network_port_connectiont_type="",network_port_id="2",network_port_speed="10.000000 Gbps",network_port_type="",resource="network_port"} 1 + redfish_chassis_network_port_health_state{chassis_id="Tower",network_adapter="Network Adapter",network_adapter_id="NIC1",network_physical_port_number="NIC 1",network_port="NIC Port 1",network_port_connectiont_type="",network_port_id="1",network_port_type="",resource="network_port"} 1 + redfish_chassis_network_port_health_state{chassis_id="Tower",network_adapter="Network Adapter",network_adapter_id="NIC1",network_physical_port_number="NIC 1",network_port="NIC Port 2",network_port_connectiont_type="",network_port_id="2",network_port_type="",resource="network_port"} 1 + redfish_chassis_network_port_link_speed_gbps{chassis_id="Tower",network_adapter="Network Adapter",network_adapter_id="NIC1",network_physical_port_number="NIC 1",network_port="NIC Port 1",network_port_connectiont_type="",network_port_id="1",network_port_type="",resource="network_port"} 10 + redfish_chassis_network_port_link_speed_gbps{chassis_id="Tower",network_adapter="Network Adapter",network_adapter_id="NIC1",network_physical_port_number="NIC 1",network_port="NIC Port 2",network_port_connectiont_type="",network_port_id="2",network_port_type="",resource="network_port"} 10 + redfish_chassis_network_port_state{chassis_id="Tower",network_adapter="Network Adapter",network_adapter_id="NIC1",network_physical_port_number="NIC 1",network_port="NIC Port 1",network_port_connectiont_type="",network_port_id="1",network_port_type="",resource="network_port"} 1 + redfish_chassis_network_port_state{chassis_id="Tower",network_adapter="Network Adapter",network_adapter_id="NIC1",network_physical_port_number="NIC 1",network_port="NIC Port 2",network_port_connectiont_type="",network_port_id="2",network_port_type="",resource="network_port"} 1 ` redfish_test.CollectAndCompare(t, collector, expected, - "redfish_chassis_network_port_state", "redfish_chassis_network_port_health_state", + "redfish_chassis_network_port_link_speed_gbps", + "redfish_chassis_network_port_state", ) } @@ -51,19 +54,31 @@ func TestPublicACD_2026_2(t *testing.T) { collector := network_adapters.NewCollector(&ctx, logger, chassis[0]) expected := ` - redfish_chassis_network_port_link_state{chassis_id="1U",network_adapter="Contoso PS100 NIC",network_adapter_id="Slot3",network_physical_port_number="",network_port="25Gbps Ethernet Subport",network_port_connectiont_type="",network_port_id="CSP_P1",network_port_speed="25.000000 Gbps",network_port_type="Ethernet",resource="network_port"} 1 - redfish_chassis_network_port_link_state{chassis_id="1U",network_adapter="Contoso PS100 NIC",network_adapter_id="Slot3",network_physical_port_number="",network_port="25Gbps Ethernet Subport",network_port_connectiont_type="",network_port_id="CSP_P2",network_port_speed="25.000000 Gbps",network_port_type="Ethernet",resource="network_port"} 1 - redfish_chassis_network_port_link_state{chassis_id="1U",network_adapter="Contoso PS100 NIC",network_adapter_id="Slot3",network_physical_port_number="",network_port="25Gbps Ethernet Subport",network_port_connectiont_type="",network_port_id="CSP_P3",network_port_speed="25.000000 Gbps",network_port_type="Ethernet",resource="network_port"} 1 - redfish_chassis_network_port_link_state{chassis_id="1U",network_adapter="Contoso PS100 NIC",network_adapter_id="Slot3",network_physical_port_number="",network_port="25Gbps Ethernet Subport",network_port_connectiont_type="",network_port_id="CSP_P4",network_port_speed="25.000000 Gbps",network_port_type="Ethernet",resource="network_port"} 1 - redfish_chassis_network_port_link_state{chassis_id="1U",network_adapter="Contoso SC32G-FC HBA",network_adapter_id="Slot2",network_physical_port_number="",network_port="Port 2",network_port_connectiont_type="",network_port_id="SC2KP2",network_port_speed="25.000000 Gbps",network_port_type="Ethernet",resource="network_port"} 1 - redfish_chassis_network_port_link_state{chassis_id="1U",network_adapter="NetworkAdapter",network_adapter_id="Slot1",network_physical_port_number="",network_port="Port 2",network_port_connectiont_type="",network_port_id="SC2KP2",network_port_speed="25.000000 Gbps",network_port_type="Ethernet",resource="network_port"} 1 - redfish_chassis_network_port_link_state{chassis_id="1U",network_adapter="NetworkAdapter",network_adapter_id="Slot4",network_physical_port_number="",network_port="100Gbps Ethernet Support",network_port_connectiont_type="",network_port_id="AG_P1",network_port_speed="100.000000 Gbps",network_port_type="Ethernet",resource="network_port"} 1 - redfish_chassis_network_port_link_state{chassis_id="1U",network_adapter="NetworkAdapter",network_adapter_id="Slot4",network_physical_port_number="",network_port="25Gbps Ethernet Support",network_port_connectiont_type="",network_port_id="PHY_P1",network_port_speed="25.000000 Gbps",network_port_type="Ethernet",resource="network_port"} 1 - redfish_chassis_network_port_link_state{chassis_id="1U",network_adapter="NetworkAdapter",network_adapter_id="Slot4",network_physical_port_number="",network_port="25Gbps Ethernet Support",network_port_connectiont_type="",network_port_id="PHY_P2",network_port_speed="25.000000 Gbps",network_port_type="Ethernet",resource="network_port"} 1 - redfish_chassis_network_port_link_state{chassis_id="1U",network_adapter="NetworkAdapter",network_adapter_id="Slot4",network_physical_port_number="",network_port="25Gbps Ethernet Support",network_port_connectiont_type="",network_port_id="PHY_P3",network_port_speed="25.000000 Gbps",network_port_type="Ethernet",resource="network_port"} 1 - redfish_chassis_network_port_link_state{chassis_id="1U",network_adapter="NetworkAdapter",network_adapter_id="Slot4",network_physical_port_number="",network_port="25Gbps Ethernet Support",network_port_connectiont_type="",network_port_id="PHY_P4",network_port_speed="25.000000 Gbps",network_port_type="Ethernet",resource="network_port"} 1 + redfish_chassis_network_port_link_speed_gbps{chassis_id="1U",network_adapter="Contoso PS100 NIC",network_adapter_id="Slot3",network_physical_port_number="",network_port="25Gbps Ethernet Subport",network_port_connectiont_type="",network_port_id="CSP_P1",network_port_type="Ethernet",resource="network_port"} 25 + redfish_chassis_network_port_link_speed_gbps{chassis_id="1U",network_adapter="Contoso PS100 NIC",network_adapter_id="Slot3",network_physical_port_number="",network_port="25Gbps Ethernet Subport",network_port_connectiont_type="",network_port_id="CSP_P2",network_port_type="Ethernet",resource="network_port"} 25 + redfish_chassis_network_port_link_speed_gbps{chassis_id="1U",network_adapter="Contoso PS100 NIC",network_adapter_id="Slot3",network_physical_port_number="",network_port="25Gbps Ethernet Subport",network_port_connectiont_type="",network_port_id="CSP_P3",network_port_type="Ethernet",resource="network_port"} 25 + redfish_chassis_network_port_link_speed_gbps{chassis_id="1U",network_adapter="Contoso PS100 NIC",network_adapter_id="Slot3",network_physical_port_number="",network_port="25Gbps Ethernet Subport",network_port_connectiont_type="",network_port_id="CSP_P4",network_port_type="Ethernet",resource="network_port"} 25 + redfish_chassis_network_port_link_speed_gbps{chassis_id="1U",network_adapter="Contoso SC32G-FC HBA",network_adapter_id="Slot2",network_physical_port_number="",network_port="Port 2",network_port_connectiont_type="",network_port_id="SC2KP2",network_port_type="Ethernet",resource="network_port"} 25 + redfish_chassis_network_port_link_speed_gbps{chassis_id="1U",network_adapter="NetworkAdapter",network_adapter_id="Slot1",network_physical_port_number="",network_port="Port 2",network_port_connectiont_type="",network_port_id="SC2KP2",network_port_type="Ethernet",resource="network_port"} 25 + redfish_chassis_network_port_link_speed_gbps{chassis_id="1U",network_adapter="NetworkAdapter",network_adapter_id="Slot4",network_physical_port_number="",network_port="100Gbps Ethernet Support",network_port_connectiont_type="",network_port_id="AG_P1",network_port_type="Ethernet",resource="network_port"} 100 + redfish_chassis_network_port_link_speed_gbps{chassis_id="1U",network_adapter="NetworkAdapter",network_adapter_id="Slot4",network_physical_port_number="",network_port="25Gbps Ethernet Support",network_port_connectiont_type="",network_port_id="PHY_P1",network_port_type="Ethernet",resource="network_port"} 25 + redfish_chassis_network_port_link_speed_gbps{chassis_id="1U",network_adapter="NetworkAdapter",network_adapter_id="Slot4",network_physical_port_number="",network_port="25Gbps Ethernet Support",network_port_connectiont_type="",network_port_id="PHY_P2",network_port_type="Ethernet",resource="network_port"} 25 + redfish_chassis_network_port_link_speed_gbps{chassis_id="1U",network_adapter="NetworkAdapter",network_adapter_id="Slot4",network_physical_port_number="",network_port="25Gbps Ethernet Support",network_port_connectiont_type="",network_port_id="PHY_P3",network_port_type="Ethernet",resource="network_port"} 25 + redfish_chassis_network_port_link_speed_gbps{chassis_id="1U",network_adapter="NetworkAdapter",network_adapter_id="Slot4",network_physical_port_number="",network_port="25Gbps Ethernet Support",network_port_connectiont_type="",network_port_id="PHY_P4",network_port_type="Ethernet",resource="network_port"} 25 + redfish_chassis_network_port_link_state{chassis_id="1U",network_adapter="Contoso PS100 NIC",network_adapter_id="Slot3",network_physical_port_number="",network_port="25Gbps Ethernet Subport",network_port_connectiont_type="",network_port_id="CSP_P1",network_port_type="Ethernet",resource="network_port"} 1 + redfish_chassis_network_port_link_state{chassis_id="1U",network_adapter="Contoso PS100 NIC",network_adapter_id="Slot3",network_physical_port_number="",network_port="25Gbps Ethernet Subport",network_port_connectiont_type="",network_port_id="CSP_P2",network_port_type="Ethernet",resource="network_port"} 1 + redfish_chassis_network_port_link_state{chassis_id="1U",network_adapter="Contoso PS100 NIC",network_adapter_id="Slot3",network_physical_port_number="",network_port="25Gbps Ethernet Subport",network_port_connectiont_type="",network_port_id="CSP_P3",network_port_type="Ethernet",resource="network_port"} 1 + redfish_chassis_network_port_link_state{chassis_id="1U",network_adapter="Contoso PS100 NIC",network_adapter_id="Slot3",network_physical_port_number="",network_port="25Gbps Ethernet Subport",network_port_connectiont_type="",network_port_id="CSP_P4",network_port_type="Ethernet",resource="network_port"} 1 + redfish_chassis_network_port_link_state{chassis_id="1U",network_adapter="Contoso SC32G-FC HBA",network_adapter_id="Slot2",network_physical_port_number="",network_port="Port 2",network_port_connectiont_type="",network_port_id="SC2KP2",network_port_type="Ethernet",resource="network_port"} 1 + redfish_chassis_network_port_link_state{chassis_id="1U",network_adapter="NetworkAdapter",network_adapter_id="Slot1",network_physical_port_number="",network_port="Port 2",network_port_connectiont_type="",network_port_id="SC2KP2",network_port_type="Ethernet",resource="network_port"} 1 + redfish_chassis_network_port_link_state{chassis_id="1U",network_adapter="NetworkAdapter",network_adapter_id="Slot4",network_physical_port_number="",network_port="100Gbps Ethernet Support",network_port_connectiont_type="",network_port_id="AG_P1",network_port_type="Ethernet",resource="network_port"} 1 + redfish_chassis_network_port_link_state{chassis_id="1U",network_adapter="NetworkAdapter",network_adapter_id="Slot4",network_physical_port_number="",network_port="25Gbps Ethernet Support",network_port_connectiont_type="",network_port_id="PHY_P1",network_port_type="Ethernet",resource="network_port"} 1 + redfish_chassis_network_port_link_state{chassis_id="1U",network_adapter="NetworkAdapter",network_adapter_id="Slot4",network_physical_port_number="",network_port="25Gbps Ethernet Support",network_port_connectiont_type="",network_port_id="PHY_P2",network_port_type="Ethernet",resource="network_port"} 1 + redfish_chassis_network_port_link_state{chassis_id="1U",network_adapter="NetworkAdapter",network_adapter_id="Slot4",network_physical_port_number="",network_port="25Gbps Ethernet Support",network_port_connectiont_type="",network_port_id="PHY_P3",network_port_type="Ethernet",resource="network_port"} 1 + redfish_chassis_network_port_link_state{chassis_id="1U",network_adapter="NetworkAdapter",network_adapter_id="Slot4",network_physical_port_number="",network_port="25Gbps Ethernet Support",network_port_connectiont_type="",network_port_id="PHY_P4",network_port_type="Ethernet",resource="network_port"} 1 ` redfish_test.CollectAndCompare(t, collector, expected, "redfish_chassis_network_port_link_state", + "redfish_chassis_network_port_link_speed_gbps", ) } diff --git a/collector/chassis/thermal/collector.go b/collector/chassis/thermal/collector.go index 09220188..9eecbb0b 100644 --- a/collector/chassis/thermal/collector.go +++ b/collector/chassis/thermal/collector.go @@ -78,6 +78,7 @@ func (c *Collector) Collect(ch chan<- prometheus.Metric) { } if thermal == nil { c.Log.Info("no thermal data found", "operation", "chassis.Thermal()") + return } // Process temperature sensors diff --git a/common/context.go b/common/context.go index 83e8912f..6c1e3cf5 100644 --- a/common/context.go +++ b/common/context.go @@ -48,6 +48,8 @@ func newRedfishClient(host string, username string, password string) (*gofish.AP Username: username, Password: password, Insecure: true, + MaxConcurrentRequests: 1024, + ReuseConnections: true, } redfishClient, err := gofish.Connect(config) if err != nil { diff --git a/main.go b/main.go index 2be99124..42ca54f9 100755 --- a/main.go +++ b/main.go @@ -21,6 +21,8 @@ import ( "github.com/stackhpc/redfish_exporter/common" ) +import _ "net/http/pprof" + var ( Version string BuildRevision string From 9f5d896d8957c964755fe62b4b955960e0ae8480 Mon Sep 17 00:00:00 2001 From: MurrayGroves Date: Tue, 27 Oct 2026 14:16:09 +0000 Subject: [PATCH 16/33] Split system/storage into new collector --- .../chassis/network_adapters/collector.go | 3 +- collector/system/collector.go | 20 +-- collector/system/storage/collector.go | 78 +++++++++++ collector/system/storage/drives/collector.go | 89 +++++++++++++ .../system/storage/drives/collector_test.go | 49 +++++++ .../storage/storage_controllers/collector.go | 85 ++++++++++++ .../storage_controllers/collector_test.go | 38 ++++++ collector/system/storage/volumes/collector.go | 123 ++++++++++++++++++ .../system/storage/volumes/collector_test.go | 48 +++++++ 9 files changed, 514 insertions(+), 19 deletions(-) create mode 100644 collector/system/storage/collector.go create mode 100644 collector/system/storage/drives/collector.go create mode 100644 collector/system/storage/drives/collector_test.go create mode 100644 collector/system/storage/storage_controllers/collector.go create mode 100644 collector/system/storage/storage_controllers/collector_test.go create mode 100644 collector/system/storage/volumes/collector.go create mode 100644 collector/system/storage/volumes/collector_test.go diff --git a/collector/chassis/network_adapters/collector.go b/collector/chassis/network_adapters/collector.go index 493aa8df..a687d43e 100644 --- a/collector/chassis/network_adapters/collector.go +++ b/collector/chassis/network_adapters/collector.go @@ -30,7 +30,6 @@ func createMetricMap() map[string]common.Metric { common.AddToMetricMap(metrics, Subsystem, "network_port_health_state", fmt.Sprintf("chassis network port health state,%s", common.HealthHelp), ChassisNetworkPortLabelNames) common.AddToMetricMap(metrics, Subsystem, "network_port_link_state", fmt.Sprintf("chassis network port link state state,%s", common.PortLinkHelp), ChassisNetworkPortLabelNames) common.AddToMetricMap(metrics, Subsystem, "network_port_link_speed_gbps", fmt.Sprintf("chassis network port link speed in gbps"), ChassisNetworkPortLabelNames) - common.AddToMetricMap(metrics, Subsystem, "network_port_link_speed_mbps", fmt.Sprintf("chassis network port link speed in mbps"), ChassisNetworkPortLabelNames) return metrics } @@ -146,7 +145,7 @@ func (c *Collector) parseNetworkPort(ch chan<- prometheus.Metric, networkPort *s chassisNetworkPortLabelValues := []string{"network_port", c.chassis.ID, networkAdapterName, networkAdapterID, networkPort.Name, networkPort.ID, string(networkPortLinkType), string(networkPortConnectionType), networkPort.PhysicalPortNumber} if networkPort.CurrentLinkSpeedMbps != nil { - ch <- prometheus.MustNewConstMetric(metricMap["chassis_network_port_link_speed_mbps"].Desc, prometheus.GaugeValue, float64(*networkPort.CurrentLinkSpeedMbps), chassisNetworkPortLabelValues...) + ch <- prometheus.MustNewConstMetric(metricMap["chassis_network_port_link_speed_gbps"].Desc, prometheus.GaugeValue, float64(*networkPort.CurrentLinkSpeedMbps) / 1000.0, chassisNetworkPortLabelValues...) } if linkStatus, ok := parseNetworkPortLinkStatus(networkPort.LinkStatus); ok { diff --git a/collector/system/collector.go b/collector/system/collector.go index 04dd9cab..ebc1deb9 100755 --- a/collector/system/collector.go +++ b/collector/system/collector.go @@ -13,6 +13,7 @@ import ( "github.com/stackhpc/redfish_exporter/collector/system/pcie_devices" "github.com/stackhpc/redfish_exporter/collector/system/pcie_functions" "github.com/stackhpc/redfish_exporter/collector/system/processors" + "github.com/stackhpc/redfish_exporter/collector/system/storage" "github.com/stackhpc/redfish_exporter/common" "github.com/stmcginnis/gofish/schemas" ) @@ -22,7 +23,6 @@ var ( SystemSubsystem = "system" SystemLabelNames = []string{"hostname", "resource", "system_id"} SystemBIOSLabelNames = append(slices.Clone(SystemLabelNames), "bios_version") - SystemVolumeLabelNames = []string{"hostname", "resource", "volume", "volume_id"} SystemDeviceLabelNames = []string{"hostname", "resource", "device"} SystemDriveLabelNames = []string{"hostname", "resource", "drive", "drive_id"} SystemStorageControllerLabelNames = []string{"hostname", "resource", "storage_controller", "storage_controller_id"} @@ -61,17 +61,6 @@ func createSystemMetricMap() map[string]common.Metric { common.AddToMetricMap(systemMetrics, SystemSubsystem, "simple_storage_device_state", fmt.Sprintf("system simple storage device state,%s", common.StateHelp), SystemDeviceLabelNames) common.AddToMetricMap(systemMetrics, SystemSubsystem, "simple_storage_device_health_state", fmt.Sprintf("system simple storage device health state,%s", common.HealthHelp), SystemDeviceLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "storage_volume_state", fmt.Sprintf("system storage volume state,%s", common.StateHelp), SystemVolumeLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "storage_volume_health_state", fmt.Sprintf("system storage volume health state,%s", common.HealthHelp), SystemVolumeLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "storage_volume_capacity", "system storage volume capacity, Bytes", SystemVolumeLabelNames) - - common.AddToMetricMap(systemMetrics, SystemSubsystem, "storage_drive_state", fmt.Sprintf("system storage drive state,%s", common.StateHelp), SystemDriveLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "storage_drive_health_state", fmt.Sprintf("system storage drive health state,%s", common.HealthHelp), SystemDriveLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "storage_drive_capacity", "system storage drive capacity, Bytes", SystemDriveLabelNames) - - common.AddToMetricMap(systemMetrics, SystemSubsystem, "storage_controller_state", fmt.Sprintf("system storage controller state,%s", common.StateHelp), SystemStorageControllerLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "storage_controller_health_state", fmt.Sprintf("system storage controller health state,%s", common.HealthHelp), SystemStorageControllerLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "log_service_state", fmt.Sprintf("system log service state,%s", common.StateHelp), SystemLogServiceLabelNames) common.AddToMetricMap(systemMetrics, SystemSubsystem, "log_service_health_state", fmt.Sprintf("system log service health state,%s", common.HealthHelp), SystemLogServiceLabelNames) common.AddToMetricMap(systemMetrics, SystemSubsystem, "log_entry_severity_state", fmt.Sprintf("system log entry severity state,%s", common.SeverityHelp), SystemLogEntryLabelNames) @@ -165,8 +154,6 @@ func (s *SystemCollector) Collect(ch chan<- prometheus.Metric) { ch <- prometheus.MustNewConstMetric(s.metrics["system_total_memory_health_state"].Desc, prometheus.GaugeValue, systemTotalMemoryHealthStateValue, systemLabelValues...) } - wg3 := &sync.WaitGroup{} // storage/volumes - wg4 := &sync.WaitGroup{} // storage/drives wg8 := &sync.WaitGroup{} // simple storage wg := &sync.WaitGroup{} @@ -182,7 +169,8 @@ func (s *SystemCollector) Collect(ch chan<- prometheus.Metric) { } if !slices.Contains(disabledMetrics, "storage") { - processStorage(system, systemLogContext, wg3, ch, systemHostName, wg4) + collector := storage.NewCollector(s.Ctx, s.Log, system) + wg.Go(func() { collector.Collect(ch) }) } if !slices.Contains(disabledMetrics, "pcie_devices") { @@ -214,8 +202,6 @@ func (s *SystemCollector) Collect(ch chan<- prometheus.Metric) { wg.Go(func() { s.collectLogs(ch, system) }) } - wg3.Wait() - wg4.Wait() wg8.Wait() wg.Wait() diff --git a/collector/system/storage/collector.go b/collector/system/storage/collector.go new file mode 100644 index 00000000..ac41ccca --- /dev/null +++ b/collector/system/storage/collector.go @@ -0,0 +1,78 @@ +package storage + +import ( + "log/slog" + "sync" + + "github.com/prometheus/client_golang/prometheus" + "github.com/stackhpc/redfish_exporter/collector/system/storage/drives" + "github.com/stackhpc/redfish_exporter/collector/system/storage/storage_controllers" + "github.com/stackhpc/redfish_exporter/collector/system/storage/volumes" + "github.com/stackhpc/redfish_exporter/common" + "github.com/stmcginnis/gofish/schemas" +) + +var ( + Subsystem = "system" + + metricMap = createMetricMap() +) + +func createMetricMap() map[string]common.Metric { + metrics := make(map[string]common.Metric) + + return metrics +} + +// Implements the prometheus.Collector. +type Collector struct { + Ctx *common.CollectionContext + metrics map[string]common.Metric + Log *slog.Logger + system *schemas.ComputerSystem +} + +// NewCollector returns a collector that collects system memory data +func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, system *schemas.ComputerSystem) *Collector { + return &Collector{ + metrics: metricMap, + Ctx: ctx, + Log: logger.With( + "collector", Subsystem, + "system", system.ID, + ), + system: system, + } +} + +// Describe implemented prometheus.Collector +func (c *Collector) Describe(ch chan<- *prometheus.Desc) { + for _, metric := range c.metrics { + ch <- metric.Desc + } +} + +func (c *Collector) Collect(ch chan<- prometheus.Metric) { + storages, err := c.system.Storage() + if err != nil { + c.Log.Error("error getting storage data from system", "operation", "system.Storage()", "err", err) + return + } else if storages == nil { + c.Log.Info("no storage data found", "operation", "system.Storage()") + return + } + + wg := &sync.WaitGroup{} + volumeDeduplicator := volumes.NewVolumeDeduplicator() + for _, storage := range storages { + volumes := volumes.NewCollector(c.Ctx, c.Log, storage, &c.system.HostName, &volumeDeduplicator) + wg.Go(func() { volumes.Collect(ch) }) + + drives := drives.NewCollector(c.Ctx, c.Log, storage, &c.system.HostName) + wg.Go(func() { drives.Collect(ch) }) + + storageControllers := storage_controllers.NewCollector(c.Ctx, c.Log, storage, &c.system.HostName) + wg.Go(func() { storageControllers.Collect(ch) }) + } + wg.Wait() +} diff --git a/collector/system/storage/drives/collector.go b/collector/system/storage/drives/collector.go new file mode 100644 index 00000000..cf14eb38 --- /dev/null +++ b/collector/system/storage/drives/collector.go @@ -0,0 +1,89 @@ +package drives + +import ( + "fmt" + "log/slog" + "sync" + + "github.com/prometheus/client_golang/prometheus" + "github.com/stackhpc/redfish_exporter/common" + "github.com/stmcginnis/gofish/schemas" +) + +var ( + Subsystem = "system" + + SystemDriveLabelNames = []string{"hostname", "resource", "drive", "drive_id"} + + metricMap = createMetricMap() +) + +func createMetricMap() map[string]common.Metric { + metrics := make(map[string]common.Metric) + + common.AddToMetricMap(metrics, Subsystem, "storage_drive_state", fmt.Sprintf("system storage drive state,%s", common.StateHelp), SystemDriveLabelNames) + common.AddToMetricMap(metrics, Subsystem, "storage_drive_health_state", fmt.Sprintf("system storage drive health state,%s", common.HealthHelp), SystemDriveLabelNames) + common.AddToMetricMap(metrics, Subsystem, "storage_drive_capacity", "system storage drive capacity, Bytes", SystemDriveLabelNames) + + return metrics +} + +// Implements the prometheus.Collector. +type Collector struct { + Ctx *common.CollectionContext + metrics map[string]common.Metric + Log *slog.Logger + storage *schemas.Storage + hostname *string +} + +// NewCollector returns a collector that collects storage volume data +func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, storage *schemas.Storage, hostname *string) *Collector { + return &Collector{ + metrics: metricMap, + Ctx: ctx, + Log: logger.With( + "collector", Subsystem, + "storage", storage.ID, + ), + storage: storage, + hostname: hostname, + } +} + +// Describe implemented prometheus.Collector +func (c *Collector) Describe(ch chan<- *prometheus.Desc) { + for _, metric := range c.metrics { + ch <- metric.Desc + } +} + +func (c *Collector) Collect(ch chan<- prometheus.Metric) { + drives, err := c.storage.Drives() + if err != nil { + c.Log.Error("error getting drive data from system", "operation", "system.Drives()", "err", err) + return + } else if drives == nil { + c.Log.Info("no drive data found", "operation", "system.Drives()") + return + } + + wg := &sync.WaitGroup{} + for _, drive := range drives { + wg.Go(func() { parseDrive(ch, *c.hostname, drive) }) + } + wg.Wait() +} + +func parseDrive(ch chan<- prometheus.Metric, systemHostName string, drive *schemas.Drive) { + systemdriveLabelValues := []string{systemHostName, "drive", drive.Name, drive.ID} + if driveStateValue, ok := common.ParseCommonStatusState(drive.Status.State); ok { + ch <- prometheus.MustNewConstMetric(metricMap["system_storage_drive_state"].Desc, prometheus.GaugeValue, driveStateValue, systemdriveLabelValues...) + } + if driveHealthStateValue, ok := common.ParseCommonStatusHealth(drive.Status.Health); ok { + ch <- prometheus.MustNewConstMetric(metricMap["system_storage_drive_health_state"].Desc, prometheus.GaugeValue, driveHealthStateValue, systemdriveLabelValues...) + } + if drive.CapacityBytes != nil { + ch <- prometheus.MustNewConstMetric(metricMap["system_storage_drive_capacity"].Desc, prometheus.GaugeValue, float64(*drive.CapacityBytes), systemdriveLabelValues...) + } +} diff --git a/collector/system/storage/drives/collector_test.go b/collector/system/storage/drives/collector_test.go new file mode 100644 index 00000000..b709a1b2 --- /dev/null +++ b/collector/system/storage/drives/collector_test.go @@ -0,0 +1,49 @@ +package drives_test + +import ( + "testing" + + "github.com/prometheus/common/promslog" + "github.com/stackhpc/redfish_exporter/collector/system/storage/drives" + "github.com/stackhpc/redfish_exporter/common" + redfish_test "github.com/stackhpc/redfish_exporter/common/test" + "github.com/stretchr/testify/require" +) + +func TestPublicApplications_2026_2(t *testing.T) { + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-applications", false) + + systems, err := redfishClient.Service.Systems() + require.NoError(t, err) + + storages, err := systems[0].Storage() + require.NoError(t, err) + + ctx := common.CollectionContext{ + RedfishClient: redfishClient, + } + + promslogConfig := promslog.Config{} + logger := promslog.New(&promslogConfig) + + collector := drives.NewCollector(&ctx, logger, storages[0], &systems[0].HostName) + expected := ` + redfish_system_storage_drive_capacity{drive="Drive Sample",drive_id="32ADF365C6C1B7BD",hostname="web483",resource="drive"} 8.99527e+11 + redfish_system_storage_drive_capacity{drive="Drive Sample",drive_id="35D38F11ACEF7BD3",hostname="web483",resource="drive"} 8.99527e+11 + redfish_system_storage_drive_capacity{drive="Drive Sample",drive_id="3D58ECBC375FD9F2",hostname="web483",resource="drive"} 8.99527e+11 + redfish_system_storage_drive_capacity{drive="Drive Sample",drive_id="3F5A8C54207B7233",hostname="web483",resource="drive"} 8.99527e+11 + redfish_system_storage_drive_health_state{drive="Drive Sample",drive_id="32ADF365C6C1B7BD",hostname="web483",resource="drive"} 1 + redfish_system_storage_drive_health_state{drive="Drive Sample",drive_id="35D38F11ACEF7BD3",hostname="web483",resource="drive"} 1 + redfish_system_storage_drive_health_state{drive="Drive Sample",drive_id="3D58ECBC375FD9F2",hostname="web483",resource="drive"} 1 + redfish_system_storage_drive_health_state{drive="Drive Sample",drive_id="3F5A8C54207B7233",hostname="web483",resource="drive"} 1 + redfish_system_storage_drive_state{drive="Drive Sample",drive_id="32ADF365C6C1B7BD",hostname="web483",resource="drive"} 1 + redfish_system_storage_drive_state{drive="Drive Sample",drive_id="35D38F11ACEF7BD3",hostname="web483",resource="drive"} 1 + redfish_system_storage_drive_state{drive="Drive Sample",drive_id="3D58ECBC375FD9F2",hostname="web483",resource="drive"} 1 + redfish_system_storage_drive_state{drive="Drive Sample",drive_id="3F5A8C54207B7233",hostname="web483",resource="drive"} 1 + ` + redfish_test.CollectAndCompare(t, collector, expected, + "redfish_system_storage_drive_state", + "redfish_system_storage_drive_health_state", + "redfish_system_storage_drive_capacity", + ) +} diff --git a/collector/system/storage/storage_controllers/collector.go b/collector/system/storage/storage_controllers/collector.go new file mode 100644 index 00000000..85a21117 --- /dev/null +++ b/collector/system/storage/storage_controllers/collector.go @@ -0,0 +1,85 @@ +package storage_controllers + +import ( + "fmt" + "log/slog" + "sync" + + "github.com/prometheus/client_golang/prometheus" + "github.com/stackhpc/redfish_exporter/common" + "github.com/stmcginnis/gofish/schemas" +) + +var ( + Subsystem = "system" + + SystemStorageControllerLabelNames = []string{"hostname", "resource", "storage_controller", "storage_controller_id"} + + metricMap = createMetricMap() +) + +func createMetricMap() map[string]common.Metric { + metrics := make(map[string]common.Metric) + + common.AddToMetricMap(metrics, Subsystem, "storage_controller_state", fmt.Sprintf("system storage controller state,%s", common.StateHelp), SystemStorageControllerLabelNames) + common.AddToMetricMap(metrics, Subsystem, "storage_controller_health_state", fmt.Sprintf("system storage controller health state,%s", common.HealthHelp), SystemStorageControllerLabelNames) + + return metrics +} + +// Implements the prometheus.Collector. +type Collector struct { + Ctx *common.CollectionContext + metrics map[string]common.Metric + Log *slog.Logger + storage *schemas.Storage + hostname *string +} + +// NewCollector returns a collector that collects storage volume data +func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, storage *schemas.Storage, hostname *string) *Collector { + return &Collector{ + metrics: metricMap, + Ctx: ctx, + Log: logger.With( + "collector", Subsystem, + "storage", storage.ID, + ), + storage: storage, + hostname: hostname, + } +} + +// Describe implemented prometheus.Collector +func (c *Collector) Describe(ch chan<- *prometheus.Desc) { + for _, metric := range c.metrics { + ch <- metric.Desc + } +} + +func (c *Collector) Collect(ch chan<- prometheus.Metric) { + storageControllers, err := c.storage.Controllers() + if err != nil { + c.Log.Info("Errors Getting storagecontrollers from system storage", "err", err) + return + } + + wg := &sync.WaitGroup{} + for _, controller := range storageControllers { + wg.Go(func() { c.parseController(ch, controller)}) + } + for _, controller := range c.storage.StorageControllers { // Deprecated in Redfish v1.13.0 + wg.Go(func() { c.parseController(ch, &controller)}) + } + wg.Wait() +} + +func (c *Collector) parseController(ch chan<- prometheus.Metric, controller *schemas.StorageController) { + controllerLabelValues := []string{*c.hostname, "storage_controller", controller.Name, controller.ODataID} + if stateValue, ok := common.ParseCommonStatusState(controller.Status.State); ok { + ch <- prometheus.MustNewConstMetric(metricMap["system_storage_controller_state"].Desc, prometheus.GaugeValue, stateValue, controllerLabelValues...) + } + if healthStatusValue, ok := common.ParseCommonStatusHealth(controller.Status.Health); ok { + ch <- prometheus.MustNewConstMetric(metricMap["system_storage_controller_health_state"].Desc, prometheus.GaugeValue, healthStatusValue, controllerLabelValues...) + } +} diff --git a/collector/system/storage/storage_controllers/collector_test.go b/collector/system/storage/storage_controllers/collector_test.go new file mode 100644 index 00000000..f8a21104 --- /dev/null +++ b/collector/system/storage/storage_controllers/collector_test.go @@ -0,0 +1,38 @@ +package storage_controllers_test + +import ( + "testing" + + "github.com/prometheus/common/promslog" + "github.com/stackhpc/redfish_exporter/collector/system/storage/storage_controllers" + "github.com/stackhpc/redfish_exporter/common" + redfish_test "github.com/stackhpc/redfish_exporter/common/test" + "github.com/stretchr/testify/require" +) + +func TestPublicLocalStorage_2026_2(t *testing.T) { + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-localstorage", false) + + systems, err := redfishClient.Service.Systems() + require.NoError(t, err) + + storages, err := systems[0].Storage() + require.NoError(t, err) + + ctx := common.CollectionContext{ + RedfishClient: redfishClient, + } + + promslogConfig := promslog.Config{} + logger := promslog.New(&promslogConfig) + + collector := storage_controllers.NewCollector(&ctx, logger, storages[0], &systems[0].HostName) + expected := ` + redfish_system_storage_controller_health_state{hostname="web483",resource="storage_controller",storage_controller="Contoso Integrated RAID",storage_controller_id="/redfish/v1/Systems/437XR1138R2/Storage/1#/StorageControllers/0"} 1 + redfish_system_storage_controller_state{hostname="web483",resource="storage_controller",storage_controller="Contoso Integrated RAID",storage_controller_id="/redfish/v1/Systems/437XR1138R2/Storage/1#/StorageControllers/0"} 1 + ` + redfish_test.CollectAndCompare(t, collector, expected, + "redfish_system_storage_controller_state", + "redfish_system_storage_controller_health_state", + ) +} diff --git a/collector/system/storage/volumes/collector.go b/collector/system/storage/volumes/collector.go new file mode 100644 index 00000000..646e550f --- /dev/null +++ b/collector/system/storage/volumes/collector.go @@ -0,0 +1,123 @@ +package volumes + +import ( + "fmt" + "log/slog" + "sync" + + "github.com/prometheus/client_golang/prometheus" + "github.com/stackhpc/redfish_exporter/common" + "github.com/stmcginnis/gofish/schemas" +) + +var ( + Subsystem = "system" + + SystemVolumeLabelNames = []string{"hostname", "resource", "volume", "volume_id"} + + metricMap = createMetricMap() +) + +func createMetricMap() map[string]common.Metric { + metrics := make(map[string]common.Metric) + + common.AddToMetricMap(metrics, Subsystem, "storage_volume_state", fmt.Sprintf("system storage volume state,%s", common.StateHelp), SystemVolumeLabelNames) + common.AddToMetricMap(metrics, Subsystem, "storage_volume_health_state", fmt.Sprintf("system storage volume health state,%s", common.HealthHelp), SystemVolumeLabelNames) + common.AddToMetricMap(metrics, Subsystem, "storage_volume_capacity", "system storage volume capacity, Bytes", SystemVolumeLabelNames) + + return metrics +} + +// Implements the prometheus.Collector. +type Collector struct { + Ctx *common.CollectionContext + metrics map[string]common.Metric + Log *slog.Logger + storage *schemas.Storage + hostname *string + volumeDeduplicator *VolumeDeduplicator +} + +// NewCollector returns a collector that collects storage volume data +func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, storage *schemas.Storage, hostname *string, volumeDeduplicator *VolumeDeduplicator) *Collector { + return &Collector{ + metrics: metricMap, + Ctx: ctx, + Log: logger.With( + "collector", Subsystem, + "storage", storage.ID, + ), + storage: storage, + hostname: hostname, + volumeDeduplicator: volumeDeduplicator, + } +} + +// Describe implemented prometheus.Collector +func (c *Collector) Describe(ch chan<- *prometheus.Desc) { + for _, metric := range c.metrics { + ch <- metric.Desc + } +} + +func (c *Collector) Collect(ch chan<- prometheus.Metric) { + volumes, err := c.storage.Volumes() + if err != nil { + c.Log.Error("error getting storage data from system", "operation", "system.Volumes()", "err", err) + return + } + + wg := &sync.WaitGroup{} + for _, volume := range volumes { + if c.volumeDeduplicator.SetVolumeIsSeen(volume) { + wg.Go(func() { parseVolume(ch, *c.hostname, volume) }) + } else { + c.Log.With("operation", + "system.Storage()").Info(fmt.Sprintf("Ignoring "+ + "duplicate storage volume: %s. Please check whether this "+ + "volume is returning duplicate data and report to the vendor.", + volume.Name)) + } + } + + wg.Wait() +} + +func parseVolume(ch chan<- prometheus.Metric, systemHostName string, volume *schemas.Volume) { + systemVolumeLabelValues := []string{systemHostName, "volume", volume.Name, volume.ID} + if volumeStateValue, ok := common.ParseCommonStatusState(volume.Status.State); ok { + ch <- prometheus.MustNewConstMetric(metricMap["system_storage_volume_state"].Desc, prometheus.GaugeValue, volumeStateValue, systemVolumeLabelValues...) + } + if volumeHealthStateValue, ok := common.ParseCommonStatusHealth(volume.Status.Health); ok { + ch <- prometheus.MustNewConstMetric(metricMap["system_storage_volume_health_state"].Desc, prometheus.GaugeValue, volumeHealthStateValue, systemVolumeLabelValues...) + } + if volume.CapacityBytes != nil { + ch <- prometheus.MustNewConstMetric(metricMap["system_storage_volume_capacity"].Desc, prometheus.GaugeValue, float64(*volume.CapacityBytes), systemVolumeLabelValues...) + } +} + +type VolumeDeduplicator struct { + seenVolumes map[string]any + mu sync.Mutex +} + +// Returns whether the volume was previously unseen +func (d *VolumeDeduplicator) SetVolumeIsSeen(volume *schemas.Volume) bool { + d.mu.Lock() + defer d.mu.Unlock() + + _, exists := d.seenVolumes[volume.ID] + + if !exists { + d.seenVolumes[volume.ID] = struct{}{} + return true + } + + return false +} + +func NewVolumeDeduplicator() VolumeDeduplicator { + return VolumeDeduplicator { + seenVolumes: make(map[string]any), + } +} diff --git a/collector/system/storage/volumes/collector_test.go b/collector/system/storage/volumes/collector_test.go new file mode 100644 index 00000000..8728b0c6 --- /dev/null +++ b/collector/system/storage/volumes/collector_test.go @@ -0,0 +1,48 @@ +package volumes_test + +import ( + "testing" + + "github.com/prometheus/common/promslog" + "github.com/stackhpc/redfish_exporter/collector/system/storage/volumes" + "github.com/stackhpc/redfish_exporter/common" + redfish_test "github.com/stackhpc/redfish_exporter/common/test" + "github.com/stretchr/testify/require" +) + +func TestPublicLocalStorage_2026_2(t *testing.T) { + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-localstorage", false) + + systems, err := redfishClient.Service.Systems() + require.NoError(t, err) + + storages, err := systems[0].Storage() + require.NoError(t, err) + + ctx := common.CollectionContext{ + RedfishClient: redfishClient, + } + + promslogConfig := promslog.Config{} + logger := promslog.New(&promslogConfig) + + volumeDeduplicator := volumes.NewVolumeDeduplicator() + + collector := volumes.NewCollector(&ctx, logger, storages[0], &systems[0].HostName, &volumeDeduplicator) + expected := ` + redfish_system_storage_volume_capacity{hostname="web483",resource="volume",volume="Virtual Disk 1",volume_id="1"} 8.99527000064e+11 + redfish_system_storage_volume_capacity{hostname="web483",resource="volume",volume="Virtual Disk 2",volume_id="2"} 1.073741824e+11 + redfish_system_storage_volume_capacity{hostname="web483",resource="volume",volume="Virtual Disk 3",volume_id="3"} 1.073741824e+11 + redfish_system_storage_volume_health_state{hostname="web483",resource="volume",volume="Virtual Disk 1",volume_id="1"} 1 + redfish_system_storage_volume_health_state{hostname="web483",resource="volume",volume="Virtual Disk 2",volume_id="2"} 1 + redfish_system_storage_volume_health_state{hostname="web483",resource="volume",volume="Virtual Disk 3",volume_id="3"} 1 + redfish_system_storage_volume_state{hostname="web483",resource="volume",volume="Virtual Disk 1",volume_id="1"} 1 + redfish_system_storage_volume_state{hostname="web483",resource="volume",volume="Virtual Disk 2",volume_id="2"} 1 + redfish_system_storage_volume_state{hostname="web483",resource="volume",volume="Virtual Disk 3",volume_id="3"} 1 + ` + redfish_test.CollectAndCompare(t, collector, expected, + "redfish_system_storage_volume_state", + "redfish_system_storage_volume_health_state", + "redfish_system_storage_volume_capacity", + ) +} From 95159babab55bcd09af799ad244a5c7cba5dcabf Mon Sep 17 00:00:00 2001 From: MurrayGroves Date: Tue, 27 Oct 2026 14:37:21 +0000 Subject: [PATCH 17/33] Split system/simple_storage into new collector --- collector/system/collector.go | 161 +----------------- collector/system/simple_storage/collector.go | 97 +++++++++++ .../system/simple_storage/collector_test.go | 39 +++++ 3 files changed, 139 insertions(+), 158 deletions(-) create mode 100644 collector/system/simple_storage/collector.go create mode 100644 collector/system/simple_storage/collector_test.go diff --git a/collector/system/collector.go b/collector/system/collector.go index ebc1deb9..b511daf5 100755 --- a/collector/system/collector.go +++ b/collector/system/collector.go @@ -13,6 +13,7 @@ import ( "github.com/stackhpc/redfish_exporter/collector/system/pcie_devices" "github.com/stackhpc/redfish_exporter/collector/system/pcie_functions" "github.com/stackhpc/redfish_exporter/collector/system/processors" + "github.com/stackhpc/redfish_exporter/collector/system/simple_storage" "github.com/stackhpc/redfish_exporter/collector/system/storage" "github.com/stackhpc/redfish_exporter/common" "github.com/stmcginnis/gofish/schemas" @@ -23,9 +24,6 @@ var ( SystemSubsystem = "system" SystemLabelNames = []string{"hostname", "resource", "system_id"} SystemBIOSLabelNames = append(slices.Clone(SystemLabelNames), "bios_version") - SystemDeviceLabelNames = []string{"hostname", "resource", "device"} - SystemDriveLabelNames = []string{"hostname", "resource", "drive", "drive_id"} - SystemStorageControllerLabelNames = []string{"hostname", "resource", "storage_controller", "storage_controller_id"} SystemLogServiceLabelNames = []string{"system_id", "log_service", "log_service_id", "log_service_enabled", "log_service_overwrite_policy"} SystemLogEntryLabelNames = []string{"system_id", "log_service", "log_service_id", "log_entry", "log_entry_id", "log_entry_code", "log_entry_type", "log_entry_message_id", "log_entry_sensor_number", "log_entry_sensor_type"} @@ -58,9 +56,6 @@ func createSystemMetricMap() map[string]common.Metric { common.AddToMetricMap(systemMetrics, SystemSubsystem, "total_processor_health_state", fmt.Sprintf("system overall processor health,%s", common.HealthHelp), SystemLabelNames) common.AddToMetricMap(systemMetrics, SystemSubsystem, "total_processor_count", "system total processor count", SystemLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "simple_storage_device_state", fmt.Sprintf("system simple storage device state,%s", common.StateHelp), SystemDeviceLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "simple_storage_device_health_state", fmt.Sprintf("system simple storage device health state,%s", common.HealthHelp), SystemDeviceLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "log_service_state", fmt.Sprintf("system log service state,%s", common.StateHelp), SystemLogServiceLabelNames) common.AddToMetricMap(systemMetrics, SystemSubsystem, "log_service_health_state", fmt.Sprintf("system log service health state,%s", common.HealthHelp), SystemLogServiceLabelNames) common.AddToMetricMap(systemMetrics, SystemSubsystem, "log_entry_severity_state", fmt.Sprintf("system log entry severity state,%s", common.SeverityHelp), SystemLogEntryLabelNames) @@ -154,8 +149,6 @@ func (s *SystemCollector) Collect(ch chan<- prometheus.Metric) { ch <- prometheus.MustNewConstMetric(s.metrics["system_total_memory_health_state"].Desc, prometheus.GaugeValue, systemTotalMemoryHealthStateValue, systemLabelValues...) } - wg8 := &sync.WaitGroup{} // simple storage - wg := &sync.WaitGroup{} if !slices.Contains(disabledMetrics, "memory") { @@ -189,7 +182,8 @@ func (s *SystemCollector) Collect(ch chan<- prometheus.Metric) { } if !slices.Contains(disabledMetrics, "simple_storage") { - processSimpleStorage(system, systemLogContext, wg8, ch, systemHostName) + collector := simple_storage.NewCollector(s.Ctx, s.Log, system) + wg.Go(func() { collector.Collect(ch) }) } if !slices.Contains(disabledMetrics, "pcie_functions") { @@ -202,8 +196,6 @@ func (s *SystemCollector) Collect(ch chan<- prometheus.Metric) { wg.Go(func() { s.collectLogs(ch, system) }) } - wg8.Wait() - wg.Wait() systemLogContext.Info("collector scrape completed") @@ -233,150 +225,3 @@ func (c* SystemCollector) collectLogs(ch chan<- prometheus.Metric, system *schem wg.Wait() } - -func processStorage(system *schemas.ComputerSystem, systemLogContext *slog.Logger, wg3 *sync.WaitGroup, ch chan<- prometheus.Metric, systemHostName string, wg4 *sync.WaitGroup) { - storages, err := system.Storage() - if err != nil { - systemLogContext.Error("error getting storage data from system", "operation", "system.Storage()", "err", err) - } else if storages == nil { - systemLogContext.Info("no storage data found", "operation", "system.Storage()") - } else { - processed := make(map[string]bool) - for _, storage := range storages { - if volumes, err := storage.Volumes(); err != nil { - systemLogContext.Error("error getting storage data from system", "operation", "system.Volumes()", "err", err) - } else { - wg3.Add(len(volumes)) - - for _, volume := range volumes { - _, exists := processed[volume.Name] - if exists { - systemLogContext.With("operation", - "system.Storage()").Info(fmt.Sprintf("Ignoring "+ - "duplicate storage volume: %s. Please check whether this "+ - "volume is returning duplicate data and report to the vendor.", - volume.Name)) - wg3.Done() - continue - } - go parseVolume(ch, systemHostName, volume, wg3) - processed[volume.Name] = true - } - } - - drives, err := storage.Drives() - if err != nil { - systemLogContext.Error("error getting drive data from system", "operation", "system.Drives()", "err", err) - } else if drives == nil { - systemLogContext.Info("no drive data found", "operation", "system.Drives()", "storage", storage.ID) - } else { - wg4.Add(len(drives)) - for _, drive := range drives { - go parseDrive(ch, systemHostName, drive, wg4) - } - } - - // if storagecontrollers, err := storage.StorageControllers(); err != nil { - // log.Infof("Errors Getting storagecontrollers from system storage : %s", err) - // } else { - // - // for _, controller := range storagecontrollers { - // - // controllerODataIDslice := strings.Split(controller.ODataID, "/") - // controllerName := controllerODataIDslice[len(controllerODataIDslice)-1] - // controllerState := controller.Status.State - // controllerHealthState := controller.Status.Health - // controllerLabelValues := []string{ "storage_controller", controllerName, systemHostName) - // if controllerStateValue,ok := parseCommonStatusState(controllerState); ok { - // ch <- prometheus.MustNewConstMetric(s.metrics["system_storage_controller_state"].desc, prometheus.GaugeValue, controllerStateValue, //controllerLabelValues...) - // - // } - // if controllerHealthStateValue,ok := parseCommonStatusHealth(controllerHealthState); ok { - // ch <- prometheus.MustNewConstMetric(s.metrics["system_storage_controller_health_state"].desc, prometheus.GaugeValue, controllerHealthStateValue, //controllerLabelValues...) - // - // } - // - // } - // - // } - - } - } -} - -func processSimpleStorage(system *schemas.ComputerSystem, systemLogContext *slog.Logger, wg8 *sync.WaitGroup, ch chan<- prometheus.Metric, systemHostName string) { - simpleStorages, err := system.SimpleStorage() - if err != nil { - systemLogContext.Error("error getting simple storage data from system", "operation", "system.SimpleStorages()", "err", err) - } else if simpleStorages == nil { - systemLogContext.Info("no simple storage data found", "operation", "system.SimpleStorages()") - } else { - processed := make(map[string]bool) - for _, simpleStorage := range simpleStorages { - devices := simpleStorage.Devices - wg8.Add(len(devices)) - for _, device := range devices { - _, exists := processed[device.Name] - if exists { - systemLogContext.With("operation", - "system.SimpleStorages()").Info(fmt.Sprintf("Ignoring "+ - "duplicate storage device: %s. Please check whether this "+ - "device is returning duplicate data and report to the vendor.", - device.Name)) - wg8.Done() - continue - } - go parseDevice(ch, systemHostName, device, wg8) - processed[device.Name] = true - } - } - } -} - -func parseVolume(ch chan<- prometheus.Metric, systemHostName string, volume *schemas.Volume, wg *sync.WaitGroup) { - defer wg.Done() - volumeName := volume.Name - volumeID := volume.ID - volumeState := volume.Status.State - volumeHealthState := volume.Status.Health - systemVolumeLabelValues := []string{systemHostName, "volume", volumeName, volumeID} - if volumeStateValue, ok := common.ParseCommonStatusState(volumeState); ok { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_storage_volume_state"].Desc, prometheus.GaugeValue, volumeStateValue, systemVolumeLabelValues...) - } - if volumeHealthStateValue, ok := common.ParseCommonStatusHealth(volumeHealthState); ok { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_storage_volume_health_state"].Desc, prometheus.GaugeValue, volumeHealthStateValue, systemVolumeLabelValues...) - } - if volume.CapacityBytes != nil { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_storage_volume_capacity"].Desc, prometheus.GaugeValue, float64(*volume.CapacityBytes), systemVolumeLabelValues...) - } -} -func parseDevice(ch chan<- prometheus.Metric, systemHostName string, device schemas.Device, wg *sync.WaitGroup) { - defer wg.Done() - deviceName := device.Name - deviceState := device.Status.State - deviceHealthState := device.Status.Health - systemDeviceLabelValues := []string{systemHostName, "device", deviceName} - if deviceStateValue, ok := common.ParseCommonStatusState(deviceState); ok { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_simple_storage_device_state"].Desc, prometheus.GaugeValue, deviceStateValue, systemDeviceLabelValues...) - } - if deviceHealthStateValue, ok := common.ParseCommonStatusHealth(deviceHealthState); ok { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_simple_storage_device_health_state"].Desc, prometheus.GaugeValue, deviceHealthStateValue, systemDeviceLabelValues...) - } -} -func parseDrive(ch chan<- prometheus.Metric, systemHostName string, drive *schemas.Drive, wg *sync.WaitGroup) { - defer wg.Done() - driveName := drive.Name - driveID := drive.ID - driveState := drive.Status.State - driveHealthState := drive.Status.Health - systemdriveLabelValues := []string{systemHostName, "drive", driveName, driveID} - if driveStateValue, ok := common.ParseCommonStatusState(driveState); ok { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_storage_drive_state"].Desc, prometheus.GaugeValue, driveStateValue, systemdriveLabelValues...) - } - if driveHealthStateValue, ok := common.ParseCommonStatusHealth(driveHealthState); ok { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_storage_drive_health_state"].Desc, prometheus.GaugeValue, driveHealthStateValue, systemdriveLabelValues...) - } - if drive.CapacityBytes != nil { - ch <- prometheus.MustNewConstMetric(systemMetrics["system_storage_drive_capacity"].Desc, prometheus.GaugeValue, float64(*drive.CapacityBytes), systemdriveLabelValues...) - } -} diff --git a/collector/system/simple_storage/collector.go b/collector/system/simple_storage/collector.go new file mode 100644 index 00000000..5d979e51 --- /dev/null +++ b/collector/system/simple_storage/collector.go @@ -0,0 +1,97 @@ +package simple_storage + +import ( + "fmt" + "log/slog" + "sync" + + "github.com/prometheus/client_golang/prometheus" + "github.com/stackhpc/redfish_exporter/common" + "github.com/stmcginnis/gofish/schemas" +) + +var ( + Subsystem = "system" + + SystemDeviceLabelNames = []string{"hostname", "resource", "device"} + + metricMap = createMetricMap() +) + +func createMetricMap() map[string]common.Metric { + metrics := make(map[string]common.Metric) + + common.AddToMetricMap(metrics, Subsystem, "simple_storage_device_state", fmt.Sprintf("system simple storage device state,%s", common.StateHelp), SystemDeviceLabelNames) + common.AddToMetricMap(metrics, Subsystem, "simple_storage_device_health_state", fmt.Sprintf("system simple storage device health state,%s", common.HealthHelp), SystemDeviceLabelNames) + + return metrics +} + +// Implements the prometheus.Collector. +type Collector struct { + Ctx *common.CollectionContext + metrics map[string]common.Metric + Log *slog.Logger + system *schemas.ComputerSystem +} + +// NewCollector returns a collector that collects system memory data +func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, system *schemas.ComputerSystem) *Collector { + return &Collector{ + metrics: metricMap, + Ctx: ctx, + Log: logger.With( + "collector", Subsystem, + "system", system.ID, + ), + system: system, + } +} + +// Describe implemented prometheus.Collector +func (c *Collector) Describe(ch chan<- *prometheus.Desc) { + for _, metric := range c.metrics { + ch <- metric.Desc + } +} + +func (c *Collector) Collect(ch chan<- prometheus.Metric) { + simpleStorages, err := c.system.SimpleStorage() + if err != nil { + c.Log.Error("error getting simple storage data from system", "operation", "system.SimpleStorages()", "err", err) + return + } else if simpleStorages == nil { + c.Log.Info("no simple storage data found", "operation", "system.SimpleStorages()") + return + } + + wg := &sync.WaitGroup{} + processed := make(map[string]bool) + for _, simpleStorage := range simpleStorages { + devices := simpleStorage.Devices + for _, device := range devices { + _, exists := processed[device.Name] + if exists { + c.Log.With("operation", + "system.SimpleStorages()").Info(fmt.Sprintf("Ignoring "+ + "duplicate storage device: %s. Please check whether this "+ + "device is returning duplicate data and report to the vendor.", + device.Name)) + continue + } + wg.Go(func() { c.parseDevice(ch, device) }) + processed[device.Name] = true + } + } + wg.Wait() +} + +func (c *Collector) parseDevice(ch chan<- prometheus.Metric, device schemas.Device) { + systemDeviceLabelValues := []string{c.system.HostName, "device", device.Name} + if stateValue, ok := common.ParseCommonStatusState(device.Status.State); ok { + ch <- prometheus.MustNewConstMetric(metricMap["system_simple_storage_device_state"].Desc, prometheus.GaugeValue, stateValue, systemDeviceLabelValues...) + } + if healthStatusValue, ok := common.ParseCommonStatusHealth(device.Status.Health); ok { + ch <- prometheus.MustNewConstMetric(metricMap["system_simple_storage_device_health_state"].Desc, prometheus.GaugeValue, healthStatusValue, systemDeviceLabelValues...) + } +} diff --git a/collector/system/simple_storage/collector_test.go b/collector/system/simple_storage/collector_test.go new file mode 100644 index 00000000..e26f41da --- /dev/null +++ b/collector/system/simple_storage/collector_test.go @@ -0,0 +1,39 @@ +package simple_storage_test + +import ( + "testing" + + "github.com/prometheus/common/promslog" + "github.com/stackhpc/redfish_exporter/collector/system/simple_storage" + "github.com/stackhpc/redfish_exporter/common" + redfish_test "github.com/stackhpc/redfish_exporter/common/test" + "github.com/stretchr/testify/require" +) + +func TestPublicRackmount1_2026_2(t *testing.T) { + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-rackmount1", false) + + systems, err := redfishClient.Service.Systems() + require.NoError(t, err) + + ctx := common.CollectionContext{ + RedfishClient: redfishClient, + } + + promslogConfig := promslog.Config{} + logger := promslog.New(&promslogConfig) + + collector := simple_storage.NewCollector(&ctx, logger, systems[0]) + expected := ` + redfish_system_simple_storage_device_health_state{device="SATA Bay 1",hostname="web483",resource="device"} 1 + redfish_system_simple_storage_device_health_state{device="SATA Bay 2",hostname="web483",resource="device"} 2 + redfish_system_simple_storage_device_state{device="SATA Bay 1",hostname="web483",resource="device"} 1 + redfish_system_simple_storage_device_state{device="SATA Bay 2",hostname="web483",resource="device"} 1 + redfish_system_simple_storage_device_state{device="SATA Bay 3",hostname="web483",resource="device"} 7 + redfish_system_simple_storage_device_state{device="SATA Bay 4",hostname="web483",resource="device"} 7 + ` + redfish_test.CollectAndCompare(t, collector, expected, + "redfish_system_simple_storage_device_state", + "redfish_system_simple_storage_device_health_state", + ) +} From 7cfc5de0597df5406a162af8b4481af162831aee Mon Sep 17 00:00:00 2001 From: MurrayGroves Date: Tue, 27 Oct 2026 14:48:05 +0000 Subject: [PATCH 18/33] Tidy up system collector --- collector/collector.go | 2 +- collector/system/collector.go | 236 ++++++++++++++++------------------ 2 files changed, 114 insertions(+), 124 deletions(-) diff --git a/collector/collector.go b/collector/collector.go index 197a6fa8..fc18650d 100755 --- a/collector/collector.go +++ b/collector/collector.go @@ -45,7 +45,7 @@ type RedfishCollector struct { func NewRedfishCollector(ctx *common.CollectionContext, logger *slog.Logger) *RedfishCollector { var collectors map[string]prometheus.Collector chassisCollector := chassis.NewChassisCollector(ctx, logger) - systemCollector := system.NewSystemCollector(ctx, logger) + systemCollector := system.NewCollector(ctx, logger) managerCollector := manager.NewCollector(ctx, logger) collectors = map[string]prometheus.Collector{"chassis": chassisCollector, "system": systemCollector, "manager": managerCollector} diff --git a/collector/system/collector.go b/collector/system/collector.go index b511daf5..45597d8f 100755 --- a/collector/system/collector.go +++ b/collector/system/collector.go @@ -19,10 +19,9 @@ import ( "github.com/stmcginnis/gofish/schemas" ) -// SystemSubsystem is the system subsystem var ( - SystemSubsystem = "system" - SystemLabelNames = []string{"hostname", "resource", "system_id"} + Subsystem = "system" + SystemLabelNames = []string{"hostname", "resource", "system_id"} SystemBIOSLabelNames = append(slices.Clone(SystemLabelNames), "bios_version") SystemLogServiceLabelNames = []string{"system_id", "log_service", "log_service_id", "log_service_enabled", "log_service_overwrite_policy"} @@ -31,8 +30,8 @@ var ( systemMetrics = createSystemMetricMap() ) -// SystemCollector implements the prometheus.Collector. -type SystemCollector struct { +// Collector implements the prometheus.Collector. +type Collector struct { Ctx *common.CollectionContext metrics map[string]common.Metric prometheus.Collector @@ -43,29 +42,29 @@ type SystemCollector struct { func createSystemMetricMap() map[string]common.Metric { systemMetrics := make(map[string]common.Metric) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "state", fmt.Sprintf("system state,%s", common.StateHelp), SystemLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "health_state", fmt.Sprintf("system health,%s", common.HealthHelp), SystemLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "power_state", "system power state", SystemLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "bios_info", "system BIOS version, value is always 1", SystemBIOSLabelNames) + common.AddToMetricMap(systemMetrics, Subsystem, "state", fmt.Sprintf("system state,%s", common.StateHelp), SystemLabelNames) + common.AddToMetricMap(systemMetrics, Subsystem, "health_state", fmt.Sprintf("system health,%s", common.HealthHelp), SystemLabelNames) + common.AddToMetricMap(systemMetrics, Subsystem, "power_state", "system power state", SystemLabelNames) + common.AddToMetricMap(systemMetrics, Subsystem, "bios_info", "system BIOS version, value is always 1", SystemBIOSLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "total_memory_state", fmt.Sprintf("system overall memory state,%s", common.StateHelp), SystemLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "total_memory_health_state", fmt.Sprintf("system overall memory health,%s", common.HealthHelp), SystemLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "total_memory_size", "system total memory size, GiB", SystemLabelNames) + common.AddToMetricMap(systemMetrics, Subsystem, "total_memory_state", fmt.Sprintf("system overall memory state,%s", common.StateHelp), SystemLabelNames) + common.AddToMetricMap(systemMetrics, Subsystem, "total_memory_health_state", fmt.Sprintf("system overall memory health,%s", common.HealthHelp), SystemLabelNames) + common.AddToMetricMap(systemMetrics, Subsystem, "total_memory_size", "system total memory size, GiB", SystemLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "total_processor_state", fmt.Sprintf("system overall processor state,%s", common.StateHelp), SystemLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "total_processor_health_state", fmt.Sprintf("system overall processor health,%s", common.HealthHelp), SystemLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "total_processor_count", "system total processor count", SystemLabelNames) + common.AddToMetricMap(systemMetrics, Subsystem, "total_processor_state", fmt.Sprintf("system overall processor state,%s", common.StateHelp), SystemLabelNames) + common.AddToMetricMap(systemMetrics, Subsystem, "total_processor_health_state", fmt.Sprintf("system overall processor health,%s", common.HealthHelp), SystemLabelNames) + common.AddToMetricMap(systemMetrics, Subsystem, "total_processor_count", "system total processor count", SystemLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "log_service_state", fmt.Sprintf("system log service state,%s", common.StateHelp), SystemLogServiceLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "log_service_health_state", fmt.Sprintf("system log service health state,%s", common.HealthHelp), SystemLogServiceLabelNames) - common.AddToMetricMap(systemMetrics, SystemSubsystem, "log_entry_severity_state", fmt.Sprintf("system log entry severity state,%s", common.SeverityHelp), SystemLogEntryLabelNames) + common.AddToMetricMap(systemMetrics, Subsystem, "log_service_state", fmt.Sprintf("system log service state,%s", common.StateHelp), SystemLogServiceLabelNames) + common.AddToMetricMap(systemMetrics, Subsystem, "log_service_health_state", fmt.Sprintf("system log service health state,%s", common.HealthHelp), SystemLogServiceLabelNames) + common.AddToMetricMap(systemMetrics, Subsystem, "log_entry_severity_state", fmt.Sprintf("system log entry severity state,%s", common.SeverityHelp), SystemLogEntryLabelNames) return systemMetrics } -// NewSystemCollector returns a collector that collecting memory statistics -func NewSystemCollector(ctx *common.CollectionContext, logger *slog.Logger) *SystemCollector { - return &SystemCollector{ +// NewCollector returns a collector that collecting memory statistics +func NewCollector(ctx *common.CollectionContext, logger *slog.Logger) *Collector { + return &Collector{ metrics: systemMetrics, Ctx: ctx, Log: logger.With( @@ -83,128 +82,119 @@ func NewSystemCollector(ctx *common.CollectionContext, logger *slog.Logger) *Sys } // Describe implements prometheus.Collector. -func (s *SystemCollector) Describe(ch chan<- *prometheus.Desc) { - for _, metric := range s.metrics { +func (c *Collector) Describe(ch chan<- *prometheus.Desc) { + for _, metric := range c.metrics { ch <- metric.Desc } - s.collectorScrapeStatus.Describe(ch) + c.collectorScrapeStatus.Describe(ch) } // Collect implements prometheus.Collector. -func (s *SystemCollector) Collect(ch chan<- prometheus.Metric) { - collectorLogContext := s.Log - disabledMetrics := s.Ctx.DisabledMetrics - collectLogs := s.Ctx.CollectLogs - //get service - service := s.Ctx.RedfishClient.Service - - // get a list of systems from service - if systems, err := service.Systems(); err != nil { - collectorLogContext.Error("error getting systems from service", "operation", "service.Systems()", "err", err) - } else { - for _, system := range systems { - systemLogContext := collectorLogContext.With("System", system.ID) - systemLogContext.Info("collector scrape started") - // overall system metrics - - SystemID := system.ID - systemHostName := system.HostName - systemPowerState := system.PowerState - systemState := system.Status.State - systemHealthState := system.Status.Health - systemTotalProcessorsState := system.ProcessorSummary.Status.State - systemTotalProcessorsHealthState := system.ProcessorSummary.Status.Health - systemTotalMemoryState := system.MemorySummary.Status.State - systemTotalMemoryHealthState := system.MemorySummary.Status.Health - - systemLabelValues := []string{systemHostName, "system", SystemID} - if systemHealthStateValue, ok := common.ParseCommonStatusHealth(systemHealthState); ok { - ch <- prometheus.MustNewConstMetric(s.metrics["system_health_state"].Desc, prometheus.GaugeValue, systemHealthStateValue, systemLabelValues...) - } - if systemStateValue, ok := common.ParseCommonStatusState(systemState); ok { - ch <- prometheus.MustNewConstMetric(s.metrics["system_state"].Desc, prometheus.GaugeValue, systemStateValue, systemLabelValues...) - } - if systemPowerStateValue, ok := common.ParseCommonPowerState(systemPowerState); ok { - ch <- prometheus.MustNewConstMetric(s.metrics["system_power_state"].Desc, prometheus.GaugeValue, systemPowerStateValue, systemLabelValues...) - } - if system.BiosVersion != "" { - ch <- prometheus.MustNewConstMetric(s.metrics["system_bios_info"].Desc, prometheus.GaugeValue, 1, append(systemLabelValues, system.BiosVersion)...) - } - if systemTotalProcessorsStateValue, ok := common.ParseCommonStatusState(systemTotalProcessorsState); ok { - ch <- prometheus.MustNewConstMetric(s.metrics["system_total_processor_state"].Desc, prometheus.GaugeValue, systemTotalProcessorsStateValue, systemLabelValues...) - if system.ProcessorSummary.Count != nil { - ch <- prometheus.MustNewConstMetric(s.metrics["system_total_processor_count"].Desc, prometheus.GaugeValue, float64(*system.ProcessorSummary.Count), systemLabelValues...) - } - } - if systemTotalProcessorsHealthStateValue, ok := common.ParseCommonStatusHealth(systemTotalProcessorsHealthState); ok { - ch <- prometheus.MustNewConstMetric(s.metrics["system_total_processor_health_state"].Desc, prometheus.GaugeValue, systemTotalProcessorsHealthStateValue, systemLabelValues...) - } - if systemTotalMemoryStateValue, ok := common.ParseCommonStatusState(systemTotalMemoryState); ok { - ch <- prometheus.MustNewConstMetric(s.metrics["system_total_memory_state"].Desc, prometheus.GaugeValue, systemTotalMemoryStateValue, systemLabelValues...) - if system.MemorySummary.TotalSystemMemoryGiB != nil { - ch <- prometheus.MustNewConstMetric(s.metrics["system_total_memory_size"].Desc, prometheus.GaugeValue, float64(*system.MemorySummary.TotalSystemMemoryGiB), systemLabelValues...) - } - } - if systemTotalMemoryHealthStateValue, ok := common.ParseCommonStatusHealth(systemTotalMemoryHealthState); ok { - ch <- prometheus.MustNewConstMetric(s.metrics["system_total_memory_health_state"].Desc, prometheus.GaugeValue, systemTotalMemoryHealthStateValue, systemLabelValues...) - } +func (c *Collector) Collect(ch chan<- prometheus.Metric) { + disabledMetrics := c.Ctx.DisabledMetrics + service := c.Ctx.RedfishClient.Service - wg := &sync.WaitGroup{} + systems, err := service.Systems() + if err != nil { + c.Log.Error("error getting systems from service", "operation", "service.Systems()", "err", err) + return + } - if !slices.Contains(disabledMetrics, "memory") { - collector := memory.NewCollector(s.Ctx, s.Log, system) - wg.Go(func() { collector.Collect(ch) }) - } + for _, system := range systems { + systemLogContext := c.Log.With("System", system.ID) + systemLogContext.Info("collector scrape started") - if !slices.Contains(disabledMetrics, "processor") { - collector := processors.NewCollector(s.Ctx, s.Log, system) - wg.Go(func() { collector.Collect(ch) }) - } + wg := &sync.WaitGroup{} - if !slices.Contains(disabledMetrics, "storage") { - collector := storage.NewCollector(s.Ctx, s.Log, system) - wg.Go(func() { collector.Collect(ch) }) - } + wg.Go(func() { c.collectOverallMetrics(ch, system) }) - if !slices.Contains(disabledMetrics, "pcie_devices") { - collector := pcie_devices.NewCollector(s.Ctx, s.Log, system) - wg.Go(func() { collector.Collect(ch) }) - } + if !slices.Contains(disabledMetrics, "memory") { + collector := memory.NewCollector(c.Ctx, c.Log, system) + wg.Go(func() { collector.Collect(ch) }) + } - if !slices.Contains(disabledMetrics, "network_interfaces") { - collector := network_interfaces.NewCollector(s.Ctx, s.Log, system) - wg.Go(func() { collector.Collect(ch) }) - } + if !slices.Contains(disabledMetrics, "processor") { + collector := processors.NewCollector(c.Ctx, c.Log, system) + wg.Go(func() { collector.Collect(ch) }) + } - if !slices.Contains(disabledMetrics, "ethernet_interfaces") { - collector := ethernet_interfaces.NewCollector(s.Ctx, s.Log, system) - wg.Go(func() { collector.Collect(ch) }) - } + if !slices.Contains(disabledMetrics, "storage") { + collector := storage.NewCollector(c.Ctx, c.Log, system) + wg.Go(func() { collector.Collect(ch) }) + } - if !slices.Contains(disabledMetrics, "simple_storage") { - collector := simple_storage.NewCollector(s.Ctx, s.Log, system) - wg.Go(func() { collector.Collect(ch) }) - } + if !slices.Contains(disabledMetrics, "pcie_devices") { + collector := pcie_devices.NewCollector(c.Ctx, c.Log, system) + wg.Go(func() { collector.Collect(ch) }) + } - if !slices.Contains(disabledMetrics, "pcie_functions") { - collector := pcie_functions.NewCollector(s.Ctx, s.Log, system) - wg.Go(func() { collector.Collect(ch) }) - } + if !slices.Contains(disabledMetrics, "network_interfaces") { + collector := network_interfaces.NewCollector(c.Ctx, c.Log, system) + wg.Go(func() { collector.Collect(ch) }) + } - // process log services - if collectLogs { - wg.Go(func() { s.collectLogs(ch, system) }) - } + if !slices.Contains(disabledMetrics, "ethernet_interfaces") { + collector := ethernet_interfaces.NewCollector(c.Ctx, c.Log, system) + wg.Go(func() { collector.Collect(ch) }) + } - wg.Wait() + if !slices.Contains(disabledMetrics, "simple_storage") { + collector := simple_storage.NewCollector(c.Ctx, c.Log, system) + wg.Go(func() { collector.Collect(ch) }) + } - systemLogContext.Info("collector scrape completed") + if !slices.Contains(disabledMetrics, "pcie_functions") { + collector := pcie_functions.NewCollector(c.Ctx, c.Log, system) + wg.Go(func() { collector.Collect(ch) }) } - s.collectorScrapeStatus.WithLabelValues("system").Set(float64(1)) + + // process log services + if c.Ctx.CollectLogs { + wg.Go(func() { c.collectLogs(ch, system) }) + } + + wg.Wait() + + systemLogContext.Info("collector scrape completed") + } + c.collectorScrapeStatus.WithLabelValues("system").Set(float64(1)) +} + +func (c *Collector) collectOverallMetrics(ch chan<- prometheus.Metric, system *schemas.ComputerSystem) { + systemLabelValues := []string{system.HostName, "system", system.ID} + if healthStatusValue, ok := common.ParseCommonStatusHealth(system.Status.Health); ok { + ch <- prometheus.MustNewConstMetric(c.metrics["system_health_state"].Desc, prometheus.GaugeValue, healthStatusValue, systemLabelValues...) + } + if stateValue, ok := common.ParseCommonStatusState(system.Status.State); ok { + ch <- prometheus.MustNewConstMetric(c.metrics["system_state"].Desc, prometheus.GaugeValue, stateValue, systemLabelValues...) + } + if powerStateValue, ok := common.ParseCommonPowerState(system.PowerState); ok { + ch <- prometheus.MustNewConstMetric(c.metrics["system_power_state"].Desc, prometheus.GaugeValue, powerStateValue, systemLabelValues...) + } + if system.BiosVersion != "" { + ch <- prometheus.MustNewConstMetric(c.metrics["system_bios_info"].Desc, prometheus.GaugeValue, 1, append(systemLabelValues, system.BiosVersion)...) + } + if totalProcessorsStateValue, ok := common.ParseCommonStatusState(system.ProcessorSummary.Status.State); ok { + ch <- prometheus.MustNewConstMetric(c.metrics["system_total_processor_state"].Desc, prometheus.GaugeValue, totalProcessorsStateValue, systemLabelValues...) + if system.ProcessorSummary.Count != nil { + ch <- prometheus.MustNewConstMetric(c.metrics["system_total_processor_count"].Desc, prometheus.GaugeValue, float64(*system.ProcessorSummary.Count), systemLabelValues...) + } + } + if totalProcessorsHealthStatusValue, ok := common.ParseCommonStatusHealth(system.ProcessorSummary.Status.Health); ok { + ch <- prometheus.MustNewConstMetric(c.metrics["system_total_processor_health_state"].Desc, prometheus.GaugeValue, totalProcessorsHealthStatusValue, systemLabelValues...) + } + if totalMemoryStateValue, ok := common.ParseCommonStatusState(system.MemorySummary.Status.State); ok { + ch <- prometheus.MustNewConstMetric(c.metrics["system_total_memory_state"].Desc, prometheus.GaugeValue, totalMemoryStateValue, systemLabelValues...) + if system.MemorySummary.TotalSystemMemoryGiB != nil { + ch <- prometheus.MustNewConstMetric(c.metrics["system_total_memory_size"].Desc, prometheus.GaugeValue, float64(*system.MemorySummary.TotalSystemMemoryGiB), systemLabelValues...) + } + } + if totalMemoryHealthStatusValue, ok := common.ParseCommonStatusHealth(system.MemorySummary.Status.Health); ok { + ch <- prometheus.MustNewConstMetric(c.metrics["system_total_memory_health_state"].Desc, prometheus.GaugeValue, totalMemoryHealthStatusValue, systemLabelValues...) } } -func (c* SystemCollector) collectLogs(ch chan<- prometheus.Metric, system *schemas.ComputerSystem) { +func (c *Collector) collectLogs(ch chan<- prometheus.Metric, system *schemas.ComputerSystem) { logServices, err := system.LogServices() if err != nil { c.Log.Error("error getting log services from system", "operation", "system.LogServices()", "err", err) @@ -217,7 +207,7 @@ func (c* SystemCollector) collectLogs(ch chan<- prometheus.Metric, system *schem wg := &sync.WaitGroup{} for _, logService := range logServices { wg.Go(func() { - if err = common.ParseLogService(ch, systemMetrics, c.Ctx, c.Log.With("log_service", logService.ID), SystemSubsystem, system.ID, logService); err != nil { + if err = common.ParseLogService(ch, systemMetrics, c.Ctx, c.Log.With("log_service", logService.ID), Subsystem, system.ID, logService); err != nil { c.Log.Error("error getting log entries from log service", "operation", "chassis.LogServices()", "err", err) } }) From 5b81f17dbaf97ba9f7b1123aa050b3e389df4a9c Mon Sep 17 00:00:00 2001 From: MurrayGroves Date: Tue, 27 Oct 2026 15:55:55 +0000 Subject: [PATCH 19/33] Split power into deprecated power, new power subsystem --- collector/chassis/collector.go | 6 ++ collector/chassis/power/collector.go | 82 +------------------ collector/chassis/power/collector_test.go | 40 --------- collector/chassis/power_common/common.go | 55 +++++++++++++ .../chassis/power_subsystem/collector.go | 79 ++++++++++++++++++ .../chassis/power_subsystem/collector_test.go | 38 +++++++++ 6 files changed, 181 insertions(+), 119 deletions(-) create mode 100644 collector/chassis/power_common/common.go create mode 100644 collector/chassis/power_subsystem/collector.go create mode 100644 collector/chassis/power_subsystem/collector_test.go diff --git a/collector/chassis/collector.go b/collector/chassis/collector.go index b5236682..2c64846c 100755 --- a/collector/chassis/collector.go +++ b/collector/chassis/collector.go @@ -11,6 +11,7 @@ import ( "github.com/stackhpc/redfish_exporter/collector/chassis/network_adapters" "github.com/stackhpc/redfish_exporter/collector/chassis/power" + "github.com/stackhpc/redfish_exporter/collector/chassis/power_subsystem" "github.com/stackhpc/redfish_exporter/collector/chassis/thermal" "github.com/stackhpc/redfish_exporter/common" ) @@ -125,9 +126,14 @@ func (c *Collector) Collect(ch chan<- prometheus.Metric) { thermal := thermal.NewCollector(c.Ctx, c.Log, chassis) wg.Go(func() { thermal.Collect(ch) }) + // Power() was deprecated in Redfish v1.15.0 power := power.NewCollector(c.Ctx, c.Log, chassis) wg.Go(func() { power.Collect(ch) }) + // It was replaced with PowerSubsystem() + power_subsystem := power_subsystem.NewCollector(c.Ctx, c.Log, chassis) + wg.Go(func() { power_subsystem.Collect(ch) }) + network_adapters := network_adapters.NewCollector(c.Ctx, c.Log, chassis) wg.Go(func() { network_adapters.Collect(ch) }) diff --git a/collector/chassis/power/collector.go b/collector/chassis/power/collector.go index 38101b00..c74d3a06 100644 --- a/collector/chassis/power/collector.go +++ b/collector/chassis/power/collector.go @@ -6,6 +6,7 @@ import ( "sync" "github.com/prometheus/client_golang/prometheus" + "github.com/stackhpc/redfish_exporter/collector/chassis/power_common" "github.com/stackhpc/redfish_exporter/common" "github.com/stmcginnis/gofish/schemas" ) @@ -13,7 +14,6 @@ import ( var ( Subsystem = "chassis" ChassisPowerVoltageLabelNames = []string{"resource", "chassis_id", "power_voltage", "power_voltage_id"} - ChassisPowerSupplyLabelNames = []string{"resource", "chassis_id", "power_supply", "power_supply_id"} metricMap = createMetricMap() ) @@ -25,14 +25,6 @@ func createMetricMap() map[string]common.Metric { common.AddToMetricMap(metrics, Subsystem, "power_voltage_volts", "power voltage volts number of chassis component", ChassisPowerVoltageLabelNames) common.AddToMetricMap(metrics, Subsystem, "power_average_consumed_watts", "power wattage watts number of chassis component", ChassisPowerVoltageLabelNames) - common.AddToMetricMap(metrics, Subsystem, "power_powersupply_state", fmt.Sprintf("powersupply state of chassis component,%s", common.StateHelp), ChassisPowerSupplyLabelNames) - common.AddToMetricMap(metrics, Subsystem, "power_powersupply_health", fmt.Sprintf("powersupply health of chassis component,%s", common.HealthHelp), ChassisPowerSupplyLabelNames) - common.AddToMetricMap(metrics, Subsystem, "power_powersupply_power_efficiency_percentage", "rated efficiency, as a percentage, of the associated power supply on this chassis", ChassisPowerSupplyLabelNames) - common.AddToMetricMap(metrics, Subsystem, "power_powersupply_last_power_output_watts", "average power output, measured in Watts, of the associated power supply on this chassis", ChassisPowerSupplyLabelNames) - common.AddToMetricMap(metrics, Subsystem, "power_powersupply_power_input_watts", "measured input power, in Watts, of powersupply on this chassis", ChassisPowerSupplyLabelNames) - common.AddToMetricMap(metrics, Subsystem, "power_powersupply_power_output_watts", "measured output power, in Watts, of powersupply on this chassis", ChassisPowerSupplyLabelNames) - common.AddToMetricMap(metrics, Subsystem, "power_powersupply_power_capacity_watts", "power_capacity_watts of powersupply on this chassis", ChassisPowerSupplyLabelNames) - return metrics } @@ -64,25 +56,12 @@ func (c *Collector) Describe(ch chan<- *prometheus.Desc) { } func (c *Collector) Collect(ch chan<- prometheus.Metric) { - wg := &sync.WaitGroup{} - - // chassis.Power() is deprecated since Redfish v1.15.0 - wg.Go(func() { c.collectDeprecatedPower(ch) }) - - // chassis.PowerSubsystem() replaces it - wg.Go(func() { c.collectPowerSubsystem(ch) }) - - wg.Wait() -} - -// chassis.Power() was deprecated in Redfish v1.15.0, and replaced with chassis.PowerSubsystem() -func (c *Collector) collectDeprecatedPower(ch chan<- prometheus.Metric) { powerInfo, err := c.chassis.Power() if err != nil { c.Log.Error("error getting power data from chassis", "operation", "chassis.Power()", "err", err) return } else if powerInfo == nil { - c.Log.Info("no power data found", "operation", "chassis.Power()") + c.Log.Debug("no power data found", "operation", "chassis.Power()") return } @@ -97,37 +76,7 @@ func (c *Collector) collectDeprecatedPower(ch chan<- prometheus.Metric) { } for _, powerSupply := range powerInfo.PowerSupplies { - wg.Go(func() { parsePowerSupply(ch, c.chassis.ID, powerSupply) }) - } - - wg.Wait() -} - -// PowerSubsystem exposes less information than Power, since much of it is relocated to Sensors or EnvironmentMetrics -func (c *Collector) collectPowerSubsystem(ch chan<- prometheus.Metric) { - powerSubsystem, err := c.chassis.PowerSubsystem() - - if err != nil { - c.Log.Error("error getting power subsystem from chassis", "operation", "chassis.PowerSubsystem()", "err", err) - return - } else if powerSubsystem == nil { - c.Log.Info("no power subsystem found", "operation", "chassis.PowerSubsystem()") - return - } - - powerSupplies, err := powerSubsystem.PowerSupplies() - if err != nil { - c.Log.Error("error getting power supplies from power subsystem", "operation", "powerSubsystem.PowerSupplies()", "err", err) - return - } else if powerSupplies == nil { - c.Log.Info("no power supplies found", "operation", "powerSubsystem.PowerSupplies()") - return - } - - wg := &sync.WaitGroup{} - - for _, powerSupply := range powerSupplies { - wg.Go(func() { parsePowerSupply(ch, c.chassis.ID, *powerSupply) }) + wg.Go(func() { power_common.ParsePowerSupply(ch, c.chassis.ID, powerSupply) }) } wg.Wait() @@ -147,28 +96,3 @@ func parsePowerControl(ch chan<- prometheus.Metric, chassisID string, powerContr labelValues := []string{"power_wattage", chassisID, powerControl.Name, powerControl.MemberID} ch <- prometheus.MustNewConstMetric(metricMap["chassis_power_average_consumed_watts"].Desc, prometheus.GaugeValue, float64(*powerControl.PowerMetrics.AverageConsumedWatts), labelValues...) } - -func parsePowerSupply(ch chan<- prometheus.Metric, chassisID string, powerSupply schemas.PowerSupply) { - labelValues := []string{"power_supply", chassisID, powerSupply.Name, powerSupply.MemberID} - if chassisPowerInfoPowerSupplyStateValue, ok := common.ParseCommonStatusState(powerSupply.Status.State); ok { - ch <- prometheus.MustNewConstMetric(metricMap["chassis_power_powersupply_state"].Desc, prometheus.GaugeValue, chassisPowerInfoPowerSupplyStateValue, labelValues...) - } - if chassisPowerInfoPowerSupplyHealthValue, ok := common.ParseCommonStatusHealth(powerSupply.Status.Health); ok { - ch <- prometheus.MustNewConstMetric(metricMap["chassis_power_powersupply_health"].Desc, prometheus.GaugeValue, chassisPowerInfoPowerSupplyHealthValue, labelValues...) - } - if powerSupply.EfficiencyPercent != nil { - ch <- prometheus.MustNewConstMetric(metricMap["chassis_power_powersupply_power_efficiency_percentage"].Desc, prometheus.GaugeValue, float64(*powerSupply.EfficiencyPercent), labelValues...) - } - if powerSupply.LastPowerOutputWatts != nil { - ch <- prometheus.MustNewConstMetric(metricMap["chassis_power_powersupply_last_power_output_watts"].Desc, prometheus.GaugeValue, float64(*powerSupply.LastPowerOutputWatts), labelValues...) - } - if powerSupply.PowerCapacityWatts != nil { - ch <- prometheus.MustNewConstMetric(metricMap["chassis_power_powersupply_power_capacity_watts"].Desc, prometheus.GaugeValue, float64(*powerSupply.PowerCapacityWatts), labelValues...) - } - if powerSupply.PowerInputWatts != nil { - ch <- prometheus.MustNewConstMetric(metricMap["chassis_power_powersupply_power_input_watts"].Desc, prometheus.GaugeValue, float64(*powerSupply.PowerInputWatts), labelValues...) - } - if powerSupply.PowerOutputWatts != nil { - ch <- prometheus.MustNewConstMetric(metricMap["chassis_power_powersupply_power_output_watts"].Desc, prometheus.GaugeValue, float64(*powerSupply.PowerOutputWatts), labelValues...) - } -} diff --git a/collector/chassis/power/collector_test.go b/collector/chassis/power/collector_test.go index bd230da8..6b9f1a28 100644 --- a/collector/chassis/power/collector_test.go +++ b/collector/chassis/power/collector_test.go @@ -46,43 +46,3 @@ func TestDSP2043_1_0_0(t *testing.T) { "redfish_chassis_power_powersupply_power_capacity_watts", ) } - -func TestPublicRackmount1_2026_2(t *testing.T) { - redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-rackmount1", false) - - chassis, err := redfishClient.Service.Chassis() - require.NoError(t, err) - - ctx := common.CollectionContext{ - RedfishClient: redfishClient, - } - - promslogConfig := promslog.Config{} - logger := promslog.New(&promslogConfig) - - collector := power.NewCollector(&ctx, logger, chassis[0]) - expected := ` - redfish_chassis_power_average_consumed_watts{chassis_id="1U",power_voltage="System Input Power",power_voltage_id="0",resource="power_wattage"} 319 - redfish_chassis_power_powersupply_health{chassis_id="1U",power_supply="Power Supply Bay 1",power_supply_id="",resource="power_supply"} 2 - redfish_chassis_power_powersupply_health{chassis_id="1U",power_supply="Power Supply Bay",power_supply_id="0",resource="power_supply"} 2 - redfish_chassis_power_powersupply_last_power_output_watts{chassis_id="1U",power_supply="Power Supply Bay",power_supply_id="0",resource="power_supply"} 325 - redfish_chassis_power_powersupply_power_capacity_watts{chassis_id="1U",power_supply="Power Supply Bay 1",power_supply_id="",resource="power_supply"} 400 - redfish_chassis_power_powersupply_power_capacity_watts{chassis_id="1U",power_supply="Power Supply Bay",power_supply_id="0",resource="power_supply"} 800 - redfish_chassis_power_powersupply_state{chassis_id="1U",power_supply="Power Supply Bay 1",power_supply_id="",resource="power_supply"} 1 - redfish_chassis_power_powersupply_state{chassis_id="1U",power_supply="Power Supply Bay 2",power_supply_id="",resource="power_supply"} 7 - redfish_chassis_power_powersupply_state{chassis_id="1U",power_supply="Power Supply Bay",power_supply_id="0",resource="power_supply"} 1 - redfish_chassis_power_voltage_state{chassis_id="1U",power_voltage="VRM1 Voltage",power_voltage_id="0",resource="power_voltage"} 1 - redfish_chassis_power_voltage_state{chassis_id="1U",power_voltage="VRM2 Voltage",power_voltage_id="1",resource="power_voltage"} 1 - redfish_chassis_power_voltage_volts{chassis_id="1U",power_voltage="VRM1 Voltage",power_voltage_id="0",resource="power_voltage"} 12 - redfish_chassis_power_voltage_volts{chassis_id="1U",power_voltage="VRM2 Voltage",power_voltage_id="1",resource="power_voltage"} 5 - ` - redfish_test.CollectAndCompare(t, collector, expected, - "redfish_chassis_power_voltage_state", - "redfish_chassis_power_voltage_volts", - "redfish_chassis_power_average_consumed_watts", - "redfish_chassis_power_powersupply_state", - "redfish_chassis_power_powersupply_health", - "redfish_chassis_power_powersupply_last_power_output_watts", - "redfish_chassis_power_powersupply_power_capacity_watts", - ) -} diff --git a/collector/chassis/power_common/common.go b/collector/chassis/power_common/common.go new file mode 100644 index 00000000..dfd1d518 --- /dev/null +++ b/collector/chassis/power_common/common.go @@ -0,0 +1,55 @@ +package power_common + +import ( + "fmt" + + "github.com/prometheus/client_golang/prometheus" + "github.com/stackhpc/redfish_exporter/common" + "github.com/stmcginnis/gofish/schemas" +) + +var ( + Subsystem = "chassis" + ChassisPowerSupplyLabelNames = []string{"resource", "chassis_id", "power_supply", "power_supply_id"} + + metricMap = createMetricMap() +) + +func createMetricMap() map[string]common.Metric { + metrics := make(map[string]common.Metric) + + common.AddToMetricMap(metrics, Subsystem, "power_powersupply_state", fmt.Sprintf("powersupply state of chassis component,%s", common.StateHelp), ChassisPowerSupplyLabelNames) + common.AddToMetricMap(metrics, Subsystem, "power_powersupply_health", fmt.Sprintf("powersupply health of chassis component,%s", common.HealthHelp), ChassisPowerSupplyLabelNames) + common.AddToMetricMap(metrics, Subsystem, "power_powersupply_power_efficiency_percentage", "rated efficiency, as a percentage, of the associated power supply on this chassis", ChassisPowerSupplyLabelNames) + common.AddToMetricMap(metrics, Subsystem, "power_powersupply_last_power_output_watts", "average power output, measured in Watts, of the associated power supply on this chassis", ChassisPowerSupplyLabelNames) + common.AddToMetricMap(metrics, Subsystem, "power_powersupply_power_input_watts", "measured input power, in Watts, of powersupply on this chassis", ChassisPowerSupplyLabelNames) + common.AddToMetricMap(metrics, Subsystem, "power_powersupply_power_output_watts", "measured output power, in Watts, of powersupply on this chassis", ChassisPowerSupplyLabelNames) + common.AddToMetricMap(metrics, Subsystem, "power_powersupply_power_capacity_watts", "power_capacity_watts of powersupply on this chassis", ChassisPowerSupplyLabelNames) + + return metrics +} + +func ParsePowerSupply(ch chan<- prometheus.Metric, chassisID string, powerSupply schemas.PowerSupply) { + labelValues := []string{"power_supply", chassisID, powerSupply.Name, powerSupply.MemberID} + if chassisPowerInfoPowerSupplyStateValue, ok := common.ParseCommonStatusState(powerSupply.Status.State); ok { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_power_powersupply_state"].Desc, prometheus.GaugeValue, chassisPowerInfoPowerSupplyStateValue, labelValues...) + } + if chassisPowerInfoPowerSupplyHealthValue, ok := common.ParseCommonStatusHealth(powerSupply.Status.Health); ok { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_power_powersupply_health"].Desc, prometheus.GaugeValue, chassisPowerInfoPowerSupplyHealthValue, labelValues...) + } + if powerSupply.EfficiencyPercent != nil { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_power_powersupply_power_efficiency_percentage"].Desc, prometheus.GaugeValue, float64(*powerSupply.EfficiencyPercent), labelValues...) + } + if powerSupply.LastPowerOutputWatts != nil { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_power_powersupply_last_power_output_watts"].Desc, prometheus.GaugeValue, float64(*powerSupply.LastPowerOutputWatts), labelValues...) + } + if powerSupply.PowerCapacityWatts != nil { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_power_powersupply_power_capacity_watts"].Desc, prometheus.GaugeValue, float64(*powerSupply.PowerCapacityWatts), labelValues...) + } + if powerSupply.PowerInputWatts != nil { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_power_powersupply_power_input_watts"].Desc, prometheus.GaugeValue, float64(*powerSupply.PowerInputWatts), labelValues...) + } + if powerSupply.PowerOutputWatts != nil { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_power_powersupply_power_output_watts"].Desc, prometheus.GaugeValue, float64(*powerSupply.PowerOutputWatts), labelValues...) + } +} diff --git a/collector/chassis/power_subsystem/collector.go b/collector/chassis/power_subsystem/collector.go new file mode 100644 index 00000000..6361f4f2 --- /dev/null +++ b/collector/chassis/power_subsystem/collector.go @@ -0,0 +1,79 @@ +package power_subsystem + +import ( + "log/slog" + "sync" + + "github.com/prometheus/client_golang/prometheus" + "github.com/stackhpc/redfish_exporter/collector/chassis/power_common" + "github.com/stackhpc/redfish_exporter/common" + "github.com/stmcginnis/gofish/schemas" +) + +var ( + Subsystem = "chassis" + + metricMap = createMetricMap() +) + +func createMetricMap() map[string]common.Metric { + metrics := make(map[string]common.Metric) + + return metrics +} + +// Implements the prometheus.Collector. +type Collector struct { + Ctx *common.CollectionContext + metrics map[string]common.Metric + Log *slog.Logger + chassis *schemas.Chassis +} + +// NewCollector returns a collector that collects chassis power data +func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, chassis *schemas.Chassis) *Collector { + return &Collector{ + metrics: metricMap, + Ctx: ctx, + Log: logger.With( + "collector", Subsystem, + ), + chassis: chassis, + } +} + +// Describe implemented prometheus.Collector +func (c *Collector) Describe(ch chan<- *prometheus.Desc) { + for _, metric := range c.metrics { + ch <- metric.Desc + } +} + +func (c *Collector) Collect(ch chan<- prometheus.Metric) { + powerSubsystem, err := c.chassis.PowerSubsystem() + + if err != nil { + c.Log.Error("error getting power subsystem from chassis", "operation", "chassis.PowerSubsystem()", "err", err) + return + } else if powerSubsystem == nil { + c.Log.Debug("no power subsystem found", "operation", "chassis.PowerSubsystem()") + return + } + + powerSupplies, err := powerSubsystem.PowerSupplies() + if err != nil { + c.Log.Error("error getting power supplies from power subsystem", "operation", "powerSubsystem.PowerSupplies()", "err", err) + return + } else if powerSupplies == nil { + c.Log.Info("no power supplies found", "operation", "powerSubsystem.PowerSupplies()") + return + } + + wg := &sync.WaitGroup{} + + for _, powerSupply := range powerSupplies { + wg.Go(func() { power_common.ParsePowerSupply(ch, c.chassis.ID, *powerSupply) }) + } + + wg.Wait() +} diff --git a/collector/chassis/power_subsystem/collector_test.go b/collector/chassis/power_subsystem/collector_test.go new file mode 100644 index 00000000..9d973f80 --- /dev/null +++ b/collector/chassis/power_subsystem/collector_test.go @@ -0,0 +1,38 @@ +package power_subsystem_test + +import ( + "testing" + + "github.com/prometheus/common/promslog" + "github.com/stackhpc/redfish_exporter/collector/chassis/power_subsystem" + "github.com/stackhpc/redfish_exporter/common" + redfish_test "github.com/stackhpc/redfish_exporter/common/test" + "github.com/stretchr/testify/require" +) + +func TestPublicACD_2026_2(t *testing.T) { + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-acd", false) + + chassis, err := redfishClient.Service.Chassis() + require.NoError(t, err) + + ctx := common.CollectionContext{ + RedfishClient: redfishClient, + } + + promslogConfig := promslog.Config{} + logger := promslog.New(&promslogConfig) + + collector := power_subsystem.NewCollector(&ctx, logger, chassis[0]) + expected := ` + redfish_chassis_power_powersupply_health{chassis_id="1U",power_supply="Power Supply Bay 1",power_supply_id="",resource="power_supply"} 2 + redfish_chassis_power_powersupply_power_capacity_watts{chassis_id="1U",power_supply="Power Supply Bay 1",power_supply_id="",resource="power_supply"} 400 + redfish_chassis_power_powersupply_state{chassis_id="1U",power_supply="Power Supply Bay 1",power_supply_id="",resource="power_supply"} 1 + redfish_chassis_power_powersupply_state{chassis_id="1U",power_supply="Power Supply Bay 2",power_supply_id="",resource="power_supply"} 7 + ` + redfish_test.CollectAndCompare(t, collector, expected, + "redfish_chassis_power_powersupply_state", + "redfish_chassis_power_powersupply_health", + "redfish_chassis_power_powersupply_power_capacity_watts", + ) +} From 3805586d841fc61f5ba4d0c0582dcdd371482d65 Mon Sep 17 00:00:00 2001 From: MurrayGroves Date: Tue, 27 Oct 2026 17:07:16 +0000 Subject: [PATCH 20/33] Add support for ThermalSubsystem --- collector/chassis/power/collector.go | 1 + collector/chassis/power_common/common.go | 6 + collector/chassis/thermal/collector.go | 92 +------------ collector/chassis/thermal_common/common.go | 122 ++++++++++++++++++ .../chassis/thermal_subsystem/collector.go | 74 +++++++++++ .../thermal_subsystem/fans/collector.go | 68 ++++++++++ .../thermal_subsystem/fans/collector_test.go | 50 +++++++ .../thermal_metrics/collector.go | 79 ++++++++++++ .../thermal_metrics/collector_test.go | 37 ++++++ 9 files changed, 440 insertions(+), 89 deletions(-) create mode 100644 collector/chassis/thermal_common/common.go create mode 100644 collector/chassis/thermal_subsystem/collector.go create mode 100644 collector/chassis/thermal_subsystem/fans/collector.go create mode 100644 collector/chassis/thermal_subsystem/fans/collector_test.go create mode 100644 collector/chassis/thermal_subsystem/thermal_metrics/collector.go create mode 100644 collector/chassis/thermal_subsystem/thermal_metrics/collector_test.go diff --git a/collector/chassis/power/collector.go b/collector/chassis/power/collector.go index c74d3a06..d67e93a5 100644 --- a/collector/chassis/power/collector.go +++ b/collector/chassis/power/collector.go @@ -53,6 +53,7 @@ func (c *Collector) Describe(ch chan<- *prometheus.Desc) { for _, metric := range c.metrics { ch <- metric.Desc } + power_common.Describe(ch) } func (c *Collector) Collect(ch chan<- prometheus.Metric) { diff --git a/collector/chassis/power_common/common.go b/collector/chassis/power_common/common.go index dfd1d518..de839937 100644 --- a/collector/chassis/power_common/common.go +++ b/collector/chassis/power_common/common.go @@ -29,6 +29,12 @@ func createMetricMap() map[string]common.Metric { return metrics } +func Describe(ch chan<- *prometheus.Desc) { + for _, metric := range metricMap { + ch <- metric.Desc + } +} + func ParsePowerSupply(ch chan<- prometheus.Metric, chassisID string, powerSupply schemas.PowerSupply) { labelValues := []string{"power_supply", chassisID, powerSupply.Name, powerSupply.MemberID} if chassisPowerInfoPowerSupplyStateValue, ok := common.ParseCommonStatusState(powerSupply.Status.State); ok { diff --git a/collector/chassis/thermal/collector.go b/collector/chassis/thermal/collector.go index 9eecbb0b..6e0963a1 100644 --- a/collector/chassis/thermal/collector.go +++ b/collector/chassis/thermal/collector.go @@ -3,10 +3,10 @@ package thermal import ( "fmt" "log/slog" - "strings" "sync" "github.com/prometheus/client_golang/prometheus" + "github.com/stackhpc/redfish_exporter/collector/chassis/thermal_common" "github.com/stackhpc/redfish_exporter/common" "github.com/stmcginnis/gofish/schemas" ) @@ -77,7 +77,7 @@ func (c *Collector) Collect(ch chan<- prometheus.Metric) { return } if thermal == nil { - c.Log.Info("no thermal data found", "operation", "chassis.Thermal()") + c.Log.Debug("no thermal data found", "operation", "chassis.Thermal()") return } @@ -91,7 +91,7 @@ func (c *Collector) Collect(ch chan<- prometheus.Metric) { // Process fans chassisFans := thermal.Fans for _, chassisFan := range chassisFans { - wg.Go(func() {parseChassisFan(ch, c.chassis.ID, chassisFan)}) + wg.Go(func() { thermal_common.ParseFan(ch, &c.chassis.ID, &chassisFan) }) } wg.Wait() @@ -119,89 +119,3 @@ func parseChassisTemperature(ch chan<- prometheus.Metric, chassisID string, chas ch <- prometheus.MustNewConstMetric(metricMap["chassis_temperature_celsius"].Desc, prometheus.GaugeValue, float64(*chassisTemperature.ReadingCelsius), chassisTemperatureLabelvalues...) } } - -func parseChassisFan(ch chan<- prometheus.Metric, chassisID string, chassisFan schemas.ThermalFan) { - chassisFanID := chassisFan.MemberID - chassisFanLabelvalues := []string{"fan", chassisID, chassisFan.Name, chassisFanID, strings.ToLower(string(chassisFan.ReadingUnits))} // e.g. RPM -> rpm, Percentage -> percentage - - var chassisFanPercentage *float64 - switch chassisFan.ReadingUnits { - case schemas.PercentReadingUnits: - if chassisFan.Reading == nil { - break - } - chassisFanPercentage = new(float64) - *chassisFanPercentage = float64(*chassisFan.Reading) - case schemas.RPMReadingUnits: // Calculate fan percentage from best value for min/max - if chassisFan.Reading == nil { - break - } - // Some vendors (e.g. PowerEdge C6420) report null RPMs for Min/Max, as well as Lower/UpperFatal, - // but provide Lower/UpperCritical, so we use the most extreme value we have as the limits. - var min *int = chassisFan.MinReadingRange - var max *int = chassisFan.MaxReadingRange - if chassisFan.LowerThresholdCritical != nil && (min == nil || *min > *chassisFan.LowerThresholdCritical) { - min = chassisFan.LowerThresholdCritical - } - if chassisFan.LowerThresholdFatal != nil && (min == nil || *min > *chassisFan.LowerThresholdFatal) { - min = chassisFan.LowerThresholdFatal - } - if chassisFan.LowerThresholdNonCritical != nil && (min == nil || *min > *chassisFan.LowerThresholdNonCritical) { - min = chassisFan.LowerThresholdNonCritical - } - if chassisFan.UpperThresholdCritical != nil && (max == nil || *max < *chassisFan.UpperThresholdCritical) { - max = chassisFan.UpperThresholdCritical - } - if chassisFan.UpperThresholdFatal != nil && (max == nil || *max < *chassisFan.UpperThresholdFatal) { - max = chassisFan.UpperThresholdFatal - } - if chassisFan.UpperThresholdNonCritical != nil && (max == nil || *max < *chassisFan.UpperThresholdNonCritical) { - max = chassisFan.UpperThresholdNonCritical - } - - rpm_f := float64(*chassisFan.Reading) - if min != nil && max != nil { - min_f := float64(*min) - max_f := float64(*max) - chassisFanPercentage = new(float64) - *chassisFanPercentage = (rpm_f - min_f) / (max_f - min_f) * 100.0 - } - - ch <- prometheus.MustNewConstMetric(metricMap["chassis_fan_rpm"].Desc, prometheus.GaugeValue, rpm_f, chassisFanLabelvalues...) - } - - if chassisFanStatusHealthValue, ok := common.ParseCommonStatusHealth(chassisFan.Status.Health); ok { - ch <- prometheus.MustNewConstMetric(metricMap["chassis_fan_health"].Desc, prometheus.GaugeValue, chassisFanStatusHealthValue, chassisFanLabelvalues...) - } - - if chassisFanStatusStateValue, ok := common.ParseCommonStatusState(chassisFan.Status.State); ok { - ch <- prometheus.MustNewConstMetric(metricMap["chassis_fan_state"].Desc, prometheus.GaugeValue, chassisFanStatusStateValue, chassisFanLabelvalues...) - } - if chassisFan.MinReadingRange != nil { - ch <- prometheus.MustNewConstMetric(metricMap["chassis_fan_rpm_min"].Desc, prometheus.GaugeValue, float64(*chassisFan.MinReadingRange), chassisFanLabelvalues...) - } - if chassisFan.MaxReadingRange != nil { - ch <- prometheus.MustNewConstMetric(metricMap["chassis_fan_rpm_max"].Desc, prometheus.GaugeValue, float64(*chassisFan.MaxReadingRange), chassisFanLabelvalues...) - } - if chassisFanPercentage != nil { - ch <- prometheus.MustNewConstMetric(metricMap["chassis_fan_rpm_percentage"].Desc, prometheus.GaugeValue, *chassisFanPercentage, chassisFanLabelvalues...) - } - if chassisFan.LowerThresholdCritical != nil { - ch <- prometheus.MustNewConstMetric(metricMap["chassis_fan_rpm_lower_threshold_critical"].Desc, prometheus.GaugeValue, float64(*chassisFan.LowerThresholdCritical), chassisFanLabelvalues...) - } - if chassisFan.LowerThresholdFatal != nil { - ch <- prometheus.MustNewConstMetric(metricMap["chassis_fan_rpm_lower_threshold_fatal"].Desc, prometheus.GaugeValue, float64(*chassisFan.LowerThresholdFatal), chassisFanLabelvalues...) - } - if chassisFan.LowerThresholdNonCritical != nil { - ch <- prometheus.MustNewConstMetric(metricMap["chassis_fan_rpm_lower_threshold_non_critical"].Desc, prometheus.GaugeValue, float64(*chassisFan.LowerThresholdNonCritical), chassisFanLabelvalues...) - } - if chassisFan.UpperThresholdCritical != nil { - ch <- prometheus.MustNewConstMetric(metricMap["chassis_fan_rpm_upper_threshold_critical"].Desc, prometheus.GaugeValue, float64(*chassisFan.UpperThresholdCritical), chassisFanLabelvalues...) - } - if chassisFan.UpperThresholdFatal != nil { - ch <- prometheus.MustNewConstMetric(metricMap["chassis_fan_rpm_upper_threshold_fatal"].Desc, prometheus.GaugeValue, float64(*chassisFan.UpperThresholdFatal), chassisFanLabelvalues...) - } - if chassisFan.UpperThresholdNonCritical != nil { - ch <- prometheus.MustNewConstMetric(metricMap["chassis_fan_rpm_upper_threshold_non_critical"].Desc, prometheus.GaugeValue, float64(*chassisFan.UpperThresholdNonCritical), chassisFanLabelvalues...) - } -} diff --git a/collector/chassis/thermal_common/common.go b/collector/chassis/thermal_common/common.go new file mode 100644 index 00000000..8e593d1a --- /dev/null +++ b/collector/chassis/thermal_common/common.go @@ -0,0 +1,122 @@ +package thermal_common + +import ( + "fmt" + "strings" + + "github.com/prometheus/client_golang/prometheus" + "github.com/stackhpc/redfish_exporter/common" + "github.com/stmcginnis/gofish/schemas" +) + +var ( + Subsystem = "chassis" + FanLabelNames = []string{"resource", "chassis_id", "fan", "fan_id", "fan_unit"} + + metricMap = createMetricMap() +) + +func createMetricMap() map[string]common.Metric { + metrics := make(map[string]common.Metric) + + common.AddToMetricMap(metrics, Subsystem, "fan_health", fmt.Sprintf("fan health on this chassis component,%s", common.HealthHelp), FanLabelNames) + common.AddToMetricMap(metrics, Subsystem, "fan_state", fmt.Sprintf("fan state on this chassis component,%s", common.StateHelp), FanLabelNames) + common.AddToMetricMap(metrics, Subsystem, "fan_rpm", "fan RPM or percentage on this chassis component", FanLabelNames) + common.AddToMetricMap(metrics, Subsystem, "fan_rpm_percentage", "fan RPM, as a percentage of the min-max RPMs possible, on this chassis component", FanLabelNames) + common.AddToMetricMap(metrics, Subsystem, "fan_rpm_min", "lowest possible fan RPM or percentage, on this chassis component", FanLabelNames) + common.AddToMetricMap(metrics, Subsystem, "fan_rpm_max", "highest possible fan RPM or percentage, on this chassis component", FanLabelNames) + common.AddToMetricMap(metrics, Subsystem, "fan_rpm_lower_threshold_critical", "threshold below the normal range fan RPM or percentage, but not fatal, on this chassis component", FanLabelNames) + common.AddToMetricMap(metrics, Subsystem, "fan_rpm_lower_threshold_non_critical", "threshold below the normal range fan RPM or percentage, but not critical, on this chassis component", FanLabelNames) + common.AddToMetricMap(metrics, Subsystem, "fan_rpm_lower_threshold_fatal", "threshold below the normal range fan RPM or percentage, and is fatal, on this chassis component", FanLabelNames) + common.AddToMetricMap(metrics, Subsystem, "fan_rpm_upper_threshold_critical", "threshold above the normal range fan RPM or percentage, but not fatal, on this chassis component", FanLabelNames) + common.AddToMetricMap(metrics, Subsystem, "fan_rpm_upper_threshold_non_critical", "threshold above the normal range fan RPM or percentage, but not critical, on this chassis component", FanLabelNames) + common.AddToMetricMap(metrics, Subsystem, "fan_rpm_upper_threshold_fatal", "threshold above the normal range fan RPM or percentage, and is fatal, on this chassis component", FanLabelNames) + + return metrics +} + +func ParseFan(ch chan<- prometheus.Metric, chassisID *string, chassisFan *schemas.ThermalFan) { + chassisFanID := chassisFan.MemberID + chassisFanLabelvalues := []string{"fan", *chassisID, chassisFan.Name, chassisFanID, strings.ToLower(string(chassisFan.ReadingUnits))} // e.g. RPM -> rpm, Percentage -> percentage + + var chassisFanPercentage *float64 + switch chassisFan.ReadingUnits { + case schemas.PercentReadingUnits: + if chassisFan.Reading == nil { + break + } + chassisFanPercentage = new(float64) + *chassisFanPercentage = float64(*chassisFan.Reading) + case schemas.RPMReadingUnits: // Calculate fan percentage from best value for min/max + if chassisFan.Reading == nil { + break + } + // Some vendors (e.g. PowerEdge C6420) report null RPMs for Min/Max, as well as Lower/UpperFatal, + // but provide Lower/UpperCritical, so we use the most extreme value we have as the limits. + var min *int = chassisFan.MinReadingRange + var max *int = chassisFan.MaxReadingRange + if chassisFan.LowerThresholdCritical != nil && (min == nil || *min > *chassisFan.LowerThresholdCritical) { + min = chassisFan.LowerThresholdCritical + } + if chassisFan.LowerThresholdFatal != nil && (min == nil || *min > *chassisFan.LowerThresholdFatal) { + min = chassisFan.LowerThresholdFatal + } + if chassisFan.LowerThresholdNonCritical != nil && (min == nil || *min > *chassisFan.LowerThresholdNonCritical) { + min = chassisFan.LowerThresholdNonCritical + } + if chassisFan.UpperThresholdCritical != nil && (max == nil || *max < *chassisFan.UpperThresholdCritical) { + max = chassisFan.UpperThresholdCritical + } + if chassisFan.UpperThresholdFatal != nil && (max == nil || *max < *chassisFan.UpperThresholdFatal) { + max = chassisFan.UpperThresholdFatal + } + if chassisFan.UpperThresholdNonCritical != nil && (max == nil || *max < *chassisFan.UpperThresholdNonCritical) { + max = chassisFan.UpperThresholdNonCritical + } + + rpm_f := float64(*chassisFan.Reading) + if min != nil && max != nil { + min_f := float64(*min) + max_f := float64(*max) + chassisFanPercentage = new(float64) + *chassisFanPercentage = (rpm_f - min_f) / (max_f - min_f) * 100.0 + } + + ch <- prometheus.MustNewConstMetric(metricMap["chassis_fan_rpm"].Desc, prometheus.GaugeValue, rpm_f, chassisFanLabelvalues...) + } + + if chassisFanStatusHealthValue, ok := common.ParseCommonStatusHealth(chassisFan.Status.Health); ok { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_fan_health"].Desc, prometheus.GaugeValue, chassisFanStatusHealthValue, chassisFanLabelvalues...) + } + + if chassisFanStatusStateValue, ok := common.ParseCommonStatusState(chassisFan.Status.State); ok { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_fan_state"].Desc, prometheus.GaugeValue, chassisFanStatusStateValue, chassisFanLabelvalues...) + } + if chassisFan.MinReadingRange != nil { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_fan_rpm_min"].Desc, prometheus.GaugeValue, float64(*chassisFan.MinReadingRange), chassisFanLabelvalues...) + } + if chassisFan.MaxReadingRange != nil { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_fan_rpm_max"].Desc, prometheus.GaugeValue, float64(*chassisFan.MaxReadingRange), chassisFanLabelvalues...) + } + if chassisFanPercentage != nil { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_fan_rpm_percentage"].Desc, prometheus.GaugeValue, *chassisFanPercentage, chassisFanLabelvalues...) + } + if chassisFan.LowerThresholdCritical != nil { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_fan_rpm_lower_threshold_critical"].Desc, prometheus.GaugeValue, float64(*chassisFan.LowerThresholdCritical), chassisFanLabelvalues...) + } + if chassisFan.LowerThresholdFatal != nil { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_fan_rpm_lower_threshold_fatal"].Desc, prometheus.GaugeValue, float64(*chassisFan.LowerThresholdFatal), chassisFanLabelvalues...) + } + if chassisFan.LowerThresholdNonCritical != nil { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_fan_rpm_lower_threshold_non_critical"].Desc, prometheus.GaugeValue, float64(*chassisFan.LowerThresholdNonCritical), chassisFanLabelvalues...) + } + if chassisFan.UpperThresholdCritical != nil { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_fan_rpm_upper_threshold_critical"].Desc, prometheus.GaugeValue, float64(*chassisFan.UpperThresholdCritical), chassisFanLabelvalues...) + } + if chassisFan.UpperThresholdFatal != nil { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_fan_rpm_upper_threshold_fatal"].Desc, prometheus.GaugeValue, float64(*chassisFan.UpperThresholdFatal), chassisFanLabelvalues...) + } + if chassisFan.UpperThresholdNonCritical != nil { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_fan_rpm_upper_threshold_non_critical"].Desc, prometheus.GaugeValue, float64(*chassisFan.UpperThresholdNonCritical), chassisFanLabelvalues...) + } +} diff --git a/collector/chassis/thermal_subsystem/collector.go b/collector/chassis/thermal_subsystem/collector.go new file mode 100644 index 00000000..68ce2e12 --- /dev/null +++ b/collector/chassis/thermal_subsystem/collector.go @@ -0,0 +1,74 @@ +package thermal_subsystem + +import ( + "log/slog" + "sync" + + "github.com/prometheus/client_golang/prometheus" + "github.com/stackhpc/redfish_exporter/collector/chassis/thermal_subsystem/fans" + "github.com/stackhpc/redfish_exporter/collector/chassis/thermal_subsystem/thermal_metrics" + "github.com/stackhpc/redfish_exporter/common" + "github.com/stmcginnis/gofish/schemas" +) + +var ( + Subsystem = "chassis" + + metricMap = createMetricMap() +) + +func createMetricMap() map[string]common.Metric { + metrics := make(map[string]common.Metric) + + return metrics +} + +// Implements the prometheus.Collector. +type Collector struct { + Ctx *common.CollectionContext + metrics map[string]common.Metric + Log *slog.Logger + chassis *schemas.Chassis +} + +// NewCollector returns a collector that collects chassis thermal data +func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, chassis *schemas.Chassis) *Collector { + return &Collector{ + metrics: metricMap, + Ctx: ctx, + Log: logger.With( + "collector", Subsystem, + ), + chassis: chassis, + } +} + +// Describe implemented prometheus.Collector +func (c *Collector) Describe(ch chan<- *prometheus.Desc) { + for _, metric := range c.metrics { + ch <- metric.Desc + } +} + +// Given a chassis, collect data from its ThermalSubsystem +func (c *Collector) Collect(ch chan<- prometheus.Metric) { + thermalSubsystem, err := c.chassis.ThermalSubsystem() + if err != nil { + c.Log.Error("error getting thermal subsystem from chassis", "operation", "chassis.ThermalSubsystem()", "err", err) + return + } + if thermalSubsystem == nil { + c.Log.Debug("no thermal subsystem found", "operation", "chassis.ThermalSubsystem()") + return + } + + wg := &sync.WaitGroup{} + + thermalMetricsCollector := thermal_metrics.NewCollector(c.Ctx, c.Log, &c.chassis.ID, thermalSubsystem) + wg.Go(func() { thermalMetricsCollector.Collect(ch) }) + + fanCollector := fans.NewCollector(c.Ctx, c.Log, &c.chassis.ID, thermalSubsystem) + wg.Go(func() { fanCollector.Collect(ch) }) + + wg.Wait() +} diff --git a/collector/chassis/thermal_subsystem/fans/collector.go b/collector/chassis/thermal_subsystem/fans/collector.go new file mode 100644 index 00000000..3991c93e --- /dev/null +++ b/collector/chassis/thermal_subsystem/fans/collector.go @@ -0,0 +1,68 @@ +package fans + +import ( + "log/slog" + "sync" + + "github.com/prometheus/client_golang/prometheus" + "github.com/stackhpc/redfish_exporter/collector/chassis/thermal_common" + "github.com/stackhpc/redfish_exporter/common" + "github.com/stmcginnis/gofish/schemas" +) + +var ( + Subsystem = "chassis" + + metricMap = createMetricMap() +) + +func createMetricMap() map[string]common.Metric { + metrics := make(map[string]common.Metric) + + return metrics +} + +// Implements the prometheus.Collector. +type Collector struct { + Ctx *common.CollectionContext + metrics map[string]common.Metric + Log *slog.Logger + thermalSubsystem *schemas.ThermalSubsystem + chassisID *string +} + +// NewCollector returns a collector that collects thermal subsystem fan data +func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, chassisID *string, thermalSubsystem *schemas.ThermalSubsystem) *Collector { + return &Collector{ + metrics: metricMap, + Ctx: ctx, + Log: logger.With( + "collector", Subsystem, + ), + thermalSubsystem: thermalSubsystem, + chassisID: chassisID, + } +} + +// Describe implemented prometheus.Collector +func (c *Collector) Describe(ch chan<- *prometheus.Desc) { + for _, metric := range c.metrics { + ch <- metric.Desc + } +} + +// Given a ThermalSubsystem, collect data from its Fans +func (c *Collector) Collect(ch chan<- prometheus.Metric) { + chassisFans, err := c.thermalSubsystem.Fans() + if err != nil { + c.Log.Error("Error getting fans from thermal subsystem", "id", c.thermalSubsystem.ID, "err", err) + return + } + + wg := sync.WaitGroup{} + for _, chassisFan := range chassisFans { + wg.Go(func() { thermal_common.ParseFan(ch, c.chassisID, chassisFan) }) + } + + wg.Wait() +} diff --git a/collector/chassis/thermal_subsystem/fans/collector_test.go b/collector/chassis/thermal_subsystem/fans/collector_test.go new file mode 100644 index 00000000..fe66d6e3 --- /dev/null +++ b/collector/chassis/thermal_subsystem/fans/collector_test.go @@ -0,0 +1,50 @@ +package fans_test + +import ( + "testing" + + "github.com/prometheus/common/promslog" + "github.com/stackhpc/redfish_exporter/collector/chassis/thermal_subsystem/fans" + "github.com/stackhpc/redfish_exporter/common" + redfish_test "github.com/stackhpc/redfish_exporter/common/test" + "github.com/stretchr/testify/require" +) + +func TestPublicTower_2026_2(t *testing.T) { + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-tower", false) + + chassis, err := redfishClient.Service.Chassis() + require.NoError(t, err) + + ctx := common.CollectionContext{ + RedfishClient: redfishClient, + } + + thermalSubsystem, err := chassis[0].ThermalSubsystem() + require.NoError(t, err) + + promslogConfig := promslog.Config{} + logger := promslog.New(&promslogConfig) + + collector := fans.NewCollector(&ctx, logger, &chassis[0].ID, thermalSubsystem) + expected := ` + redfish_chassis_fan_health{chassis_id="Tower",fan="Fan Bay 1",fan_id="",fan_unit="",resource="fan"} 1 + redfish_chassis_fan_health{chassis_id="Tower",fan="Fan Bay 2",fan_id="",fan_unit="",resource="fan"} 1 + redfish_chassis_fan_health{chassis_id="Tower",fan="Fan for CPU 1",fan_id="",fan_unit="",resource="fan"} 1 + redfish_chassis_fan_health{chassis_id="Tower",fan="Fan for CPU 2",fan_id="",fan_unit="",resource="fan"} 1 + redfish_chassis_fan_state{chassis_id="Tower",fan="Fan Bay 1",fan_id="",fan_unit="",resource="fan"} 1 + redfish_chassis_fan_state{chassis_id="Tower",fan="Fan Bay 2",fan_id="",fan_unit="",resource="fan"} 1 + redfish_chassis_fan_state{chassis_id="Tower",fan="Fan for CPU 1",fan_id="",fan_unit="",resource="fan"} 1 + redfish_chassis_fan_state{chassis_id="Tower",fan="Fan for CPU 2",fan_id="",fan_unit="",resource="fan"} 1 + ` + redfish_test.CollectAndCompare(t, collector, expected, + "redfish_chassis_fan_health", + // Modern fans are incompatible with the ThermalFan type currently used by gofish. + // "redfish_chassis_fan_rpm_lower_threshold_fatal", + // "redfish_chassis_fan_rpm_max", + // "redfish_chassis_fan_rpm_min", + // "redfish_chassis_fan_rpm_percentage", + // "redfish_chassis_fan_rpm", + "redfish_chassis_fan_state", + ) +} diff --git a/collector/chassis/thermal_subsystem/thermal_metrics/collector.go b/collector/chassis/thermal_subsystem/thermal_metrics/collector.go new file mode 100644 index 00000000..c078a912 --- /dev/null +++ b/collector/chassis/thermal_subsystem/thermal_metrics/collector.go @@ -0,0 +1,79 @@ +package thermal_metrics + +import ( + "log/slog" + "sync" + + "github.com/prometheus/client_golang/prometheus" + "github.com/stackhpc/redfish_exporter/common" + "github.com/stmcginnis/gofish/schemas" +) + +var ( + Subsystem = "chassis" + + TemperatureLabelNames = []string{"resource", "chassis_id", "sensor", "sensor_id"} + + metricMap = createMetricMap() +) + +func createMetricMap() map[string]common.Metric { + metrics := make(map[string]common.Metric) + + common.AddToMetricMap(metrics, Subsystem, "temperature_celsius", "celsius of temperature on this chassis component", TemperatureLabelNames) + + return metrics +} + +// Implements the prometheus.Collector. +type Collector struct { + Ctx *common.CollectionContext + metrics map[string]common.Metric + Log *slog.Logger + thermalSubsystem *schemas.ThermalSubsystem + chassisID *string +} + +// NewCollector returns a collector that collects thermal subsystem fan data +func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, chassisID *string, thermalSubsystem *schemas.ThermalSubsystem) *Collector { + return &Collector{ + metrics: metricMap, + Ctx: ctx, + Log: logger.With( + "collector", Subsystem, + ), + thermalSubsystem: thermalSubsystem, + chassisID: chassisID, + } +} + +// Describe implemented prometheus.Collector +func (c *Collector) Describe(ch chan<- *prometheus.Desc) { + for _, metric := range c.metrics { + ch <- metric.Desc + } +} + +// Given a ThermalSubsystem, collect thermal metric data +func (c *Collector) Collect(ch chan<- prometheus.Metric) { + thermalMetrics, err := c.thermalSubsystem.ThermalMetrics() + if err != nil { + c.Log.Error("Error getting thermal metrics from thermal subsystem", "id", c.thermalSubsystem.ID, "err", err) + return + } + + wg := &sync.WaitGroup{} + + for _, reading := range thermalMetrics.TemperatureReadingsCelsius { + wg.Go(func() { c.parseTemperatureReading(ch, reading) }) + } + + wg.Wait() +} + +func (c *Collector) parseTemperatureReading(ch chan<- prometheus.Metric, reading schemas.SensorArrayExcerpt) { + chassisTemperatureLabelvalues := []string{"temperature", *c.chassisID, reading.DeviceName, reading.DataSourceURI} + if reading.Reading != nil { + ch <- prometheus.MustNewConstMetric(metricMap["chassis_temperature_celsius"].Desc, prometheus.GaugeValue, float64(*reading.Reading), chassisTemperatureLabelvalues...) + } +} diff --git a/collector/chassis/thermal_subsystem/thermal_metrics/collector_test.go b/collector/chassis/thermal_subsystem/thermal_metrics/collector_test.go new file mode 100644 index 00000000..12442c5b --- /dev/null +++ b/collector/chassis/thermal_subsystem/thermal_metrics/collector_test.go @@ -0,0 +1,37 @@ +package thermal_metrics_test + +import ( + "testing" + + "github.com/prometheus/common/promslog" + "github.com/stackhpc/redfish_exporter/collector/chassis/thermal_subsystem/thermal_metrics" + "github.com/stackhpc/redfish_exporter/common" + redfish_test "github.com/stackhpc/redfish_exporter/common/test" + "github.com/stretchr/testify/require" +) + +func TestPublicTower_2026_2(t *testing.T) { + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-tower", false) + + chassis, err := redfishClient.Service.Chassis() + require.NoError(t, err) + + ctx := common.CollectionContext{ + RedfishClient: redfishClient, + } + + thermalSubsystem, err := chassis[0].ThermalSubsystem() + require.NoError(t, err) + + promslogConfig := promslog.Config{} + logger := promslog.New(&promslogConfig) + + collector := thermal_metrics.NewCollector(&ctx, logger, &chassis[0].ID, thermalSubsystem) + expected := ` + redfish_chassis_temperature_celsius{chassis_id="Tower",resource="temperature",sensor="Exhaust",sensor_id="/redfish/v1/Chassis/Tower/Sensors/ExhaustTemp"} 40.5 + redfish_chassis_temperature_celsius{chassis_id="Tower",resource="temperature",sensor="Intake",sensor_id="/redfish/v1/Chassis/Tower/Sensors/IntakeTemp"} 24.8 + ` + redfish_test.CollectAndCompare(t, collector, expected, + "redfish_chassis_temperature_celsius", + ) +} From a5b6fa72f19cf14d4f4f9b912c54a12036d1f091 Mon Sep 17 00:00:00 2001 From: MurrayGroves Date: Wed, 28 Oct 2026 11:27:02 +0000 Subject: [PATCH 21/33] Use pedantic registry, properly describe sub-collectors The pedantic registry performs metadata validation at collector registration instead of at collection time. Also enforces that only described metrics are sent. --- collector/chassis/collector.go | 7 +- .../chassis/network_adapters/collector.go | 11 ++- collector/chassis/power/collector.go | 11 ++- .../chassis/power_subsystem/collector.go | 11 ++- collector/chassis/thermal/collector.go | 11 ++- .../chassis/thermal_subsystem/collector.go | 20 ++--- .../thermal_subsystem/fans/collector.go | 11 ++- .../thermal_metrics/collector.go | 11 ++- collector/collector.go | 9 +- collector/manager/collector.go | 26 +++--- collector/system/collector.go | 82 ++++++++++--------- .../system/ethernet_interfaces/collector.go | 11 ++- collector/system/memory/collector.go | 11 ++- .../system/network_interfaces/collector.go | 11 ++- collector/system/pcie_devices/collector.go | 11 ++- collector/system/pcie_functions/collector.go | 11 ++- collector/system/processors/collector.go | 11 ++- collector/system/simple_storage/collector.go | 11 ++- collector/system/storage/collector.go | 14 +++- collector/system/storage/drives/collector.go | 11 ++- .../storage/storage_controllers/collector.go | 11 ++- collector/system/storage/volumes/collector.go | 11 ++- main.go | 17 +++- 23 files changed, 214 insertions(+), 137 deletions(-) diff --git a/collector/chassis/collector.go b/collector/chassis/collector.go index 2c64846c..06e2d9fc 100755 --- a/collector/chassis/collector.go +++ b/collector/chassis/collector.go @@ -13,6 +13,7 @@ import ( "github.com/stackhpc/redfish_exporter/collector/chassis/power" "github.com/stackhpc/redfish_exporter/collector/chassis/power_subsystem" "github.com/stackhpc/redfish_exporter/collector/chassis/thermal" + "github.com/stackhpc/redfish_exporter/collector/chassis/thermal_subsystem" "github.com/stackhpc/redfish_exporter/common" ) @@ -80,7 +81,11 @@ func (c *Collector) Describe(ch chan<- *prometheus.Desc) { ch <- metric.Desc } c.collectorScrapeStatus.Describe(ch) - + network_adapters.Describe(ch) + power.Describe(ch) + power_subsystem.Describe(ch) + thermal.Describe(ch) + thermal_subsystem.Describe(ch) } // Collect implemented prometheus.Collector diff --git a/collector/chassis/network_adapters/collector.go b/collector/chassis/network_adapters/collector.go index a687d43e..42a03481 100644 --- a/collector/chassis/network_adapters/collector.go +++ b/collector/chassis/network_adapters/collector.go @@ -37,7 +37,6 @@ func createMetricMap() map[string]common.Metric { // Implements the prometheus.Collector. type Collector struct { Ctx *common.CollectionContext - metrics map[string]common.Metric Log *slog.Logger chassis *schemas.Chassis } @@ -45,7 +44,6 @@ type Collector struct { // NewCollector returns a collector that collects chassis network adapter data func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, chassis *schemas.Chassis) *Collector { return &Collector{ - metrics: metricMap, Ctx: ctx, Log: logger.With( "collector", Subsystem, @@ -55,12 +53,17 @@ func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, chassis *s } // Describe implemented prometheus.Collector -func (c *Collector) Describe(ch chan<- *prometheus.Desc) { - for _, metric := range c.metrics { +func Describe(ch chan<- *prometheus.Desc) { + for _, metric := range metricMap { ch <- metric.Desc } } +// Describe implemented prometheus.Collector +func (c *Collector) Describe(ch chan<- *prometheus.Desc) { + Describe(ch) +} + func (c *Collector) Collect(ch chan<- prometheus.Metric) { wg := &sync.WaitGroup{} diff --git a/collector/chassis/power/collector.go b/collector/chassis/power/collector.go index d67e93a5..9f980cdc 100644 --- a/collector/chassis/power/collector.go +++ b/collector/chassis/power/collector.go @@ -31,7 +31,6 @@ func createMetricMap() map[string]common.Metric { // Implements the prometheus.Collector. type Collector struct { Ctx *common.CollectionContext - metrics map[string]common.Metric Log *slog.Logger chassis *schemas.Chassis } @@ -39,7 +38,6 @@ type Collector struct { // NewCollector returns a collector that collects chassis power data func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, chassis *schemas.Chassis) *Collector { return &Collector{ - metrics: metricMap, Ctx: ctx, Log: logger.With( "collector", Subsystem, @@ -49,13 +47,18 @@ func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, chassis *s } // Describe implemented prometheus.Collector -func (c *Collector) Describe(ch chan<- *prometheus.Desc) { - for _, metric := range c.metrics { +func Describe(ch chan<- *prometheus.Desc) { + for _, metric := range metricMap { ch <- metric.Desc } power_common.Describe(ch) } +// Describe implemented prometheus.Collector +func (c *Collector) Describe(ch chan<- *prometheus.Desc) { + Describe(ch) +} + func (c *Collector) Collect(ch chan<- prometheus.Metric) { powerInfo, err := c.chassis.Power() if err != nil { diff --git a/collector/chassis/power_subsystem/collector.go b/collector/chassis/power_subsystem/collector.go index 6361f4f2..a4a319f1 100644 --- a/collector/chassis/power_subsystem/collector.go +++ b/collector/chassis/power_subsystem/collector.go @@ -25,7 +25,6 @@ func createMetricMap() map[string]common.Metric { // Implements the prometheus.Collector. type Collector struct { Ctx *common.CollectionContext - metrics map[string]common.Metric Log *slog.Logger chassis *schemas.Chassis } @@ -33,7 +32,6 @@ type Collector struct { // NewCollector returns a collector that collects chassis power data func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, chassis *schemas.Chassis) *Collector { return &Collector{ - metrics: metricMap, Ctx: ctx, Log: logger.With( "collector", Subsystem, @@ -43,12 +41,17 @@ func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, chassis *s } // Describe implemented prometheus.Collector -func (c *Collector) Describe(ch chan<- *prometheus.Desc) { - for _, metric := range c.metrics { +func Describe(ch chan<- *prometheus.Desc) { + for _, metric := range metricMap { ch <- metric.Desc } } +// Describe implemented prometheus.Collector +func (c *Collector) Describe(ch chan<- *prometheus.Desc) { + Describe(ch) +} + func (c *Collector) Collect(ch chan<- prometheus.Metric) { powerSubsystem, err := c.chassis.PowerSubsystem() diff --git a/collector/chassis/thermal/collector.go b/collector/chassis/thermal/collector.go index 6e0963a1..1739e833 100644 --- a/collector/chassis/thermal/collector.go +++ b/collector/chassis/thermal/collector.go @@ -45,7 +45,6 @@ func createMetricMap() map[string]common.Metric { // Implements the prometheus.Collector. type Collector struct { Ctx *common.CollectionContext - metrics map[string]common.Metric Log *slog.Logger chassis *schemas.Chassis } @@ -53,7 +52,6 @@ type Collector struct { // NewCollector returns a collector that collects chassis thermal data func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, chassis *schemas.Chassis) *Collector { return &Collector{ - metrics: metricMap, Ctx: ctx, Log: logger.With( "collector", Subsystem, @@ -63,12 +61,17 @@ func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, chassis *s } // Describe implemented prometheus.Collector -func (c *Collector) Describe(ch chan<- *prometheus.Desc) { - for _, metric := range c.metrics { +func Describe(ch chan<- *prometheus.Desc) { + for _, metric := range metricMap { ch <- metric.Desc } } +// Describe implemented prometheus.Collector +func (c *Collector) Describe(ch chan<- *prometheus.Desc) { + Describe(ch) +} + // Given a chassis, collect data from its Thermal resource func (c *Collector) Collect(ch chan<- prometheus.Metric) { thermal, err := c.chassis.Thermal() diff --git a/collector/chassis/thermal_subsystem/collector.go b/collector/chassis/thermal_subsystem/collector.go index 68ce2e12..a0ed03cd 100644 --- a/collector/chassis/thermal_subsystem/collector.go +++ b/collector/chassis/thermal_subsystem/collector.go @@ -13,20 +13,11 @@ import ( var ( Subsystem = "chassis" - - metricMap = createMetricMap() ) -func createMetricMap() map[string]common.Metric { - metrics := make(map[string]common.Metric) - - return metrics -} - // Implements the prometheus.Collector. type Collector struct { Ctx *common.CollectionContext - metrics map[string]common.Metric Log *slog.Logger chassis *schemas.Chassis } @@ -34,7 +25,6 @@ type Collector struct { // NewCollector returns a collector that collects chassis thermal data func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, chassis *schemas.Chassis) *Collector { return &Collector{ - metrics: metricMap, Ctx: ctx, Log: logger.With( "collector", Subsystem, @@ -43,11 +33,15 @@ func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, chassis *s } } +// Describe implemented prometheus.Collector +func Describe(ch chan<- *prometheus.Desc) { + fans.Describe(ch) + thermal_metrics.Describe(ch) +} + // Describe implemented prometheus.Collector func (c *Collector) Describe(ch chan<- *prometheus.Desc) { - for _, metric := range c.metrics { - ch <- metric.Desc - } + Describe(ch) } // Given a chassis, collect data from its ThermalSubsystem diff --git a/collector/chassis/thermal_subsystem/fans/collector.go b/collector/chassis/thermal_subsystem/fans/collector.go index 3991c93e..03f28986 100644 --- a/collector/chassis/thermal_subsystem/fans/collector.go +++ b/collector/chassis/thermal_subsystem/fans/collector.go @@ -25,7 +25,6 @@ func createMetricMap() map[string]common.Metric { // Implements the prometheus.Collector. type Collector struct { Ctx *common.CollectionContext - metrics map[string]common.Metric Log *slog.Logger thermalSubsystem *schemas.ThermalSubsystem chassisID *string @@ -34,7 +33,6 @@ type Collector struct { // NewCollector returns a collector that collects thermal subsystem fan data func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, chassisID *string, thermalSubsystem *schemas.ThermalSubsystem) *Collector { return &Collector{ - metrics: metricMap, Ctx: ctx, Log: logger.With( "collector", Subsystem, @@ -45,12 +43,17 @@ func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, chassisID } // Describe implemented prometheus.Collector -func (c *Collector) Describe(ch chan<- *prometheus.Desc) { - for _, metric := range c.metrics { +func Describe(ch chan<- *prometheus.Desc) { + for _, metric := range metricMap { ch <- metric.Desc } } +// Describe implemented prometheus.Collector +func (c *Collector) Describe(ch chan<- *prometheus.Desc) { + Describe(ch) +} + // Given a ThermalSubsystem, collect data from its Fans func (c *Collector) Collect(ch chan<- prometheus.Metric) { chassisFans, err := c.thermalSubsystem.Fans() diff --git a/collector/chassis/thermal_subsystem/thermal_metrics/collector.go b/collector/chassis/thermal_subsystem/thermal_metrics/collector.go index c078a912..36b45db7 100644 --- a/collector/chassis/thermal_subsystem/thermal_metrics/collector.go +++ b/collector/chassis/thermal_subsystem/thermal_metrics/collector.go @@ -28,7 +28,6 @@ func createMetricMap() map[string]common.Metric { // Implements the prometheus.Collector. type Collector struct { Ctx *common.CollectionContext - metrics map[string]common.Metric Log *slog.Logger thermalSubsystem *schemas.ThermalSubsystem chassisID *string @@ -37,7 +36,6 @@ type Collector struct { // NewCollector returns a collector that collects thermal subsystem fan data func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, chassisID *string, thermalSubsystem *schemas.ThermalSubsystem) *Collector { return &Collector{ - metrics: metricMap, Ctx: ctx, Log: logger.With( "collector", Subsystem, @@ -48,12 +46,17 @@ func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, chassisID } // Describe implemented prometheus.Collector -func (c *Collector) Describe(ch chan<- *prometheus.Desc) { - for _, metric := range c.metrics { +func Describe(ch chan<- *prometheus.Desc) { + for _, metric := range metricMap { ch <- metric.Desc } } +// Describe implemented prometheus.Collector +func (c *Collector) Describe(ch chan<- *prometheus.Desc) { + Describe(ch) +} + // Given a ThermalSubsystem, collect thermal metric data func (c *Collector) Collect(ch chan<- prometheus.Metric) { thermalMetrics, err := c.thermalSubsystem.ThermalMetrics() diff --git a/collector/collector.go b/collector/collector.go index fc18650d..4fbffe11 100755 --- a/collector/collector.go +++ b/collector/collector.go @@ -32,6 +32,12 @@ var ( "Collector time duration.", nil, nil, ) + upDesc = prometheus.NewDesc( + prometheus.BuildFQName(namespace, "", "up"), + "redfish up", + nil, + nil, + ) ) // RedfishCollector collects redfish metrics. It implements prometheus.Collector. @@ -69,7 +75,8 @@ func (r *RedfishCollector) Describe(ch chan<- *prometheus.Desc) { for _, collector := range r.collectors { collector.Describe(ch) } - + ch <- totalScrapeDurationDesc + ch <- upDesc } // Collect implements prometheus.Collector. diff --git a/collector/manager/collector.go b/collector/manager/collector.go index f4d63eb9..6bb29101 100755 --- a/collector/manager/collector.go +++ b/collector/manager/collector.go @@ -20,35 +20,33 @@ var ( ManagerLogServiceLabelNames = []string{"manager_id", "log_service", "log_service_id", "log_service_enabled", "log_service_overwrite_policy"} ManagerLogEntryLabelNames = []string{"manager_id", "log_service", "log_service_id", "log_entry", "log_entry_id", "log_entry_code", "log_entry_type", "log_entry_message_id", "log_entry_sensor_number", "log_entry_sensor_type"} - metricMap = createManagerMetricMap() + metricMap = createMetricMap() ) // Collector implements the prometheus.Collector. type Collector struct { Ctx *common.CollectionContext - metrics map[string]common.Metric collectorScrapeStatus *prometheus.GaugeVec Log *slog.Logger } -func createManagerMetricMap() map[string]common.Metric { - managerMetrics := make(map[string]common.Metric) - common.AddToMetricMap(managerMetrics, ManagerSubmanager, "state", fmt.Sprintf("manager state,%s", common.StateHelp), ManagerLabelNames) - common.AddToMetricMap(managerMetrics, ManagerSubmanager, "health_state", fmt.Sprintf("manager health,%s", common.HealthHelp), ManagerLabelNames) - common.AddToMetricMap(managerMetrics, ManagerSubmanager, "power_state", "manager power state", ManagerLabelNames) - common.AddToMetricMap(managerMetrics, ManagerSubmanager, "firmware_info", "manager firmware version, value is always 1", ManagerFirmwareLabelNames) +func createMetricMap() map[string]common.Metric { + metrics := make(map[string]common.Metric) + common.AddToMetricMap(metrics, ManagerSubmanager, "state", fmt.Sprintf("manager state,%s", common.StateHelp), ManagerLabelNames) + common.AddToMetricMap(metrics, ManagerSubmanager, "health_state", fmt.Sprintf("manager health,%s", common.HealthHelp), ManagerLabelNames) + common.AddToMetricMap(metrics, ManagerSubmanager, "power_state", "manager power state", ManagerLabelNames) + common.AddToMetricMap(metrics, ManagerSubmanager, "firmware_info", "manager firmware version, value is always 1", ManagerFirmwareLabelNames) - common.AddToMetricMap(managerMetrics, ManagerSubmanager, "log_service_state", fmt.Sprintf("manager log service state,%s", common.StateHelp), ManagerLogServiceLabelNames) - common.AddToMetricMap(managerMetrics, ManagerSubmanager, "log_service_health_state", fmt.Sprintf("manager log service health state,%s", common.HealthHelp), ManagerLogServiceLabelNames) - common.AddToMetricMap(managerMetrics, ManagerSubmanager, "log_entry_severity_state", fmt.Sprintf("manager log entry severity state,%s", common.SeverityHelp), ManagerLogEntryLabelNames) + common.AddToMetricMap(metrics, ManagerSubmanager, "log_service_state", fmt.Sprintf("manager log service state,%s", common.StateHelp), ManagerLogServiceLabelNames) + common.AddToMetricMap(metrics, ManagerSubmanager, "log_service_health_state", fmt.Sprintf("manager log service health state,%s", common.HealthHelp), ManagerLogServiceLabelNames) + common.AddToMetricMap(metrics, ManagerSubmanager, "log_entry_severity_state", fmt.Sprintf("manager log entry severity state,%s", common.SeverityHelp), ManagerLogEntryLabelNames) - return managerMetrics + return metrics } // NewCollector returns a collector that collecting memory statistics func NewCollector(ctx *common.CollectionContext, logger *slog.Logger) *Collector { return &Collector{ - metrics: metricMap, Ctx: ctx, Log: logger.With( "collector", "ManagerCollector", @@ -66,7 +64,7 @@ func NewCollector(ctx *common.CollectionContext, logger *slog.Logger) *Collector // Describe implemented prometheus.Collector func (m *Collector) Describe(ch chan<- *prometheus.Desc) { - for _, metric := range m.metrics { + for _, metric := range metricMap { ch <- metric.Desc } m.collectorScrapeStatus.Describe(ch) diff --git a/collector/system/collector.go b/collector/system/collector.go index 45597d8f..da82df2f 100755 --- a/collector/system/collector.go +++ b/collector/system/collector.go @@ -27,45 +27,43 @@ var ( SystemLogServiceLabelNames = []string{"system_id", "log_service", "log_service_id", "log_service_enabled", "log_service_overwrite_policy"} SystemLogEntryLabelNames = []string{"system_id", "log_service", "log_service_id", "log_entry", "log_entry_id", "log_entry_code", "log_entry_type", "log_entry_message_id", "log_entry_sensor_number", "log_entry_sensor_type"} - systemMetrics = createSystemMetricMap() + metricMap = createMetricMap() ) -// Collector implements the prometheus.Collector. -type Collector struct { - Ctx *common.CollectionContext - metrics map[string]common.Metric - prometheus.Collector - collectorScrapeStatus *prometheus.GaugeVec - Log *slog.Logger -} +func createMetricMap() map[string]common.Metric { + metrics := make(map[string]common.Metric) -func createSystemMetricMap() map[string]common.Metric { - systemMetrics := make(map[string]common.Metric) + common.AddToMetricMap(metrics, Subsystem, "state", fmt.Sprintf("system state,%s", common.StateHelp), SystemLabelNames) + common.AddToMetricMap(metrics, Subsystem, "health_state", fmt.Sprintf("system health,%s", common.HealthHelp), SystemLabelNames) + common.AddToMetricMap(metrics, Subsystem, "power_state", "system power state", SystemLabelNames) + common.AddToMetricMap(metrics, Subsystem, "bios_info", "system BIOS version, value is always 1", SystemBIOSLabelNames) - common.AddToMetricMap(systemMetrics, Subsystem, "state", fmt.Sprintf("system state,%s", common.StateHelp), SystemLabelNames) - common.AddToMetricMap(systemMetrics, Subsystem, "health_state", fmt.Sprintf("system health,%s", common.HealthHelp), SystemLabelNames) - common.AddToMetricMap(systemMetrics, Subsystem, "power_state", "system power state", SystemLabelNames) - common.AddToMetricMap(systemMetrics, Subsystem, "bios_info", "system BIOS version, value is always 1", SystemBIOSLabelNames) + common.AddToMetricMap(metrics, Subsystem, "total_memory_state", fmt.Sprintf("system overall memory state,%s", common.StateHelp), SystemLabelNames) + common.AddToMetricMap(metrics, Subsystem, "total_memory_health_state", fmt.Sprintf("system overall memory health,%s", common.HealthHelp), SystemLabelNames) + common.AddToMetricMap(metrics, Subsystem, "total_memory_size", "system total memory size, GiB", SystemLabelNames) - common.AddToMetricMap(systemMetrics, Subsystem, "total_memory_state", fmt.Sprintf("system overall memory state,%s", common.StateHelp), SystemLabelNames) - common.AddToMetricMap(systemMetrics, Subsystem, "total_memory_health_state", fmt.Sprintf("system overall memory health,%s", common.HealthHelp), SystemLabelNames) - common.AddToMetricMap(systemMetrics, Subsystem, "total_memory_size", "system total memory size, GiB", SystemLabelNames) + common.AddToMetricMap(metrics, Subsystem, "total_processor_state", fmt.Sprintf("system overall processor state,%s", common.StateHelp), SystemLabelNames) + common.AddToMetricMap(metrics, Subsystem, "total_processor_health_state", fmt.Sprintf("system overall processor health,%s", common.HealthHelp), SystemLabelNames) + common.AddToMetricMap(metrics, Subsystem, "total_processor_count", "system total processor count", SystemLabelNames) - common.AddToMetricMap(systemMetrics, Subsystem, "total_processor_state", fmt.Sprintf("system overall processor state,%s", common.StateHelp), SystemLabelNames) - common.AddToMetricMap(systemMetrics, Subsystem, "total_processor_health_state", fmt.Sprintf("system overall processor health,%s", common.HealthHelp), SystemLabelNames) - common.AddToMetricMap(systemMetrics, Subsystem, "total_processor_count", "system total processor count", SystemLabelNames) + common.AddToMetricMap(metrics, Subsystem, "log_service_state", fmt.Sprintf("system log service state,%s", common.StateHelp), SystemLogServiceLabelNames) + common.AddToMetricMap(metrics, Subsystem, "log_service_health_state", fmt.Sprintf("system log service health state,%s", common.HealthHelp), SystemLogServiceLabelNames) + common.AddToMetricMap(metrics, Subsystem, "log_entry_severity_state", fmt.Sprintf("system log entry severity state,%s", common.SeverityHelp), SystemLogEntryLabelNames) - common.AddToMetricMap(systemMetrics, Subsystem, "log_service_state", fmt.Sprintf("system log service state,%s", common.StateHelp), SystemLogServiceLabelNames) - common.AddToMetricMap(systemMetrics, Subsystem, "log_service_health_state", fmt.Sprintf("system log service health state,%s", common.HealthHelp), SystemLogServiceLabelNames) - common.AddToMetricMap(systemMetrics, Subsystem, "log_entry_severity_state", fmt.Sprintf("system log entry severity state,%s", common.SeverityHelp), SystemLogEntryLabelNames) + return metrics +} - return systemMetrics +// Collector implements the prometheus.Collector. +type Collector struct { + Ctx *common.CollectionContext + prometheus.Collector + collectorScrapeStatus *prometheus.GaugeVec + Log *slog.Logger } // NewCollector returns a collector that collecting memory statistics func NewCollector(ctx *common.CollectionContext, logger *slog.Logger) *Collector { return &Collector{ - metrics: systemMetrics, Ctx: ctx, Log: logger.With( "collector", "SystemCollector", @@ -83,10 +81,18 @@ func NewCollector(ctx *common.CollectionContext, logger *slog.Logger) *Collector // Describe implements prometheus.Collector. func (c *Collector) Describe(ch chan<- *prometheus.Desc) { - for _, metric := range c.metrics { + for _, metric := range metricMap { ch <- metric.Desc } c.collectorScrapeStatus.Describe(ch) + ethernet_interfaces.Describe(ch) + memory.Describe(ch) + network_interfaces.Describe(ch) + pcie_devices.Describe(ch) + pcie_functions.Describe(ch) + processors.Describe(ch) + simple_storage.Describe(ch) + storage.Describe(ch) } // Collect implements prometheus.Collector. @@ -163,34 +169,34 @@ func (c *Collector) Collect(ch chan<- prometheus.Metric) { func (c *Collector) collectOverallMetrics(ch chan<- prometheus.Metric, system *schemas.ComputerSystem) { systemLabelValues := []string{system.HostName, "system", system.ID} if healthStatusValue, ok := common.ParseCommonStatusHealth(system.Status.Health); ok { - ch <- prometheus.MustNewConstMetric(c.metrics["system_health_state"].Desc, prometheus.GaugeValue, healthStatusValue, systemLabelValues...) + ch <- prometheus.MustNewConstMetric(metricMap["system_health_state"].Desc, prometheus.GaugeValue, healthStatusValue, systemLabelValues...) } if stateValue, ok := common.ParseCommonStatusState(system.Status.State); ok { - ch <- prometheus.MustNewConstMetric(c.metrics["system_state"].Desc, prometheus.GaugeValue, stateValue, systemLabelValues...) + ch <- prometheus.MustNewConstMetric(metricMap["system_state"].Desc, prometheus.GaugeValue, stateValue, systemLabelValues...) } if powerStateValue, ok := common.ParseCommonPowerState(system.PowerState); ok { - ch <- prometheus.MustNewConstMetric(c.metrics["system_power_state"].Desc, prometheus.GaugeValue, powerStateValue, systemLabelValues...) + ch <- prometheus.MustNewConstMetric(metricMap["system_power_state"].Desc, prometheus.GaugeValue, powerStateValue, systemLabelValues...) } if system.BiosVersion != "" { - ch <- prometheus.MustNewConstMetric(c.metrics["system_bios_info"].Desc, prometheus.GaugeValue, 1, append(systemLabelValues, system.BiosVersion)...) + ch <- prometheus.MustNewConstMetric(metricMap["system_bios_info"].Desc, prometheus.GaugeValue, 1, append(systemLabelValues, system.BiosVersion)...) } if totalProcessorsStateValue, ok := common.ParseCommonStatusState(system.ProcessorSummary.Status.State); ok { - ch <- prometheus.MustNewConstMetric(c.metrics["system_total_processor_state"].Desc, prometheus.GaugeValue, totalProcessorsStateValue, systemLabelValues...) + ch <- prometheus.MustNewConstMetric(metricMap["system_total_processor_state"].Desc, prometheus.GaugeValue, totalProcessorsStateValue, systemLabelValues...) if system.ProcessorSummary.Count != nil { - ch <- prometheus.MustNewConstMetric(c.metrics["system_total_processor_count"].Desc, prometheus.GaugeValue, float64(*system.ProcessorSummary.Count), systemLabelValues...) + ch <- prometheus.MustNewConstMetric(metricMap["system_total_processor_count"].Desc, prometheus.GaugeValue, float64(*system.ProcessorSummary.Count), systemLabelValues...) } } if totalProcessorsHealthStatusValue, ok := common.ParseCommonStatusHealth(system.ProcessorSummary.Status.Health); ok { - ch <- prometheus.MustNewConstMetric(c.metrics["system_total_processor_health_state"].Desc, prometheus.GaugeValue, totalProcessorsHealthStatusValue, systemLabelValues...) + ch <- prometheus.MustNewConstMetric(metricMap["system_total_processor_health_state"].Desc, prometheus.GaugeValue, totalProcessorsHealthStatusValue, systemLabelValues...) } if totalMemoryStateValue, ok := common.ParseCommonStatusState(system.MemorySummary.Status.State); ok { - ch <- prometheus.MustNewConstMetric(c.metrics["system_total_memory_state"].Desc, prometheus.GaugeValue, totalMemoryStateValue, systemLabelValues...) + ch <- prometheus.MustNewConstMetric(metricMap["system_total_memory_state"].Desc, prometheus.GaugeValue, totalMemoryStateValue, systemLabelValues...) if system.MemorySummary.TotalSystemMemoryGiB != nil { - ch <- prometheus.MustNewConstMetric(c.metrics["system_total_memory_size"].Desc, prometheus.GaugeValue, float64(*system.MemorySummary.TotalSystemMemoryGiB), systemLabelValues...) + ch <- prometheus.MustNewConstMetric(metricMap["system_total_memory_size"].Desc, prometheus.GaugeValue, float64(*system.MemorySummary.TotalSystemMemoryGiB), systemLabelValues...) } } if totalMemoryHealthStatusValue, ok := common.ParseCommonStatusHealth(system.MemorySummary.Status.Health); ok { - ch <- prometheus.MustNewConstMetric(c.metrics["system_total_memory_health_state"].Desc, prometheus.GaugeValue, totalMemoryHealthStatusValue, systemLabelValues...) + ch <- prometheus.MustNewConstMetric(metricMap["system_total_memory_health_state"].Desc, prometheus.GaugeValue, totalMemoryHealthStatusValue, systemLabelValues...) } } @@ -207,7 +213,7 @@ func (c *Collector) collectLogs(ch chan<- prometheus.Metric, system *schemas.Com wg := &sync.WaitGroup{} for _, logService := range logServices { wg.Go(func() { - if err = common.ParseLogService(ch, systemMetrics, c.Ctx, c.Log.With("log_service", logService.ID), Subsystem, system.ID, logService); err != nil { + if err = common.ParseLogService(ch, metricMap, c.Ctx, c.Log.With("log_service", logService.ID), Subsystem, system.ID, logService); err != nil { c.Log.Error("error getting log entries from log service", "operation", "chassis.LogServices()", "err", err) } }) diff --git a/collector/system/ethernet_interfaces/collector.go b/collector/system/ethernet_interfaces/collector.go index 2b54b654..015be414 100644 --- a/collector/system/ethernet_interfaces/collector.go +++ b/collector/system/ethernet_interfaces/collector.go @@ -33,7 +33,6 @@ func createMetricMap() map[string]common.Metric { // Implements the prometheus.Collector. type Collector struct { Ctx *common.CollectionContext - metrics map[string]common.Metric Log *slog.Logger system *schemas.ComputerSystem } @@ -41,7 +40,6 @@ type Collector struct { // NewCollector returns a collector that collects system memory data func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, system *schemas.ComputerSystem) *Collector { return &Collector{ - metrics: metricMap, Ctx: ctx, Log: logger.With( "collector", Subsystem, @@ -52,12 +50,17 @@ func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, system *sc } // Describe implemented prometheus.Collector -func (c *Collector) Describe(ch chan<- *prometheus.Desc) { - for _, metric := range c.metrics { +func Describe(ch chan<- *prometheus.Desc) { + for _, metric := range metricMap { ch <- metric.Desc } } +// Describe implemented prometheus.Collector +func (c *Collector) Describe(ch chan<- *prometheus.Desc) { + Describe(ch) +} + func (c *Collector) Collect(ch chan<- prometheus.Metric) { ethernetInterfaces, err := c.system.EthernetInterfaces() if err != nil { diff --git a/collector/system/memory/collector.go b/collector/system/memory/collector.go index 1bc6a692..085fb7bd 100644 --- a/collector/system/memory/collector.go +++ b/collector/system/memory/collector.go @@ -31,7 +31,6 @@ func createMetricMap() map[string]common.Metric { // Implements the prometheus.Collector. type Collector struct { Ctx *common.CollectionContext - metrics map[string]common.Metric Log *slog.Logger system *schemas.ComputerSystem } @@ -39,7 +38,6 @@ type Collector struct { // NewCollector returns a collector that collects system memory data func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, system *schemas.ComputerSystem) *Collector { return &Collector{ - metrics: metricMap, Ctx: ctx, Log: logger.With( "collector", Subsystem, @@ -50,12 +48,17 @@ func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, system *sc } // Describe implemented prometheus.Collector -func (c *Collector) Describe(ch chan<- *prometheus.Desc) { - for _, metric := range c.metrics { +func Describe(ch chan<- *prometheus.Desc) { + for _, metric := range metricMap { ch <- metric.Desc } } +// Describe implemented prometheus.Collector +func (c *Collector) Describe(ch chan<- *prometheus.Desc) { + Describe(ch) +} + func (c *Collector) Collect(ch chan<- prometheus.Metric) { memories, err := c.system.Memory() if err != nil { diff --git a/collector/system/network_interfaces/collector.go b/collector/system/network_interfaces/collector.go index a84b7ad2..d666ed4c 100644 --- a/collector/system/network_interfaces/collector.go +++ b/collector/system/network_interfaces/collector.go @@ -30,7 +30,6 @@ func createMetricMap() map[string]common.Metric { // Implements the prometheus.Collector. type Collector struct { Ctx *common.CollectionContext - metrics map[string]common.Metric Log *slog.Logger system *schemas.ComputerSystem } @@ -38,7 +37,6 @@ type Collector struct { // NewCollector returns a collector that collects system memory data func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, system *schemas.ComputerSystem) *Collector { return &Collector{ - metrics: metricMap, Ctx: ctx, Log: logger.With( "collector", Subsystem, @@ -49,12 +47,17 @@ func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, system *sc } // Describe implemented prometheus.Collector -func (c *Collector) Describe(ch chan<- *prometheus.Desc) { - for _, metric := range c.metrics { +func Describe(ch chan<- *prometheus.Desc) { + for _, metric := range metricMap { ch <- metric.Desc } } +// Describe implemented prometheus.Collector +func (c *Collector) Describe(ch chan<- *prometheus.Desc) { + Describe(ch) +} + func (c *Collector) Collect(ch chan<- prometheus.Metric) { networkInterfaces, err := c.system.NetworkInterfaces() if err != nil { diff --git a/collector/system/pcie_devices/collector.go b/collector/system/pcie_devices/collector.go index dd81bc9b..7254cb91 100644 --- a/collector/system/pcie_devices/collector.go +++ b/collector/system/pcie_devices/collector.go @@ -30,7 +30,6 @@ func createMetricMap() map[string]common.Metric { // Implements the prometheus.Collector. type Collector struct { Ctx *common.CollectionContext - metrics map[string]common.Metric Log *slog.Logger system *schemas.ComputerSystem } @@ -38,7 +37,6 @@ type Collector struct { // NewCollector returns a collector that collects system memory data func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, system *schemas.ComputerSystem) *Collector { return &Collector{ - metrics: metricMap, Ctx: ctx, Log: logger.With( "collector", Subsystem, @@ -49,12 +47,17 @@ func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, system *sc } // Describe implemented prometheus.Collector -func (c *Collector) Describe(ch chan<- *prometheus.Desc) { - for _, metric := range c.metrics { +func Describe(ch chan<- *prometheus.Desc) { + for _, metric := range metricMap { ch <- metric.Desc } } +// Describe implemented prometheus.Collector +func (c *Collector) Describe(ch chan<- *prometheus.Desc) { + Describe(ch) +} + func (c *Collector) Collect(ch chan<- prometheus.Metric) { pcieDevices, err := c.system.PCIeDevices() if err != nil { diff --git a/collector/system/pcie_functions/collector.go b/collector/system/pcie_functions/collector.go index 320650e7..852142fb 100644 --- a/collector/system/pcie_functions/collector.go +++ b/collector/system/pcie_functions/collector.go @@ -30,7 +30,6 @@ func createMetricMap() map[string]common.Metric { // Implements the prometheus.Collector. type Collector struct { Ctx *common.CollectionContext - metrics map[string]common.Metric Log *slog.Logger system *schemas.ComputerSystem } @@ -38,7 +37,6 @@ type Collector struct { // NewCollector returns a collector that collects system memory data func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, system *schemas.ComputerSystem) *Collector { return &Collector{ - metrics: metricMap, Ctx: ctx, Log: logger.With( "collector", Subsystem, @@ -49,12 +47,17 @@ func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, system *sc } // Describe implemented prometheus.Collector -func (c *Collector) Describe(ch chan<- *prometheus.Desc) { - for _, metric := range c.metrics { +func Describe(ch chan<- *prometheus.Desc) { + for _, metric := range metricMap { ch <- metric.Desc } } +// Describe implemented prometheus.Collector +func (c *Collector) Describe(ch chan<- *prometheus.Desc) { + Describe(ch) +} + func (c *Collector) Collect(ch chan<- prometheus.Metric) { pcieFunctions, err := c.system.PCIeFunctions() if err != nil { diff --git a/collector/system/processors/collector.go b/collector/system/processors/collector.go index 727d594e..27376c47 100644 --- a/collector/system/processors/collector.go +++ b/collector/system/processors/collector.go @@ -34,7 +34,6 @@ func createMetricMap() map[string]common.Metric { // Implements the prometheus.Collector. type Collector struct { Ctx *common.CollectionContext - metrics map[string]common.Metric Log *slog.Logger system *schemas.ComputerSystem } @@ -42,7 +41,6 @@ type Collector struct { // NewCollector returns a collector that collects system memory data func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, system *schemas.ComputerSystem) *Collector { return &Collector{ - metrics: metricMap, Ctx: ctx, Log: logger.With( "collector", Subsystem, @@ -53,12 +51,17 @@ func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, system *sc } // Describe implemented prometheus.Collector -func (c *Collector) Describe(ch chan<- *prometheus.Desc) { - for _, metric := range c.metrics { +func Describe(ch chan<- *prometheus.Desc) { + for _, metric := range metricMap { ch <- metric.Desc } } +// Describe implemented prometheus.Collector +func (c *Collector) Describe(ch chan<- *prometheus.Desc) { + Describe(ch) +} + func (c *Collector) Collect(ch chan<- prometheus.Metric) { processors, err := c.system.Processors() if err != nil { diff --git a/collector/system/simple_storage/collector.go b/collector/system/simple_storage/collector.go index 5d979e51..76ed30af 100644 --- a/collector/system/simple_storage/collector.go +++ b/collector/system/simple_storage/collector.go @@ -30,7 +30,6 @@ func createMetricMap() map[string]common.Metric { // Implements the prometheus.Collector. type Collector struct { Ctx *common.CollectionContext - metrics map[string]common.Metric Log *slog.Logger system *schemas.ComputerSystem } @@ -38,7 +37,6 @@ type Collector struct { // NewCollector returns a collector that collects system memory data func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, system *schemas.ComputerSystem) *Collector { return &Collector{ - metrics: metricMap, Ctx: ctx, Log: logger.With( "collector", Subsystem, @@ -49,12 +47,17 @@ func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, system *sc } // Describe implemented prometheus.Collector -func (c *Collector) Describe(ch chan<- *prometheus.Desc) { - for _, metric := range c.metrics { +func Describe(ch chan<- *prometheus.Desc) { + for _, metric := range metricMap { ch <- metric.Desc } } +// Describe implemented prometheus.Collector +func (c *Collector) Describe(ch chan<- *prometheus.Desc) { + Describe(ch) +} + func (c *Collector) Collect(ch chan<- prometheus.Metric) { simpleStorages, err := c.system.SimpleStorage() if err != nil { diff --git a/collector/system/storage/collector.go b/collector/system/storage/collector.go index ac41ccca..6b0417d6 100644 --- a/collector/system/storage/collector.go +++ b/collector/system/storage/collector.go @@ -27,7 +27,6 @@ func createMetricMap() map[string]common.Metric { // Implements the prometheus.Collector. type Collector struct { Ctx *common.CollectionContext - metrics map[string]common.Metric Log *slog.Logger system *schemas.ComputerSystem } @@ -35,7 +34,6 @@ type Collector struct { // NewCollector returns a collector that collects system memory data func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, system *schemas.ComputerSystem) *Collector { return &Collector{ - metrics: metricMap, Ctx: ctx, Log: logger.With( "collector", Subsystem, @@ -46,10 +44,18 @@ func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, system *sc } // Describe implemented prometheus.Collector -func (c *Collector) Describe(ch chan<- *prometheus.Desc) { - for _, metric := range c.metrics { +func Describe(ch chan<- *prometheus.Desc) { + for _, metric := range metricMap { ch <- metric.Desc } + drives.Describe(ch) + storage_controllers.Describe(ch) + volumes.Describe(ch) +} + +// Describe implemented prometheus.Collector +func (c *Collector) Describe(ch chan<- *prometheus.Desc) { + Describe(ch) } func (c *Collector) Collect(ch chan<- prometheus.Metric) { diff --git a/collector/system/storage/drives/collector.go b/collector/system/storage/drives/collector.go index cf14eb38..85535eff 100644 --- a/collector/system/storage/drives/collector.go +++ b/collector/system/storage/drives/collector.go @@ -31,7 +31,6 @@ func createMetricMap() map[string]common.Metric { // Implements the prometheus.Collector. type Collector struct { Ctx *common.CollectionContext - metrics map[string]common.Metric Log *slog.Logger storage *schemas.Storage hostname *string @@ -40,7 +39,6 @@ type Collector struct { // NewCollector returns a collector that collects storage volume data func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, storage *schemas.Storage, hostname *string) *Collector { return &Collector{ - metrics: metricMap, Ctx: ctx, Log: logger.With( "collector", Subsystem, @@ -52,12 +50,17 @@ func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, storage *s } // Describe implemented prometheus.Collector -func (c *Collector) Describe(ch chan<- *prometheus.Desc) { - for _, metric := range c.metrics { +func Describe(ch chan<- *prometheus.Desc) { + for _, metric := range metricMap { ch <- metric.Desc } } +// Describe implemented prometheus.Collector +func (c *Collector) Describe(ch chan<- *prometheus.Desc) { + Describe(ch) +} + func (c *Collector) Collect(ch chan<- prometheus.Metric) { drives, err := c.storage.Drives() if err != nil { diff --git a/collector/system/storage/storage_controllers/collector.go b/collector/system/storage/storage_controllers/collector.go index 85a21117..39f5b1aa 100644 --- a/collector/system/storage/storage_controllers/collector.go +++ b/collector/system/storage/storage_controllers/collector.go @@ -30,7 +30,6 @@ func createMetricMap() map[string]common.Metric { // Implements the prometheus.Collector. type Collector struct { Ctx *common.CollectionContext - metrics map[string]common.Metric Log *slog.Logger storage *schemas.Storage hostname *string @@ -39,7 +38,6 @@ type Collector struct { // NewCollector returns a collector that collects storage volume data func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, storage *schemas.Storage, hostname *string) *Collector { return &Collector{ - metrics: metricMap, Ctx: ctx, Log: logger.With( "collector", Subsystem, @@ -51,12 +49,17 @@ func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, storage *s } // Describe implemented prometheus.Collector -func (c *Collector) Describe(ch chan<- *prometheus.Desc) { - for _, metric := range c.metrics { +func Describe(ch chan<- *prometheus.Desc) { + for _, metric := range metricMap { ch <- metric.Desc } } +// Describe implemented prometheus.Collector +func (c *Collector) Describe(ch chan<- *prometheus.Desc) { + Describe(ch) +} + func (c *Collector) Collect(ch chan<- prometheus.Metric) { storageControllers, err := c.storage.Controllers() if err != nil { diff --git a/collector/system/storage/volumes/collector.go b/collector/system/storage/volumes/collector.go index 646e550f..62fce8d8 100644 --- a/collector/system/storage/volumes/collector.go +++ b/collector/system/storage/volumes/collector.go @@ -31,7 +31,6 @@ func createMetricMap() map[string]common.Metric { // Implements the prometheus.Collector. type Collector struct { Ctx *common.CollectionContext - metrics map[string]common.Metric Log *slog.Logger storage *schemas.Storage hostname *string @@ -41,7 +40,6 @@ type Collector struct { // NewCollector returns a collector that collects storage volume data func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, storage *schemas.Storage, hostname *string, volumeDeduplicator *VolumeDeduplicator) *Collector { return &Collector{ - metrics: metricMap, Ctx: ctx, Log: logger.With( "collector", Subsystem, @@ -54,12 +52,17 @@ func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, storage *s } // Describe implemented prometheus.Collector -func (c *Collector) Describe(ch chan<- *prometheus.Desc) { - for _, metric := range c.metrics { +func Describe(ch chan<- *prometheus.Desc) { + for _, metric := range metricMap { ch <- metric.Desc } } +// Describe implemented prometheus.Collector +func (c *Collector) Describe(ch chan<- *prometheus.Desc) { + Describe(ch) +} + func (c *Collector) Collect(ch chan<- prometheus.Metric) { volumes, err := c.storage.Volumes() if err != nil { diff --git a/main.go b/main.go index 42ca54f9..6812990b 100755 --- a/main.go +++ b/main.go @@ -93,10 +93,18 @@ func SetLogLevel() { slog.SetLogLoggerLevel(level) } +type ErrorLogger struct { + logger *slog.Logger +} + +func (l *ErrorLogger) Println(v ...any) { + l.logger.Error("Error during gathering", v...) +} + // define new http handleer func metricsHandler() http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { - registry := prometheus.NewRegistry() + registry := prometheus.NewPedanticRegistry() target := r.URL.Query().Get("target") if target == "" { http.Error(w, "'target' parameter must be specified", 400) @@ -152,8 +160,13 @@ func metricsHandler() http.HandlerFunc { prometheus.DefaultGatherer, registry, } + + errorLogger := ErrorLogger{ + logger: targetLoggerCtx, + } + // Delegate http serving to Prometheus client library, which will call collector.Collect. - h := promhttp.HandlerFor(gatherers, promhttp.HandlerOpts{}) + h := promhttp.HandlerFor(gatherers, promhttp.HandlerOpts{ErrorLog: &errorLogger}) h.ServeHTTP(w, r) } From 27c6054b9fa9f81ba62b6b3f799cde526a811e16 Mon Sep 17 00:00:00 2001 From: MurrayGroves Date: Wed, 28 Oct 2026 11:50:08 +0000 Subject: [PATCH 22/33] Test manager collector --- collector/manager/collector_test.go | 42 +++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 collector/manager/collector_test.go diff --git a/collector/manager/collector_test.go b/collector/manager/collector_test.go new file mode 100644 index 00000000..fa40fa73 --- /dev/null +++ b/collector/manager/collector_test.go @@ -0,0 +1,42 @@ +package manager_test + +import ( + "testing" + + "github.com/prometheus/common/promslog" + "github.com/stackhpc/redfish_exporter/collector/manager" + "github.com/stackhpc/redfish_exporter/common" + redfish_test "github.com/stackhpc/redfish_exporter/common/test" +) + +func TestPublicACD_2026_2(t *testing.T) { + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-acd", false) + + ctx := common.CollectionContext{ + RedfishClient: redfishClient, + CollectLogs: true, + } + + promslogConfig := promslog.Config{} + logger := promslog.New(&promslogConfig) + + collector := manager.NewCollector(&ctx, logger) + expected := ` + redfish_manager_firmware_info{firmware_version="1.45.455b66-rev4",manager_id="BMC",model="Joo Janta 200",name="Manager",type="BMC"} 1 + redfish_manager_health_state{manager_id="BMC",model="Joo Janta 200",name="Manager",type="BMC"} 1 + redfish_manager_log_entry_severity_state{log_entry="Log Entry 1",log_entry_code="",log_entry_id="1",log_entry_message_id="Event.1.0.TempWayTooHot",log_entry_sensor_number="0x13f1b133aed0",log_entry_sensor_type="",log_entry_type="Event",log_service="System Log Service",log_service_id="Log",manager_id="BMC"} 3 + redfish_manager_log_service_health_state{log_service="System Log Service",log_service_enabled="true",log_service_id="Log",log_service_overwrite_policy="WrapsWhenFull",manager_id="BMC"} 1 + redfish_manager_log_service_state{log_service="System Log Service",log_service_enabled="true",log_service_id="Log",log_service_overwrite_policy="WrapsWhenFull",manager_id="BMC"} 1 + redfish_manager_power_state{manager_id="BMC",model="Joo Janta 200",name="Manager",type="BMC"} 1 + redfish_manager_state{manager_id="BMC",model="Joo Janta 200",name="Manager",type="BMC"} 1 + ` + redfish_test.CollectAndCompare(t, collector, expected, + "redfish_manager_state", + "redfish_manager_health_state", + "redfish_manager_power_state", + "redfish_manager_firmware_info", + "redfish_manager_log_service_state", + "redfish_manager_log_service_health_state", + "redfish_manager_log_entry_severity_state", + ) +} From b229acd52fdfec95a6ae930f16d05b8ec2de62dd Mon Sep 17 00:00:00 2001 From: MurrayGroves Date: Wed, 28 Oct 2026 11:52:58 +0000 Subject: [PATCH 23/33] Remove un-used mockup examples --- .../AccelerationFunction-v1-example.json | 22 - .../AccountService-v1-example.json | 104 -- .../ActionInfo-v1-example.json | 24 - .../AddressPool-v1-example.json | 26 - ...regate-v1-AddElements-request-example.json | 11 - ...ate-v1-RemoveElements-request-example.json | 8 - .../Aggregate-v1-Reset-request-example.json | 6 - .../Aggregate-v1-example.json | 34 - ...ationService-v1-Reset-request-example.json | 17 - ...1-SetDefaultBootOrder-request-example.json | 14 - .../AggregationService-v1-example.json | 33 - ...ateSSHIdentityKeyPair-request-example.json | 4 - .../AggregationSource-v1-example.json | 20 - .../AllowDeny-v1-example.json | 18 - .../Application-v1-Reset-request-example.json | 4 - .../Application-v1-example.json | 33 - .../DSP2046-examples/Assembly-v1-example.json | 47 - .../AttributeRegistry-v1-example.json | 102 -- .../AutomationInstrumentation-v1-example.json | 26 - .../AutomationNode-v1-example.json | 44 - .../Battery-v1-Reset-request-example.json | 4 - .../DSP2046-examples/Battery-v1-example.json | 47 - .../BatteryMetrics-v1-example.json | 64 - ...ios-v1-ChangePassword-request-example.json | 6 - .../DSP2046-examples/Bios-v1-example.json | 44 - .../BootOption-v1-example.json | 17 - ...-v1-DisablePassphrase-request-example.json | 4 - ...v1-DynamicCapacityAdd-request-example.json | 9 - ...ynamicCapacityRelease-request-example.json | 11 - ...PassphraseSecureErase-request-example.json | 5 - ...vice-v1-SetPassphrase-request-example.json | 6 - ...gicalDevice-v1-Unlock-request-example.json | 4 - .../CXLLogicalDevice-v1-example.json | 30 - .../DSP2046-examples/Cable-v1-example.json | 35 - .../Certificate-v1-Rekey-request-example.json | 5 - ...Certificate-v1-Rekey-response-example.json | 7 - .../Certificate-v1-Renew-request-example.json | 4 - ...Certificate-v1-Renew-response-example.json | 7 - .../Certificate-v1-example.json | 35 - .../CertificateEnrollment-v1-example.json | 45 - .../CertificateLocations-v1-example.json | 14 - ...ervice-v1-GenerateCSR-request-example.json | 24 - ...rvice-v1-GenerateCSR-response-example.json | 7 - ...v1-ReplaceCertificate-request-example.json | 8 - .../CertificateService-v1-example.json | 20 - .../Chassis-v1-Reset-request-example.json | 4 - .../DSP2046-examples/Chassis-v1-example.json | 62 - ...uit-v1-BreakerControl-request-example.json | 4 - ...rcuit-v1-PowerControl-request-example.json | 4 - .../DSP2046-examples/Circuit-v1-example.json | 82 -- .../CommonPropertySchema.json | 67 -- ...GetSignedMeasurements-request-example.json | 10 - ...etSignedMeasurements-response-example.json | 11 - ...GetSignedMeasurements-request-example.json | 9 - ...etSignedMeasurements-response-example.json | 4 - .../ComponentIntegrity-v1-example.json | 71 -- .../CompositionReservation-v1-example.json | 34 - ...ionService-v1-Compose-request-example.json | 31 - ...onService-v1-Compose-response-example.json | 62 - .../CompositionService-v1-example.json | 20 - ...m-v1-AddResourceBlock-request-example.json | 8 - ...ystem-v1-Decommission-request-example.json | 7 - ...1-ExportConfiguration-request-example.json | 9 - ...lConsoleGetOneTimeURL-request-example.json | 6 - ...ConsoleGetOneTimeURL-response-example.json | 8 - ...oleSetOneTimePassword-request-example.json | 6 - ...leSetOneTimePassword-response-example.json | 8 - ...calConsoleSetPassword-request-example.json | 5 - ...1-RemoveResourceBlock-request-example.json | 8 - ...mputerSystem-v1-Reset-request-example.json | 4 - .../ComputerSystem-v1-example.json | 128 -- ...tion-v1-AddVolumeInfo-request-example.json | 7 - ...n-v1-RemoveVolumeInfo-request-example.json | 6 - .../Connection-v1-example.json | 35 - .../ConnectionMethod-v1-example.json | 16 - .../Container-v1-Reset-request-example.json | 4 - .../Container-v1-example.json | 30 - .../ContainerImage-v1-example.json | 22 - .../DSP2046-examples/Control-v1-example.json | 22 - ...ector-v1-ValveControl-request-example.json | 5 - .../CoolantConnector-v1-example.json | 39 - .../CoolingLoop-v1-example.json | 31 - ...1-ExportConfiguration-request-example.json | 9 - ...oolingUnit-v1-SetMode-request-example.json | 4 - .../CoolingUnit-v1-example.json | 48 - ...-v1-FreezePersonality-request-example.json | 4 - ...-GetPersonalityNonce-response-example.json | 4 - .../Drive-v1-Reset-request-example.json | 4 - ...oOriginalFactoryState-request-example.json | 4 - .../Drive-v1-SecureErase-request-example.json | 4 - ...-v1-SetPersonalityKey-request-example.json | 5 - ...1-UnfreezePersonality-request-example.json | 7 - .../DSP2046-examples/Drive-v1-example.json | 49 - .../DriveMetrics-v1-example.json | 57 - .../DSP2046-examples/Endpoint-v1-example.json | 36 - .../EndpointGroup-v1-example.json | 23 - .../EnvironmentMetrics-v1-example.json | 22 - .../EthernetInterface-v1-example.json | 113 -- ...v1-ResumeSubscription-request-example.json | 4 - .../EventDestination-v1-example.json | 24 - ...ce-v1-SubmitTestEvent-request-example.json | 12 - .../EventService-v1-example.json | 42 - .../ExternalAccountProvider-v1-example.json | 30 - .../DSP2046-examples/Fabric-v1-example.json | 22 - .../FabricAdapter-v1-example.json | 104 -- .../DSP2046-examples/Facility-v1-example.json | 36 - .../DSP2046-examples/Fan-v1-example.json | 30 - .../DSP2046-examples/Filter-v1-example.json | 22 - .../GenericCollectionSchema.json | 84 -- .../GraphicsController-v1-example.json | 39 - .../DSP2046-examples/Heater-v1-example.json | 30 - .../HeaterMetrics-v1-example.json | 24 - .../HostInterface-v1-example.json | 47 - .../Job-v1-Resubmit-request-example.json | 4 - .../DSP2046-examples/Job-v1-example.json | 35 - ...Document-v1-SubmitJob-request-example.json | 17 - .../JobDocument-v1-example.json | 66 -- .../JobExecutor-v1-example.json | 29 - .../JobService-v1-example.json | 32 - .../JsonSchemaFile-v1-example.json | 31 - .../DSP2046-examples/Key-v1-example.json | 18 - .../KeyPolicy-v1-example.json | 34 - .../KeyService-v1-example.json | 13 - .../LeakDetection-v1-example.json | 39 - .../LeakDetector-v1-example.json | 27 - .../DSP2046-examples/License-v1-example.json | 39 - ...nseService-v1-Install-request-example.json | 6 - .../LicenseService-v1-example.json | 17 - .../DSP2046-examples/LogEntry-v1-example.json | 21 - ...ogService-v1-ClearLog-request-example.json | 4 - ...CollectDiagnosticData-request-example.json | 4 - ...ce-v1-DownloadRawLog-response-example.json | 4 - ...v1-PushDiagnosticData-request-example.json | 8 - .../LogService-v1-example.json | 26 - ...ager-v1-ForceFailover-request-example.json | 8 - ...1-ModifyRedundancySet-request-example.json | 8 - .../Manager-v1-Reset-request-example.json | 4 - ...er-v1-ResetToDefaults-request-example.json | 4 - ...v1-UpdateSecurityMode-request-example.json | 4 - .../DSP2046-examples/Manager-v1-example.json | 78 -- ...unt-v1-ChangePassword-request-example.json | 5 - ...v1-GenerateSecretKey-response-example.json | 4 - ...eBasedOneTimePassword-request-example.json | 4 - .../ManagerAccount-v1-example.json | 27 - .../ManagerDiagnosticData-v1-example.json | 70 -- .../ManagerNetworkProtocol-v1-example.json | 53 - ...iaController-v1-Reset-request-example.json | 4 - .../MediaController-v1-example.json | 39 - ...sableMasterPassphrase-request-example.json | 5 - ...-v1-DisablePassphrase-request-example.json | 5 - ...njectPersistentPoison-request-example.json | 4 - ...mory-v1-OverwriteUnit-request-example.json | 5 - .../Memory-v1-Reset-request-example.json | 4 - .../Memory-v1-ScanMedia-request-example.json | 5 - ...ry-v1-SecureEraseUnit-request-example.json | 5 - ...1-SetMasterPassphrase-request-example.json | 5 - ...mory-v1-SetPassphrase-request-example.json | 5 - .../Memory-v1-UnlockUnit-request-example.json | 5 - .../DSP2046-examples/Memory-v1-example.json | 44 - .../MemoryChunks-v1-example.json | 46 - .../MemoryDomain-v1-example.json | 30 - .../MemoryExtent-v1-example.json | 33 - .../MemoryMetrics-v1-example.json | 33 - .../MemoryRegion-v1-example.json | 37 - .../MessageRegistry-v1-example.json | 38 - .../MessageRegistryFile-v1-example.json | 26 - .../MetricDefinition-v1-example.json | 30 - .../MetricReport-v1-example.json | 30 - .../MetricReportDefinition-v1-example.json | 41 - ...tworkAdapter-v1-Reset-request-example.json | 4 - .../NetworkAdapter-v1-example.json | 86 -- .../NetworkAdapterMetrics-v1-example.json | 20 - .../NetworkDeviceFunction-v1-example.json | 85 -- ...tworkDeviceFunctionMetrics-v1-example.json | 25 - .../NetworkInterface-v1-example.json | 18 - .../NetworkPort-v1-example.json | 51 - .../OperatingConfig-v1-example.json | 50 - .../OperatingSystem-v1-example.json | 47 - .../OutboundConnection-v1-example.json | 30 - ...utlet-v1-PowerControl-request-example.json | 4 - .../DSP2046-examples/Outlet-v1-example.json | 69 -- ...Group-v1-PowerControl-request-example.json | 4 - .../OutletGroup-v1-example.json | 45 - ...-CXLReferenceDCMemory-request-example.json | 5 - .../PCIeDevice-v1-example.json | 37 - .../PCIeFunction-v1-example.json | 27 - .../PCIeSlots-v1-example.json | 67 -- .../DSP2046-examples/Policy-v1-example.json | 41 - .../PolicyService-v1-example.json | 32 - .../Port-v1-Reset-request-example.json | 4 - .../DSP2046-examples/Port-v1-example.json | 27 - .../PortMetrics-v1-example.json | 20 - ...r-v1-PowerSupplyReset-request-example.json | 5 - .../DSP2046-examples/Power-v1-example.json | 144 --- ...1-ExportConfiguration-request-example.json | 9 - ...ution-v1-PowerControl-request-example.json | 4 - .../PowerDistribution-v1-example.json | 51 - .../PowerDistributionMetrics-v1-example.json | 31 - .../PowerDomain-v1-example.json | 23 - .../PowerEquipment-v1-example.json | 20 - .../PowerSubsystem-v1-example.json | 38 - .../PowerSupply-v1-Reset-request-example.json | 4 - .../PowerSupply-v1-example.json | 101 -- .../PowerSupplyMetrics-v1-example.json | 91 -- .../PrivilegeRegistry-v1-example.json | 65 - .../Processor-v1-Reset-request-example.json | 4 - .../Processor-v1-example.json | 35 - .../ProcessorMetrics-v1-example.json | 66 -- .../Pump-v1-SetMode-request-example.json | 4 - .../DSP2046-examples/Pump-v1-example.json | 23 - .../RegisteredClient-v1-example.json | 24 - .../Reservoir-v1-example.json | 27 - .../ResourceBlock-v1-example.json | 67 -- .../DSP2046-examples/Role-v1-example.json | 21 - .../RouteEntry-v1-example.json | 13 - .../RouteSetEntry-v1-example.json | 12 - ...cureBoot-v1-ResetKeys-request-example.json | 4 - .../SecureBoot-v1-example.json | 24 - ...Database-v1-ResetKeys-request-example.json | 4 - .../SecureBootDatabase-v1-example.json | 21 - .../SecurityPolicy-v1-example.json | 127 -- .../DSP2046-examples/Sensor-v1-example.json | 35 - .../SerialInterface-v1-example.json | 17 - .../ServiceConditions-v1-example.json | 33 - .../ServiceRoot-v1-example.json | 59 - .../DSP2046-examples/Session-v1-example.json | 9 - .../SessionService-v1-example.json | 17 - .../Signature-v1-example.json | 11 - .../SimpleStorage-v1-example.json | 48 - ...Inventory-v1-Activate-request-example.json | 8 - ...reInventory-v1-Cancel-request-example.json | 8 - .../SoftwareInventory-v1-example.json | 25 - ...-v1-FreezePersonality-request-example.json | 4 - ...-GetPersonalityNonce-response-example.json | 4 - ...1-ImportForeignDrives-request-example.json | 5 - ...ge-v1-ResetToDefaults-request-example.json | 4 - ...SetControllerPassword-request-example.json | 6 - ...e-v1-SetEncryptionKey-request-example.json | 4 - ...-v1-SetPersonalityKey-request-example.json | 5 - ...ediaLifeLeftThreshold-request-example.json | 4 - ...1-UnfreezePersonality-request-example.json | 7 - .../DSP2046-examples/Storage-v1-example.json | 65 - ...r-v1-AttachNamespaces-request-example.json | 8 - ...-v1-AttachNamespaces-response-example.json | 14 - ...r-v1-DetachNamespaces-request-example.json | 8 - ...-v1-DetachNamespaces-response-example.json | 11 - ...geController-v1-Reset-request-example.json | 4 - ...er-v1-SecurityReceive-request-example.json | 6 - ...r-v1-SecurityReceive-response-example.json | 4 - ...oller-v1-SecuritySend-request-example.json | 6 - .../StorageController-v1-example.json | 58 - .../StorageControllerMetrics-v1-example.json | 51 - .../StorageMetrics-v1-example.json | 11 - .../Switch-v1-Reset-request-example.json | 4 - .../DSP2046-examples/Switch-v1-example.json | 59 - .../SwitchMetrics-v1-example.json | 27 - .../DSP2046-examples/Task-v1-example.json | 25 - .../TaskService-v1-example.json | 18 - .../TelemetryData-v1-example.json | 10 - ...-CollectTelemetryData-request-example.json | 8 - ...ubmitTestMetricReport-request-example.json | 24 - .../TelemetryService-v1-example.json | 31 - .../DSP2046-examples/Thermal-v1-example.json | 161 --- .../ThermalEquipment-v1-example.json | 17 - .../ThermalMetrics-v1-example.json | 65 - .../ThermalSubsystem-v1-example.json | 52 - .../DSP2046-examples/Triggers-v1-example.json | 26 - ...nt-v1-TPMGetEventLog-response-example.json | 5 - .../TrustedComponent-v1-example.json | 31 - .../USBController-v1-example.json | 30 - ...teService-v1-Activate-request-example.json | 11 - ...ateSSHIdentityKeyPair-request-example.json | 4 - ...oveSSHIdentityKeyPair-request-example.json | 1 - ...rvice-v1-SimpleUpdate-request-example.json | 4 - .../UpdateService-v1-example.json | 26 - .../UpdateServiceCapabilities-v1-example.json | 15 - .../VCATEntry-v1-example.json | 27 - .../VLanNetworkInterface-v1-example.json | 10 - .../VirtualCXLSwitch-v1-example.json | 24 - ...lMedia-v1-InsertMedia-request-example.json | 6 - .../VirtualMedia-v1-example.json | 16 - .../VirtualPCI2PCIBridge-v1-example.json | 26 - ...1-AssignReplicaTarget-request-example.json | 6 - ...e-v1-ChangeRAIDLayout-request-example.json | 18 - ...1-CreateReplicaTarget-request-example.json | 7 - .../Volume-v1-Initialize-request-example.json | 5 - ...veReplicaRelationship-request-example.json | 5 - ...-v1-ResumeReplication-request-example.json | 4 - ...plicationRelationship-request-example.json | 4 - ...e-v1-SplitReplication-request-example.json | 4 - ...v1-SuspendReplication-request-example.json | 4 - .../DSP2046-examples/Volume-v1-example.json | 36 - .../Zone-v1-AddEndpoint-request-example.json | 8 - ...one-v1-RemoveEndpoint-request-example.json | 8 - .../DSP2046-examples/Zone-v1-example.json | 28 - .../ComposeManifestRequest.json | 243 ---- .../ComposeManifestReservationResponse.json | 439 ------- .../ComposeManifestResponse.json | 1049 ----------------- .../non-resource-examples/EventExample.json | 25 - .../EventExampleWithDiagnosticData.json | 27 - .../EventExampleWithEventGroupId.json | 49 - .../EventExampleWithOrigin.json | 60 - .../ExpandManifestRequest.json | 45 - .../ExpandManifestResponse.json | 127 -- 304 files changed, 9496 deletions(-) delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AccelerationFunction-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AccountService-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ActionInfo-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AddressPool-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Aggregate-v1-AddElements-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Aggregate-v1-RemoveElements-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Aggregate-v1-Reset-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Aggregate-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AggregationService-v1-Reset-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AggregationService-v1-SetDefaultBootOrder-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AggregationService-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AggregationSource-v1-GenerateSSHIdentityKeyPair-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AggregationSource-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AllowDeny-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Application-v1-Reset-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Application-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Assembly-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AttributeRegistry-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AutomationInstrumentation-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AutomationNode-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Battery-v1-Reset-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Battery-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/BatteryMetrics-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Bios-v1-ChangePassword-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Bios-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/BootOption-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CXLLogicalDevice-v1-DisablePassphrase-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CXLLogicalDevice-v1-DynamicCapacityAdd-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CXLLogicalDevice-v1-DynamicCapacityRelease-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CXLLogicalDevice-v1-PassphraseSecureErase-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CXLLogicalDevice-v1-SetPassphrase-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CXLLogicalDevice-v1-Unlock-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CXLLogicalDevice-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Cable-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Certificate-v1-Rekey-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Certificate-v1-Rekey-response-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Certificate-v1-Renew-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Certificate-v1-Renew-response-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Certificate-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CertificateEnrollment-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CertificateLocations-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CertificateService-v1-GenerateCSR-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CertificateService-v1-GenerateCSR-response-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CertificateService-v1-ReplaceCertificate-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CertificateService-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Chassis-v1-Reset-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Chassis-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Circuit-v1-BreakerControl-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Circuit-v1-PowerControl-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Circuit-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CommonPropertySchema.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComponentIntegrity-v1-SPDMGetSignedMeasurements-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComponentIntegrity-v1-SPDMGetSignedMeasurements-response-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComponentIntegrity-v1-TPMGetSignedMeasurements-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComponentIntegrity-v1-TPMGetSignedMeasurements-response-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComponentIntegrity-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CompositionReservation-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CompositionService-v1-Compose-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CompositionService-v1-Compose-response-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CompositionService-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-AddResourceBlock-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-Decommission-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-ExportConfiguration-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-GraphicalConsoleGetOneTimeURL-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-GraphicalConsoleGetOneTimeURL-response-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-GraphicalConsoleSetOneTimePassword-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-GraphicalConsoleSetOneTimePassword-response-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-GraphicalConsoleSetPassword-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-RemoveResourceBlock-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-Reset-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Connection-v1-AddVolumeInfo-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Connection-v1-RemoveVolumeInfo-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Connection-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ConnectionMethod-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Container-v1-Reset-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Container-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ContainerImage-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Control-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CoolantConnector-v1-ValveControl-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CoolantConnector-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CoolingLoop-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CoolingUnit-v1-ExportConfiguration-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CoolingUnit-v1-SetMode-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CoolingUnit-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-FreezePersonality-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-GetPersonalityNonce-response-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-Reset-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-RevertToOriginalFactoryState-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-SecureErase-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-SetPersonalityKey-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-UnfreezePersonality-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/DriveMetrics-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Endpoint-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/EndpointGroup-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/EnvironmentMetrics-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/EthernetInterface-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/EventDestination-v1-ResumeSubscription-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/EventDestination-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/EventService-v1-SubmitTestEvent-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/EventService-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ExternalAccountProvider-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Fabric-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/FabricAdapter-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Facility-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Fan-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Filter-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/GenericCollectionSchema.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/GraphicsController-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Heater-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/HeaterMetrics-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/HostInterface-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Job-v1-Resubmit-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Job-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/JobDocument-v1-SubmitJob-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/JobDocument-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/JobExecutor-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/JobService-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/JsonSchemaFile-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Key-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/KeyPolicy-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/KeyService-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LeakDetection-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LeakDetector-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/License-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LicenseService-v1-Install-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LicenseService-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LogEntry-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LogService-v1-ClearLog-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LogService-v1-CollectDiagnosticData-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LogService-v1-DownloadRawLog-response-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LogService-v1-PushDiagnosticData-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LogService-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Manager-v1-ForceFailover-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Manager-v1-ModifyRedundancySet-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Manager-v1-Reset-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Manager-v1-ResetToDefaults-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Manager-v1-UpdateSecurityMode-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Manager-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ManagerAccount-v1-ChangePassword-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ManagerAccount-v1-GenerateSecretKey-response-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ManagerAccount-v1-VerifyTimeBasedOneTimePassword-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ManagerAccount-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ManagerDiagnosticData-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ManagerNetworkProtocol-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MediaController-v1-Reset-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MediaController-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-DisableMasterPassphrase-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-DisablePassphrase-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-InjectPersistentPoison-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-OverwriteUnit-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-Reset-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-ScanMedia-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-SecureEraseUnit-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-SetMasterPassphrase-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-SetPassphrase-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-UnlockUnit-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MemoryChunks-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MemoryDomain-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MemoryExtent-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MemoryMetrics-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MemoryRegion-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MessageRegistry-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MessageRegistryFile-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MetricDefinition-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MetricReport-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MetricReportDefinition-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/NetworkAdapter-v1-Reset-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/NetworkAdapter-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/NetworkAdapterMetrics-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/NetworkDeviceFunction-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/NetworkDeviceFunctionMetrics-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/NetworkInterface-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/NetworkPort-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/OperatingConfig-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/OperatingSystem-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/OutboundConnection-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Outlet-v1-PowerControl-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Outlet-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/OutletGroup-v1-PowerControl-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/OutletGroup-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PCIeDevice-v1-CXLReferenceDCMemory-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PCIeDevice-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PCIeFunction-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PCIeSlots-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Policy-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PolicyService-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Port-v1-Reset-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Port-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PortMetrics-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Power-v1-PowerSupplyReset-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Power-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerDistribution-v1-ExportConfiguration-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerDistribution-v1-PowerControl-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerDistribution-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerDistributionMetrics-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerDomain-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerEquipment-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerSubsystem-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerSupply-v1-Reset-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerSupply-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerSupplyMetrics-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PrivilegeRegistry-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Processor-v1-Reset-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Processor-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ProcessorMetrics-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Pump-v1-SetMode-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Pump-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/RegisteredClient-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Reservoir-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ResourceBlock-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Role-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/RouteEntry-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/RouteSetEntry-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SecureBoot-v1-ResetKeys-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SecureBoot-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SecureBootDatabase-v1-ResetKeys-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SecureBootDatabase-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SecurityPolicy-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Sensor-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SerialInterface-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ServiceConditions-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ServiceRoot-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Session-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SessionService-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Signature-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SimpleStorage-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SoftwareInventory-v1-Activate-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SoftwareInventory-v1-Cancel-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SoftwareInventory-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-FreezePersonality-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-GetPersonalityNonce-response-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-ImportForeignDrives-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-ResetToDefaults-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-SetControllerPassword-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-SetEncryptionKey-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-SetPersonalityKey-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-SetPredictedMediaLifeLeftThreshold-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-UnfreezePersonality-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-AttachNamespaces-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-AttachNamespaces-response-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-DetachNamespaces-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-DetachNamespaces-response-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-Reset-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-SecurityReceive-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-SecurityReceive-response-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-SecuritySend-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageControllerMetrics-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageMetrics-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Switch-v1-Reset-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Switch-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SwitchMetrics-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Task-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/TaskService-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/TelemetryData-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/TelemetryService-v1-CollectTelemetryData-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/TelemetryService-v1-SubmitTestMetricReport-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/TelemetryService-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Thermal-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ThermalEquipment-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ThermalMetrics-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ThermalSubsystem-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Triggers-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/TrustedComponent-v1-TPMGetEventLog-response-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/TrustedComponent-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/USBController-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/UpdateService-v1-Activate-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/UpdateService-v1-GenerateSSHIdentityKeyPair-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/UpdateService-v1-RemoveSSHIdentityKeyPair-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/UpdateService-v1-SimpleUpdate-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/UpdateService-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/UpdateServiceCapabilities-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/VCATEntry-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/VLanNetworkInterface-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/VirtualCXLSwitch-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/VirtualMedia-v1-InsertMedia-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/VirtualMedia-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/VirtualPCI2PCIBridge-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-AssignReplicaTarget-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-ChangeRAIDLayout-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-CreateReplicaTarget-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-Initialize-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-RemoveReplicaRelationship-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-ResumeReplication-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-ReverseReplicationRelationship-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-SplitReplication-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-SuspendReplication-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Zone-v1-AddEndpoint-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Zone-v1-RemoveEndpoint-request-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Zone-v1-example.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/ComposeManifestRequest.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/ComposeManifestReservationResponse.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/ComposeManifestResponse.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/EventExample.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/EventExampleWithDiagnosticData.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/EventExampleWithEventGroupId.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/EventExampleWithOrigin.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/ExpandManifestRequest.json delete mode 100644 test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/ExpandManifestResponse.json diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AccelerationFunction-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AccelerationFunction-v1-example.json deleted file mode 100644 index 97459e65..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AccelerationFunction-v1-example.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#AccelerationFunction.v1_0_5.AccelerationFunction", - "Id": "Compression", - "Name": "Compression Accelerator", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "FpgaReconfigurationSlots": [ - "AFU0" - ], - "AccelerationFunctionType": "Compression", - "Manufacturer": "Intel (R) Corporation", - "Version": "Green Compression Type 1 v.1.00.86", - "PowerWatts": 15, - "Links": { - "Endpoints": [], - "PCIeFunctions": [] - }, - "@odata.id": "/redfish/v1/Systems/1/Processors/FPGA1/AccelerationFunctions/Compression" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AccountService-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AccountService-v1-example.json deleted file mode 100644 index 60445d1f..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AccountService-v1-example.json +++ /dev/null @@ -1,104 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#AccountService.v1_19_0.AccountService", - "Id": "AccountService", - "Name": "Account Service", - "Description": "Local Manager Account Service", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "ServiceEnabled": true, - "AuthFailureLoggingThreshold": 3, - "MinPasswordLength": 8, - "EnforcePasswordHistoryCount": 5, - "PasswordGuidanceMessageId": "ContosoService.1.2.PasswordComplexity", - "PasswordGuidanceMessage": "Password must contain at least three of the following: an uppercase character, a lowercase character, a numeric digit, or a punctuation character", - "AccountLockoutThreshold": 5, - "AccountLockoutDuration": 30, - "AccountLockoutCounterResetAfter": 30, - "AccountLockoutCounterResetEnabled": true, - "Accounts": { - "@odata.id": "/redfish/v1/AccountService/Accounts" - }, - "Roles": { - "@odata.id": "/redfish/v1/AccountService/Roles" - }, - "LocalAccountAuth": "Enabled", - "LDAP": { - "AccountProviderType": "LDAPService", - "ServiceEnabled": false, - "ServiceAddresses": [ - "ldaps://ldap.example.org:636" - ], - "Authentication": { - "AuthenticationType": "UsernameAndPassword", - "Username": "cn=Manager,dc=example,dc=org", - "Password": null - }, - "LDAPService": { - "SearchSettings": { - "BaseDistinguishedNames": [ - "dc=example,dc=org" - ], - "UsernameAttribute": "uid", - "GroupsAttribute": "memberof" - } - }, - "RemoteRoleMapping": [ - { - "RemoteUser": "cn=Manager,dc=example,dc=org", - "LocalRole": "Administrator" - }, - { - "RemoteGroup": "cn=Admins,ou=Groups,dc=example,dc=org", - "LocalRole": "Administrator" - }, - { - "RemoteGroup": "cn=PowerUsers,ou=Groups,dc=example,dc=org", - "LocalRole": "Operator" - }, - { - "RemoteGroup": "(cn=*)", - "LocalRole": "ReadOnly" - } - ] - }, - "ActiveDirectory": { - "AccountProviderType": "ActiveDirectoryService", - "ServiceEnabled": true, - "ServiceAddresses": [ - "ad1.example.org", - "ad2.example.org", - null, - null - ], - "Authentication": { - "AuthenticationType": "KerberosKeytab", - "KerberosKeytab": null - }, - "RemoteRoleMapping": [ - { - "RemoteGroup": "Administrators", - "LocalRole": "Administrator" - }, - { - "RemoteUser": "DOMAIN\\Bob", - "LocalRole": "Operator" - }, - { - "RemoteGroup": "PowerUsers", - "LocalRole": "Operator" - }, - { - "RemoteGroup": "Everybody", - "LocalRole": "ReadOnly" - } - ] - }, - "AdditionalExternalAccountProviders": { - "@odata.id": "/redfish/v1/AccountService/ExternalAccountProviders" - }, - "RequireChangePasswordAction": false, - "@odata.id": "/redfish/v1/AccountService" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ActionInfo-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ActionInfo-v1-example.json deleted file mode 100644 index e59e2ef7..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ActionInfo-v1-example.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#ActionInfo.v1_6_0.ActionInfo", - "Id": "ResetActionInfo", - "Name": "Reset Action Info", - "Parameters": [ - { - "Name": "ResetType", - "Required": true, - "DataType": "String", - "AllowableValues": [ - "On", - "ForceOff", - "GracefulShutdown", - "GracefulRestart", - "ForceRestart", - "Nmi", - "ForceOn", - "PushPowerButton" - ] - } - ], - "@odata.id": "/redfish/v1/Systems/1/ResetActionInfo" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AddressPool-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AddressPool-v1-example.json deleted file mode 100644 index bf86885b..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AddressPool-v1-example.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#AddressPool.v1_3_0.AddressPool", - "Id": "AP1", - "Name": "Address Pool 1", - "Description": "Address Pool 1", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "GenZ": { - "MinCID": 1, - "MaxCID": 4096, - "MinSID": 100, - "MaxSID": 8192, - "AccessKey": "0x1A" - }, - "Links": { - "Endpoints": [ - { - "@odata.id": "/redfish/v1/Fabrics/GenZ/Endpoints/1" - } - ] - }, - "@odata.id": "/redfish/v1/Fabrics/GenZ/AddressPools/AP1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Aggregate-v1-AddElements-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Aggregate-v1-AddElements-request-example.json deleted file mode 100644 index 38fd0107..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Aggregate-v1-AddElements-request-example.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Elements": [ - { - "@odata.id": "/redfish/v1/Systems/cluster-node7" - }, - { - "@odata.id": "node8.intranet.contoso.com/redfish/v1/Systems/1" - } - ] -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Aggregate-v1-RemoveElements-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Aggregate-v1-RemoveElements-request-example.json deleted file mode 100644 index a3d55d88..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Aggregate-v1-RemoveElements-request-example.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Elements": [ - { - "@odata.id": "node8.intranet.contoso.com/redfish/v1/Systems/1" - } - ] -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Aggregate-v1-Reset-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Aggregate-v1-Reset-request-example.json deleted file mode 100644 index a0c4809e..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Aggregate-v1-Reset-request-example.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "ResetType": "ForceRestart", - "BatchSize": 5, - "DelayBetweenBatchesInSeconds": 30 -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Aggregate-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Aggregate-v1-example.json deleted file mode 100644 index 9aa39d47..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Aggregate-v1-example.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Aggregate.v1_0_3.Aggregate", - "Id": "Aggregate1", - "Name": "Aggregate One", - "ElementsCount": 2, - "Elements": [ - { - "@odata.id": "/redfish/v1/Systems/cluster-node3" - }, - { - "@odata.id": "/redfish/v1/Systems/cluster-node4" - } - ], - "Actions": { - "#Aggregate.Reset": { - "target": "/redfish/v1/AggregationService/Aggregates/Aggregate1/Actions/Aggregate.Reset", - "@Redfish.ActionInfo": "/redfish/v1/AggregationService/Aggregates/Aggregate1/ResetActionInfo" - }, - "#Aggregate.SetDefaultBootOrder": { - "target": "/redfish/v1/AggregationService/Aggregates/Aggregate1/Actions/Aggregate.SetDefaultBootOrder", - "@Redfish.ActionInfo": "/redfish/v1/AggregationService/Aggregates/Aggregate1/SetDefaultBootOrderActionInfo" - }, - "#Aggregate.AddElements": { - "target": "/redfish/v1/AggregationService/Aggregates/Aggregate1/Actions/Aggregate.AddElements", - "@Redfish.ActionInfo": "/redfish/v1/AggregationService/Aggregates/Aggregate1/AddElementsActionInfo" - }, - "#Aggregate.RemoveElements": { - "target": "/redfish/v1/AggregationService/Aggregates/Aggregate1/Actions/Aggregate.RemoveElements", - "@Redfish.ActionInfo": "/redfish/v1/AggregationService/Aggregates/Aggregate1/RemoveElementsActionInfo" - } - }, - "@odata.id": "/redfish/v1/AggregationService/Aggregates/Aggregate1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AggregationService-v1-Reset-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AggregationService-v1-Reset-request-example.json deleted file mode 100644 index 3eac0a95..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AggregationService-v1-Reset-request-example.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "ResetType": "ForceRestart", - "BatchSize": 1, - "DelayBetweenBatchesInSeconds": 30, - "TargetURIs": [ - { - "@odata.id": "/redfish/v1/Systems/cluster-node3" - }, - { - "@odata.id": "/redfish/v1/Systems/cluster-node4" - }, - { - "@odata.id": "node7.intranet.contoso.com/redfish/v1/Systems/1" - } - ] -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AggregationService-v1-SetDefaultBootOrder-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AggregationService-v1-SetDefaultBootOrder-request-example.json deleted file mode 100644 index 97c1b193..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AggregationService-v1-SetDefaultBootOrder-request-example.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Systems": [ - { - "@odata.id": "/redfish/v1/Systems/cluster-node3" - }, - { - "@odata.id": "/redfish/v1/Systems/cluster-node4" - }, - { - "@odata.id": "node7.intranet.contoso.com/redfish/v1/Systems/1" - } - ] -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AggregationService-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AggregationService-v1-example.json deleted file mode 100644 index bc964162..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AggregationService-v1-example.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#AggregationService.v1_0_3.AggregationService", - "Id": "AggregationService", - "Description": "Aggregation Service", - "Name": "Aggregation Service", - "ServiceEnabled": true, - "Status": { - "Health": "OK", - "HealthRollup": "OK", - "State": "Enabled" - }, - "Aggregates": { - "@odata.id": "/redfish/v1/AggregationService/Aggregates" - }, - "AggregationSources": { - "@odata.id": "/redfish/v1/AggregationService/AggregationSources" - }, - "ConnectionMethods": { - "@odata.id": "/redfish/v1/AggregationService/ConnectionMethods" - }, - "Actions": { - "#AggregationService.Reset": { - "target": "/redfish/v1/AggregationService/Actions/AggregationService.Reset", - "@Redfish.ActionInfo": "/redfish/v1/AggregationService/ResetActionInfo" - }, - "#AggregationService.SetDefaultBootOrder": { - "target": "/redfish/v1/AggregationService/Actions/AggregationService.SetDefaultBootOrder", - "@Redfish.ActionInfo": "/redfish/v1/AggregationService/SetDefaultBootOrderActionInfo" - } - }, - "@odata.id": "/redfish/v1/AggregationService/" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AggregationSource-v1-GenerateSSHIdentityKeyPair-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AggregationSource-v1-GenerateSSHIdentityKeyPair-request-example.json deleted file mode 100644 index 7978b0f2..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AggregationSource-v1-GenerateSSHIdentityKeyPair-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "KeyType": "Ed25519" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AggregationSource-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AggregationSource-v1-example.json deleted file mode 100644 index b1b574ab..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AggregationSource-v1-example.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#AggregationSource.v1_6_0.AggregationSource", - "Id": "AggregationSource1", - "Name": "AggregationSource One", - "HostName": "https://Someserver.Contoso.com/redfish/v1", - "UserName": "root", - "Password": null, - "Links": { - "ConnectionMethod": { - "@odata.id": "/redfish/v1/AggregationService/ConnectionMethods/ConnectionMethod1" - }, - "ResourcesAccessed": [ - { - "@odata.id": "/redfish/v1/Managers/1" - } - ] - }, - "@odata.id": "/redfish/v1/AggregationService/AggregationSources/AggregationSource1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AllowDeny-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AllowDeny-v1-example.json deleted file mode 100644 index cf27c5b6..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AllowDeny-v1-example.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#AllowDeny.v1_0_3.AllowDeny", - "Id": "Rule1", - "Name": "Allow Rule 1", - "Direction": "Ingress", - "AllowType": "Allow", - "StatefulSession": true, - "IPAddressType": "IPv4", - "IPAddressLower": "192.168.1.1", - "IPAddressUpper": "192.168.1.100", - "IANAProtocolNumber": 6, - "SourcePortLower": 5, - "SourcePortUpper": 65535, - "DestinationPortLower": 5, - "DestinationPortUpper": 65535, - "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0/AllowDeny/Rule1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Application-v1-Reset-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Application-v1-Reset-request-example.json deleted file mode 100644 index b148ceaa..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Application-v1-Reset-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "ResetType": "GracefulRestart" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Application-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Application-v1-example.json deleted file mode 100644 index 0030c495..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Application-v1-example.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Application.v1_0_1.Application", - "Id": "Logger", - "Name": "Logging Agent", - "Version": "1.5.1", - "Vendor": "Contoso", - "StartTime": "2021-10-29T10:42:38+06:00", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "DestinationURIs": [ - "https://listeners.contoso.org:8000/handler" - ], - "MetricsURIs": [ - "https://192.168.0.12:7000" - ], - "Actions": { - "#Application.Reset": { - "target": "/redfish/v1/Systems/VM1/OperatingSystem/Applications/Logger/Actions/Application.Reset", - "ResetType@Redfish.AllowableValues": [ - "On", - "ForceOff", - "GracefulShutdown", - "GracefulRestart", - "ForceRestart", - "ForceOn" - ] - } - }, - "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/Applications/Logger" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Assembly-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Assembly-v1-example.json deleted file mode 100644 index d4d9d369..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Assembly-v1-example.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Assembly.v1_6_1.Assembly", - "Id": "Assembly", - "Name": "System-related Assembly data", - "Assemblies": [ - { - "@odata.id": "/redfish/v1/Chassis/1/Assembly#/Assemblies/0", - "MemberId": "0", - "Name": "System Board", - "Description": "PCA System Board", - "Model": "345TTT", - "PartNumber": "923943", - "SparePartNumber": "55-434", - "SKU": "55ZZATR", - "SerialNumber": "345394834", - "Vendor": "Contoso", - "ProductionDate": "2017-04-01T14:55:33+03:00", - "Producer": "Contoso Supply Co.", - "Version": "1.44B", - "EngineeringChangeLevel": "9", - "BinaryDataURI": "/dumpster/434", - "Oem": { - "Contoso": { - "Region": "C", - "Packaging": "Retail" - } - } - }, - { - "@odata.id": "/redfish/v1/Chassis/1/Assembly#/Assemblies/1", - "MemberId": "1", - "Name": "Fan Controller", - "Description": "PCA Fan Controller", - "Model": "F58AS", - "PartNumber": "3434-149", - "Vendor": "Contoso", - "Version": "2.4.481", - "BinaryDataURI": "/dumpster/422", - "Status": { - "State": "Enabled", - "Health": "Warning" - } - } - ], - "@odata.id": "/redfish/v1/Chassis/1/Assembly" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AttributeRegistry-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AttributeRegistry-v1-example.json deleted file mode 100644 index 6803fbc9..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AttributeRegistry-v1-example.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#AttributeRegistry.v1_5_1.AttributeRegistry", - "Description": "This registry defines a representation of BIOS Attribute instances", - "Id": "BiosAttributeRegistryG9000.v1_0_0", - "Language": "en", - "Name": "G9000 BIOS Attribute Registry", - "OwningEntity": "Contoso", - "RegistryVersion": "1.0.0", - "SupportedSystems": [ - { - "ProductName": "Contoso Server GLH9000", - "SystemId": "G9000", - "FirmwareVersion": "v1.00 (06/02/2014)" - } - ], - "RegistryEntries": { - "Attributes": [ - { - "CurrentValue": null, - "DisplayName": "Embedded NIC 1 Boot", - "DisplayOrder": 5, - "HelpText": "Select this option to enable network boot (PXE, iSCSI, or FCoE) for the selected NIC. You may need to configure the NIC firmware for the boot option to be active.", - "MenuPath": "./SystemOptions/NetworkBootOptions", - "AttributeName": "NicBoot1", - "ReadOnly": false, - "Hidden": false, - "Type": "Enumeration", - "Value": [ - { - "ValueDisplayName": "Network Boot", - "ValueName": "NetworkBoot" - }, - { - "ValueDisplayName": "Disabled", - "ValueName": "Disabled" - } - ], - "WarningText": "Important: When enabling network boot support for an embedded NIC, the NIC boot option does not appear in the UEFI Boot Order or Legacy IPL lists until the next system reboot." - }, - { - "CurrentValue": null, - "DisplayName": "Embedded SATA Configuration", - "DisplayOrder": 74, - "HelpText": "Important: Select this option to configure the embedded chipset SATA controller.", - "MenuPath": "./SystemOptions/SataOptions", - "AttributeName": "EmbeddedSata", - "ReadOnly": false, - "Hidden": false, - "Type": "Enumeration", - "Value": [ - { - "ValueDisplayName": "Enable SATA AHCI Support", - "ValueName": "Ahci" - }, - { - "ValueDisplayName": "Enable Software RAID Support", - "ValueName": "Raid" - } - ], - "WarningText": "Important: Software RAID is not supported when the Boot Mode is configured in Legacy BIOS Mode." - } - ], - "Dependencies": [ - { - "Dependency": { - "MapFrom": [ - { - "MapFromAttribute": "BootMode", - "MapFromCondition": "EQU", - "MapFromProperty": "CurrentValue", - "MapFromValue": "LegacyBios" - } - ], - "MapToAttribute": "EmbeddedSata", - "MapToProperty": "ReadOnly", - "MapToValue": true - }, - "DependencyFor": "EmbeddedSata", - "Type": "Map" - } - ], - "Menus": [ - { - "DisplayName": "BIOS Configuration", - "DisplayOrder": 1, - "MenuPath": "./", - "MenuName": "BiosMainMenu", - "Hidden": false, - "ReadOnly": false - }, - { - "DisplayName": "System Options", - "DisplayOrder": 2, - "MenuPath": "./SystemOptions", - "MenuName": "SystemOptions", - "Hidden": false, - "ReadOnly": false - } - ] - } -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AutomationInstrumentation-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AutomationInstrumentation-v1-example.json deleted file mode 100644 index 4f69c9f6..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AutomationInstrumentation-v1-example.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#AutomationInstrumentation.v1_0_0.AutomationInstrumentation", - "Id": "Instrumentation", - "Name": "Instrumentation for X-Axis Motion Controller", - "Status": { - "State": "Enabled", - "Health": "OK", - "Conditions": [] - }, - "NodeState": "Running", - "NodeControl": { - "DataSourceUri": "/redfish/v1/Chassis/Node1/Controls/XOutput", - "SetPoint": 0.75, - "Reading": 0.51 - }, - "Voltage": { - "DataSourceUri": "/redfish/v1/Chassis/Node1/Sensors/Voltage", - "Reading": 24.3 - }, - "TemperatureCelsius": { - "DataSourceUri": "/redfish/v1/Chassis/Node1/Sensors/Temperature", - "Reading": 39.8 - }, - "@odata.id": "/redfish/v1/AutomationNodes/XAxisMover/AutomationInstrumentation" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AutomationNode-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AutomationNode-v1-example.json deleted file mode 100644 index eebdc118..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/AutomationNode-v1-example.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#AutomationNode.v1_0_0.AutomationNode", - "Id": "XAxisMover", - "Name": "X-Axis positioner", - "Description": "The X axis automation node for the machine.", - "Status": { - "State": "Enabled", - "Health": "OK", - "Conditions": [] - }, - "NodeState": "Running", - "NodeType": "MotionPosition", - "MotionProfile": "Trapezoidal", - "MotionAxis": "X", - "Instrumentation": { - "@odata.id": "/redfish/v1/AutomationNodes/XAxisMover/AutomationInstrumentation" - }, - "Links": { - "Chassis": [ - { - "@odata.id": "/redfish/v1/Chassis/3AxisMotion" - } - ] - }, - "Actions": { - "#AutomationNode.Reset": { - "target": "/redfish/v1/AutomationNodes/XAxisMover/Actions/AutomationNode.Reset" - }, - "#AutomationNode.SendTrigger": { - "target": "/redfish/v1/AutomationNodes/XAxisMover/Actions/AutomationNode.SendTrigger" - }, - "#AutomationNode.Start": { - "target": "/redfish/v1/AutomationNodes/XAxisMover/Actions/AutomationNode.Start" - }, - "#AutomationNode.Stop": { - "target": "/redfish/v1/AutomationNodes/XAxisMover/Actions/AutomationNode.Stop" - }, - "#AutomationNode.Wait": { - "target": "/redfish/v1/AutomationNodes/XAxisMover/Actions/AutomationNode.Wait" - } - }, - "@odata.id": "/redfish/v1/AutomationNodes/XAxisMover" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Battery-v1-Reset-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Battery-v1-Reset-request-example.json deleted file mode 100644 index a9d4f9ca..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Battery-v1-Reset-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "ResetType": "PowerCycle" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Battery-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Battery-v1-example.json deleted file mode 100644 index a5543b2e..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Battery-v1-example.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Battery.v1_5_0.Battery", - "Id": "Module1", - "Name": "Battery 1", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "Actions": { - "#Battery.SelfTest": { - "target": "/redfish/v1/Chassis/1U/PowerSubsystem/Batteries/Module1/Actions/Battery.SelfTest" - }, - "#Battery.Calibrate": { - "target": "/redfish/v1/Chassis/1U/PowerSubsystem/Batteries/Module1/Actions/Battery.Calibrate" - } - }, - "Location": { - "PartLocation": { - "ServiceLabel": "Battery 1", - "LocationType": "Bay", - "LocationOrdinalValue": 0 - } - }, - "Model": "RKS-440DC", - "Manufacturer": "Contoso Power", - "FirmwareVersion": "1.00", - "Version": "A05", - "ProductionDate": "2019-10-01T06:00:00Z", - "SerialNumber": "3488247", - "PartNumber": "23456-133", - "SparePartNumber": "93284-133", - "LocationIndicatorActive": false, - "HotPluggable": true, - "CapacityRatedWattHours": 20, - "CapacityActualWattHours": 19.41, - "MaxDischargeRateAmps": 10, - "StateOfHealthPercent": { - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/Battery1StateOfHealth", - "Reading": 91 - }, - "ChargeState": "Idle", - "Metrics": { - "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/Batteries/Module1/Metrics" - }, - "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/Batteries/Module1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/BatteryMetrics-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/BatteryMetrics-v1-example.json deleted file mode 100644 index 3c745b3b..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/BatteryMetrics-v1-example.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#BatteryMetrics.v1_1_0.BatteryMetrics", - "Id": "Metrics", - "Name": "Metrics for Battery 1", - "DischargeCycles": 8.67, - "InputVoltage": { - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/Battery1InputVoltage", - "Reading": 12.22 - }, - "InputCurrentAmps": { - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/Battery1InputCurrent", - "Reading": 0 - }, - "OutputVoltages": [ - { - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/Battery1OutputVoltage", - "Reading": 12.22 - } - ], - "OutputCurrentAmps": [ - { - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/Battery1OutputCurrent", - "Reading": 0 - } - ], - "StoredEnergyWattHours": { - "Reading": 19.41 - }, - "TemperatureCelsius": { - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/Battery1Temp", - "Reading": 33 - }, - "ChargePercent": { - "Reading": 100 - }, - "CellVoltages": [ - { - "Reading": 3.44 - }, - { - "Reading": 3.45 - }, - { - "Reading": 3.43 - }, - { - "Reading": 3.43 - }, - { - "Reading": 3.45 - }, - { - "Reading": 3.44 - }, - { - "Reading": 3.43 - }, - { - "Reading": 3.44 - } - ], - "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/Batteries/Module1/Metrics" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Bios-v1-ChangePassword-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Bios-v1-ChangePassword-request-example.json deleted file mode 100644 index f0abc49f..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Bios-v1-ChangePassword-request-example.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "OldPassword": "secret123", - "NewPassword": "B3tterS3cur1tY!", - "PasswordName": "Admin" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Bios-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Bios-v1-example.json deleted file mode 100644 index 931cd29d..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Bios-v1-example.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Bios.v1_3_0.Bios", - "Id": "BIOS", - "Name": "BIOS Configuration Current Settings", - "AttributeRegistry": "BiosAttributeRegistryP89.v1_0_0", - "Attributes": { - "AdminPhone": "", - "BootMode": "Uefi", - "EmbeddedSata": "Raid", - "NicBoot1": "NetworkBoot", - "NicBoot2": "Disabled", - "PowerProfile": "MaxPerf", - "ProcCoreDisable": 0, - "ProcHyperthreading": "Enabled", - "ProcTurboMode": "Enabled", - "UsbControl": "UsbEnabled" - }, - "@Redfish.Settings": { - "@odata.type": "#Settings.v1_5_0.Settings", - "ETag": "9234ac83b9700123cc32", - "Messages": [ - { - "MessageId": "Base.1.0.SettingsFailed", - "RelatedProperties": [ - "/Attributes/ProcTurboMode" - ] - } - ], - "SettingsObject": { - "@odata.id": "/redfish/v1/Systems/437XR1138R2/Bios/Settings" - }, - "Time": "2016-03-07T14:44.30-05:00" - }, - "Actions": { - "#Bios.ResetBios": { - "target": "/redfish/v1/Systems/437XR1138R2/Bios/Actions/Bios.ResetBios" - }, - "#Bios.ChangePassword": { - "target": "/redfish/v1/Systems/437XR1138R2/Bios/Actions/Bios.ChangePassword" - } - }, - "@odata.id": "/redfish/v1/Systems/437XR1138R2/Bios" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/BootOption-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/BootOption-v1-example.json deleted file mode 100644 index 3b1561da..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/BootOption-v1-example.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#BootOption.v1_0_6.BootOption", - "Id": "1", - "Name": "Boot Option", - "Description": "UEFI Boot Option", - "BootOptionReference": "Boot0000", - "DisplayName": "Windows Boot Manager", - "UefiDevicePath": "PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Scsi(0x0,0x0)/HD(2,GPT,B02BF459-8975-4222-A1C4-17915C29E5E5,0x96800,0x31800)/\\EFI\\Microsoft\\Boot\\bootmgfw.efi", - "Alias": "Hdd", - "RelatedItem": [ - { - "@odata.id": "/redfish/v1/Systems/1/SimpleStorage/1" - } - ], - "@odata.id": "/redfish/v1/Systems/1/BootOptions/1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CXLLogicalDevice-v1-DisablePassphrase-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CXLLogicalDevice-v1-DisablePassphrase-request-example.json deleted file mode 100644 index 315a0053..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CXLLogicalDevice-v1-DisablePassphrase-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Passphrase": "FluffyBunny" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CXLLogicalDevice-v1-DynamicCapacityAdd-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CXLLogicalDevice-v1-DynamicCapacityAdd-request-example.json deleted file mode 100644 index 0bb923b5..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CXLLogicalDevice-v1-DynamicCapacityAdd-request-example.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Policy": "Prescriptive", - "ExtentList": [ - { - "@odata.id": "/redfish/v1/Chassis/CXL-DCD/PCIeDevices/1/MemoryExtents/1" - } - ] -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CXLLogicalDevice-v1-DynamicCapacityRelease-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CXLLogicalDevice-v1-DynamicCapacityRelease-request-example.json deleted file mode 100644 index 415a5d60..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CXLLogicalDevice-v1-DynamicCapacityRelease-request-example.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Policy": "Prescriptive", - "ForcedRemoval": false, - "SanitizeOnRelease": true, - "ExtentList": [ - { - "@odata.id": "/redfish/v1/Chassis/CXL-DCD/PCIeDevices/1/MemoryExtents/1" - } - ] -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CXLLogicalDevice-v1-PassphraseSecureErase-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CXLLogicalDevice-v1-PassphraseSecureErase-request-example.json deleted file mode 100644 index 6ae0cf9c..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CXLLogicalDevice-v1-PassphraseSecureErase-request-example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Passphrase": "FluffyBunny", - "PassphraseType": "Master" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CXLLogicalDevice-v1-SetPassphrase-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CXLLogicalDevice-v1-SetPassphrase-request-example.json deleted file mode 100644 index 8e971ecc..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CXLLogicalDevice-v1-SetPassphrase-request-example.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "PassphraseType": "User", - "Passphrase": "FluffyBunny", - "NewPassphrase": "CrunchyBunny" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CXLLogicalDevice-v1-Unlock-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CXLLogicalDevice-v1-Unlock-request-example.json deleted file mode 100644 index 315a0053..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CXLLogicalDevice-v1-Unlock-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Passphrase": "FluffyBunny" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CXLLogicalDevice-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CXLLogicalDevice-v1-example.json deleted file mode 100644 index 5e180a11..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CXLLogicalDevice-v1-example.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#CXLLogicalDevice.v1_5_0.CXLLogicalDevice", - "Id": "1", - "Name": "CXL Logical Device Type 1", - "Description": "Locally attached CXL Logical Device Type 1", - "Status": { - "State": "Enabled", - "Health": "OK", - "HealthRollup": "OK" - }, - "Identifiers": [ - { - "DurableName": "4C-1D-96-FF-FE-DD-D8-35:0001", - "DurableNameFormat": "GCXLID" - } - ], - "SemanticsSupported": [ - "CXLio", - "CXLcache" - ], - "Links": { - "PCIeFunctions": [ - { - "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices/1/PCIeFunctions/1" - } - ] - }, - "@odata.id": "/redfish/v1/Chassis/CXL1/PCIeDevices/1/CXLLogicalDevices/1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Cable-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Cable-v1-example.json deleted file mode 100644 index ad635570..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Cable-v1-example.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Cable.v1_3_0.Cable", - "Id": "hdmi_dp", - "Name": "HDMI to DP Cable", - "UserDescription": "HDMI to DisplayPort Cable", - "UpstreamName": "HDMI0", - "DownstreamName": "Video Out", - "CableType": "HDMI", - "LengthMeters": 0.1, - "CableClass": "Video", - "UpstreamConnectorTypes": [ - "HDMI" - ], - "DownstreamConnectorTypes": [ - "DisplayPort" - ], - "Links": { - "UpstreamChassis": [ - { - "@odata.id": "/redfish/v1/Chassis/bmc" - } - ] - }, - "PartNumber": "934AMS02X", - "Manufacturer": "Cable Co.", - "SerialNumber": "2345791", - "Vendor": "Cablestore", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "CableStatus": "Normal", - "@odata.id": "/redfish/v1/Cables/hdmi_dp" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Certificate-v1-Rekey-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Certificate-v1-Rekey-request-example.json deleted file mode 100644 index 6cb4d3ad..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Certificate-v1-Rekey-request-example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "KeyPairAlgorithm": "TPM_ALG_RSA", - "KeyBitLength": 4096 -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Certificate-v1-Rekey-response-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Certificate-v1-Rekey-response-example.json deleted file mode 100644 index 9b2dcd19..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Certificate-v1-Rekey-response-example.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "CSRString": "-----BEGIN CERTIFICATE REQUEST-----...-----END CERTIFICATE REQUEST-----", - "Certificate": { - "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1" - } -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Certificate-v1-Renew-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Certificate-v1-Renew-request-example.json deleted file mode 100644 index bd1f0a65..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Certificate-v1-Renew-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "ChallengePassword": "p4ssw0rd" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Certificate-v1-Renew-response-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Certificate-v1-Renew-response-example.json deleted file mode 100644 index 9b2dcd19..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Certificate-v1-Renew-response-example.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "CSRString": "-----BEGIN CERTIFICATE REQUEST-----...-----END CERTIFICATE REQUEST-----", - "Certificate": { - "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1" - } -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Certificate-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Certificate-v1-example.json deleted file mode 100644 index 6b4658f9..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Certificate-v1-example.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Certificate.v1_11_0.Certificate", - "Id": "1", - "Name": "HTTPS Certificate", - "CertificateString": "-----BEGIN CERTIFICATE-----\nMIIFsTCC [*truncated*] GXG5zljlu\n-----END CERTIFICATE-----", - "CertificateType": "PEM", - "Issuer": { - "Country": "US", - "State": "Oregon", - "City": "Portland", - "Organization": "Contoso", - "OrganizationalUnit": "ABC", - "CommonName": "manager.contoso.org" - }, - "Subject": { - "Country": "US", - "State": "Oregon", - "City": "Portland", - "Organization": "Contoso", - "OrganizationalUnit": "ABC", - "CommonName": "manager.contoso.org" - }, - "ValidNotBefore": "2018-09-07T13:22:05Z", - "ValidNotAfter": "2019-09-07T13:22:05Z", - "KeyUsage": [ - "KeyEncipherment", - "ServerAuthentication" - ], - "SerialNumber": "5d:7a:d8:df:f6:fc:c1:b3:ca:fe:fb:cc:38:f3:01:64:51:ea:05:cb", - "Fingerprint": "A6:E9:D2:5C:DC:52:DA:4B:3B:14:97:F3:A4:53:D9:99:A1:0B:56:41", - "FingerprintHashAlgorithm": "TPM_ALG_SHA1", - "SignatureAlgorithm": "sha256WithRSAEncryption", - "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CertificateEnrollment-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CertificateEnrollment-v1-example.json deleted file mode 100644 index 2246e6a3..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CertificateEnrollment-v1-example.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#CertificateEnrollment.v1_0_2.CertificateEnrollment", - "Id": "1", - "Name": "Certificate Enrollment", - "EnrollmentType": "ACME", - "ACME": { - "Email": "something@xyz.com", - "ChallengeType": "Http01" - }, - "Enabled": true, - "ServerURI": "myacmeserver.com", - "VerifyCertificate": true, - "RenewBeforeExpiryDays": 30, - "CSRParameters": { - "AlternativeNames": [ - "192.168.10.42" - ], - "City": "San Francisco", - "CommonName": "www.bmc987.com", - "Country": "US", - "Organization": "DMTF", - "OrganizationalUnit": "IT", - "State": "California" - }, - "Links": { - "EnrolledCertificateLocation": { - "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol/HTTPS/Certificates" - }, - "EnrolledCertificate": { - "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1" - }, - "CACertificates": [ - { - "@odata.id": "/redfish/v1/CertificateService/EnrollmentCACertificates/1" - } - ] - }, - "EnrollmentState": { - "LastOperation": "Renew", - "LastOperationTime": "2025-07-05T03:29:19Z", - "LastOperationStatus": "Success" - }, - "@odata.id": "/redfish/v1/CertificateService/CertificateEnrollments/1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CertificateLocations-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CertificateLocations-v1-example.json deleted file mode 100644 index 42136b91..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CertificateLocations-v1-example.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#CertificateLocations.v1_0_4.CertificateLocations", - "Id": "CertificateLocations", - "Name": "Certificate Locations", - "Links": { - "Certificates": [ - { - "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1" - } - ] - }, - "@odata.id": "/redfish/v1/CertificateService/CertificateLocations" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CertificateService-v1-GenerateCSR-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CertificateService-v1-GenerateCSR-request-example.json deleted file mode 100644 index ef01e73b..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CertificateService-v1-GenerateCSR-request-example.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Country": "US", - "State": "Oregon", - "City": "Portland", - "Organization": "Contoso", - "OrganizationalUnit": "ABC", - "CommonName": "manager.contoso.org", - "AlternativeNames": [ - "manager.contoso.org", - "manager.contoso.com", - "manager.contoso.us" - ], - "Email": "admin@contoso.org", - "KeyPairAlgorithm": "TPM_ALG_RSA", - "KeyBitLength": 4096, - "KeyUsage": [ - "KeyEncipherment", - "ServerAuthentication" - ], - "CertificateCollection": { - "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol/HTTPS/Certificates" - } -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CertificateService-v1-GenerateCSR-response-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CertificateService-v1-GenerateCSR-response-example.json deleted file mode 100644 index 137c8bff..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CertificateService-v1-GenerateCSR-response-example.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "CSRString": "-----BEGIN CERTIFICATE REQUEST-----...-----END CERTIFICATE REQUEST-----", - "CertificateCollection": { - "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol/HTTPS/Certificates" - } -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CertificateService-v1-ReplaceCertificate-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CertificateService-v1-ReplaceCertificate-request-example.json deleted file mode 100644 index 35d50430..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CertificateService-v1-ReplaceCertificate-request-example.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "CertificateUri": { - "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol/HTTPS/Certificates/1" - }, - "CertificateString": "-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----", - "CertificateType": "PEM" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CertificateService-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CertificateService-v1-example.json deleted file mode 100644 index e37c1fae..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CertificateService-v1-example.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#CertificateService.v1_2_2.CertificateService", - "Id": "CertificateService", - "Name": "Certificate Service", - "Actions": { - "#CertificateService.GenerateCSR": { - "target": "/redfish/v1/CertificateService/Actions/CertificateService.GenerateCSR", - "@Redfish.ActionInfo": "/redfish/v1/CertificateService/GenerateCSRActionInfo" - }, - "#CertificateService.ReplaceCertificate": { - "target": "/redfish/v1/CertificateService/Actions/CertificateService.ReplaceCertificate", - "@Redfish.ActionInfo": "/redfish/v1/CertificateService/ReplaceCertificateActionInfo" - } - }, - "CertificateLocations": { - "@odata.id": "/redfish/v1/CertificateService/CertificateLocations" - }, - "@odata.id": "/redfish/v1/CertificateService" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Chassis-v1-Reset-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Chassis-v1-Reset-request-example.json deleted file mode 100644 index 6f0c7170..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Chassis-v1-Reset-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "ResetType": "ForceRestart" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Chassis-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Chassis-v1-example.json deleted file mode 100644 index 251de379..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Chassis-v1-example.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Chassis.v1_29_0.Chassis", - "Id": "1U", - "Name": "Computer System Chassis", - "ChassisType": "RackMount", - "AssetTag": "Chicago-45Z-2381", - "Manufacturer": "Contoso", - "Model": "3500RX", - "SKU": "8675309", - "SerialNumber": "437XR1138R2", - "PartNumber": "224071-J23", - "PowerState": "On", - "LocationIndicatorActive": true, - "Location": { - "Placement": { - "Row": "North", - "Rack": "WEB43", - "RackOffsetUnits": "EIA_310", - "RackOffset": 12 - } - }, - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "HeightMm": 44.45, - "WidthMm": 431.8, - "DepthMm": 711, - "WeightKg": 15.31, - "EnvironmentalClass": "A3", - "Sensors": { - "@odata.id": "/redfish/v1/Chassis/1U/Sensors" - }, - "PowerSubsystem": { - "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem" - }, - "ThermalSubsystem": { - "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem" - }, - "EnvironmentMetrics": { - "@odata.id": "/redfish/v1/Chassis/1U/EnvironmentMetrics" - }, - "Links": { - "ComputerSystems": [ - { - "@odata.id": "/redfish/v1/Systems/437XR1138R2" - } - ], - "ManagedBy": [ - { - "@odata.id": "/redfish/v1/Managers/BMC" - } - ], - "ManagersInChassis": [ - { - "@odata.id": "/redfish/v1/Managers/BMC" - } - ] - }, - "@odata.id": "/redfish/v1/Chassis/1U" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Circuit-v1-BreakerControl-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Circuit-v1-BreakerControl-request-example.json deleted file mode 100644 index 0e7229c7..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Circuit-v1-BreakerControl-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "PowerState": "On" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Circuit-v1-PowerControl-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Circuit-v1-PowerControl-request-example.json deleted file mode 100644 index 075e40ea..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Circuit-v1-PowerControl-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "PowerState": "Off" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Circuit-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Circuit-v1-example.json deleted file mode 100644 index 921a80c1..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Circuit-v1-example.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Circuit.v1_10_0.Circuit", - "Id": "A", - "Name": "Branch Circuit A", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "CircuitType": "Branch", - "PhaseWiringType": "TwoPhase3Wire", - "NominalVoltage": "AC200To240V", - "RatedCurrentAmps": 16, - "BreakerState": "Normal", - "PolyPhaseVoltage": { - "Line1ToNeutral": { - "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/VoltageAL1N", - "Reading": 118.2 - }, - "Line1ToLine2": { - "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/VoltageAL1L2", - "Reading": 203.5 - } - }, - "CurrentAmps": { - "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/CurrentA", - "Reading": 5.19 - }, - "PolyPhaseCurrentAmps": { - "Line1": { - "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/CurrentA", - "Reading": 5.19 - } - }, - "PowerWatts": { - "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/PowerA", - "Reading": 937.4, - "ApparentVA": 937.4, - "ReactiveVAR": 0, - "PowerFactor": 1 - }, - "PolyPhasePowerWatts": { - "Line1ToNeutral": { - "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/PowerA1", - "Reading": 937.4, - "PeakReading": 1000.5, - "ApparentVA": 937.4, - "ReactiveVAR": 0, - "PowerFactor": 1 - } - }, - "FrequencyHz": { - "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/FrequencyA", - "Reading": 60 - }, - "EnergykWh": { - "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/EnergyA", - "Reading": 325675 - }, - "Links": { - "Outlets": [ - { - "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/A1" - }, - { - "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/A2" - }, - { - "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/A3" - } - ] - }, - "Actions": { - "#Circuit.BreakerControl": { - "target": "/redfish/v1/PowerEquipment/RackPDUs/1/Branches/A/Actions/Circuit.BreakerControl" - }, - "#Circuit.ResetMetrics": { - "target": "/redfish/v1/PowerEquipment/RackPDUs/1/Branches/A/Actions/Circuit.ResetMetrics" - } - }, - "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Branches/A" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CommonPropertySchema.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CommonPropertySchema.json deleted file mode 100644 index d46da35e..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CommonPropertySchema.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_2_0.json", - "title": "CommonProperties", - "$ref": "#/definitions/CommonProperties", - "definitions": { - "CommonProperties": { - "type": "object", - "additionalProperties": false, - "properties": { - "@odata.context": { - "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/context", - "description": "The @odata.context property is a URL to a metadata document with a fragment describing the data (typically rooted at the top-level singleton or collection). Technically the metadata document only has to define, or reference, any of the types that it directly uses, and different payloads could reference different metadata documents. However, since the @odata.context provides a root URL for resolving relative references (such as @odata.id's), we return the canonical metadata document." - }, - "@odata.id": { - "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/id", - "description": "The @odata.id property is a string that indicates the unique identifier of a resource." - }, - "@odata.type": { - "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/type", - "description": "The @odata.type property is a URL fragment that indicates the type of the resource." - }, - "Description": { - "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description", - "description": "The Description property is used to convey a human-readable description of the resource." - }, - "Id": { - "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id", - "description": "The Id property of a resource uniquely identifies the resource within the Resource Collection that contains it. The value of Id is unique within a Resource Collection." - }, - "Name": { - "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name", - "description": "The Name property is used to convey a human-readable moniker for a resource. The type of the Name property is a string. The value of Name is NOT necessarily unique across resource instances within a Resource Collection." - }, - "Oem": { - "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem", - "description": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections." - } - } - }, - "FrequentProperties": { - "type": "object", - "additionalProperties": false, - "properties": { - "Actions": { - "type": "object", - "description": "This object contains definitions for the Redfish Actions available for this resource.", - "properties": { - "target": { - "type": "string", - "description": "**** TBD ****" - } - } - }, - "Links": { - "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Links", - "description": "The Links property represents the links associated with the resource, as defined by that resource's schema definition. All associated reference properties defined for a resource are nested under the Links property. All directly referenced (subordinate) properties defined for a resource can be found from the root of the resource." - }, - "RelatedItems": { - "type": "string", - "description": "The RelatedItem property is represented as a set of links. The links point to a resource, or part of a resource, as defined by that resource's schema definition. This representation is not intended to be a strong linking methodology like other references. Instead it is used to show a relationship between elements or sub-elements in disparate parts of the service. For example, fans might be in one area of the system and processors in another area of the system. It could be that the relationship between the two is not obvious. The RelatedItem property can be used to show that one is related to the other. In this example, it might indicate that a specific fan is cooling a specific processor." - } - } - } - }, - "copyright": "Copyright 2014-2019 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComponentIntegrity-v1-SPDMGetSignedMeasurements-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComponentIntegrity-v1-SPDMGetSignedMeasurements-request-example.json deleted file mode 100644 index 574cc4f6..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComponentIntegrity-v1-SPDMGetSignedMeasurements-request-example.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Nonce": "4f2359ee609824d33d35c2968b6c56b702a692ab0d8a441f25c7d81fbe833a78", - "SlotId": 0, - "MeasurementIndices": [ - 0, - 1, - 2 - ] -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComponentIntegrity-v1-SPDMGetSignedMeasurements-response-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComponentIntegrity-v1-SPDMGetSignedMeasurements-response-example.json deleted file mode 100644 index fc0d7278..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComponentIntegrity-v1-SPDMGetSignedMeasurements-response-example.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#ComponentIntegrity.v1_0_0.SPDMGetSignedMeasurementsResponse", - "Version": "1.1", - "HashingAlgorithm": "SHA256", - "SigningAlgorithm": "TPM_ALG_RSAPSS_3072", - "SignedMeasurements": "EeAQx8PJWv9CbeGdmlPaARrrMw... TRUNCATED (TYPICALLY KB or MB)", - "Certificate": { - "@odata.id": "/redfish/v1/Systems/437XR1138R2/Certificates/SScert" - } -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComponentIntegrity-v1-TPMGetSignedMeasurements-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComponentIntegrity-v1-TPMGetSignedMeasurements-request-example.json deleted file mode 100644 index b5bd90fc..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComponentIntegrity-v1-TPMGetSignedMeasurements-request-example.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Nonce": "4f2359ee609824d33d35c2968b6c56b702a692ab0d8a441f25c7d81fbe833a78", - "Certificate": { - "@odata.id": "/redfish/v1/Chassis/1/TrustedComponents/TPM1/Certificates/1" - }, - "Scheme": "MzI5NDg=", - "PCRSelection": "MjM3NDA4MjM5ODQ=" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComponentIntegrity-v1-TPMGetSignedMeasurements-response-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComponentIntegrity-v1-TPMGetSignedMeasurements-response-example.json deleted file mode 100644 index 9b42ef35..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComponentIntegrity-v1-TPMGetSignedMeasurements-response-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "SignedMeasurements": "EeAQx8PJWv9CbeGdmlPaARrrMw... TRUNCATED (TYPICALLY KB or MB)" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComponentIntegrity-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComponentIntegrity-v1-example.json deleted file mode 100644 index af59fc0f..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComponentIntegrity-v1-example.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#ComponentIntegrity.v1_5_0.ComponentIntegrity", - "Id": "SS-SPDM-0", - "Name": "Component Integrity", - "Description": "SPDM Integrity Information for CPU1 reported by AC-RoT0", - "Status": { - "Health": "OK", - "State": "Enabled" - }, - "ComponentIntegrityType": "SPDM", - "ComponentIntegrityTypeVersion": "1.1.0", - "ComponentIntegrityEnabled": true, - "TargetComponentURI": "/redfish/v1/Chassis/1U/TrustedComponents/AC-RoT0", - "LastUpdated": "2021-11-02T14:05:39-07:00", - "SPDM": { - "Requester": { - "@odata.id": "/redfish/v1/Managers/BMC" - }, - "MeasurementSet": { - "MeasurementSpecification": "DMTF", - "MeasurementSummary": "oylHo8JAT1RqtB0Vlx9dCzogavikhSvIZpVEDhI1X1+TKeyZZvwuUb5qF9uWqPVa", - "MeasurementSummaryHashAlgorithm": "TPM_ALG_SHA_384", - "MeasurementSummaryType": "TCB", - "Measurements": [ - { - "MeasurementIndex": 1, - "PartofSummaryHash": false, - "LastUpdated": "2021-10-31T19:08:02-07:00", - "Measurement": "K0zqzG/MFbeV7OVAhvDugxEzc7nMnRvdoKy8g2zU5JovPrUNSeFJxibTZE+0kOR9QhDR5RzumnomFECF8zI/Lw==", - "MeasurementHashAlgorithm": "TPM_ALG_SHA_512" - }, - { - "MeasurementIndex": 3, - "PartofSummaryHash": true, - "LastUpdated": "2021-10-31T19:08:02-07:00", - "Measurement": "4wEF1nnub2ozuYTWyjyvFGrYnSn0eidy54uaIYXjp/HKRByaco9UtCZeyNfA3rQ3YsRD/6csLcqGw9Nd9/HPAw==", - "MeasurementHashAlgorithm": "TPM_ALG_SHA_512", - "MeasurementType": "ImmutableROM" - }, - { - "MeasurementIndex": 150, - "PartofSummaryHash": true, - "LastUpdated": "2021-10-31T19:08:02-07:00", - "Measurement": "dZyksxnM/LZbSUY8INpp4wqcCM8m6XOKoy8cLaXOjUzqYYJT92AmEp7hKVFULNz1aCpKk69VULMyaDIv9hmJSQ==", - "MeasurementHashAlgorithm": "TPM_ALG_SHA_512" - } - ] - }, - "IdentityAuthentication": { - "ResponderAuthentication": { - "ComponentCertificate": { - "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/AC-RoT0/Certificates/DeviceCert" - } - } - }, - "ComponentCommunication": { - "Sessions": [ - { - "SessionId": 15999129, - "SessionType": "EncryptedAuthenticated" - }, - { - "SessionId": 1193013, - "SessionType": "EncryptedAuthenticated" - } - ] - } - }, - "@odata.id": "/redfish/v1/ComponentIntegrity/SS-SPDM-0" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CompositionReservation-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CompositionReservation-v1-example.json deleted file mode 100644 index ab5217ad..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CompositionReservation-v1-example.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#CompositionReservation.v1_0_2.CompositionReservation", - "Id": "1", - "Name": "Composition Reservation 1", - "ReservationTime": "2019-08-22T10:35:16+06:00", - "Client": "VCF1001", - "ReservedResourceBlocks": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-2" - } - ], - "Manifest": { - "Description": "Description for this Manifest document.", - "Timestamp": "2019-08-22T10:35:16+06:00", - "Expand": "None", - "Stanzas": [ - { - "StanzaType": "ComposeSystem", - "StanzaId": "Compute1", - "Request": { - "Links": { - "ResourceBlocks": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-2" - } - ] - } - } - } - ] - }, - "@odata.id": "/redfish/v1/CompositionService/CompositionReservations/1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CompositionService-v1-Compose-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CompositionService-v1-Compose-request-example.json deleted file mode 100644 index 54973ef1..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CompositionService-v1-Compose-request-example.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "RequestFormat": "Manifest", - "RequestType": "Apply", - "Manifest": { - "Description": "Specific composition example", - "Timestamp": "2019-08-22T10:35:16+06:00", - "Expand": "None", - "Stanzas": [ - { - "StanzaType": "ComposeSystem", - "StanzaId": "Compute1", - "Request": { - "Links": { - "ResourceBlocks": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1" - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1" - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkCard1" - } - ] - } - } - } - ] - } -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CompositionService-v1-Compose-response-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CompositionService-v1-Compose-response-example.json deleted file mode 100644 index 472c49fd..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CompositionService-v1-Compose-response-example.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "RequestFormat": "Manifest", - "RequestType": "Apply", - "Manifest": { - "Description": "Specific composition example", - "Timestamp": "2019-08-22T10:35:16+06:00", - "Expand": "None", - "Stanzas": [ - { - "StanzaType": "ComposeSystem", - "StanzaId": "Compute1", - "Request": { - "Links": { - "ResourceBlocks": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1" - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1" - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkCard1" - } - ] - } - }, - "Response": { - "@odata.id": "/redfish/v1/Systems/ComposedCompute1", - "@odata.type": "#ComputerSystem.v1_14_0.ComputerSystem", - "Id": "ComposedCompute1", - "Name": "Computer system composed from Compute1", - "Processors": { - "@odata.id": "/redfish/v1/Systems/ComposedCompute1/Processors" - }, - "Memory": { - "@odata.id": "/redfish/v1/Systems/ComposedCompute1/Memory" - }, - "NetworkInterfaces": { - "@odata.id": "/redfish/v1/Systems/ComposedCompute1/NetworkInterfaces" - }, - "Storage": { - "@odata.id": "/redfish/v1/Systems/ComposedCompute1/Storage" - }, - "Links": { - "ResourceBlocks": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1" - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1" - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkCard1" - } - ] - } - } - } - ] - } -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CompositionService-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CompositionService-v1-example.json deleted file mode 100644 index dad64f76..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CompositionService-v1-example.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#CompositionService.v1_2_3.CompositionService", - "Id": "CompositionService", - "Name": "Composition Service", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "ServiceEnabled": true, - "AllowOverprovisioning": true, - "AllowZoneAffinity": true, - "ResourceBlocks": { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks" - }, - "ResourceZones": { - "@odata.id": "/redfish/v1/CompositionService/ResourceZones" - }, - "@odata.id": "/redfish/v1/CompositionService" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-AddResourceBlock-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-AddResourceBlock-request-example.json deleted file mode 100644 index c3211c49..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-AddResourceBlock-request-example.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "ResourceBlock": { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/Offload-GPU1" - }, - "ResourceBlockETag": "W/\"19472363938\"", - "ComputerSystemETag": "W/\"99374369273\"" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-Decommission-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-Decommission-request-example.json deleted file mode 100644 index ffff042f..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-Decommission-request-example.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "DecommissionTypes": [ - "All" - ], - "RequireSecureErase": false -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-ExportConfiguration-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-ExportConfiguration-request-example.json deleted file mode 100644 index aaed1434..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-ExportConfiguration-request-example.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "ExportType": "Replacement", - "Components": [ - "All" - ], - "EncryptionPassphrase": "FluffyBunny23", - "Security": "IncludeSensitiveData" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-GraphicalConsoleGetOneTimeURL-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-GraphicalConsoleGetOneTimeURL-request-example.json deleted file mode 100644 index 90eba043..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-GraphicalConsoleGetOneTimeURL-request-example.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "ConsoleType": "HTML5", - "ValidityPeriodSeconds": 3600, - "AccessMode": "ReadWrite" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-GraphicalConsoleGetOneTimeURL-response-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-GraphicalConsoleGetOneTimeURL-response-example.json deleted file mode 100644 index c1dc2377..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-GraphicalConsoleGetOneTimeURL-response-example.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#ComputerSystem.v1_29_0.GraphicalConsoleGetOneTimeURLResponse", - "ConsoleURL": "https://bmc.example.com/console?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9", - "ValidUntil": "2026-03-24T15:30:00Z", - "ConsoleType": "HTML5", - "AccessMode": "ReadWrite" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-GraphicalConsoleSetOneTimePassword-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-GraphicalConsoleSetOneTimePassword-request-example.json deleted file mode 100644 index cd5c39c9..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-GraphicalConsoleSetOneTimePassword-request-example.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "ConsoleType": "VNC", - "ValidityPeriodSeconds": 1800, - "AccessMode": "ReadOnly" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-GraphicalConsoleSetOneTimePassword-response-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-GraphicalConsoleSetOneTimePassword-response-example.json deleted file mode 100644 index 123835ac..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-GraphicalConsoleSetOneTimePassword-response-example.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#ComputerSystem.v1_29_0.GraphicalConsoleSetOneTimePasswordResponse", - "Password": "Xy9@mK2pL4nQ", - "ValidUntil": "2026-03-24T15:00:00Z", - "ConsoleType": "VNC", - "AccessMode": "ReadOnly" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-GraphicalConsoleSetPassword-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-GraphicalConsoleSetPassword-request-example.json deleted file mode 100644 index e7b09938..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-GraphicalConsoleSetPassword-request-example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "ConsoleType": "VNC", - "Password": "MySecureVNCPassword123!" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-RemoveResourceBlock-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-RemoveResourceBlock-request-example.json deleted file mode 100644 index c3211c49..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-RemoveResourceBlock-request-example.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "ResourceBlock": { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/Offload-GPU1" - }, - "ResourceBlockETag": "W/\"19472363938\"", - "ComputerSystemETag": "W/\"99374369273\"" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-Reset-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-Reset-request-example.json deleted file mode 100644 index 6f0c7170..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-Reset-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "ResetType": "ForceRestart" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-example.json deleted file mode 100644 index 013a3970..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ComputerSystem-v1-example.json +++ /dev/null @@ -1,128 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#ComputerSystem.v1_29_0.ComputerSystem", - "Id": "437XR1138R2", - "Name": "WebFrontEnd483", - "SystemType": "Physical", - "AssetTag": "Chicago-45Z-2381", - "Manufacturer": "Contoso", - "Model": "3500RX", - "SKU": "8675309", - "SerialNumber": "437XR1138R2", - "PartNumber": "224071-J23", - "Description": "Web Front End node", - "UUID": "38947555-7742-3448-3784-823347823834", - "HostName": "web483", - "Status": { - "State": "Enabled", - "Health": "OK", - "HealthRollup": "OK" - }, - "HostingRoles": [ - "ApplicationServer" - ], - "LocationIndicatorActive": false, - "PowerState": "On", - "Boot": { - "BootSourceOverrideEnabled": "Once", - "BootSourceOverrideTarget": "Pxe", - "BootSourceOverrideTarget@Redfish.AllowableValues": [ - "None", - "Pxe", - "Cd", - "Usb", - "Hdd", - "BiosSetup", - "Utilities", - "Diags", - "SDCard", - "UefiTarget" - ], - "BootSourceOverrideMode": "UEFI", - "UefiTargetBootSourceOverride": "/0x31/0x33/0x01/0x01" - }, - "TrustedModules": [ - { - "FirmwareVersion": "1.13b", - "InterfaceType": "TPM1_2", - "Status": { - "State": "Enabled", - "Health": "OK" - } - } - ], - "Oem": { - "Contoso": { - "@odata.type": "#Contoso.ComputerSystem", - "ProductionLocation": { - "FacilityName": "PacWest Production Facility", - "Country": "USA" - } - }, - "Chipwise": { - "@odata.type": "#Chipwise.ComputerSystem", - "Style": "Executive" - } - }, - "BiosVersion": "P79 v1.33 (02/28/2015)", - "ProcessorSummary": { - "Count": 2, - "Model": "Multi-Core Intel(R) Xeon(R) processor 7xxx Series" - }, - "MemorySummary": { - "TotalSystemMemoryGiB": 96, - "TotalSystemPersistentMemoryGiB": 0, - "MemoryMirroring": "None" - }, - "Bios": { - "@odata.id": "/redfish/v1/Systems/437XR1138R2/BIOS" - }, - "Processors": { - "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors" - }, - "Memory": { - "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory" - }, - "EthernetInterfaces": { - "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces" - }, - "SimpleStorage": { - "@odata.id": "/redfish/v1/Systems/437XR1138R2/SimpleStorage" - }, - "LogServices": { - "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices" - }, - "Links": { - "Chassis": [ - { - "@odata.id": "/redfish/v1/Chassis/1U" - } - ], - "ManagedBy": [ - { - "@odata.id": "/redfish/v1/Managers/BMC" - } - ] - }, - "Actions": { - "#ComputerSystem.Reset": { - "target": "/redfish/v1/Systems/437XR1138R2/Actions/ComputerSystem.Reset", - "ResetType@Redfish.AllowableValues": [ - "On", - "ForceOff", - "GracefulShutdown", - "GracefulRestart", - "ForceRestart", - "Nmi", - "ForceOn", - "PushPowerButton" - ] - }, - "Oem": { - "#Contoso.Reset": { - "target": "/redfish/v1/Systems/437XR1138R2/Oem/Contoso/Actions/Contoso.Reset" - } - } - }, - "@odata.id": "/redfish/v1/Systems/437XR1138R2" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Connection-v1-AddVolumeInfo-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Connection-v1-AddVolumeInfo-request-example.json deleted file mode 100644 index a6ea34cf..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Connection-v1-AddVolumeInfo-request-example.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Volume": { - "@odata.id": "/redfish/v1/Storage/NVMeoF/Volumes/1" - }, - "LUN": 1 -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Connection-v1-RemoveVolumeInfo-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Connection-v1-RemoveVolumeInfo-request-example.json deleted file mode 100644 index 63caa20e..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Connection-v1-RemoveVolumeInfo-request-example.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Volume": { - "@odata.id": "/redfish/v1/Storage/NVMeoF/Volumes/1" - } -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Connection-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Connection-v1-example.json deleted file mode 100644 index 17ba5338..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Connection-v1-example.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Connection.v1_4_0.Connection", - "Id": "1", - "Name": "Connection info for host 1", - "ConnectionType": "Storage", - "VolumeInfo": [ - { - "AccessCapabilities": [ - "Read", - "Write" - ], - "Volume": { - "@odata.id": "/redfish/v1/Storage/NVMeoF/Volumes/1" - } - }, - { - "AccessCapabilities": [ - "Read", - "Write" - ], - "Volume": { - "@odata.id": "/redfish/v1/Storage/NVMeoF/Volumes/3" - } - } - ], - "Links": { - "InitiatorEndpoints": [ - { - "@odata.id": "/redfish/v1/Fabrics/NVMeoF/Endpoints/Initiator1" - } - ] - }, - "@odata.id": "/redfish/v1/Fabrics/NVMeoF/Connections/1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ConnectionMethod-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ConnectionMethod-v1-example.json deleted file mode 100644 index aad2a9c4..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ConnectionMethod-v1-example.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#ConnectionMethod.v1_3_0.ConnectionMethod", - "Id": "ConnectionMethod1", - "Name": "ConnectionMethod One", - "ConnectionMethodType": "Redfish", - "ConnectionMethodVariant": "Contoso", - "Links": { - "AggregationSources": [ - { - "@odata.id": "/redfish/v1/AggregationService/AggregationSources/AggregationSource1" - } - ] - }, - "@odata.id": "/redfish/v1/AggregationService/ConnectionMethods/ConnectionMethod1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Container-v1-Reset-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Container-v1-Reset-request-example.json deleted file mode 100644 index b148ceaa..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Container-v1-Reset-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "ResetType": "GracefulRestart" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Container-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Container-v1-example.json deleted file mode 100644 index f2359af4..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Container-v1-example.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Container.v1_0_1.Container", - "Id": "WebBusinessLogic", - "Name": "Internal Web Business Logic", - "StartTime": "2021-02-06T22:49:02Z", - "Limits": { - "MemoryBytes": 4294967296, - "CPUCount": 1.5 - }, - "Status": { - "State": "Enabled" - }, - "MountPoints": [ - { - "Source": "/opt/MyContainerStorage/WebConfig", - "Destination": "/config" - } - ], - "ProgrammaticId": "5584c257aba833892e1841cb77d898edc1f942f3bf901e7e0c390a504b9897a0", - "EthernetInterfaces": { - "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/Containers/WebBusinessLogic/EthernetInterfaces" - }, - "Links": { - "ContainerImage": { - "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/ContainerImages/WebLogic" - } - }, - "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/Containers/WebBusinessLogic" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ContainerImage-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ContainerImage-v1-example.json deleted file mode 100644 index c5ef3ffb..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ContainerImage-v1-example.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#ContainerImage.v1_0_1.ContainerImage", - "Id": "WebLogic", - "Name": "Contoso Internal Web Business Logic 1.0", - "CreateTime": "2021-02-06T22:49:02Z", - "Type": "OCI", - "Version": "1.0.0", - "Status": { - "State": "Enabled" - }, - "ProgrammaticId": "2fbd319a987e5265aae45b7e786dead51d1aae48b7bea42bcfc91a62934ca37f", - "SizeBytes": 373293056, - "Links": { - "Containers": [ - { - "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/Containers/WebBusinessLogic" - } - ] - }, - "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/ContainerImages/WebLogic" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Control-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Control-v1-example.json deleted file mode 100644 index 91d2bcea..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Control-v1-example.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Control.v1_8_1.Control", - "Id": "PowerLimit", - "Name": "System Power Limit", - "PhysicalContext": "Chassis", - "ControlType": "Power", - "ControlMode": "Automatic", - "SetPoint": 500, - "SetPointUnits": "W", - "AllowableMax": 1000, - "AllowableMin": 150, - "Sensor": { - "Reading": 374, - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/TotalPower" - }, - "Status": { - "Health": "OK", - "State": "Enabled" - }, - "@odata.id": "/redfish/v1/Chassis/1U/Controls/PowerLimit" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CoolantConnector-v1-ValveControl-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CoolantConnector-v1-ValveControl-request-example.json deleted file mode 100644 index d69d51f4..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CoolantConnector-v1-ValveControl-request-example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "ValveState": "Closed", - "ValveStateReason": "LeakDetected" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CoolantConnector-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CoolantConnector-v1-example.json deleted file mode 100644 index ae535aa5..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CoolantConnector-v1-example.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#CoolantConnector.v1_5_0.CoolantConnector", - "Id": "A", - "Name": "Rack Cooling Loop A", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "CoolantConnectorType": "Pair", - "RatedFlowLitersPerMinute": 30, - "FlowLitersPerMinute": { - "Reading": 24.3 - }, - "SupplyTemperatureCelsius": { - "Reading": 14.8 - }, - "ReturnTemperatureCelsius": { - "Reading": 38.2 - }, - "DeltaTemperatureCelsius": { - "Reading": 23.4 - }, - "SupplyPressurekPa": { - "Reading": 426.6 - }, - "ReturnPressurekPa": { - "Reading": 409.9 - }, - "DeltaPressurekPa": { - "Reading": 31.7 - }, - "Links": { - "ConnectedCoolingLoop": { - "@odata.id": "/redfish/v1/ThermalEquipment/CoolingLoops/Rack4" - } - }, - "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/SecondaryCoolantConnectors/A" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CoolingLoop-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CoolingLoop-v1-example.json deleted file mode 100644 index e39018c0..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CoolingLoop-v1-example.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#CoolingLoop.v1_1_0.CoolingLoop", - "Id": "BuildingChiller", - "Name": "Feed from building chiller", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "UserLabel": "Building Chiller", - "Coolant": { - "CoolantType": "Water", - "AdditiveName": "Generic cooling water biocide", - "AdditivePercent": 0 - }, - "CoolantLevelStatus": "OK", - "CoolantQuality": "OK", - "CoolantLevelPercent": { - "Reading": 95 - }, - "SupplyEquipmentNames": [ - "Chiller" - ], - "ConsumingEquipmentNames": [ - "Rack #1 CDU", - "Rack #2 CDU", - "Rack #3 CDU", - "Rack #4 CDU" - ], - "@odata.id": "/redfish/v1/ThermalEquipment/CoolingLoops/BuildingChiller" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CoolingUnit-v1-ExportConfiguration-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CoolingUnit-v1-ExportConfiguration-request-example.json deleted file mode 100644 index aaed1434..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CoolingUnit-v1-ExportConfiguration-request-example.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "ExportType": "Replacement", - "Components": [ - "All" - ], - "EncryptionPassphrase": "FluffyBunny23", - "Security": "IncludeSensitiveData" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CoolingUnit-v1-SetMode-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CoolingUnit-v1-SetMode-request-example.json deleted file mode 100644 index 14507bb4..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CoolingUnit-v1-SetMode-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Mode": "Disabled" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CoolingUnit-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CoolingUnit-v1-example.json deleted file mode 100644 index 75985f3e..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/CoolingUnit-v1-example.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#CoolingUnit.v1_6_0.CoolingUnit", - "Id": "1", - "EquipmentType": "CDU", - "Name": "Rack #4 Cooling Distribution Unit", - "FirmwareVersion": "3.2.0", - "Version": "1.03b", - "ProductionDate": "2020-12-24T08:00:00Z", - "Manufacturer": "Contoso", - "Model": "BRRR4000", - "SerialNumber": "29347ZT536", - "PartNumber": "ICE-9", - "AssetTag": "PDX5-92381", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "Location": { - "Placement": { - "Row": "North 1" - } - }, - "PrimaryCoolantConnectors": { - "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/PrimaryCoolantConnectors" - }, - "SecondaryCoolantConnectors": { - "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/SecondaryCoolantConnectors" - }, - "Pumps": { - "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/Pumps" - }, - "Filters": { - "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/Filters" - }, - "EnvironmentMetrics": { - "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/EnvironmentMetrics" - }, - "LeakDetection": { - "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/LeakDetection" - }, - "Links": { - "Facility": { - "@odata.id": "/redfish/v1/Facilities/Room237" - } - }, - "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-FreezePersonality-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-FreezePersonality-request-example.json deleted file mode 100644 index 1bfa8608..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-FreezePersonality-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Personality": 255 -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-GetPersonalityNonce-response-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-GetPersonalityNonce-response-example.json deleted file mode 100644 index ec23b87f..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-GetPersonalityNonce-response-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Nonce": "11AA55FF" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-Reset-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-Reset-request-example.json deleted file mode 100644 index 7f0738e4..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-Reset-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "ResetType": "On" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-RevertToOriginalFactoryState-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-RevertToOriginalFactoryState-request-example.json deleted file mode 100644 index 92f83266..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-RevertToOriginalFactoryState-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "PhysicalSecureID": "89831871198324172084565217361041" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-SecureErase-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-SecureErase-request-example.json deleted file mode 100644 index 9757cf7c..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-SecureErase-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "SanitizationType": "CryptographicErase" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-SetPersonalityKey-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-SetPersonalityKey-request-example.json deleted file mode 100644 index 48fcface..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-SetPersonalityKey-request-example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Algorithm": "HMAC_SHA384", - "Key": "5365637265744B6579" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-UnfreezePersonality-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-UnfreezePersonality-request-example.json deleted file mode 100644 index 2e545022..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-UnfreezePersonality-request-example.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Personality": 1, - "Method": "HostProgrammedKey", - "Key": "7CE4F37A3446D21AC6B89396BF9A82B86246AEB7C71E51C35D5B20D74A9226B2", - "Nonce": "11AA55FF" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-example.json deleted file mode 100644 index d1370bf0..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Drive-v1-example.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Drive.v1_22_0.Drive", - "Id": "3D58ECBC375FD9F2", - "Name": "Drive Sample", - "LocationIndicatorActive": true, - "Model": "C123", - "Revision": "100A", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "CapacityBytes": 899527000064, - "FailurePredicted": false, - "Protocol": "SAS", - "MediaType": "HDD", - "Manufacturer": "Contoso", - "SerialNumber": "1234568", - "PartNumber": "C123-1111", - "Identifiers": [ - { - "DurableNameFormat": "NAA", - "DurableName": "32ADF365C6C1B7BD" - } - ], - "HotspareType": "None", - "EncryptionAbility": "SelfEncryptingDrive", - "EncryptionStatus": "Unlocked", - "RotationSpeedRPM": 15000, - "BlockSizeBytes": 512, - "CapableSpeedGbs": 12, - "NegotiatedSpeedGbs": 12, - "Links": { - "Volumes": [ - { - "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/2" - }, - { - "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/3" - } - ] - }, - "Actions": { - "#Drive.SecureErase": { - "target": "/redfish/v1/Chassis/1U/Drives/3D58ECBC375FD9F2/Actions/Drive.SecureErase" - } - }, - "@odata.id": "/redfish/v1/Chassis/1U/Drives/3D58ECBC375FD9F2" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/DriveMetrics-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/DriveMetrics-v1-example.json deleted file mode 100644 index b56e0ed6..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/DriveMetrics-v1-example.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#DriveMetrics.v1_4_0.DriveMetrics", - "Id": "Metrics", - "Name": "Drive Metrics", - "CorrectableIOReadErrorCount": 184, - "UncorrectableIOReadErrorCount": 0, - "CorrectableIOWriteErrorCount": 18, - "UncorrectableIOWriteErrorCount": 0, - "BadBlockCount": 123098, - "PowerOnHours": 3, - "NVMeSMART": { - "CriticalWarnings": { - "PMRUnreliable": false, - "PowerBackupFailed": false, - "MediaInReadOnly": false, - "OverallSubsystemDegraded": false, - "SpareCapacityWornOut": false - }, - "CompositeTemperatureCelsius": 34, - "AvailableSparePercent": 50, - "AvailableSpareThresholdPercent": 30, - "PercentageUsed": 50, - "EGCriticalWarningSummary": { - "NamespacesInReadOnlyMode": false, - "ReliabilityDegraded": false, - "SpareCapacityUnderThreshold": false - }, - "DataUnitsRead": 0, - "DataUnitsWritten": 0, - "HostReadCommands": 0, - "HostWriteCommands": 0, - "ControllerBusyTimeMinutes": 20, - "PowerCycles": 49, - "PowerOnHours": 3, - "UnsafeShutdowns": 4, - "MediaAndDataIntegrityErrors": 0, - "NumberOfErrorInformationLogEntries": 100, - "WarningCompositeTempTimeMinutes": 0, - "CriticalCompositeTempTimeMinutes": 0, - "TemperatureSensorsCelsius": [ - 34, - 34, - 34, - 34, - 34, - 35, - 33, - 32 - ], - "ThermalMgmtTemp1TransitionCount": 10, - "ThermalMgmtTemp2TransitionCount": 2, - "ThermalMgmtTemp1TotalTimeSeconds": 20, - "ThermalMgmtTemp2TotalTimeSeconds": 42 - }, - "@odata.id": "/redfish/v1/Chassis/StorageEnclosure1/Drives/0THGR0KP/Metrics" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Endpoint-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Endpoint-v1-example.json deleted file mode 100644 index a5179d00..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Endpoint-v1-example.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Endpoint.v1_8_2.Endpoint", - "Id": "Drive1", - "Name": "SAS Drive", - "Description": "The SAS Drive in Enclosure 2 Bay 0", - "EndpointProtocol": "SAS", - "ConnectedEntities": [ - { - "EntityType": "Drive", - "EntityRole": "Target", - "Identifiers": [ - { - "DurableNameFormat": "NAA", - "DurableName": "32ADF365C6C1B7C3" - } - ] - } - ], - "Links": { - "MutuallyExclusiveEndpoints": [ - { - "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Enclosure2" - } - ], - "ConnectedPorts": [ - { - "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1/Ports/8" - }, - { - "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch2/Ports/8" - } - ] - }, - "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Drive1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/EndpointGroup-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/EndpointGroup-v1-example.json deleted file mode 100644 index cd27e0b6..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/EndpointGroup-v1-example.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#EndpointGroup.v1_3_4.EndpointGroup", - "Id": "1", - "Name": "Endpoint group for all initiators", - "GroupType": "Initiator", - "Links": { - "Endpoints": [ - { - "@odata.id": "/redfish/v1/Fabrics/NVMeoF/Endpoints/Initiator1" - }, - { - "@odata.id": "/redfish/v1/Fabrics/NVMeoF/Endpoints/Initiator2" - } - ], - "Connections": [ - { - "@odata.id": "/redfish/v1/Fabrics/NVMeoF/Connections/3" - } - ] - }, - "@odata.id": "/redfish/v1/Fabrics/NVMeoF/EndpointGroups/1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/EnvironmentMetrics-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/EnvironmentMetrics-v1-example.json deleted file mode 100644 index 6991df5d..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/EnvironmentMetrics-v1-example.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#EnvironmentMetrics.v1_7_0.EnvironmentMetrics", - "Id": "EnvironmentMetrics", - "Name": "Processor Environment Metrics", - "TemperatureCelsius": { - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/CPU1Temp", - "Reading": 44 - }, - "PowerWatts": { - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/CPU1Power", - "Reading": 12.87 - }, - "FanSpeedsPercent": [ - { - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/CPUFan1", - "DeviceName": "CPU #1 Fan Speed", - "Reading": 80 - } - ], - "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/1/EnvironmentMetrics" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/EthernetInterface-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/EthernetInterface-v1-example.json deleted file mode 100644 index c33ffc12..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/EthernetInterface-v1-example.json +++ /dev/null @@ -1,113 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#EthernetInterface.v1_12_6.EthernetInterface", - "Id": "1", - "Name": "Ethernet Interface", - "Description": "Manager NIC 1", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "LinkStatus": "LinkUp", - "PermanentMACAddress": "12:44:6A:3B:04:11", - "MACAddress": "12:44:6A:3B:04:11", - "SpeedMbps": 1000, - "AutoNeg": true, - "FullDuplex": true, - "MTUSize": 1500, - "HostName": "web483", - "FQDN": "web483.contoso.com", - "NameServers": [ - "names.contoso.com" - ], - "IPv4Addresses": [ - { - "Address": "192.168.0.10", - "SubnetMask": "255.255.252.0", - "AddressOrigin": "DHCP", - "Gateway": "192.168.0.1" - } - ], - "DHCPv4": { - "DHCPEnabled": true, - "UseDNSServers": true, - "UseGateway": true, - "UseNTPServers": false, - "UseStaticRoutes": true, - "UseDomainName": true - }, - "DHCPv6": { - "OperatingMode": "Enabled", - "UseDNSServers": true, - "UseDomainName": false, - "UseNTPServers": false, - "UseRapidCommit": false - }, - "StatelessAddressAutoConfig": { - "IPv4AutoConfigEnabled": false, - "IPv6AutoConfigEnabled": true - }, - "IPv4StaticAddresses": [ - { - "Address": "192.168.88.130", - "SubnetMask": "255.255.0.0", - "Gateway": "192.168.0.1" - } - ], - "IPv6AddressPolicyTable": [ - { - "Prefix": "::1/128", - "Precedence": 50, - "Label": 0 - } - ], - "MaxIPv6StaticAddresses": 1, - "IPv6StaticAddresses": [ - { - "Address": "fc00:1234::a:b:c:d", - "PrefixLength": 64 - } - ], - "IPv6StaticDefaultGateways": [ - { - "Address": "fe80::fe15:b4ff:fe97:90cd", - "PrefixLength": 64 - } - ], - "IPv6DefaultGateway": "fe80::214:c1ff:fe4c:5c4d", - "IPv6Addresses": [ - { - "Address": "fe80::1ec1:deff:fe6f:1e24", - "PrefixLength": 64, - "AddressOrigin": "SLAAC", - "AddressState": "Preferred" - }, - { - "Address": "fc00:1234::a:b:c:d", - "PrefixLength": 64, - "AddressOrigin": "Static", - "AddressState": "Preferred" - }, - { - "Address": "2001:1:3:5::100", - "PrefixLength": 64, - "AddressOrigin": "DHCPv6", - "AddressState": "Preferred" - }, - { - "Address": "2002:2:5::1ec1:deff:fe6f:1e24", - "PrefixLength": 64, - "AddressOrigin": "SLAAC", - "AddressState": "Preferred" - } - ], - "StaticNameServers": [ - "192.168.150.1", - "fc00:1234:200:2500" - ], - "VLAN": { - "VLANEnable": true, - "VLANId": 101 - }, - "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/EventDestination-v1-ResumeSubscription-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/EventDestination-v1-ResumeSubscription-request-example.json deleted file mode 100644 index e9c770fb..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/EventDestination-v1-ResumeSubscription-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "DeliverBufferedEventDuration": "PT8H" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/EventDestination-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/EventDestination-v1-example.json deleted file mode 100644 index 97cfc492..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/EventDestination-v1-example.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#EventDestination.v1_17_1.EventDestination", - "Id": "1", - "Name": "WebUser3 subscribes to all Redfish events", - "Destination": "http://www.dnsname.com/Destination1", - "SubscriptionType": "RedfishEvent", - "DeliveryRetryPolicy": "TerminateAfterRetries", - "RegistryPrefixes": [], - "MessageIds": [], - "OriginResources": [], - "ResourceTypes": [], - "Status": { - "State": "Enabled" - }, - "Actions": { - "#EventDestination.ResumeSubscription": { - "target": "/redfish/v1/EventService/Subscriptions/1/Actions/EventDestination.ResumeSubscription" - } - }, - "Context": "WebUser3", - "Protocol": "Redfish", - "@odata.id": "/redfish/v1/EventService/Subscriptions/1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/EventService-v1-SubmitTestEvent-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/EventService-v1-SubmitTestEvent-request-example.json deleted file mode 100644 index 091df437..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/EventService-v1-SubmitTestEvent-request-example.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "EventId": "5", - "EventTimestamp": "2016-01-10T18:02:00Z", - "Severity": "Critical", - "Message": "Fan 2 crossed Lower Fatal Threshold; fans are no longer redundant", - "MessageId": "Event.1.0.FanWayTooSlow", - "MessageArgs": [ - "2" - ], - "OriginOfCondition": "/redfish/v1/Chassis/MultiBladeEncl/Thermal" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/EventService-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/EventService-v1-example.json deleted file mode 100644 index d4ac0c9e..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/EventService-v1-example.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#EventService.v1_12_0.EventService", - "Id": "EventService", - "Name": "Event Service", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "ServiceEnabled": true, - "DeliveryRetryAttempts": 3, - "DeliveryRetryIntervalSeconds": 60, - "EventTypesForSubscription": [ - "StatusChange", - "ResourceUpdated", - "ResourceAdded", - "ResourceRemoved", - "Alert", - "Other" - ], - "ServerSentEventUri": "/redfish/v1/EventService/SSE", - "SSEFilterPropertiesSupported": { - "EventType": true, - "MetricReportDefinition": false, - "RegistryPrefix": true, - "ResourceType": true, - "EventFormatType": false, - "MessageId": true, - "OriginResource": true, - "SubordinateResources": true - }, - "Subscriptions": { - "@odata.id": "/redfish/v1/EventService/Subscriptions" - }, - "Actions": { - "#EventService.SubmitTestEvent": { - "target": "/redfish/v1/EventService/Actions/EventService.SubmitTestEvent", - "@Redfish.ActionInfo": "/redfish/v1/EventService/SubmitTestEventActionInfo" - } - }, - "@odata.id": "/redfish/v1/EventService" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ExternalAccountProvider-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ExternalAccountProvider-v1-example.json deleted file mode 100644 index 28b3387d..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ExternalAccountProvider-v1-example.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#ExternalAccountProvider.v1_9_0.ExternalAccountProvider", - "Id": "ExternalRedfishService", - "Name": "Remote Redfish Service", - "Description": "Remote Redfish Service providing additional Accounts to this Redfish Service", - "AccountProviderType": "RedfishService", - "ServiceAddresses": [ - "https://redfish.contoso.org/redfish/v1/AccountService" - ], - "Authentication": { - "AuthenticationType": "Token", - "Token": null - }, - "RemoteRoleMapping": [ - { - "RemoteGroup": "Admin", - "LocalRole": "Administrator" - }, - { - "RemoteGroup": "Operator", - "LocalRole": "Operator" - }, - { - "RemoteGroup": "ReadOnly", - "LocalRole": "ReadOnly" - } - ], - "@odata.id": "/redfish/v1/AccountService/ExternalAccountProviders/ExternalRedfishService" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Fabric-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Fabric-v1-example.json deleted file mode 100644 index 24af7494..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Fabric-v1-example.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Fabric.v1_4_0.Fabric", - "Id": "SAS", - "Name": "SAS Fabric", - "FabricType": "SAS", - "Description": "A SAS Fabric with redundant switches connected to two initiators", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "Zones": { - "@odata.id": "/redfish/v1/Fabrics/SAS/Zones" - }, - "Endpoints": { - "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints" - }, - "Switches": { - "@odata.id": "/redfish/v1/Fabrics/SAS/Switches" - }, - "@odata.id": "/redfish/v1/Fabrics/SAS" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/FabricAdapter-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/FabricAdapter-v1-example.json deleted file mode 100644 index bb2c8b44..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/FabricAdapter-v1-example.json +++ /dev/null @@ -1,104 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#FabricAdapter.v1_5_3.FabricAdapter", - "Id": "Bridge", - "Name": "Gen-Z Bridge", - "Manufacturer": "Contoso", - "Model": "Gen-Z Bridge Model X", - "PartNumber": "975999-001", - "SparePartNumber": "152111-A01", - "SKU": "Contoso 2-port Gen-Z Bridge", - "SerialNumber": "2M220100SL", - "ASICRevisionIdentifier": "A0", - "ASICPartNumber": "53312", - "ASICManufacturer": "Contoso", - "FirmwareVersion": "7.4.10", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "Ports": { - "@odata.id": "/redfish/v1/Systems/GenZ-example/FabricAdapters/1/Ports" - }, - "PCIeInterface": { - "MaxPCIeType": "Gen4", - "MaxLanes": 64, - "PCIeType": "Gen4", - "LanesInUse": 64 - }, - "UUID": "45724775-ed3b-2214-1313-9865200c1cc1", - "Links": { - "Endpoints": [ - { - "@odata.id": "/redfish/v1/Fabrics/GenZ/Endpoints/3" - } - ] - }, - "GenZ": { - "SSDT": { - "@odata.id": "/redfish/v1/Systems/GenZ-example/FabricAdapters/1/SSDT" - }, - "MSDT": { - "@odata.id": "/redfish/v1/Systems/GenZ-example/FabricAdapters/1/MSDT" - }, - "RequestorVCAT": { - "@odata.id": "/redfish/v1/Systems/GenZ-example/FabricAdapters/1/REQ-VCAT" - }, - "ResponderVCAT": { - "@odata.id": "/redfish/v1/Systems/GenZ-example/FabricAdapters/1/RSP-VCAT" - }, - "RITable": [ - "0x12", - "0x3E", - "0x12", - "0x3E", - "0x12", - "0x3E", - "0x12", - "0x3E", - "0x12", - "0x3E", - "0x12", - "0x3E", - "0x12", - "0x3E", - "0x12", - "0x3E" - ], - "PIDT": [ - "0x12234568", - "0x12234568", - "0x12234568", - "0x12234568", - "0x12234568", - "0x12234568", - "0x12234568", - "0x12234568", - "0x12234568", - "0x12234568", - "0x12234568", - "0x12234568", - "0x12234568", - "0x12234568", - "0x12234568", - "0x12234568", - "0x12234568", - "0x12234568", - "0x12234568", - "0x12234568", - "0x12234568", - "0x12234568", - "0x12234568", - "0x12234568", - "0x12234568", - "0x12234568", - "0x12234568", - "0x12234568", - "0x12234568", - "0x12234568", - "0x12234568", - "0x12234568" - ] - }, - "@odata.id": "/redfish/v1/Systems/GenZ-example/FabricAdapters/1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Facility-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Facility-v1-example.json deleted file mode 100644 index 4f3f8153..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Facility-v1-example.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Facility.v1_4_2.Facility", - "Id": "Room237", - "Name": "Room #237, 2nd Floor", - "FacilityType": "Room", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "Location": { - "PhysicalAddress": { - "Country": "US", - "StateOrProvince": "Oregon", - "City": "Portland", - "StreetAddress": "1001 SW 5th Avenue", - "PostalCode": "97204", - "ISOCountryCode": "USA", - "ISOSubdivisionCode": "OR" - } - }, - "PowerDomains": { - "@odata.id": "/redfish/v1/Facilities/Room237/PowerDomains" - }, - "Links": { - "ContainedByFacility": { - "@odata.id": "/redfish/v1/Facilities/Building" - }, - "RackPDUs": [ - { - "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1" - } - ] - }, - "@odata.id": "/redfish/v1/Facilities/Room237" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Fan-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Fan-v1-example.json deleted file mode 100644 index 1cab3a7d..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Fan-v1-example.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Fan.v1_6_0.Fan", - "Id": "Bay1", - "Name": "Fan Bay 1", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "PhysicalContext": "Chassis", - "Model": "RKS-440DC", - "Manufacturer": "Contoso Fans", - "PartNumber": "23456-133", - "SparePartNumber": "93284-133", - "LocationIndicatorActive": true, - "HotPluggable": true, - "SpeedPercent": { - "Reading": 45, - "SpeedRPM": 2200, - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/FanBay1" - }, - "Location": { - "PartLocation": { - "ServiceLabel": "Chassis Fan Bay 1", - "LocationType": "Bay", - "LocationOrdinalValue": 0 - } - }, - "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/Bay1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Filter-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Filter-v1-example.json deleted file mode 100644 index 5a40b2ec..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Filter-v1-example.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Filter.v1_1_1.Filter", - "Id": "1", - "Name": "Cooling Loop Filter", - "ServicedDate": "2020-12-24T08:00:00Z", - "ServiceHours": 5791, - "RatedServiceHours": 10000, - "Manufacturer": "Contoso", - "Model": "MyCoffee", - "PartNumber": "Cone4", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "Location": { - "Placement": { - "Row": "North 1" - } - }, - "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/Filters/1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/GenericCollectionSchema.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/GenericCollectionSchema.json deleted file mode 100644 index 948e1cfb..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/GenericCollectionSchema.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_2_0.json", - "title": "#Collection.Collection", - "$ref": "#/definitions/Collection", - "definitions": { - "Collection": { - "anyOf": [ - { - "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef" - }, - { - "type": "object", - "patternProperties": { - "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": { - "type": [ - "array", - "boolean", - "number", - "null", - "object", - "string" - ], - "description": "This property shall specify a valid odata or Redfish property." - } - }, - "additionalProperties": false, - "properties": { - "@odata.context": { - "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/context" - }, - "@odata.id": { - "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/id" - }, - "@odata.type": { - "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/type" - }, - "Description": { - "anyOf": [ - { - "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description" - }, - { - "type": "null" - } - ], - "readonly": true - }, - "Name": { - "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name", - "readonly": true - }, - "Oem": { - "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem", - "description": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.", - "longDescription": "The value of this string shall be of the format for the reserved word *Oem*." - }, - "Members@odata.count": { - "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/count" - }, - "Members": { - "type": "array", - "items": { - "type": "object", - "properties": { - "@odata.id": { - "type": "string", - "format": "uri", - "readonly": true, - "description": "A link to a resource instance which is a member of this collection." - } - } - }, - "readonly": true, - "description": "Contains the members of this collection." - } - } - } - ], - "description": "A Collection of resource instances." - } - }, - "copyright": "Copyright 2014-2019 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/GraphicsController-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/GraphicsController-v1-example.json deleted file mode 100644 index 9ec06378..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/GraphicsController-v1-example.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#GraphicsController.v1_0_2.GraphicsController", - "Id": "GPU1", - "Name": "Contoso Graphics Controller 1", - "AssetTag": "", - "Manufacturer": "Contoso", - "Model": "GPU1", - "SKU": "80937", - "SerialNumber": "2M220100SL", - "PartNumber": "G37891", - "SparePartNumber": "G37890", - "BiosVersion": "90.02.17.00.7D", - "DriverVersion": "27.21.14.6079 (Contoso 460.79) DCH / Win 10 64", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "Location": { - "PartLocation": { - "ServiceLabel": "Slot 1", - "LocationOrdinalValue": 1, - "LocationType": "Slot", - "Orientation": "LeftToRight", - "Reference": "Rear" - } - }, - "Ports": { - "@odata.id": "/redfish/v1/Systems/1/GraphicsControllers/GPU1/Ports" - }, - "Links": { - "Processors": [ - { - "@odata.id": "/redfish/v1/Systems/1/Processors/GPU" - } - ] - }, - "@odata.id": "/redfish/v1/Systems/1/GraphicsControllers/GPU1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Heater-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Heater-v1-example.json deleted file mode 100644 index 11f70fb9..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Heater-v1-example.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Heater.v1_0_2.Heater", - "Id": "CPU1Heater", - "Description": "Heater for CPU1", - "Name": "Heater 1", - "PhysicalContext": "CPU", - "Manufacturer": "Contoso Heaters", - "Model": "CPUHeater", - "SerialNumber": "SNDHM0123456789", - "PartNumber": "12345-123", - "SparePartNumber": "54321-321", - "LocationIndicatorActive": false, - "HotPluggable": true, - "Status": { - "Health": "OK", - "State": "Enabled" - }, - "Links": { - "Processors": [ - { - "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1" - } - ] - }, - "Metrics": { - "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Heaters/CPU1Heater/Metrics" - }, - "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Heaters/CPU1Heater" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/HeaterMetrics-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/HeaterMetrics-v1-example.json deleted file mode 100644 index c9fa564b..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/HeaterMetrics-v1-example.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#HeaterMetrics.v1_0_2.HeaterMetrics", - "Id": "HeaterMetrics", - "Description": "Heater Metrics for CPU1 Heater", - "Name": "CPU1 Heater Metrics", - "PrePowerOnHeatingTimeSeconds": 600, - "RuntimeHeatingTimeSeconds": 3600, - "PowerWatts": { - "Reading": 200.3 - }, - "TemperatureReadingsCelsius": [ - { - "DeviceName": "Heater Average Temperature", - "Reading": 2.5 - } - ], - "Actions": { - "#HeaterMetrics.ResetMetrics": { - "target": "/redfish/v1/Chassis/1U/ThermalSubsystem/Heaters/CPU1Heater/Metrics/Actions/HeaterMetrics.ResetMetrics" - } - }, - "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Heaters/CPU1Heater/Metrics" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/HostInterface-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/HostInterface-v1-example.json deleted file mode 100644 index 556f79ab..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/HostInterface-v1-example.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#HostInterface.v1_4_0.HostInterface", - "Id": "1", - "Name": "Host Interface", - "Description": "Management Host Interface", - "HostInterfaceType": "NetworkHostInterface", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "InterfaceEnabled": true, - "ExternallyAccessible": false, - "AuthenticationModes": [ - "AuthNone", - "BasicAuth", - "RedfishSessionAuth", - "OemAuth" - ], - "CredentialBootstrapping": { - "EnableAfterReset": true, - "Enabled": true, - "RoleId": "User", - "ExpirationWindowEnabled": true, - "ExpirationWindowMinutes": 10 - }, - "HostEthernetInterfaces": { - "@odata.id": "/redfish/v1/Managers/BMC/HostInterfaces/1/HostEthernetInterfaces" - }, - "ManagerEthernetInterface": { - "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/ToHost" - }, - "NetworkProtocol": { - "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol" - }, - "Links": { - "ComputerSystems": [ - { - "@odata.id": "/redfish/v1/Systems/ORD144" - } - ], - "CredentialBootstrappingRole": { - "@odata.id": "/redfish/v1/AccountService/Roles/User" - } - }, - "@odata.id": "/redfish/v1/Managers/BMC/HostInterfaces/1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Job-v1-Resubmit-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Job-v1-Resubmit-request-example.json deleted file mode 100644 index c8205cbd..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Job-v1-Resubmit-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "StartTime": "2022-01-16T04:14:33+06:00" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Job-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Job-v1-example.json deleted file mode 100644 index ff9af3eb..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Job-v1-example.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Job.v1_3_0.Job", - "Id": "RebootRack", - "Name": "Scheduled Nightly Reboot of the rack", - "JobStatus": "OK", - "JobState": "Running", - "StartTime": "2018-04-01T00:01+6:00", - "PercentComplete": 24, - "Schedule": { - "Lifetime": "P4Y", - "InitialStartTime": "2018-01-01T01:00:00+06:00", - "RecurrenceInterval": "P1D", - "EnabledDaysOfWeek": [ - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday" - ] - }, - "Steps": { - "@odata.id": "/redfish/v1/JobService/Jobs/RebootRack/Steps" - }, - "StepOrder": [ - "Red", - "Orange", - "Yellow", - "Green", - "Blue", - "Indigo", - "Violet" - ], - "@odata.id": "/redfish/v1/JobService/Jobs/RebootRack" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/JobDocument-v1-SubmitJob-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/JobDocument-v1-SubmitJob-request-example.json deleted file mode 100644 index e3e24417..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/JobDocument-v1-SubmitJob-request-example.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "JobCreator": { - "@odata.id": "https://192.168.0.1/redfish/v1/JobService/Jobs/1" - }, - "Parameters": { - "AmountPieces": 10000, - "Flavor": "Orange", - "Shape": "Cylinder" - }, - "StartTime": "2022-01-16T04:14:33+06:00", - "PreferredExecutors": [ - { - "@odata.id": "/redfish/v1/JobService/Executors/1" - } - ] -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/JobDocument-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/JobDocument-v1-example.json deleted file mode 100644 index 135a4ba6..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/JobDocument-v1-example.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#JobDocument.v1_0_0.JobDocument", - "Id": "Recipe1", - "Name": "Sweet candy", - "Description": "Produce specified amount of the sweet candies", - "Actions": { - "#JobDocument.SubmitJob": { - "target": "/redfish/v1/JobService/Documents/Recipe1/Actions/JobDocument.SubmitJob" - } - }, - "DocumentType": "Script", - "Version": "1.0.0-20210215", - "CreationTime": "2022-01-16T04:14:33+06:00", - "DocumentDataURI": "https://recipestore.vendor.com/recipes?Action=Download&RecipeId=SweetCandy", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "ParameterMetadata": [ - { - "Name": "AmountPieces", - "DataType": "Number", - "MinimumValue": 0, - "Required": true, - "Description": "The number of pieces to produce", - "ValueHint": "10000" - }, - { - "Name": "Flavors", - "AllowableValues": [ - "Orange", - "Strawberry", - "Lemon", - "Lime", - "Raspberry", - "Vanilla" - ], - "DataType": "String", - "Required": true, - "Description": "The flavors of the candy. One or two choices may be given", - "ValueHint": "Orange" - }, - { - "Name": "Shape", - "AllowableValues": [ - "Cylinder", - "Sphere", - "Dome", - "Cone" - ], - "DataType": "String", - "Required": true, - "Description": "The shape of the candy.", - "ValueHint": "Dome" - } - ], - "Links": { - "SupportedExecutors": [ - { - "@odata.id": "/redfish/v1/JobService/Executors/1" - } - ] - }, - "@odata.id": "/redfish/v1/JobService/Documents/Recipe1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/JobExecutor-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/JobExecutor-v1-example.json deleted file mode 100644 index 2ce3b602..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/JobExecutor-v1-example.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#JobExecutor.v1_0_0.JobExecutor", - "Id": "1", - "Name": "Main Job Executor", - "Description": "Executor for Document-based Jobs", - "ExecutorType": "Script", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "MaximumConcurrentJobs": 1, - "Links": { - "ExecutingJobs": [ - { - "@odata.id": "/redfish/v1/JobService/Jobs/1" - } - ], - "Chassis": [ - { - "@odata.id": "/redfish/v1/Chassis/Aggregator" - } - ], - "ComputerSystem": { - "@odata.id": "/redfish/v1/Systems/1" - } - }, - "@odata.id": "/redfish/v1/JobService/Executors/1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/JobService-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/JobService-v1-example.json deleted file mode 100644 index a40d3290..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/JobService-v1-example.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#JobService.v1_1_0.JobService", - "Id": "JobService", - "Name": "Job Service", - "DateTime": "2018-06-13T04:14+06:00", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "ServiceEnabled": true, - "ServiceCapabilities": { - "MaxJobs": 100, - "MaxSteps": 50, - "Scheduling": true - }, - "Jobs": { - "@odata.id": "/redfish/v1/JobService/Jobs" - }, - "Log": { - "@odata.id": "/redfish/v1/JobService/Log" - }, - "Actions": { - "Oem": { - "#Contoso.EasyButton": { - "target": "/redfish/v1/JobService/Contoso.EasyButton", - "@Redfish.ActionInfo": "/redfish/v1/JobService/EasyButtonActionInfo" - } - } - }, - "@odata.id": "/redfish/v1/JobService" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/JsonSchemaFile-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/JsonSchemaFile-v1-example.json deleted file mode 100644 index 1caddd74..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/JsonSchemaFile-v1-example.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#JsonSchemaFile.v1_1_5.JsonSchemaFile", - "Id": "Chassis.v1_11_0", - "Name": "Chassis Schema File", - "Description": "Chassis Schema File Location", - "Languages": [ - "en" - ], - "Schema": "#Chassis.v1_11_0.Chassis", - "Location": [ - { - "Language": "en", - "ArchiveUri": "/Schemas.gz", - "PublicationUri": "http://redfish.dmtf.org/schemas/v1/Chassis.v1_11_0.json", - "ArchiveFile": "Chassis.v1_11_0.json" - }, - { - "Language": "zh", - "ArchiveUri": "/Schemas.zh.gz", - "PublicationUri": "http://schemas.contoso.com/Chassis.v1_11_0.zh.json", - "ArchiveFile": "Chassis.v1_11_0.zh.json" - }, - { - "Language": "xy", - "Uri": "/redfish/v1/JsonSchemas/Chassis.v1_11_0.xy.json", - "PublicationUri": "http://schemas.contoso.com/Chassis.v1_11_0.xy.json" - } - ], - "@odata.id": "/redfish/v1/JsonSchemas/Chassis.v1_11_0" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Key-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Key-v1-example.json deleted file mode 100644 index 82981a22..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Key-v1-example.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Key.v1_4_1.Key", - "Id": "0", - "Name": "NVMeoF key 0, target subsystem", - "KeyType": "NVMeoF", - "KeyString": "DHHC-1:00:ia6zGodOr4SEG0Zzaw398rpY0wqipUWj4jWjUh4HWUz6aQ2n:", - "NVMeoF": { - "NQN": "nqn.corp.com:nvme:target-subsystem-0001", - "SecurityProtocolType": "DHHC", - "HostKeyId": "1", - "SecureHashAllowList": [ - "SHA384", - "SHA512" - ] - }, - "@odata.id": "/redfish/v1/KeyService/NVMeoFSecrets/0" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/KeyPolicy-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/KeyPolicy-v1-example.json deleted file mode 100644 index 839484b9..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/KeyPolicy-v1-example.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#KeyPolicy.v1_0_1.KeyPolicy", - "Id": "0", - "Name": "Default NVMeoF Key Policy", - "IsDefault": true, - "KeyPolicyType": "NVMeoF", - "NVMeoF": { - "SecurityTransportAllowList": [ - "TLSv2", - "TLSv3" - ], - "CipherSuiteAllowList": [ - "TLS_AES_128_GCM_SHA256", - "TLS_AES_256_GCM_SHA384" - ], - "SecurityProtocolAllowList": [ - "DHHC", - "TLS_PSK" - ], - "DHGroupAllowList": [ - "FFDHE2048", - "FFDHE3072", - "FFDHE4096", - "FFDHE6144", - "FFDHE8192" - ], - "SecureHashAllowList": [ - "SHA384", - "SHA512" - ] - }, - "@odata.id": "/redfish/v1/KeyService/NVMeoFKeyPolicies/0" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/KeyService-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/KeyService-v1-example.json deleted file mode 100644 index 6c90bd87..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/KeyService-v1-example.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#KeyService.v1_0_1.KeyService", - "Id": "KeyService", - "Name": "Key Service", - "NVMeoFSecrets": { - "@odata.id": "/redfish/v1/KeyService/NVMeoFSecrets" - }, - "NVMeoFKeyPolicies": { - "@odata.id": "/redfish/v1/KeyService/NVMeoFKeyPolicies" - }, - "@odata.id": "/redfish/v1/KeyService" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LeakDetection-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LeakDetection-v1-example.json deleted file mode 100644 index b04237fa..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LeakDetection-v1-example.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#LeakDetection.v1_2_0.LeakDetection", - "Id": "LeakDetection", - "Name": "Leak Detection Systems", - "Status": { - "State": "Enabled", - "Health": "OK", - "Conditions": [] - }, - "LeakDetectorGroups": [ - { - "GroupName": "Detectors under and around the CDU", - "Status": { - "Health": "OK" - }, - "HumidityPercent": { - "Reading": 45 - }, - "Detectors": [ - { - "DataSourceUri": "/redfish/v1/Chassis/CDU/LeakDetectors/Moisture", - "DeviceName": "Moisture-type Leak Detector", - "DetectorState": "OK" - }, - { - "DeviceName": "Leak Detection Rope 1", - "DetectorState": "OK" - }, - { - "DataSourceUri": "/redfish/v1/Chassis/CDU/LeakDetectors/Overflow", - "DeviceName": "Overflow Float Switch", - "DetectorState": "OK" - } - ] - } - ], - "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/LeakDetection" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LeakDetector-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LeakDetector-v1-example.json deleted file mode 100644 index d922736f..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LeakDetector-v1-example.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#LeakDetector.v1_6_1.LeakDetector", - "Id": "Moisture", - "Name": "Moisture-type Leak Detector", - "LeakDetectorType": "Moisture", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "DetectorState": "OK", - "CriticalReactionType": "ForceOff", - "WarningReactionType": "None", - "ReactionDelaySeconds": 15, - "PartNumber": "3493-A44", - "SerialNumber": "916239", - "Manufacturer": "Contoso Water Detection Systems", - "Model": "Depends 3000", - "Location": { - "PartLocation": { - "Reference": "Bottom", - "ServiceLabel": "Leak Detector" - } - }, - "PhysicalContext": "Chassis", - "@odata.id": "/redfish/v1/Chassis/Rack1/LeakDetectors/Moisture" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/License-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/License-v1-example.json deleted file mode 100644 index 53502312..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/License-v1-example.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#License.v1_1_4.License", - "Id": "KVM", - "Name": "Blade KVM-IP License 3-Pack", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "EntitlementId": "LIC20180820LDLM5C", - "LicenseType": "Production", - "Removable": false, - "LicenseOrigin": "BuiltIn", - "AuthorizationScope": "Device", - "GracePeriodDays": 60, - "Manufacturer": "Contoso", - "InstallDate": "2020-08-20T20:13:44Z", - "ExpirationDate": "2022-08-20T20:13:43Z", - "Links": { - "AuthorizedDevices": [ - { - "@odata.id": "/redfish/v1/Managers/Blade1" - }, - { - "@odata.id": "/redfish/v1/Managers/Blade4" - }, - { - "@odata.id": "/redfish/v1/Managers/Blade5" - } - ] - }, - "Contact": { - "ContactName": "Bob Johnson", - "EmailAddress": "bjohnson@contoso.com" - }, - "DownloadURI": "/dumpster/license111", - "LicenseInfoURI": "http://shop.contoso.com/licenses/blade-kvm", - "@odata.id": "/redfish/v1/LicenseService/Licenses/KVM" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LicenseService-v1-Install-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LicenseService-v1-Install-request-example.json deleted file mode 100644 index 9ad7de5e..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LicenseService-v1-Install-request-example.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "LicenseFileURI": "ftp://licensing.contoso.org/bmc_kvmip_8RS247MKRQ8027.bin", - "Username": "operations", - "Password": "Pa55w0rd" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LicenseService-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LicenseService-v1-example.json deleted file mode 100644 index a826973b..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LicenseService-v1-example.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#LicenseService.v1_1_2.LicenseService", - "Name": "License Service", - "ServiceEnabled": true, - "LicenseExpirationWarningDays": 14, - "Actions": { - "#LicenseService.Install": { - "target": "/redfish/v1/LicenseService/Actions/LicenseService.Install", - "@Redfish.ActionInfo": "/redfish/v1/LicenseService/InstallActionInfo" - } - }, - "Licenses": { - "@odata.id": "/redfish/v1/LicenseService/Licenses" - }, - "@odata.id": "/redfish/v1/LicenseService" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LogEntry-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LogEntry-v1-example.json deleted file mode 100644 index da6ef1e3..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LogEntry-v1-example.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#LogEntry.v1_22_0.LogEntry", - "Id": "1", - "Name": "Log Entry 1", - "EntryType": "Event", - "Severity": "Critical", - "Created": "2012-03-07T14:44:00Z", - "Resolved": false, - "Message": "Temperature threshold exceeded", - "MessageId": "Contoso.1.0.TempAssert", - "MessageArgs": [ - "42" - ], - "Links": { - "OriginOfCondition": { - "@odata.id": "/redfish/v1/Chassis/1U/Thermal" - } - }, - "@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries/1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LogService-v1-ClearLog-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LogService-v1-ClearLog-request-example.json deleted file mode 100644 index 733bc407..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LogService-v1-ClearLog-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "LogEntriesEtag": "W/\"2A90423A\"" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LogService-v1-CollectDiagnosticData-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LogService-v1-CollectDiagnosticData-request-example.json deleted file mode 100644 index ba090c1d..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LogService-v1-CollectDiagnosticData-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "DiagnosticDataType": "Manager" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LogService-v1-DownloadRawLog-response-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LogService-v1-DownloadRawLog-response-example.json deleted file mode 100644 index 36fa640b..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LogService-v1-DownloadRawLog-response-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "DownloadURI": "/redfish/v1/Systems/1/LogServices/Console/raw.txt" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LogService-v1-PushDiagnosticData-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LogService-v1-PushDiagnosticData-request-example.json deleted file mode 100644 index ff20b4ad..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LogService-v1-PushDiagnosticData-request-example.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "AdditionalDataUri": "/redfish/v1/LogSerivce/Diags/10242023T132938.bin", - "TargetURI": "https://192.168.24.34/receivedfiles/192-168-89-33_10242023T132938.bin", - "UserName": "Admin", - "Password": "FluffyBunny23", - "TransferProtocol": "HTTPS" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LogService-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LogService-v1-example.json deleted file mode 100644 index eacdfe82..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/LogService-v1-example.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#LogService.v1_9_0.LogService", - "Id": "Log1", - "Name": "System Log Service", - "Description": "This log contains entries related to the operation of the host Computer System.", - "MaxNumberOfRecords": 1000, - "OverWritePolicy": "WrapsWhenFull", - "DateTime": "2015-03-13T04:14:33+06:00", - "DateTimeLocalOffset": "+06:00", - "ServiceEnabled": true, - "LogEntryType": "Event", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "Actions": { - "#LogService.ClearLog": { - "target": "/redfish/v1/Managers/1/LogServices/Log1/Actions/LogService.ClearLog" - } - }, - "Entries": { - "@odata.id": "/redfish/v1/Managers/1/LogServices/Log1/Entries" - }, - "@odata.id": "/redfish/v1/Managers/1/LogServices/Log1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Manager-v1-ForceFailover-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Manager-v1-ForceFailover-request-example.json deleted file mode 100644 index 44ac42eb..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Manager-v1-ForceFailover-request-example.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "NewManager": [ - { - "@odata.id": "/redfish/v1/Managers/3" - } - ] -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Manager-v1-ModifyRedundancySet-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Manager-v1-ModifyRedundancySet-request-example.json deleted file mode 100644 index 6cfc3b9b..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Manager-v1-ModifyRedundancySet-request-example.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Add": [ - { - "@odata.id": "/redfish/v1/Managers/4" - } - ] -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Manager-v1-Reset-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Manager-v1-Reset-request-example.json deleted file mode 100644 index 6f0c7170..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Manager-v1-Reset-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "ResetType": "ForceRestart" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Manager-v1-ResetToDefaults-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Manager-v1-ResetToDefaults-request-example.json deleted file mode 100644 index df84008d..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Manager-v1-ResetToDefaults-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "ResetType": "PreserveNetworkAndUsers" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Manager-v1-UpdateSecurityMode-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Manager-v1-UpdateSecurityMode-request-example.json deleted file mode 100644 index 48bdf0c8..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Manager-v1-UpdateSecurityMode-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "SecurityMode": "CNSA_1_0" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Manager-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Manager-v1-example.json deleted file mode 100644 index 2102ca9d..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Manager-v1-example.json +++ /dev/null @@ -1,78 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Manager.v1_25_0.Manager", - "Id": "BMC", - "Name": "Manager", - "ManagerType": "BMC", - "Description": "Contoso BMC", - "ServiceEntryPointUUID": "92384634-2938-2342-8820-489239905423", - "UUID": "58893887-8974-2487-2389-841168418919", - "Model": "Joo Janta 200", - "FirmwareVersion": "4.4.6521", - "DateTime": "2015-03-13T04:14:33+06:00", - "DateTimeLocalOffset": "+06:00", - "DateTimeSource": "NTP", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "PowerState": "On", - "GraphicalConsole": { - "ServiceEnabled": true, - "MaxConcurrentSessions": 2, - "ConnectTypesSupported": [ - "KVMIP" - ] - }, - "CommandShell": { - "ServiceEnabled": true, - "MaxConcurrentSessions": 4, - "ConnectTypesSupported": [ - "Telnet", - "SSH" - ] - }, - "HostInterfaces": { - "@odata.id": "/redfish/v1/Managers/9/HostInterfaces" - }, - "NetworkProtocol": { - "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol" - }, - "EthernetInterfaces": { - "@odata.id": "/redfish/v1/Managers/BMC/NICs" - }, - "SerialInterfaces": { - "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces" - }, - "LogServices": { - "@odata.id": "/redfish/v1/Managers/BMC/LogServices" - }, - "VirtualMedia": { - "@odata.id": "/redfish/v1/Systems/437XR1138R2/VirtualMedia" - }, - "Links": { - "ManagerForServers": [ - { - "@odata.id": "/redfish/v1/Systems/437XR1138R2" - } - ], - "ManagerForChassis": [ - { - "@odata.id": "/redfish/v1/Chassis/1U" - } - ], - "ManagerInChassis": { - "@odata.id": "/redfish/v1/Chassis/1U" - } - }, - "Actions": { - "#Manager.Reset": { - "target": "/redfish/v1/Managers/BMC/Actions/Manager.Reset", - "ResetType@Redfish.AllowableValues": [ - "ForceRestart", - "GracefulRestart" - ] - } - }, - "@odata.id": "/redfish/v1/Managers/BMC" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ManagerAccount-v1-ChangePassword-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ManagerAccount-v1-ChangePassword-request-example.json deleted file mode 100644 index da6dbb2b..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ManagerAccount-v1-ChangePassword-request-example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "SessionAccountPassword": "secret123", - "NewPassword": "B3tterS3cur1tY!" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ManagerAccount-v1-GenerateSecretKey-response-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ManagerAccount-v1-GenerateSecretKey-response-example.json deleted file mode 100644 index 2152aaa5..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ManagerAccount-v1-GenerateSecretKey-response-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "SecretKey": "JEFDWSHUJOL342324DSFHJ324" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ManagerAccount-v1-VerifyTimeBasedOneTimePassword-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ManagerAccount-v1-VerifyTimeBasedOneTimePassword-request-example.json deleted file mode 100644 index 3b40b36a..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ManagerAccount-v1-VerifyTimeBasedOneTimePassword-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "TimeBasedOneTimePassword": "123456789abcdef" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ManagerAccount-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ManagerAccount-v1-example.json deleted file mode 100644 index 00971ee0..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ManagerAccount-v1-example.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#ManagerAccount.v1_14_2.ManagerAccount", - "Id": "1", - "Name": "User Account", - "Description": "User Account", - "Enabled": true, - "Password": null, - "PasswordChangeRequired": false, - "AccountTypes": [ - "Redfish" - ], - "UserName": "Administrator", - "RoleId": "Administrator", - "Locked": false, - "Links": { - "Role": { - "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" - } - }, - "Actions": { - "#ManagerAccount.ChangePassword": { - "target": "/redfish/v1/AccountService/Accounts/1/Actions/ManagerAccount.ChangePassword" - } - }, - "@odata.id": "/redfish/v1/AccountService/Accounts/1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ManagerDiagnosticData-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ManagerDiagnosticData-v1-example.json deleted file mode 100644 index 052516c0..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ManagerDiagnosticData-v1-example.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#ManagerDiagnosticData.v1_2_3.ManagerDiagnosticData", - "Id": "ManagerDiagnosticData", - "Name": "Manager Diagnostic Data", - "I2CBuses": [ - { - "I2CBusName": "i2c-0", - "TotalTransactionCount": 10000, - "BusErrorCount": 12, - "NACKCount": 34 - }, - { - "I2CBusName": "i2c-1", - "TotalTransactionCount": 20000, - "BusErrorCount": 56, - "NACKCount": 78 - } - ], - "MemoryStatistics": { - "TotalBytes": 1013052000, - "UsedBytes": 45084000, - "FreeBytes": 894820000, - "SharedBytes": 19864000, - "BuffersAndCacheBytes": 73148000, - "AvailableBytes": 928248000 - }, - "ProcessorStatistics": { - "KernelPercent": 12.34, - "UserPercent": 23.45 - }, - "TopProcesses": [ - { - "CommandLine": "dbus-broker", - "UserTimeSeconds": 14400, - "KernelTimeSeconds": 10800, - "ResidentSetSizeBytes": 2300000 - }, - { - "CommandLine": "swampd", - "UserTimeSeconds": 13200, - "KernelTimeSeconds": 8441, - "ResidentSetSizeBytes": 8883000 - }, - { - "CommandLine": "ipmid", - "UserTimeSeconds": 13100, - "KernelTimeSeconds": 6650, - "ResidentSetSizeBytes": 23400000 - }, - { - "CommandLine": "phosphor-hwmon-readd -i iface1", - "UserTimeSeconds": 5100, - "KernelTimeSeconds": 3200, - "ResidentSetSizeBytes": 564000 - } - ], - "BootTimeStatistics": { - "FirmwareTimeSeconds": 42.3, - "LoaderTimeSeconds": 12.3, - "KernelTimeSeconds": 33.1, - "InitrdTimeSeconds": 3.2, - "UserSpaceTimeSeconds": 81.1 - }, - "MemoryECCStatistics": { - "CorrectableECCErrorCount": 1, - "UncorrectableECCErrorCount": 2 - }, - "@odata.id": "/redfish/v1/Managers/BMC/ManagerDiagnosticData" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ManagerNetworkProtocol-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ManagerNetworkProtocol-v1-example.json deleted file mode 100644 index 32ef602c..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ManagerNetworkProtocol-v1-example.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#ManagerNetworkProtocol.v1_14_0.ManagerNetworkProtocol", - "Id": "NetworkProtocol", - "Name": "Manager Network Protocol", - "Description": "Manager Network Service", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "HostName": "web483-bmc", - "FQDN": "web483-bmc.dmtf.org", - "HTTP": { - "ProtocolEnabled": true, - "Port": 80 - }, - "HTTPS": { - "ProtocolEnabled": true, - "Port": 443 - }, - "IPMI": { - "ProtocolEnabled": true, - "Port": 623 - }, - "SSH": { - "ProtocolEnabled": true, - "Port": 22 - }, - "SNMP": { - "ProtocolEnabled": true, - "Port": 161 - }, - "VirtualMedia": { - "ProtocolEnabled": true, - "Port": 17988 - }, - "SSDP": { - "ProtocolEnabled": true, - "Port": 1900, - "NotifyMulticastIntervalSeconds": 600, - "NotifyTTL": 5, - "NotifyIPv6Scope": "Site" - }, - "Telnet": { - "ProtocolEnabled": true, - "Port": 23 - }, - "KVMIP": { - "ProtocolEnabled": true, - "Port": 5288 - }, - "@odata.id": "/redfish/v1/Managers/BMC/NetworkProtocol" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MediaController-v1-Reset-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MediaController-v1-Reset-request-example.json deleted file mode 100644 index 6f0c7170..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MediaController-v1-Reset-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "ResetType": "ForceRestart" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MediaController-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MediaController-v1-example.json deleted file mode 100644 index ef7b4aaf..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MediaController-v1-example.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#MediaController.v1_3_3.MediaController", - "Id": "MediaController1", - "Name": "Media Controller 1", - "MediaControllerType": "Memory", - "Manufacturer": "Contoso", - "Model": "Contoso MediaController", - "SerialNumber": "2M220100SL", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "UUID": "41784113-ed6b-2284-1414-916520dc1dd1", - "Ports": { - "@odata.id": "/redfish/v1/Chassis/GenZ/MediaControllers/1/Ports" - }, - "Actions": { - "#MediaController.Reset": { - "target": "/redfish/v1/Chassis/GenZ/MediaControllers/1/Actions/MediaController.Reset", - "ResetType@Redfish.AllowableValues": [ - "ForceRestart" - ] - } - }, - "Links": { - "Endpoints": [ - { - "@odata.id": "/redfish/v1/Fabrics/GenZ/Endpoints/1" - } - ], - "MemoryDomains": [ - { - "@odata.id": "/redfish/v1/Chassis/GenZ/MemoryDomains/1" - } - ] - }, - "@odata.id": "/redfish/v1/Chassis/GenZ/MediaControllers/1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-DisableMasterPassphrase-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-DisableMasterPassphrase-request-example.json deleted file mode 100644 index 80b9fad9..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-DisableMasterPassphrase-request-example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Passphrase": "FluffyBunny", - "RegionId": 2 -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-DisablePassphrase-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-DisablePassphrase-request-example.json deleted file mode 100644 index 80b9fad9..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-DisablePassphrase-request-example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Passphrase": "FluffyBunny", - "RegionId": 2 -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-InjectPersistentPoison-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-InjectPersistentPoison-request-example.json deleted file mode 100644 index fbbb8acc..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-InjectPersistentPoison-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "PhysicalAddress": "0x8000000" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-OverwriteUnit-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-OverwriteUnit-request-example.json deleted file mode 100644 index 80b9fad9..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-OverwriteUnit-request-example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Passphrase": "FluffyBunny", - "RegionId": 2 -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-Reset-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-Reset-request-example.json deleted file mode 100644 index 6f0c7170..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-Reset-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "ResetType": "ForceRestart" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-ScanMedia-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-ScanMedia-request-example.json deleted file mode 100644 index 3dd7e674..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-ScanMedia-request-example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "PhysicalAddress": "0x8000000", - "Length": 2097152 -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-SecureEraseUnit-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-SecureEraseUnit-request-example.json deleted file mode 100644 index 80b9fad9..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-SecureEraseUnit-request-example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Passphrase": "FluffyBunny", - "RegionId": 2 -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-SetMasterPassphrase-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-SetMasterPassphrase-request-example.json deleted file mode 100644 index 80b9fad9..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-SetMasterPassphrase-request-example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Passphrase": "FluffyBunny", - "RegionId": 2 -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-SetPassphrase-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-SetPassphrase-request-example.json deleted file mode 100644 index 80b9fad9..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-SetPassphrase-request-example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Passphrase": "FluffyBunny", - "RegionId": 2 -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-UnlockUnit-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-UnlockUnit-request-example.json deleted file mode 100644 index 80b9fad9..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-UnlockUnit-request-example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Passphrase": "FluffyBunny", - "RegionId": 2 -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-example.json deleted file mode 100644 index 5f1be57c..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Memory-v1-example.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Memory.v1_24_0.Memory", - "Name": "Regular Memory", - "Id": "1", - "RankCount": 1, - "MaxTDPMilliWatts": [ - 12000 - ], - "CapacityMiB": 8192, - "DataWidthBits": 64, - "BusWidthBits": 72, - "ErrorCorrection": "MultiBitECC", - "MemoryLocation": { - "Socket": 1, - "MemoryController": 1, - "Channel": 1, - "Slot": 1 - }, - "MemoryType": "DRAM", - "MemoryDeviceType": "DDR4", - "BaseModuleType": "RDIMM", - "MemoryMedia": [ - "DRAM" - ], - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "Metrics": { - "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/1/MemoryMetrics" - }, - "EnvironmentMetrics": { - "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/1/EnvironmentMetrics" - }, - "Location": { - "PartLocation": { - "ServiceLabel": "Socket 1_A", - "LocationType": "Socket", - "LocationOrdinalValue": 0 - } - }, - "@odata.id": "/redfish/v1/Systems/437XR1138R2/Memory/1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MemoryChunks-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MemoryChunks-v1-example.json deleted file mode 100644 index 90470adf..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MemoryChunks-v1-example.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#MemoryChunks.v1_7_0.MemoryChunks", - "Name": "Memory Chunk - Whole System", - "Id": "1", - "MemoryChunkSizeMiB": 32768, - "AddressRangeType": "Volatile", - "IsMirrorEnabled": false, - "IsSpare": false, - "InterleaveSets": [ - { - "Memory": { - "@odata.id": "/redfish/v1/Systems/2/Memory/1" - } - }, - { - "Memory": { - "@odata.id": "/redfish/v1/Systems/2/Memory/2" - } - }, - { - "Memory": { - "@odata.id": "/redfish/v1/Systems/2/Memory/3" - } - }, - { - "Memory": { - "@odata.id": "/redfish/v1/Systems/2/Memory/4" - } - } - ], - "@Redfish.Settings": { - "@odata.type": "#Settings.v1_5_0.Settings", - "SettingsObject": { - "@odata.id": "/redfish/v1/Systems/2/MemoryDomains/1/MemoryChunks/1/SD" - }, - "Time": "2012-03-07T14:44.30-05:00", - "ETag": "someetag", - "Messages": [ - { - "MessageId": "Base.1.0.Success" - } - ] - }, - "@odata.id": "/redfish/v1/Systems/2/MemoryDomains/1/MemoryChunks/1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MemoryDomain-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MemoryDomain-v1-example.json deleted file mode 100644 index e628ec1d..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MemoryDomain-v1-example.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#MemoryDomain.v1_5_1.MemoryDomain", - "Name": "Memory Domain - Whole System Mirroring Only", - "Id": "1", - "MemoryChunks": { - "@odata.id": "/redfish/v1/Systems/4/MemoryDomains/1/MemoryChunks" - }, - "AllowsMemoryChunkCreation": false, - "AllowsBlockProvisioning": false, - "InterleavableMemorySets": [ - { - "MemorySet": [ - { - "@odata.id": "/redfish/v1/Systems/2/Memory/1" - }, - { - "@odata.id": "/redfish/v1/Systems/2/Memory/2" - }, - { - "@odata.id": "/redfish/v1/Systems/2/Memory/3" - }, - { - "@odata.id": "/redfish/v1/Systems/2/Memory/4" - } - ] - } - ], - "@odata.id": "/redfish/v1/Systems/2/MemoryDomains/1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MemoryExtent-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MemoryExtent-v1-example.json deleted file mode 100644 index 71dfc678..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MemoryExtent-v1-example.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#MemoryExtent.v1_0_0.MemoryExtent", - "Id": "1", - "Name": "DC Memory Extent 1", - "Description": "CXL Dynamic Capacity Memory Extent", - "Status": { - "State": "Enabled", - "Health": "OK", - "HealthRollup": "OK" - }, - "ExtentOffsetMiB": 0, - "ExtentSizeMiB": 4096, - "Tag": "User Defined Tag", - "FMReferencedExtent": false, - "SequenceNumber": 0, - "MemoryChunks": [ - { - "ChunkOffsetMiB": 0, - "ChunkLink": { - "@odata.id": "/redfish/v1/Chassis/CXL-DCD/MemoryDomains/1/MemoryChunks/1" - } - } - ], - "Links": { - "MemoryRegions": [ - { - "@odata.id": "/redfish/v1/Chassis/CXL-DCD/PCIeDevices/1/CXLLogicalDevices/1/MemoryRegions/1" - } - ] - }, - "@odata.id": "/redfish/v1/Chassis/CXL-DCD/PCIeDevices/1/MemoryExtents/1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MemoryMetrics-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MemoryMetrics-v1-example.json deleted file mode 100644 index f308ec09..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MemoryMetrics-v1-example.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#MemoryMetrics.v1_8_0.MemoryMetrics", - "Name": "Memory Metrics", - "Id": "Metrics", - "BlockSizeBytes": 4096, - "CurrentPeriod": { - "BlocksRead": 0, - "BlocksWritten": 0 - }, - "LifeTime": { - "BlocksRead": 0, - "BlocksWritten": 0 - }, - "HealthData": { - "RemainingSpareBlockPercentage": 50, - "LastShutdownSuccess": true, - "DataLossDetected": false, - "PerformanceDegraded": false, - "AlarmTrips": { - "Temperature": true, - "SpareBlock": false, - "UncorrectableECCError": false, - "CorrectableECCError": false - } - }, - "Actions": { - "#MemoryMetrics.ClearCurrentPeriod": { - "target": "/redfish/v1/Systems/1/Memory/1/MemoryMetrics/Actions/MemoryMetrics.ClearCurrentPeriod" - } - }, - "@odata.id": "/redfish/v1/Systems/1/Memory/1/MemoryMetrics" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MemoryRegion-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MemoryRegion-v1-example.json deleted file mode 100644 index 33d2fd93..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MemoryRegion-v1-example.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#MemoryRegion.v1_1_0.MemoryRegion", - "Id": "1", - "Name": "Dynamic Memory Region 1", - "Description": "CXL Dynamic Memory Region 1 of LD 1 in Device 1", - "Status": { - "State": "Enabled", - "Health": "OK", - "HealthRollup": "OK" - }, - "RegionType": "Dynamic", - "RegionNumber": 0, - "RegionBaseOffsetMiB": 0, - "RegionSizeMiB": 65536, - "ShareableRegion": false, - "SanitizeOnRelease": true, - "BlockSizeMiB": 128, - "ExtentsCount": 1, - "MemoryExtents": [ - { - "ExtentOffsetMiB": 0, - "ExtentSizeMiB": 4096, - "Tag": "User Defined Tag", - "SequenceNumber": 0 - } - ], - "MemoryChunks": [ - { - "ChunkOffsetMiB": 0, - "ChunkLink": { - "@odata.id": "/redfish/v1/Chassis/1/MemoryDomains/1/MemoryChunks/1" - } - } - ], - "@odata.id": "/redfish/v1/Chassis/1/PCIeDevices/1/CXLLogicalDevices/1/MemoryRegions/1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MessageRegistry-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MessageRegistry-v1-example.json deleted file mode 100644 index 3b831e57..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MessageRegistry-v1-example.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#MessageRegistry.v1_3_1.MessageRegistry", - "Id": "Basic.1.2.0", - "Name": "Simple Message Registry", - "Language": "en", - "Description": "Collection of Basic messages for numerous use cases", - "RegistryPrefix": "Basic", - "RegistryVersion": "1.2.0", - "OwningEntity": "Contoso", - "Messages": { - "Success": { - "Description": "Indicates that all conditions of a successful operation have been met.", - "Message": "Successfully Completed Request", - "Severity": "OK", - "NumberOfArgs": 0, - "Resolution": "None" - }, - "GeneralError": { - "Description": "Indicates that a general error has occurred.", - "Message": "A general error has occurred. See ExtendedInfo for more information.", - "Severity": "Critical", - "NumberOfArgs": 0, - "Resolution": "See ExtendedInfo for more information." - }, - "ResourceAtUriUnauthorized": { - "Description": "Indicates that the attempt to access the resource/file/image at the URI was unauthorized.", - "Message": "While accessing the resource at %1, the service received an authorization error %2.", - "Severity": "Critical", - "NumberOfArgs": 2, - "ParamTypes": [ - "string", - "string" - ], - "Resolution": "Ensure that the appropriate access is provided for the service in order for it to access the URI." - } - } -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MessageRegistryFile-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MessageRegistryFile-v1-example.json deleted file mode 100644 index 794af95f..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MessageRegistryFile-v1-example.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#MessageRegistryFile.v1_1_5.MessageRegistryFile", - "Id": "Base.1.0.0", - "Name": "Base Message Registry File", - "Description": "Base Message Registry File locations", - "Languages": [ - "en" - ], - "Registry": "Base.1.0", - "Location": [ - { - "Language": "en", - "ArchiveUri": "/FileRepo/Registries.gz", - "PublicationUri": "https://redfish.contoso.org/registries/v1/Base.1.0.0.json", - "ArchiveFile": "Base.1.0.0.json" - }, - { - "Language": "zh", - "ArchiveUri": "/FileRepo/Registries.zh.gz", - "PublicationUri": "https://redfish.contoso.org/registries/v1/zh/Base.1.0.0.zh.json", - "ArchiveFile": "Base.1.0.0.zh.json" - } - ], - "@odata.id": "/redfish/v1/Registries/Base.1.0.0" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MetricDefinition-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MetricDefinition-v1-example.json deleted file mode 100644 index f2404ffa..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MetricDefinition-v1-example.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#MetricDefinition.v1_3_6.MetricDefinition", - "Id": "PowerConsumedWatts", - "Name": "Power Consumed Watts Metric Definition", - "MetricType": "Numeric", - "Implementation": "PhysicalSensor", - "PhysicalContext": "PowerSupply", - "MetricDataType": "Decimal", - "Units": "W", - "Precision": 4, - "Accuracy": 1, - "Calibration": 2, - "MinReadingRange": 0, - "MaxReadingRange": 50, - "SensingInterval": "PT1S", - "TimestampAccuracy": "PT1S", - "Wildcards": [ - { - "Name": "ChassisID", - "Values": [ - "1" - ] - } - ], - "MetricProperties": [ - "/redfish/v1/Chassis/{ChassisID}/Power#/PowerControl/0/PowerConsumedWatts" - ], - "@odata.id": "/redfish/v1/TelemetryService/MetricDefinitions/PowerConsumedWatts" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MetricReport-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MetricReport-v1-example.json deleted file mode 100644 index bf172a40..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MetricReport-v1-example.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#MetricReport.v1_5_2.MetricReport", - "Id": "AvgPlatformPowerUsage", - "Name": "Average Platform Power Usage metric report", - "MetricReportDefinition": { - "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/AvgPlatformPowerUsage" - }, - "MetricValues": [ - { - "MetricId": "AverageConsumedWatts", - "MetricValue": "100", - "Timestamp": "2016-11-08T12:25:00-05:00", - "MetricProperty": "/redfish/v1/Chassis/Tray_1/Power#/0/PowerConsumedWatts" - }, - { - "MetricId": "AverageConsumedWatts", - "MetricValue": "94", - "Timestamp": "2016-11-08T13:25:00-05:00", - "MetricProperty": "/redfish/v1/Chassis/Tray_1/Power#/0/PowerConsumedWatts" - }, - { - "MetricId": "AverageConsumedWatts", - "MetricValue": "100", - "Timestamp": "2016-11-08T14:25:00-05:00", - "MetricProperty": "/redfish/v1/Chassis/Tray_1/Power#/0/PowerConsumedWatts" - } - ], - "@odata.id": "/redfish/v1/TelemetryService/MetricReports/AvgPlatformPowerUsage" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MetricReportDefinition-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MetricReportDefinition-v1-example.json deleted file mode 100644 index d61503ab..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/MetricReportDefinition-v1-example.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#MetricReportDefinition.v1_4_7.MetricReportDefinition", - "Id": "PlatformPowerUsage", - "Name": "Transmit and Log Platform Power Usage", - "MetricReportDefinitionType": "Periodic", - "Schedule": { - "RecurrenceInterval": "PT1H" - }, - "ReportActions": [ - "RedfishEvent", - "LogToMetricReportsCollection" - ], - "ReportUpdates": "AppendWrapsWhenFull", - "AppendLimit": 256, - "MetricReport": { - "@odata.id": "/redfish/v1/TelemetryService/MetricReports/PlatformPowerUsage" - }, - "Status": { - "State": "Enabled" - }, - "Wildcards": [ - { - "Name": "PWild", - "Values": [ - "0" - ] - }, - { - "Name": "TWild", - "Values": [ - "Tray_1", - "Tray_2" - ] - } - ], - "MetricProperties": [ - "/redfish/v1/Chassis/{TWild}/Power#/PowerControl/{PWild}/PowerConsumedWatts" - ], - "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions/PlatformPowerUsage" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/NetworkAdapter-v1-Reset-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/NetworkAdapter-v1-Reset-request-example.json deleted file mode 100644 index 6f0c7170..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/NetworkAdapter-v1-Reset-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "ResetType": "ForceRestart" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/NetworkAdapter-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/NetworkAdapter-v1-example.json deleted file mode 100644 index e0a3c711..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/NetworkAdapter-v1-example.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#NetworkAdapter.v1_14_0.NetworkAdapter", - "Id": "9fa725a1", - "Name": "Network Adapter View", - "Manufacturer": "Contoso", - "Model": "599TPS-T", - "SKU": "Contoso TPS-Net 2-Port Base-T", - "SerialNumber": "003BFLRT00023234", - "PartNumber": "975421-B20", - "Ports": { - "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/9fd725a1/Ports" - }, - "NetworkDeviceFunctions": { - "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/9fd725a1/NetworkDeviceFunctions" - }, - "Controllers": [ - { - "FirmwarePackageVersion": "7.4.10", - "Links": { - "PCIeDevices": [ - { - "@odata.id": "/redfish/v1/Systems/1/PCIeDevices/NIC" - } - ], - "Ports": [ - { - "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/9fd725a1/Ports/1" - } - ], - "NetworkDeviceFunctions": [ - { - "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/9fd725a1/NetworkDeviceFunctions/111111111100" - } - ] - }, - "ControllerCapabilities": { - "NetworkPortCount": 2, - "NetworkDeviceFunctionCount": 8, - "DataCenterBridging": { - "Capable": true - }, - "VirtualizationOffload": { - "VirtualFunction": { - "DeviceMaxCount": 256, - "NetworkPortMaxCount": 128, - "MinAssignmentGroupSize": 4 - }, - "SRIOV": { - "SRIOVEnabled": true, - "SRIOVVEPACapable": true - } - }, - "NPIV": { - "MaxDeviceLogins": 4, - "MaxPortLogins": 2 - }, - "NPAR": { - "NparCapable": true, - "NparEnabled": false - } - }, - "PCIeInterface": { - "PCIeType": "Gen2", - "MaxPCIeType": "Gen3", - "LanesInUse": 1, - "MaxLanes": 4 - }, - "Location": { - "PartLocation": { - "ServiceLabel": "Slot 1", - "LocationType": "Slot", - "LocationOrdinalValue": 0, - "Reference": "Rear", - "Orientation": "LeftToRight" - } - } - } - ], - "Actions": { - "#NetworkAdapter.ResetSettingsToDefault": { - "target": "/redfish/v1/Chassis/1/NetworkAdapters/9fd725a1/Actions/NetworkAdapter.ResetSettingsToDefault" - } - }, - "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/9fd725a1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/NetworkAdapterMetrics-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/NetworkAdapterMetrics-v1-example.json deleted file mode 100644 index 72e55d30..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/NetworkAdapterMetrics-v1-example.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#NetworkAdapterMetrics.v1_1_0.NetworkAdapterMetrics", - "Id": "NetworkAdapterMetrics", - "Name": "Network Adapter Metrics", - "HostBusRXPercent": 35.53, - "HostBusTXPercent": 14.17, - "CPUCorePercent": 8.35, - "NCSIRXFrames": 0, - "NCSITXFrames": 0, - "NCSIRXBytes": 0, - "NCSITXBytes": 0, - "RXBytes": 7754199970, - "RXMulticastFrames": 1941, - "RXUnicastFrames": 27193387, - "TXBytes": 9436506547, - "TXMulticastFrames": 153, - "TXUnicastFrames": 18205770, - "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot1/Metrics" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/NetworkDeviceFunction-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/NetworkDeviceFunction-v1-example.json deleted file mode 100644 index 68bdcb73..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/NetworkDeviceFunction-v1-example.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#NetworkDeviceFunction.v1_11_1.NetworkDeviceFunction", - "Id": "111111111100", - "Name": "Network Device Function View", - "NetDevFuncType": "Ethernet", - "DeviceEnabled": true, - "NetDevFuncCapabilities": [ - "Ethernet", - "FibreChannel" - ], - "Ethernet": { - "PermanentMACAddress": "00:0C:29:9A:98:ED", - "MACAddress": "00:0C:29:9A:98:ED", - "MTUSize": 1500, - "VLAN": { - "VLANEnable": true, - "VLANId": 101 - } - }, - "iSCSIBoot": { - "IPAddressType": "IPv4", - "InitiatorIPAddress": "16.0.11.6", - "InitiatorName": "iqn.2005-03.com.acme:database-server", - "InitiatorDefaultGateway": "169.0.16.1", - "InitiatorNetmask": "255.255.252.0", - "TargetInfoViaDHCP": false, - "PrimaryTargetName": "iqn.2005-03.com.acme:image-server", - "PrimaryTargetIPAddress": "169.0.15.1", - "PrimaryTargetTCPPort": 3260, - "PrimaryLUN": 5, - "PrimaryVLANEnable": true, - "PrimaryVLANId": 1001, - "PrimaryDNS": "16.0.10.21", - "SecondaryTargetName": "iqn.2005-03.com.acme:image-server", - "SecondaryTargetIPAddress": "16.0.11.5", - "SecondaryTargetTCPPort": 3260, - "SecondaryLUN": 5, - "SecondaryVLANEnable": true, - "SecondaryVLANId": 1002, - "SecondaryDNS": "169.0.10.22", - "IPMaskDNSViaDHCP": false, - "RouterAdvertisementEnabled": false, - "AuthenticationMethod": "CHAP", - "CHAPUsername": "yosemite", - "CHAPSecret": "usrpasswd", - "MutualCHAPUsername": "yosemite", - "MutualCHAPSecret": "usrpasswd" - }, - "FibreChannel": { - "PermanentWWPN": "10:00:B0:5A:DD:BB:74:E0", - "PermanentWWNN": "10:00:B0:5A:DD:BB:A1:B3", - "WWPN": "10:00:B0:5A:DD:BB:74:E0", - "WWNN": "10:00:B0:5A:DD:C4:D3:BB", - "WWNSource": "ConfiguredLocally", - "FCoELocalVLANId": 1001, - "AllowFIPVLANDiscovery": true, - "FCoEActiveVLANId": 2001, - "BootTargets": [ - { - "WWPN": "10:00:B0:5A:DD:BB:74:FA", - "LUNID": "3", - "BootPriority": 0 - } - ] - }, - "AssignablePhysicalNetworkPorts": [ - { - "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/9fd725a1/Ports/1" - } - ], - "BootMode": "Disabled", - "VirtualFunctionsEnabled": true, - "MaxVirtualFunctions": 16, - "VirtualFunctionAllocation": 8, - "Links": { - "PCIeFunction": { - "@odata.id": "/redfish/v1/Systems/1/PCIeDevices/NIC/PCIeFunctions/1" - }, - "PhysicalNetworkPortAssignment": { - "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/9fd725a1/Ports/1" - } - }, - "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/9fd725a1/NetworkDeviceFunctions/111111111100" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/NetworkDeviceFunctionMetrics-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/NetworkDeviceFunctionMetrics-v1-example.json deleted file mode 100644 index a380b644..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/NetworkDeviceFunctionMetrics-v1-example.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#NetworkDeviceFunctionMetrics.v1_2_0.NetworkDeviceFunctionMetrics", - "Id": "NetworkDeviceFunctionMetrics", - "Name": "Network Device Function Metrics", - "TXAvgQueueDepthPercent": 13.7, - "RXAvgQueueDepthPercent": 21.2, - "RXFrames": 27193387, - "RXBytes": 7754199970, - "RXUnicastFrames": 26193387, - "RXMulticastFrames": 1000000, - "TXFrames": 18205770, - "TXBytes": 9436506547, - "TXUnicastFrames": 17205770, - "TXMulticastFrames": 1000000, - "TXQueuesEmpty": false, - "RXQueuesEmpty": false, - "TXQueuesFull": 0, - "RXQueuesFull": 0, - "Ethernet": { - "NumOffloadedIPv4Conns": 0, - "NumOffloadedIPv6Conns": 0 - }, - "@odata.id": "/redfish/v1/Chassis/1U/NetworkAdapters/Slot1/NetworkDeviceFunctions/SC2KP1F0/Metrics" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/NetworkInterface-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/NetworkInterface-v1-example.json deleted file mode 100644 index 53f0017d..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/NetworkInterface-v1-example.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#NetworkInterface.v1_2_3.NetworkInterface", - "Id": "9fa725a1", - "Name": "Network Device View", - "NetworkPorts": { - "@odata.id": "/redfish/v1/Systems/1/NetworkInterfaces/9fd725a1/NetworkPorts" - }, - "NetworkDeviceFunctions": { - "@odata.id": "/redfish/v1/Systems/1/NetworkInterfaces/9fd725a1/NetworkDeviceFunctions" - }, - "Links": { - "NetworkAdapter": { - "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/9fd725a1" - } - }, - "@odata.id": "/redfish/v1/Systems/1/NetworkInterfaces/9fd725a1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/NetworkPort-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/NetworkPort-v1-example.json deleted file mode 100644 index 172bd097..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/NetworkPort-v1-example.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#NetworkPort.v1_4_3.NetworkPort", - "Id": "1", - "Name": "Network Port View", - "PhysicalPortNumber": "1", - "LinkStatus": "Up", - "SupportedLinkCapabilities": [ - { - "AutoSpeedNegotiation": true, - "LinkNetworkTechnology": "Ethernet", - "CapableLinkSpeedMbps": [ - 10, - 100, - 10000 - ] - } - ], - "ActiveLinkTechnology": "Ethernet", - "SupportedEthernetCapabilities": [ - "WakeOnLAN", - "EEE" - ], - "NetDevFuncMinBWAlloc": [ - { - "NetworkDeviceFunction": { - "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/9fd725a1/NetworkDeviceFunctions/111111111100" - }, - "MinBWAllocPercent": 25 - } - ], - "NetDevFuncMaxBWAlloc": [ - { - "NetworkDeviceFunction": { - "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/9fd725a1/NetworkDeviceFunctions/111111111100" - }, - "MaxBWAllocPercent": 100 - } - ], - "AssociatedNetworkAddresses": [ - "00:0C:29:9A:98:ED", - "00:0C:29:9A:98:EF" - ], - "EEEEnabled": true, - "WakeOnLANEnabled": true, - "PortMaximumMTU": 1500, - "FlowControlStatus": "None", - "FlowControlConfiguration": "None", - "SignalDetected": true, - "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/9fd725a1/NetworkPorts/1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/OperatingConfig-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/OperatingConfig-v1-example.json deleted file mode 100644 index 8995a011..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/OperatingConfig-v1-example.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#OperatingConfig.v1_0_4.OperatingConfig", - "Id": "0", - "Name": "Processor Profile", - "TotalAvailableCoreCount": 28, - "TDPWatts": 150, - "BaseSpeedMHz": 2500, - "MaxSpeedMHz": 4100, - "MaxJunctionTemperatureCelsius": 90, - "TurboProfile": [ - { - "ActiveCoreCount": 2, - "MaxSpeedMHz": 4100 - }, - { - "ActiveCoreCount": 4, - "MaxSpeedMHz": 4000 - }, - { - "ActiveCoreCount": 8, - "MaxSpeedMHz": 3800 - }, - { - "ActiveCoreCount": 28, - "MaxSpeedMHz": 3200 - } - ], - "BaseSpeedPrioritySettings": [ - { - "CoreCount": 8, - "CoreIDs": [ - 0, - 2, - 3, - 4, - 5, - 6, - 7, - 8 - ], - "BaseSpeedMHz": 2900 - }, - { - "CoreCount": 20, - "BaseSpeedMHz": 2200 - } - ], - "@odata.id": "/redfish/v1/Systems/operating-config-example/Processors/CPU1/OperatingConfigs/0" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/OperatingSystem-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/OperatingSystem-v1-example.json deleted file mode 100644 index 6bc02a8a..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/OperatingSystem-v1-example.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#OperatingSystem.v1_0_2.OperatingSystem", - "Id": "OperatingSystem", - "Name": "OperatingSystem running on web-srv344", - "UptimeSeconds": 6720, - "Kernel": { - "Name": "Linux", - "Release": "5.10.13-x86_64", - "Version": "#1 SMP Thu Feb 4 13:56:42 EST 2021", - "Machine": "x86_64" - }, - "Type": "Linux", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "Applications": { - "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/Applications" - }, - "ContainerEngines": [ - { - "Type": "Docker", - "Version": "20.10.5", - "SupportedImageTypes": [ - "DockerV1", - "DockerV2", - "OCI" - ], - "ManagementURIs": [ - "https://192.168.0.12:5555" - ] - } - ], - "ContainerImages": { - "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/ContainerImages" - }, - "Containers": { - "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem/Containers" - }, - "Links": { - "SoftwareImage": { - "@odata.id": "/redfish/v1/UpdateService/SoftwareInventory/ContosoLinux" - } - }, - "@odata.id": "/redfish/v1/Systems/VM1/OperatingSystem" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/OutboundConnection-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/OutboundConnection-v1-example.json deleted file mode 100644 index 34f436ea..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/OutboundConnection-v1-example.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#OutboundConnection.v1_0_3.OutboundConnection", - "Id": "1", - "Name": "Outbound Connection to contoso app", - "Status": { - "Health": "OK", - "HealthRollup": "OK", - "State": "Enabled" - }, - "Authentication": "MTLS", - "Certificates": { - "@odata.id": "/redfish/v1/AccountService/OutboundConnections/1/Certificates" - }, - "ClientCertificates": { - "@odata.id": "/redfish/v1/AccountService/OutboundConnections/1/ClientCertificates" - }, - "ConnectionEnabled": true, - "EndpointURI": "wss://ws.contoso.com:443", - "RetryPolicy": { - "ConnectionRetryPolicy": "RetryCount", - "RetryIntervalMinutes": 5, - "RetryCount": 60 - }, - "Roles": [ - "Administrator" - ], - "WebSocketPingIntervalMinutes": 10, - "@odata.id": "/redfish/v1/AccountService/OutboundConnections/1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Outlet-v1-PowerControl-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Outlet-v1-PowerControl-request-example.json deleted file mode 100644 index d4eb6233..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Outlet-v1-PowerControl-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "PowerState": "PowerCycle" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Outlet-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Outlet-v1-example.json deleted file mode 100644 index fc53430f..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Outlet-v1-example.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Outlet.v1_5_0.Outlet", - "Id": "A1", - "Name": "Outlet A1, Branch Circuit A", - "Status": { - "Health": "OK", - "State": "Enabled" - }, - "PhaseWiringType": "OnePhase3Wire", - "VoltageType": "AC", - "OutletType": "NEMA_5_20R", - "RatedCurrentAmps": 20, - "NominalVoltage": "AC120V", - "LocationIndicatorActive": true, - "PowerOnDelaySeconds": 4, - "PowerOffDelaySeconds": 0, - "PowerState": "On", - "PowerEnabled": true, - "Voltage": { - "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/VoltageA1", - "Reading": 117.5 - }, - "PolyPhaseVoltage": { - "Line1ToNeutral": { - "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/VoltageA1", - "Reading": 117.5 - } - }, - "CurrentAmps": { - "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/CurrentA1", - "Reading": 1.68 - }, - "PolyPhaseCurrentAmps": { - "Line1": { - "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/CurrentA1", - "Reading": 1.68 - } - }, - "PowerWatts": { - "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/PowerA1", - "Reading": 197.4, - "ApparentVA": 197.4, - "ReactiveVAR": 0, - "PowerFactor": 1 - }, - "FrequencyHz": { - "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/FrequencyA1", - "Reading": 60 - }, - "EnergykWh": { - "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/EnergyA1", - "Reading": 36166 - }, - "Actions": { - "#Outlet.PowerControl": { - "target": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/A1/Outlet.PowerControl" - }, - "#Outlet.ResetMetrics": { - "target": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/A1/Outlet.ResetMetrics" - } - }, - "Links": { - "BranchCircuit": { - "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Branches/A" - } - }, - "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/A1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/OutletGroup-v1-PowerControl-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/OutletGroup-v1-PowerControl-request-example.json deleted file mode 100644 index 075e40ea..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/OutletGroup-v1-PowerControl-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "PowerState": "Off" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/OutletGroup-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/OutletGroup-v1-example.json deleted file mode 100644 index bcdc449d..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/OutletGroup-v1-example.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#OutletGroup.v1_2_0.OutletGroup", - "Id": "Rack5Storage", - "Name": "Outlet Group Rack5Storage", - "Status": { - "Health": "OK", - "State": "Enabled" - }, - "CreatedBy": "Bob", - "PowerOnDelaySeconds": 4, - "PowerOffDelaySeconds": 0, - "PowerState": "On", - "PowerEnabled": true, - "PowerWatts": { - "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/GroupPowerA", - "Reading": 412.36 - }, - "EnergykWh": { - "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/GroupEnergyA", - "Reading": 26880 - }, - "Links": { - "Outlets": [ - { - "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/A1" - }, - { - "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/A2" - }, - { - "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/A3" - } - ] - }, - "Actions": { - "#OutletGroup.PowerControl": { - "target": "/redfish/v1/PowerEquipment/RackPDUs/1/OutletGroups/Rack5Storage/OutletGroup.PowerControl" - }, - "#OutletGroup.ResetMetrics": { - "target": "/redfish/v1/PowerEquipment/RackPDUs/1/OutletGroups/Rack5Storage/OutletGroup.ResetMetrics" - } - }, - "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/OutletGroups/Rack5Storage" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PCIeDevice-v1-CXLReferenceDCMemory-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PCIeDevice-v1-CXLReferenceDCMemory-request-example.json deleted file mode 100644 index 09024035..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PCIeDevice-v1-CXLReferenceDCMemory-request-example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Tag": "User Defined Tag", - "FMReference": true -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PCIeDevice-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PCIeDevice-v1-example.json deleted file mode 100644 index bce410b4..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PCIeDevice-v1-example.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#PCIeDevice.v1_23_0.PCIeDevice", - "Id": "NIC", - "Name": "Simple Two-Port NIC", - "Description": "Simple Two-Port NIC PCIe Device", - "AssetTag": "ORD-4302015-18432RS", - "Manufacturer": "Contoso", - "Model": "2PNIC 2000", - "SKU": "89587433", - "SerialNumber": "2M220100SL", - "PartNumber": "232-4598D7", - "DeviceType": "MultiFunction", - "FirmwareVersion": "12.342-343", - "Status": { - "State": "Enabled", - "Health": "OK", - "HealthRollup": "OK" - }, - "PCIeInterface": { - "PCIeType": "Gen2", - "MaxPCIeType": "Gen3", - "LanesInUse": 4, - "MaxLanes": 4 - }, - "PCIeFunctions": { - "@odata.id": "/redfish/v1/Systems/1/PCIeDevices/NIC/PCIeFunctions" - }, - "Links": { - "Chassis": [ - { - "@odata.id": "/redfish/v1/Chassis/1" - } - ] - }, - "@odata.id": "/redfish/v1/Systems/1/PCIeDevices/NIC" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PCIeFunction-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PCIeFunction-v1-example.json deleted file mode 100644 index 66a8e6f2..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PCIeFunction-v1-example.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#PCIeFunction.v1_7_0.PCIeFunction", - "Id": "2", - "Name": "FC Port 2", - "Description": "FC Port 2", - "FunctionId": 2, - "FunctionType": "Physical", - "DeviceClass": "NetworkController", - "DeviceId": "0xABCD", - "VendorId": "0xABCD", - "ClassCode": "0x010802", - "RevisionId": "0x00", - "SubsystemId": "0xABCD", - "SubsystemVendorId": "0xABCD", - "Status": { - "State": "Enabled", - "Health": "OK", - "HealthRollup": "OK" - }, - "Links": { - "PCIeDevice": { - "@odata.id": "/redfish/v1/Chassis/1/PCIeDevices/FC" - } - }, - "@odata.id": "/redfish/v1/Chassis/1/PCIeDevices/FC/PCIeFunctions/2" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PCIeSlots-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PCIeSlots-v1-example.json deleted file mode 100644 index 9141fffc..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PCIeSlots-v1-example.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#PCIeSlots.v1_6_1.PCIeSlots", - "Id": "1", - "Name": "PCIe Slot Information", - "Slots": [ - { - "PCIeType": "Gen3", - "Lanes": 16, - "SlotType": "FullLength", - "Status": { - "State": "Enabled" - }, - "Location": { - "PartLocation": { - "ServiceLabel": "Slot 1", - "LocationOrdinalValue": 1, - "LocationType": "Slot", - "Orientation": "LeftToRight", - "Reference": "Rear" - } - }, - "Links": { - "PCIeDevice": [ - { - "@odata.id": "/redfish/v1/Systems/1/PCIeDevices/NIC" - } - ] - } - }, - { - "PCIeType": "Gen4", - "Lanes": 4, - "SlotType": "FullLength", - "Status": { - "State": "Absent" - }, - "Location": { - "PartLocation": { - "ServiceLabel": "Slot 2", - "LocationOrdinalValue": 2, - "LocationType": "Slot", - "Orientation": "LeftToRight", - "Reference": "Rear" - } - } - }, - { - "PCIeType": "Gen3", - "Lanes": 1, - "SlotType": "HalfLength", - "Status": { - "State": "Absent" - }, - "Location": { - "PartLocation": { - "ServiceLabel": "Slot 3", - "LocationOrdinalValue": 3, - "LocationType": "Slot", - "Orientation": "LeftToRight", - "Reference": "Rear" - } - } - } - ], - "@odata.id": "/redfish/v1/Chassis/1/PCIeSlots" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Policy-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Policy-v1-example.json deleted file mode 100644 index f36d6025..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Policy-v1-example.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Policy.v1_0_0.Policy", - "Id": "RackPowerCap", - "Name": "Rack Power Cap Policy", - "Predefined": false, - "Enabled": true, - "TriggerCondition": { - "Type": "Sum", - "CompareValue": "10000", - "Operator": "GreaterThanOrEqual", - "SubordinateConditions": [ - { - "Type": "Read", - "ResourcePath": "/redfish/v1/Chassis/1/Power", - "PropertyPath": "/PowerControl/0/PowerConsumedWatts" - }, - { - "Type": "Read", - "ResourcePath": "/redfish/v1/Chassis/Blade1/Sensors/PowerConsumption" - } - ] - }, - "Response": [ - { - "ResponseAction": "Reset", - "TargetURI": "/redfish/v1/Systems/1", - "ResetType": "GracefulShutdown" - }, - { - "ResponseAction": "Recheck", - "DelaySeconds": 60 - }, - { - "ResponseAction": "Reset", - "TargetURI": "/redfish/v1/Chassis/Blade1", - "ResetType": "GracefulShutdown" - } - ], - "@odata.id": "/redfish/v1/PolicyService/Policies/RackPowerCap" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PolicyService-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PolicyService-v1-example.json deleted file mode 100644 index 7834ad94..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PolicyService-v1-example.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#PolicyService.v1_0_0.PolicyService", - "Id": "PolicyService", - "Name": "Policy Service", - "OperatingMode": "Enabled", - "ResourceTypesSupported": [ - "Chassis", - "ComputerSystem", - "Control", - "CoolingUnit", - "Manager", - "PowerDistribution" - ], - "ActionsSupported": [ - "Event", - "Reset", - "Recheck", - "HTTP" - ], - "ConditionTypesSupported": [ - "And", - "Or", - "Sum", - "Compare", - "Read" - ], - "Policies": { - "@odata.id": "/redfish/v1/PolicyService/Policies" - }, - "@odata.id": "/redfish/v1/PolicyService" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Port-v1-Reset-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Port-v1-Reset-request-example.json deleted file mode 100644 index 6f0c7170..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Port-v1-Reset-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "ResetType": "ForceRestart" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Port-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Port-v1-example.json deleted file mode 100644 index 919e856a..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Port-v1-example.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Port.v1_20_0.Port", - "Id": "1", - "Name": "SAS Port 1", - "Description": "SAS Port 1", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "PortId": "1", - "PortProtocol": "SAS", - "PortType": "BidirectionalPort", - "CurrentSpeedGbps": 48, - "Width": 4, - "ConfiguredSpeedGbps": 48, - "ConfiguredWidth": 4, - "MaxSpeedGbps": 48, - "Links": { - "AssociatedEndpoints": [ - { - "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Initiator1" - } - ] - }, - "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1/Ports/1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PortMetrics-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PortMetrics-v1-example.json deleted file mode 100644 index 0d7f843f..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PortMetrics-v1-example.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#PortMetrics.v1_9_1.PortMetrics", - "Id": "Metrics", - "Name": "Gen-Z Port 1 Metrics", - "GenZ": { - "PacketCRCErrors": 24, - "EndToEndCRCErrors": 3, - "RXStompedECRC": 1, - "TXStompedECRC": 2, - "NonCRCTransientErrors": 2, - "LLRRecovery": 1, - "MarkedECN": 1, - "PacketDeadlineDiscards": 1, - "AccessKeyViolations": 1, - "LinkNTE": 1, - "ReceivedECN": 1 - }, - "@odata.id": "/redfish/v1/Fabrics/GenZ/Switches/Switch1/Ports/1/Metrics" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Power-v1-PowerSupplyReset-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Power-v1-PowerSupplyReset-request-example.json deleted file mode 100644 index e7e47dda..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Power-v1-PowerSupplyReset-request-example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "MemberId": "0", - "ResetType": "ForceRestart" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Power-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Power-v1-example.json deleted file mode 100644 index 08fa5150..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Power-v1-example.json +++ /dev/null @@ -1,144 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Power.v1_7_3.Power", - "Id": "Power", - "Name": "Power", - "PowerControl": [ - { - "@odata.id": "/redfish/v1/Chassis/1U/Power#/PowerControl/0", - "MemberId": "0", - "Name": "Server Power Control", - "PowerConsumedWatts": 344, - "PowerRequestedWatts": 800, - "PowerAvailableWatts": 0, - "PowerCapacityWatts": 800, - "PowerAllocatedWatts": 800, - "PowerMetrics": { - "IntervalInMin": 30, - "MinConsumedWatts": 271, - "MaxConsumedWatts": 489, - "AverageConsumedWatts": 319 - }, - "PowerLimit": { - "LimitInWatts": 500, - "LimitException": "LogEventOnly", - "CorrectionInMs": 50 - }, - "RelatedItem": [ - { - "@odata.id": "/redfish/v1/Systems/437XR1138R2" - }, - { - "@odata.id": "/redfish/v1/Chassis/1U" - } - ], - "Status": { - "State": "Enabled", - "Health": "OK" - } - } - ], - "Voltages": [ - { - "@odata.id": "/redfish/v1/Chassis/1U/Power#/Voltages/0", - "MemberId": "0", - "Name": "VRM1 Voltage", - "SensorNumber": 11, - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "ReadingVolts": 12, - "UpperThresholdNonCritical": 12.5, - "UpperThresholdCritical": 13, - "UpperThresholdFatal": 15, - "LowerThresholdNonCritical": 11.5, - "LowerThresholdCritical": 11, - "LowerThresholdFatal": 10, - "MinReadingRange": 0, - "MaxReadingRange": 20, - "PhysicalContext": "VoltageRegulator", - "RelatedItem": [ - { - "@odata.id": "/redfish/v1/Systems/437XR1138R2" - }, - { - "@odata.id": "/redfish/v1/Chassis/1U" - } - ] - }, - { - "@odata.id": "/redfish/v1/Chassis/1U/Power#/Voltages/1", - "MemberId": "1", - "Name": "VRM2 Voltage", - "SensorNumber": 12, - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "ReadingVolts": 5, - "UpperThresholdNonCritical": 5.5, - "UpperThresholdCritical": 7, - "LowerThresholdNonCritical": 4.75, - "LowerThresholdCritical": 4.5, - "MinReadingRange": 0, - "MaxReadingRange": 20, - "PhysicalContext": "VoltageRegulator", - "RelatedItem": [ - { - "@odata.id": "/redfish/v1/Systems/437XR1138R2" - }, - { - "@odata.id": "/redfish/v1/Chassis/1U" - } - ] - } - ], - "PowerSupplies": [ - { - "@odata.id": "/redfish/v1/Chassis/1U/Power#/PowerSupplies/0", - "MemberId": "0", - "Name": "Power Supply Bay", - "Status": { - "State": "Enabled", - "Health": "Warning" - }, - "PowerSupplyType": "AC", - "LineInputVoltageType": "ACWideRange", - "LineInputVoltage": 120, - "PowerCapacityWatts": 800, - "LastPowerOutputWatts": 325, - "Model": "499253-B21", - "Manufacturer": "ManufacturerName", - "FirmwareVersion": "1.00", - "SerialNumber": "1Z0000001", - "PartNumber": "0000001A3A", - "SparePartNumber": "0000001A3A", - "InputRanges": [ - { - "InputType": "AC", - "MinimumVoltage": 100, - "MaximumVoltage": 120, - "OutputWattage": 800 - }, - { - "InputType": "AC", - "MinimumVoltage": 200, - "MaximumVoltage": 240, - "OutputWattage": 1300 - } - ], - "RelatedItem": [ - { - "@odata.id": "/redfish/v1/Chassis/1U" - } - ] - } - ], - "Actions": { - "#Power.PowerSupplyReset": { - "target": "/redfish/v1/Chassis/1U/Power/Actions/Power.PowerSupplyReset" - } - }, - "@odata.id": "/redfish/v1/Chassis/1U/Power" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerDistribution-v1-ExportConfiguration-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerDistribution-v1-ExportConfiguration-request-example.json deleted file mode 100644 index aaed1434..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerDistribution-v1-ExportConfiguration-request-example.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "ExportType": "Replacement", - "Components": [ - "All" - ], - "EncryptionPassphrase": "FluffyBunny23", - "Security": "IncludeSensitiveData" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerDistribution-v1-PowerControl-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerDistribution-v1-PowerControl-request-example.json deleted file mode 100644 index 075e40ea..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerDistribution-v1-PowerControl-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "PowerState": "Off" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerDistribution-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerDistribution-v1-example.json deleted file mode 100644 index 3ece8648..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerDistribution-v1-example.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#PowerDistribution.v1_7_0.PowerDistribution", - "Id": "1", - "EquipmentType": "RackPDU", - "Name": "RackPDU1", - "FirmwareVersion": "4.3.0", - "Version": "1.03b", - "ProductionDate": "2017-01-11T08:00:00Z", - "Manufacturer": "Contoso", - "Model": "ZAP4000", - "SerialNumber": "29347ZT536", - "PartNumber": "AA-23", - "UUID": "32354641-4135-4332-4a35-313735303734", - "AssetTag": "PDX-92381", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "Location": { - "Placement": { - "Row": "North 1" - } - }, - "Mains": { - "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Mains" - }, - "Branches": { - "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Branches" - }, - "Outlets": { - "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Outlets" - }, - "OutletGroups": { - "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/OutletGroups" - }, - "Metrics": { - "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Metrics" - }, - "Links": { - "Facility": { - "@odata.id": "/redfish/v1/Facilities/Room237" - }, - "Chassis": [ - { - "@odata.id": "/redfish/v1/Chassis/PDU" - } - ] - }, - "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerDistributionMetrics-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerDistributionMetrics-v1-example.json deleted file mode 100644 index abf2e2f5..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerDistributionMetrics-v1-example.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#PowerDistributionMetrics.v1_5_0.PowerDistributionMetrics", - "Id": "Metrics", - "Name": "Summary Metrics", - "PowerWatts": { - "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/PDUPower", - "Reading": 6438, - "ApparentVA": 6300, - "ReactiveVAR": 100, - "PowerFactor": 0.93 - }, - "EnergykWh": { - "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/PDUEnergy", - "Reading": 56438 - }, - "TemperatureCelsius": { - "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/PDUTemp", - "Reading": 26.3 - }, - "HumidityPercent": { - "DataSourceUri": "/redfish/v1/Chassis/PDU/Sensors/PDUHumidity", - "Reading": 52.7 - }, - "Actions": { - "#PowerDistributionMetrics.ResetMetrics": { - "target": "/redfish/v1/PowerEquipment/RackPDUs/1/Metrics/Actions/PowerDistributionMetrics.ResetMetrics" - } - }, - "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1/Metrics" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerDomain-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerDomain-v1-example.json deleted file mode 100644 index 713209ea..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerDomain-v1-example.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#PowerDomain.v1_2_2.PowerDomain", - "Id": "Row1", - "Name": "Row #1 Domain", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "Links": { - "ManagedBy": [ - { - "@odata.id": "/redfish/v1/Managers/BMC" - } - ], - "RackPDUs": [ - { - "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs/1" - } - ] - }, - "@odata.id": "/redfish/v1/Facilities/Room237/PowerDomains/Row1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerEquipment-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerEquipment-v1-example.json deleted file mode 100644 index 53d01994..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerEquipment-v1-example.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#PowerEquipment.v1_2_3.PowerEquipment", - "Id": "PowerEquipment", - "Name": "DCIM Power Equipment", - "Status": { - "State": "Enabled", - "HealthRollup": "OK" - }, - "FloorPDUs": { - "@odata.id": "/redfish/v1/PowerEquipment/FloorPDUs" - }, - "RackPDUs": { - "@odata.id": "/redfish/v1/PowerEquipment/RackPDUs" - }, - "TransferSwitches": { - "@odata.id": "/redfish/v1/PowerEquipment/TransferSwitches" - }, - "@odata.id": "/redfish/v1/PowerEquipment" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerSubsystem-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerSubsystem-v1-example.json deleted file mode 100644 index 3c687fd4..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerSubsystem-v1-example.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#PowerSubsystem.v1_2_0.PowerSubsystem", - "Id": "PowerSubsystem", - "Name": "Power Subsystem for Chassis", - "CapacityWatts": 2000, - "Allocation": { - "RequestedWatts": 1500, - "AllocatedWatts": 1200 - }, - "PowerSupplyRedundancy": [ - { - "RedundancyType": "Failover", - "MaxSupportedInGroup": 2, - "MinNeededInGroup": 1, - "RedundancyGroup": [ - { - "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1" - }, - { - "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay2" - } - ], - "Status": { - "State": "UnavailableOffline", - "Health": "OK" - } - } - ], - "PowerSupplies": { - "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies" - }, - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerSupply-v1-Reset-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerSupply-v1-Reset-request-example.json deleted file mode 100644 index 6f0c7170..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerSupply-v1-Reset-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "ResetType": "ForceRestart" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerSupply-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerSupply-v1-example.json deleted file mode 100644 index 38803647..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerSupply-v1-example.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#PowerSupply.v1_8_0.PowerSupply", - "Id": "Bay1", - "Name": "Power Supply Bay 1", - "Status": { - "State": "Enabled", - "Health": "Warning" - }, - "PowerSupplyType": "PSU", - "LineInputStatus": "Normal", - "Model": "RKS-440DC", - "Manufacturer": "Contoso Power", - "FirmwareVersion": "1.00", - "SerialNumber": "3488247", - "PartNumber": "23456-133", - "SparePartNumber": "93284-133", - "LocationIndicatorActive": false, - "HotPluggable": false, - "PowerCapacityWatts": 400, - "PhaseWiringType": "OnePhase3Wire", - "PlugType": "IEC_60320_C14", - "InputRanges": [ - { - "NominalVoltageType": "AC200To240V", - "CapacityWatts": 400 - }, - { - "NominalVoltageType": "AC120V", - "CapacityWatts": 350 - }, - { - "NominalVoltageType": "DC380V", - "CapacityWatts": 400 - } - ], - "EfficiencyRatings": [ - { - "LoadPercent": 25, - "EfficiencyPercent": 75 - }, - { - "LoadPercent": 50, - "EfficiencyPercent": 85 - }, - { - "LoadPercent": 90, - "EfficiencyPercent": 80 - } - ], - "OutputRails": [ - { - "NominalVoltage": 3.3, - "PhysicalContext": "SystemBoard", - "VoltageControl": { - "ControlMode": "Override", - "SetPoint": 3.45, - "AllowableMin": 3, - "AllowableMax": 3.6 - } - }, - { - "NominalVoltage": 5, - "PhysicalContext": "SystemBoard", - "VoltageControl": { - "ControlMode": "Automatic", - "SetPoint": 5, - "AllowableMin": 4.7, - "AllowableMax": 5.5 - } - }, - { - "NominalVoltage": 12, - "PhysicalContext": "StorageDevice" - } - ], - "Location": { - "PartLocation": { - "ServiceLabel": "PSU 1", - "LocationType": "Bay", - "LocationOrdinalValue": 0 - } - }, - "Links": { - "Outlet": { - "@odata.id": "https://redfishpdu.contoso.com/redfish/v1/PowerEquipment/RackPDUs/1/Outlets/A4" - } - }, - "Assembly": { - "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Assembly" - }, - "Metrics": { - "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Metrics" - }, - "Actions": { - "#PowerSupply.Reset": { - "target": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Actions/PowerSupply.Reset" - } - }, - "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerSupplyMetrics-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerSupplyMetrics-v1-example.json deleted file mode 100644 index da205016..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PowerSupplyMetrics-v1-example.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#PowerSupplyMetrics.v1_3_0.PowerSupplyMetrics", - "Id": "Metrics", - "Name": "Metrics for Power Supply 1", - "Status": { - "State": "Enabled", - "Health": "Warning" - }, - "InputVoltage": { - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1InputVoltage", - "Reading": 230.2 - }, - "InputCurrentAmps": { - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1InputCurrent", - "Reading": 5.19 - }, - "InputPowerWatts": { - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1InputPower", - "Reading": 937.4 - }, - "RailVoltage": [ - { - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1_3VOutput", - "Reading": 3.31 - }, - { - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1_5VOutput", - "Reading": 5.03 - }, - { - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1_12VOutput", - "Reading": 12.06 - } - ], - "RailCurrentAmps": [ - { - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1_3VCurrent", - "Reading": 9.84 - }, - { - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1_5VCurrent", - "Reading": 1.25 - }, - { - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1_12Current", - "Reading": 2.58 - } - ], - "OutputPowerWatts": { - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1OutputPower", - "Reading": 937.4 - }, - "RailPowerWatts": [ - { - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1_3VPower", - "Reading": 79.84 - }, - { - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1_5VPower", - "Reading": 26.25 - }, - { - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1_12VPower", - "Reading": 91.58 - } - ], - "EnergykWh": { - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1Energy", - "Reading": 325675 - }, - "FrequencyHz": { - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1InputFrequency", - "Reading": 60 - }, - "TemperatureCelsius": { - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1Temp", - "Reading": 43.9 - }, - "FanSpeedPercent": { - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PS1Fan", - "Reading": 68, - "SpeedRPM": 3290 - }, - "Actions": { - "#PowerSupplyMetrics.ResetMetrics": { - "target": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Metrics/Actions/PowerSupplyMetrics.ResetMetrics" - } - }, - "@odata.id": "/redfish/v1/Chassis/1U/PowerSubsystem/PowerSupplies/Bay1/Metrics" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PrivilegeRegistry-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PrivilegeRegistry-v1-example.json deleted file mode 100644 index 030a6aa4..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/PrivilegeRegistry-v1-example.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#PrivilegeRegistry.v1_2_0.PrivilegeRegistry", - "Id": "Contoso_1.0.1_PrivilegeRegistry", - "Name": "Privilege Map", - "PrivilegesUsed": [ - "Login", - "ConfigureManager", - "ConfigureUsers", - "ConfigureComponents", - "ConfigureSelf" - ], - "OEMPrivilegesUsed": [], - "OEMPrivilegeDescriptions": [], - "Mappings": [ - { - "Entity": "Manager", - "OperationMap": { - "GET": [ - { - "Privilege": [ - "Login" - ] - } - ], - "HEAD": [ - { - "Privilege": [ - "Login" - ] - } - ], - "PATCH": [ - { - "Privilege": [ - "ConfigureManager" - ] - } - ], - "POST": [ - { - "Privilege": [ - "ConfigureManager" - ] - } - ], - "PUT": [ - { - "Privilege": [ - "ConfigureManager" - ] - } - ], - "DELETE": [ - { - "Privilege": [ - "ConfigureManager" - ] - } - ] - } - } - ], - "@odata.id": "/redfish/v1/JobService" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Processor-v1-Reset-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Processor-v1-Reset-request-example.json deleted file mode 100644 index 6f0c7170..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Processor-v1-Reset-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "ResetType": "ForceRestart" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Processor-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Processor-v1-example.json deleted file mode 100644 index 6f80e7a8..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Processor-v1-example.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Processor.v1_24_0.Processor", - "Name": "Processor", - "Id": "1", - "Socket": "CPU 1", - "ProcessorType": "CPU", - "ProcessorArchitecture": "x86", - "InstructionSet": "x86-64", - "Manufacturer": "Intel(R) Corporation", - "Model": "Multi-Core Intel(R) Xeon(R) processor 7xxx Series", - "ProcessorId": { - "VendorId": "GenuineIntel", - "IdentificationRegisters": "0x34AC34DC8901274A", - "EffectiveFamily": "0x42", - "EffectiveModel": "0x61", - "Step": "0x1", - "MicrocodeInfo": "0x429943" - }, - "MaxSpeedMHz": 3700, - "TotalCores": 8, - "TotalThreads": 16, - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "Location": { - "PartLocation": { - "ServiceLabel": "Processor 1", - "LocationType": "Socket", - "LocationOrdinalValue": 0 - } - }, - "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ProcessorMetrics-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ProcessorMetrics-v1-example.json deleted file mode 100644 index f6b2682b..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ProcessorMetrics-v1-example.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#ProcessorMetrics.v1_7_1.ProcessorMetrics", - "Id": "Metrics", - "Name": "Processor Metrics", - "BandwidthPercent": 62, - "OperatingSpeedMHz": 2400, - "ThrottlingCelsius": 65, - "FrequencyRatio": 0.00432, - "Cache": [ - { - "Level": "3", - "CacheMiss": 0.12, - "HitRatio": 0.719, - "CacheMissesPerInstruction": 0.00088, - "OccupancyBytes": 3030144, - "OccupancyPercent": 90.1 - } - ], - "LocalMemoryBandwidthBytes": 18253611008, - "RemoteMemoryBandwidthBytes": 81788928, - "KernelPercent": 2.3, - "UserPercent": 34.7, - "CoreMetrics": [ - { - "CoreId": "core0", - "InstructionsPerCycle": 1.16, - "UnhaltedCycles": 6254383746, - "MemoryStallCount": 58372, - "IOStallCount": 2634872, - "CoreCache": [ - { - "Level": "2", - "CacheMiss": 0.472, - "HitRatio": 0.57, - "CacheMissesPerInstruction": 0.00346, - "OccupancyBytes": 198231, - "OccupancyPercent": 77.4 - } - ], - "CStateResidency": [ - { - "Level": "C0", - "Residency": 1.13 - }, - { - "Level": "C1", - "Residency": 26 - }, - { - "Level": "C3", - "Residency": 0.00878 - }, - { - "Level": "C6", - "Residency": 0.361 - }, - { - "Level": "C7", - "Residency": 72.5 - } - ] - } - ], - "@odata.id": "/redfish/v1/Systems/1/Processors/FPGA1/ProcessorMetrics" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Pump-v1-SetMode-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Pump-v1-SetMode-request-example.json deleted file mode 100644 index 14507bb4..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Pump-v1-SetMode-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Mode": "Disabled" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Pump-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Pump-v1-example.json deleted file mode 100644 index 6f94865c..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Pump-v1-example.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Pump.v1_2_0.Pump", - "Id": "1", - "PumpType": "Liquid", - "Name": "Immersion Unit Pump", - "Version": "1.03b", - "ProductionDate": "2021-06-24T08:00:00Z", - "Manufacturer": "Contoso", - "Model": "UP-JAM", - "SerialNumber": "29347ZT599", - "PartNumber": "MAARS", - "AssetTag": "PDX5-92399", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "PumpSpeedPercent": { - "Reading": 62, - "SpeedRPM": 1800 - }, - "@odata.id": "/redfish/v1/ThermalEquipment/ImmersionUnits/1/Pumps/1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/RegisteredClient-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/RegisteredClient-v1-example.json deleted file mode 100644 index 3348c457..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/RegisteredClient-v1-example.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#RegisteredClient.v1_1_2.RegisteredClient", - "Id": "2", - "Name": "ContosoConfigure", - "ClientType": "Configure", - "CreatedDate": "2021-09-25T20:12:24Z", - "Description": "Contoso manager access", - "ExpirationDate": "2022-10-03T20:00:00Z", - "ManagedResources": [ - { - "ManagedResourceURI": "/redfish/v1/Systems", - "PreferExclusive": true, - "IncludesSubordinates": true - }, - { - "ManagedResourceURI": "/redfish/v1/Chassis", - "PreferExclusive": true, - "IncludesSubordinates": true - } - ], - "ClientURI": "https://4.5.6.2/ContosoManager", - "@odata.id": "/redfish/v1/RegisteredClients/2" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Reservoir-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Reservoir-v1-example.json deleted file mode 100644 index f626bbfc..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Reservoir-v1-example.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Reservoir.v1_0_2.Reservoir", - "Id": "1", - "ReservoirType": "Reserve", - "Name": "Cooling Loop Reservoir", - "Manufacturer": "Contoso", - "Model": "Tarantino", - "CapacityLiters": 10, - "PartNumber": "Pink", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "Location": { - "Placement": { - "Row": "North 1" - } - }, - "FluidLevelPercent": { - "Reading": 64.8 - }, - "InternalPressurekPa": { - "Reading": 138.7 - }, - "@odata.id": "/redfish/v1/ThermalEquipment/CDUs/1/Reservoirs/1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ResourceBlock-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ResourceBlock-v1-example.json deleted file mode 100644 index 1f6bec6f..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ResourceBlock-v1-example.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#ResourceBlock.v1_4_3.ResourceBlock", - "Id": "ComputeBlock1", - "Name": "Compute Block 1", - "ResourceBlockType": [ - "Compute", - "Network" - ], - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "CompositionStatus": { - "Reserved": false, - "CompositionState": "Composed", - "SharingCapable": false, - "MaxCompositions": 1, - "NumberOfCompositions": 1 - }, - "Processors": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Processors/Block1CPU0" - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Processors/Block1CPU1" - } - ], - "Memory": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM0" - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM1" - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM2" - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/Memory/Block1DIMM3" - } - ], - "EthernetInterfaces": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1/EthernetInterfaces/Block1OnboardNIC" - } - ], - "ComputerSystems": [], - "Links": { - "ComputerSystems": [ - { - "@odata.id": "/redfish/v1/Systems/ComposedSystem" - } - ], - "Chassis": [ - { - "@odata.id": "/redfish/v1/Chassis/ComposableModule1" - } - ], - "Zones": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceZones/1" - } - ] - }, - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/ComputeBlock1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Role-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Role-v1-example.json deleted file mode 100644 index 812d0669..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Role-v1-example.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Role.v1_3_3.Role", - "Id": "Administrator", - "Name": "User Role", - "Description": "Admin User Role", - "RoleId": "Administrator", - "IsPredefined": true, - "AssignedPrivileges": [ - "Login", - "ConfigureManager", - "ConfigureUsers", - "ConfigureSelf", - "ConfigureComponents" - ], - "OemPrivileges": [ - "OemClearLog", - "OemPowerControl" - ], - "@odata.id": "/redfish/v1/AccountService/Roles/Administrator" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/RouteEntry-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/RouteEntry-v1-example.json deleted file mode 100644 index 751bf2cb..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/RouteEntry-v1-example.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#RouteEntry.v1_1_0.RouteEntry", - "Id": "0", - "Name": "LPRT0", - "Description": "Gen-Z Port 1 LPRT Entry 0", - "RawEntryHex": "0x34EF124500000000", - "RouteSet": { - "@odata.id": "/redfish/v1/Fabrics/GenZ/Switches/Switch1/Ports/1/LPRT/0/RouteSet" - }, - "MinimumHopCount": 1, - "@odata.id": "/redfish/v1/Fabrics/GenZ/Switches/Switch1/Ports/1/LPRT/0" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/RouteSetEntry-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/RouteSetEntry-v1-example.json deleted file mode 100644 index 7cafccce..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/RouteSetEntry-v1-example.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#RouteSetEntry.v1_1_0.RouteSetEntry", - "Id": "0", - "Name": "RouteSet0", - "Description": "Gen-Z Port 1 LPRT Entry 0 Route 0", - "Valid": false, - "VCAction": 1, - "HopCount": 2, - "EgressIdentifier": 0, - "@odata.id": "/redfish/v1/Fabrics/GenZ/Switches/Switch1/Ports/1/LPRT/0/RouteSet/0" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SecureBoot-v1-ResetKeys-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SecureBoot-v1-ResetKeys-request-example.json deleted file mode 100644 index b503b65c..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SecureBoot-v1-ResetKeys-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "ResetKeysType": "DeleteAllKeys" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SecureBoot-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SecureBoot-v1-example.json deleted file mode 100644 index bd2edc5c..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SecureBoot-v1-example.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#SecureBoot.v1_2_1.SecureBoot", - "Id": "SecureBoot", - "Name": "UEFI Secure Boot", - "Actions": { - "#SecureBoot.ResetKeys": { - "target": "/redfish/v1/Systems/1/SecureBoot/Actions/SecureBoot.ResetKeys", - "ResetKeysType@Redfish.AllowableValues": [ - "ResetAllKeysToDefault", - "DeleteAllKeys", - "DeletePK" - ] - } - }, - "SecureBootEnable": false, - "SecureBootCurrentBoot": "Disabled", - "SecureBootMode": "UserMode", - "SecureBootDesiredMode": "UserMode", - "SecureBootDatabases": { - "@odata.id": "/redfish/v1/Systems/1/SecureBoot/SecureBootDatabases" - }, - "@odata.id": "/redfish/v1/Systems/1/SecureBoot" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SecureBootDatabase-v1-ResetKeys-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SecureBootDatabase-v1-ResetKeys-request-example.json deleted file mode 100644 index 7c292c96..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SecureBootDatabase-v1-ResetKeys-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "ResetKeysType": "ResetAllKeysToDefault" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SecureBootDatabase-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SecureBootDatabase-v1-example.json deleted file mode 100644 index 1e5cbf18..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SecureBootDatabase-v1-example.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#SecureBootDatabase.v1_0_3.SecureBootDatabase", - "Id": "PK", - "Name": "PK - Platform Key", - "Description": "UEFI PK Secure Boot Database", - "DatabaseId": "PK", - "Certificates": { - "@odata.id": "/redfish/v1/Systems/1/SecureBoot/SecureBootDatabases/PK/Certificates/" - }, - "Actions": { - "#SecureBootDatabase.ResetKeys": { - "target": "/redfish/v1/Systems/1/SecureBoot/SecureBootDatabases/PK/Actions/SecureBootDatabase.ResetKeys", - "ResetKeysType@Redfish.AllowableValues": [ - "ResetAllKeysToDefault", - "DeleteAllKeys" - ] - } - }, - "@odata.id": "/redfish/v1/Systems/1/SecureBoot/SecureBootDatabases/PK" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SecurityPolicy-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SecurityPolicy-v1-example.json deleted file mode 100644 index bc086803..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SecurityPolicy-v1-example.json +++ /dev/null @@ -1,127 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#SecurityPolicy.v1_1_0.SecurityPolicy", - "Id": "ManagerGlobalSecurityPolicy", - "Status": { - "Health": "OK", - "State": "Enabled" - }, - "OverrideParentManager": true, - "SPDM": { - "Enabled": true, - "SecureSessionEnabled": true, - "VerifyCertificate": true, - "TrustedCertificates": { - "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy/SPDM/TrustedCertificates" - }, - "RevokedCertificates": { - "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy/SPDM/RevokedCertificates" - }, - "Allowed": { - "Versions": [ - "ALL" - ], - "Algorithms": { - "AEAD": [ - "AES-GCM-256", - "AES-GCM-128" - ], - "BaseAsym": [ - "TPM_ALG_RSASSA_2048", - "TPM_ALG_ECDSA_ECC_NIST_P384", - "TPM_ALG_SM2_ECC_SM2_P256" - ], - "BaseHash": [ - "TPM_ALG_SHA_512", - "TPM_ALG_SHA3_512" - ] - } - }, - "Denied": { - "Versions": [ - "NONE" - ], - "Algorithms": { - "AEAD": [], - "BaseAsym": [ - "EdDSA ed25519" - ], - "BaseHash": [ - "TPM_ALG_SHA_256" - ] - } - }, - "AllowExtendedAlgorithms": false - }, - "TLS": { - "Client": { - "VerifyCertificate": true, - "TrustedCertificates": { - "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy/TLS/Server/TrustedCertificates" - }, - "RevokedCertificates": { - "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy/TLS/Server/RevokedCertificates" - }, - "Allowed": { - "Versions": [ - "1.2", - "1.3" - ], - "Algorithms": { - "CipherSuites": [ - "TLS_AES_128_GCM_SHA256", - "TLS_AES_128_GCM_SHA384" - ], - "SignatureAlgorithms": [] - } - }, - "Denied": { - "Versions": [ - "1.1" - ], - "Algorithms": { - "CipherSuites": [], - "SignatureAlgorithms": [ - "rsa_pkcs1_sha1", - "ecdsa_sha1" - ] - } - } - }, - "Server": { - "VerifyCertificate": false, - "TrustedCertificates": { - "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy/TLS/Client/TrustedCertificates" - }, - "RevokedCertificates": { - "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy/TLS/Client/RevokedCertificates" - }, - "Allowed": { - "Versions": [ - "1.3" - ], - "Algorithms": { - "CipherSuites": [ - "TLS_AES_128_GCM_SHA256", - "TLS_AES_128_GCM_SHA384" - ], - "SignatureAlgorithms": [] - } - }, - "Denied": { - "Versions": [ - "1.1", - "1.2" - ], - "Algorithms": { - "CipherSuites": [], - "SignatureAlgorithms": [ - "rsa_pkcs1_sha1", - "ecdsa_sha1" - ] - } - } - } - }, - "@odata.id": "/redfish/v1/Managers/BMC/SecurityPolicy" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Sensor-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Sensor-v1-example.json deleted file mode 100644 index d1cb2bad..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Sensor-v1-example.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Sensor.v1_14_0.Sensor", - "Id": "CabinetTemp", - "Name": "Rack Temperature", - "ReadingType": "Temperature", - "ReadingTime": "2019-12-25T04:14:33+06:00", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "Reading": 31.6, - "ReadingUnits": "C", - "ReadingRangeMin": 0, - "ReadingRangeMax": 70, - "Accuracy": 0.25, - "Precision": 1, - "SensingInterval": "PT3S", - "PhysicalContext": "Chassis", - "Thresholds": { - "UpperCritical": { - "Reading": 40, - "Activation": "Increasing" - }, - "UpperCaution": { - "Reading": 35, - "Activation": "Increasing" - }, - "LowerCaution": { - "Reading": 10, - "Activation": "Increasing" - } - }, - "@odata.id": "/redfish/v1/Chassis/1/Sensors/CabinetTemp" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SerialInterface-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SerialInterface-v1-example.json deleted file mode 100644 index b822e8c0..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SerialInterface-v1-example.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#SerialInterface.v1_3_0.SerialInterface", - "Id": "TTY0", - "Name": "Manager Serial Interface 1", - "Description": "Management for Serial Interface", - "InterfaceEnabled": true, - "SignalType": "Rs232", - "BitRate": "115200", - "Parity": "None", - "DataBits": "8", - "StopBits": "1", - "FlowControl": "None", - "ConnectorType": "RJ45", - "PinOut": "Cyclades", - "@odata.id": "/redfish/v1/Managers/BMC/SerialInterfaces/TTY0" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ServiceConditions-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ServiceConditions-v1-example.json deleted file mode 100644 index a12d66f7..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ServiceConditions-v1-example.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#ServiceConditions.v1_0_1.ServiceConditions", - "Id": "ServiceConditions", - "Name": "Redfish Service Conditions", - "HealthRollup": "Warning", - "Conditions": [ - { - "MessageId": "ThermalEvents.1.0.OverTemperature", - "Timestamp": "2020-11-08T12:25:00-05:00 ", - "Message": "Temperature exceeds rated limit in power supply `A`.", - "Severity": "Warning", - "MessageArgs": [ - "A" - ], - "OriginOfCondition": { - "@odata.id": "/redfish/v1/Chassis/1/Power" - }, - "LogEntry": { - "@odata.id": "/redfish/v1/Managers/1/LogServices/Log1/Entries/1" - } - }, - { - "MessageId": "Base.1.9.ConditionInRelatedResource", - "Message": "One or more conditions exist in a related resource. See the OriginOfCondition property.", - "Severity": "Warning", - "OriginOfCondition": { - "@odata.id": "/redfish/v1/Systems/cpu-memory-example" - } - } - ], - "@odata.id": "/redfish/v1/ServiceConditions" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ServiceRoot-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ServiceRoot-v1-example.json deleted file mode 100644 index f203db0c..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ServiceRoot-v1-example.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#ServiceRoot.v1_22_0.ServiceRoot", - "Id": "RootService", - "Name": "Root Service", - "RedfishVersion": "1.15.0", - "UUID": "92384634-2938-2342-8820-489239905423", - "Product": "UR99 1U Server", - "ProtocolFeaturesSupported": { - "ExpandQuery": { - "ExpandAll": true, - "Levels": true, - "MaxLevels": 6, - "Links": true, - "NoLinks": true - }, - "SelectQuery": false, - "FilterQuery": false, - "OnlyMemberQuery": true, - "ExcerptQuery": true, - "MultipleHTTPRequests": true - }, - "ServiceConditions": { - "@odata.id": "/redfish/v1/ServiceConditions" - }, - "Systems": { - "@odata.id": "/redfish/v1/Systems" - }, - "Chassis": { - "@odata.id": "/redfish/v1/Chassis" - }, - "Managers": { - "@odata.id": "/redfish/v1/Managers" - }, - "UpdateService": { - "@odata.id": "/redfish/v1/UpdateService" - }, - "CompositionService": { - "@odata.id": "/redfish/v1/CompositionService" - }, - "Tasks": { - "@odata.id": "/redfish/v1/TaskService" - }, - "SessionService": { - "@odata.id": "/redfish/v1/SessionService" - }, - "AccountService": { - "@odata.id": "/redfish/v1/AccountService" - }, - "EventService": { - "@odata.id": "/redfish/v1/EventService" - }, - "Links": { - "Sessions": { - "@odata.id": "/redfish/v1/SessionService/Sessions" - } - }, - "@odata.id": "/redfish/v1/" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Session-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Session-v1-example.json deleted file mode 100644 index 8fea6f1a..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Session-v1-example.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Session.v1_9_0.Session", - "Id": "1234567890ABCDEF", - "Name": "User Session", - "Description": "Manager User Session", - "UserName": "Administrator", - "@odata.id": "/redfish/v1/SessionService/Sessions/1234567890ABCDEF" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SessionService-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SessionService-v1-example.json deleted file mode 100644 index e29bfd8d..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SessionService-v1-example.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#SessionService.v1_2_0.SessionService", - "Id": "SessionService", - "Name": "Session Service", - "Description": "Session Service", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "ServiceEnabled": true, - "SessionTimeout": 30, - "Sessions": { - "@odata.id": "/redfish/v1/SessionService/Sessions" - }, - "@odata.id": "/redfish/v1/SessionService" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Signature-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Signature-v1-example.json deleted file mode 100644 index 2662aabe..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Signature-v1-example.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Signature.v1_0_3.Signature", - "Id": "1", - "Name": "SHA256 Signature", - "SignatureString": "80B4D96931BF0D02FD91A61E19D14F1DA452E66DB2408CA8604D411F92659F0A", - "SignatureTypeRegistry": "UEFI", - "SignatureType": "EFI_CERT_SHA256_GUID", - "UefiSignatureOwner": "28d5e212-165b-4ca0-909b-c86b9cee0112", - "@odata.id": "/redfish/v1/Systems/1/SecureBoot/SecureBootDatabases/db/Signatures/1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SimpleStorage-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SimpleStorage-v1-example.json deleted file mode 100644 index df1f470f..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SimpleStorage-v1-example.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#SimpleStorage.v1_3_2.SimpleStorage", - "Id": "1", - "Name": "Simple Storage Controller", - "Description": "System SATA", - "UefiDevicePath": "Acpi(PNP0A03,0)/Pci(1F|1)/Ata(Primary,Master)/HD(Part3, Sig00110011)", - "Status": { - "State": "Enabled", - "Health": "OK", - "HealthRollup": "Warning" - }, - "Devices": [ - { - "Name": "SATA Bay 1", - "Manufacturer": "Contoso", - "Model": "3000GT8", - "CapacityBytes": 8000000000000, - "Status": { - "State": "Enabled", - "Health": "OK" - } - }, - { - "Name": "SATA Bay 2", - "Manufacturer": "Contoso", - "Model": "3000GT7", - "CapacityBytes": 4000000000000, - "Status": { - "State": "Enabled", - "Health": "Warning" - } - }, - { - "Name": "SATA Bay 3", - "Status": { - "State": "Absent" - } - }, - { - "Name": "SATA Bay 4", - "Status": { - "State": "Absent" - } - } - ], - "@odata.id": "/redfish/v1/Systems/437XR1138R2/SimpleStorage/1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SoftwareInventory-v1-Activate-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SoftwareInventory-v1-Activate-request-example.json deleted file mode 100644 index e760e4ce..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SoftwareInventory-v1-Activate-request-example.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Targets": [ - { - "@odata.id": "/redfish/v1/Managers/1" - } - ] -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SoftwareInventory-v1-Cancel-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SoftwareInventory-v1-Cancel-request-example.json deleted file mode 100644 index e760e4ce..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SoftwareInventory-v1-Cancel-request-example.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Targets": [ - { - "@odata.id": "/redfish/v1/Managers/1" - } - ] -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SoftwareInventory-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SoftwareInventory-v1-example.json deleted file mode 100644 index 4a91cb8a..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SoftwareInventory-v1-example.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#SoftwareInventory.v1_15_0.SoftwareInventory", - "Id": "BMC", - "Name": "Contoso BMC Firmware", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "Updateable": true, - "Manufacturer": "Contoso", - "ReleaseDate": "2017-08-22T12:00:00", - "Version": "1.45.455b66-rev4", - "SoftwareId": "1624A9DF-5E13-47FC-874A-DF3AFF143089", - "LowestSupportedVersion": "1.30.367a12-rev1", - "UefiDevicePaths": [ - "BMC(0x1,0x0ABCDEF)" - ], - "RelatedItem": [ - { - "@odata.id": "/redfish/v1/Managers/1" - } - ], - "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/BMC" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-FreezePersonality-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-FreezePersonality-request-example.json deleted file mode 100644 index 1bfa8608..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-FreezePersonality-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Personality": 255 -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-GetPersonalityNonce-response-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-GetPersonalityNonce-response-example.json deleted file mode 100644 index ec23b87f..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-GetPersonalityNonce-response-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Nonce": "11AA55FF" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-ImportForeignDrives-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-ImportForeignDrives-request-example.json deleted file mode 100644 index 6a098404..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-ImportForeignDrives-request-example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "ControllerPassword": "P@ssw0rd", - "DriveEncryptionKey": "566b523d3f955a7fba38a28ec708ca10" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-ResetToDefaults-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-ResetToDefaults-request-example.json deleted file mode 100644 index ca901154..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-ResetToDefaults-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "ResetType": "ResetAll" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-SetControllerPassword-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-SetControllerPassword-request-example.json deleted file mode 100644 index ea27050c..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-SetControllerPassword-request-example.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "CurrentPassword": "MyC0nt0s0C0ntr0ller", - "NewPassword": "MyNewC0nt0s0C0ntr0ller", - "SecurityKey": "566b523d3f955a7fba38a28ec708ca10" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-SetEncryptionKey-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-SetEncryptionKey-request-example.json deleted file mode 100644 index 99cfb6ff..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-SetEncryptionKey-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "EncryptionKey": "566b523d3f955a7fba38a28ec708ca10" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-SetPersonalityKey-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-SetPersonalityKey-request-example.json deleted file mode 100644 index 48fcface..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-SetPersonalityKey-request-example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Algorithm": "HMAC_SHA384", - "Key": "5365637265744B6579" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-SetPredictedMediaLifeLeftThreshold-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-SetPredictedMediaLifeLeftThreshold-request-example.json deleted file mode 100644 index 4521d4e0..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-SetPredictedMediaLifeLeftThreshold-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "PredictedMediaLifeLeftThreshold": 10 -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-UnfreezePersonality-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-UnfreezePersonality-request-example.json deleted file mode 100644 index 2e545022..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-UnfreezePersonality-request-example.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Personality": 1, - "Method": "HostProgrammedKey", - "Key": "7CE4F37A3446D21AC6B89396BF9A82B86246AEB7C71E51C35D5B20D74A9226B2", - "Nonce": "11AA55FF" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-example.json deleted file mode 100644 index 103a0cf1..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Storage-v1-example.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Storage.v1_23_0.Storage", - "Id": "1", - "Name": "Local Storage Controller", - "Description": "Integrated RAID Controller", - "Status": { - "State": "Enabled", - "Health": "OK", - "HealthRollup": "OK" - }, - "StorageControllers": [ - { - "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1#/StorageControllers/0", - "MemberId": "0", - "Name": "Contoso Integrated RAID", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "Identifiers": [ - { - "DurableNameFormat": "NAA", - "DurableName": "345C59DBD970859C" - } - ], - "Manufacturer": "Contoso", - "Model": "12Gbs Integrated RAID", - "SerialNumber": "2M220100SL", - "PartNumber": "CT18754", - "SpeedGbps": 12, - "FirmwareVersion": "1.0.0.7", - "SupportedControllerProtocols": [ - "PCIe" - ], - "SupportedDeviceProtocols": [ - "SAS", - "SATA" - ] - } - ], - "Drives": [ - { - "@odata.id": "/redfish/v1/Chassis/1U/Drives/35D38F11ACEF7BD3" - }, - { - "@odata.id": "/redfish/v1/Chassis/1U/Drives/3F5A8C54207B7233" - }, - { - "@odata.id": "/redfish/v1/Chassis/1U/Drives/32ADF365C6C1B7BD" - }, - { - "@odata.id": "/redfish/v1/Chassis/1U/Drives/3D58ECBC375FD9F2" - } - ], - "Volumes": { - "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes" - }, - "Actions": { - "#Storage.SetEncryptionKey": { - "target": "/redfish/v1/Systems/437XR1138R2/Storage/1/Actions/Storage.SetEncryptionKey" - } - }, - "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-AttachNamespaces-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-AttachNamespaces-request-example.json deleted file mode 100644 index 9a7bc687..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-AttachNamespaces-request-example.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Namespaces": [ - { - "@odata.id": "/redfish/v1/Systems/1/Storage/NVMe/Volumes/Namespace5" - } - ] -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-AttachNamespaces-response-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-AttachNamespaces-response-example.json deleted file mode 100644 index 5e9e59d8..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-AttachNamespaces-response-example.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Volumes": [ - { - "@odata.id": "/redfish/v1/Systems/1/Storage/NVMe/Volumes/Namespace1" - }, - { - "@odata.id": "/redfish/v1/Systems/1/Storage/NVMe/Volumes/Namespace2" - }, - { - "@odata.id": "/redfish/v1/Systems/1/Storage/NVMe/Volumes/Namespace5" - } - ] -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-DetachNamespaces-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-DetachNamespaces-request-example.json deleted file mode 100644 index 9a7bc687..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-DetachNamespaces-request-example.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Namespaces": [ - { - "@odata.id": "/redfish/v1/Systems/1/Storage/NVMe/Volumes/Namespace5" - } - ] -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-DetachNamespaces-response-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-DetachNamespaces-response-example.json deleted file mode 100644 index 81d6ece5..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-DetachNamespaces-response-example.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Volumes": [ - { - "@odata.id": "/redfish/v1/Systems/1/Storage/NVMe/Volumes/Namespace1" - }, - { - "@odata.id": "/redfish/v1/Systems/1/Storage/NVMe/Volumes/Namespace2" - } - ] -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-Reset-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-Reset-request-example.json deleted file mode 100644 index 6f0c7170..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-Reset-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "ResetType": "ForceRestart" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-SecurityReceive-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-SecurityReceive-request-example.json deleted file mode 100644 index 2cdb2501..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-SecurityReceive-request-example.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "SecurityProtocol": 2, - "SecurityProtocolSpecific": 4100, - "AllocationLength": 48 -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-SecurityReceive-response-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-SecurityReceive-response-example.json deleted file mode 100644 index 9018b05d..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-SecurityReceive-response-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Data": "EAQAAAAAAAEAAAAiAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-SecuritySend-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-SecuritySend-request-example.json deleted file mode 100644 index 07c04daa..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-SecuritySend-request-example.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "SecurityProtocol": 2, - "SecurityProtocolSpecific": 4100, - "Data": "EAQAAAAAAAE=" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-example.json deleted file mode 100644 index d9aae7d1..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageController-v1-example.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#StorageController.v1_12_0.StorageController", - "Id": "1", - "Name": "NVMe IO Controller", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "SupportedControllerProtocols": [ - "NVMeOverFabrics" - ], - "NVMeControllerProperties": { - "NVMeVersion": "1.4", - "ControllerType": "IO", - "NVMeControllerAttributes": { - "ReportsUUIDList": false, - "SupportsSQAssociations": false, - "ReportsNamespaceGranularity": false, - "SupportsTrafficBasedKeepAlive": false, - "SupportsPredictableLatencyMode": false, - "SupportsEnduranceGroups": false, - "SupportsReadRecoveryLevels": false, - "SupportsNVMSets": false, - "SupportsExceedingPowerOfNonOperationalState": false, - "Supports128BitHostId": false - }, - "NVMeSMARTCriticalWarnings": { - "PMRUnreliable": false, - "PowerBackupFailed": false, - "MediaInReadOnly": false, - "OverallSubsystemDegraded": false, - "SpareCapacityWornOut": false - } - }, - "Links": { - "Endpoints": [ - { - "@odata.id": "/redfish/v1/Fabrics/NVMeoF/Endpoints/Initiator1" - }, - { - "@odata.id": "/redfish/v1/Fabrics/NVMeoF/Endpoints/Target1" - } - ], - "AttachedVolumes": [ - { - "@odata.id": "/redfish/v1/Storage/NVMeoF/Volumes/1" - }, - { - "@odata.id": "/redfish/v1/Storage/NVMeoF/Volumes/3" - }, - { - "@odata.id": "/redfish/v1/Storage/NVMeoF/Volumes/4" - } - ] - }, - "@odata.id": "/redfish/v1/Storage/NVMeoF/Controllers/1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageControllerMetrics-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageControllerMetrics-v1-example.json deleted file mode 100644 index 2b6c2669..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageControllerMetrics-v1-example.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#StorageControllerMetrics.v1_1_0.StorageControllerMetrics", - "Id": "Metrics", - "Name": "Storage Controller Metrics for NVMe IO Controller", - "NVMeSMART": { - "CriticalWarnings": { - "PMRUnreliable": false, - "PowerBackupFailed": false, - "MediaInReadOnly": false, - "OverallSubsystemDegraded": false, - "SpareCapacityWornOut": false - }, - "CompositeTemperatureCelsius": 34, - "AvailableSparePercent": 50, - "AvailableSpareThresholdPercent": 30, - "PercentageUsed": 50, - "EGCriticalWarningSummary": { - "NamespacesInReadOnlyMode": false, - "ReliabilityDegraded": false, - "SpareCapacityUnderThreshold": false - }, - "DataUnitsRead": 0, - "DataUnitsWritten": 0, - "HostReadCommands": 0, - "HostWriteCommands": 0, - "ControllerBusyTimeMinutes": 20, - "PowerCycles": 49, - "PowerOnHours": 3, - "UnsafeShutdowns": 4, - "MediaAndDataIntegrityErrors": 0, - "NumberOfErrorInformationLogEntries": 100, - "WarningCompositeTempTimeMinutes": 0, - "CriticalCompositeTempTimeMinutes": 0, - "TemperatureSensorsCelsius": [ - 34, - 34, - 34, - 26, - 31, - 35, - 33, - 32 - ], - "ThermalMgmtTemp1TransitionCount": 10, - "ThermalMgmtTemp2TransitionCount": 2, - "ThermalMgmtTemp1TotalTimeSeconds": 20, - "ThermalMgmtTemp2TotalTimeSeconds": 42 - }, - "@odata.id": "/redfish/v1/Systems/Sys-1/Storage/SimplestNVMeSSD/Controllers/NVMeIOController/Metrics" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageMetrics-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageMetrics-v1-example.json deleted file mode 100644 index e3800822..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/StorageMetrics-v1-example.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#StorageMetrics.v1_0_0.StorageMetrics", - "Id": "Metrics", - "Name": "Storage Metrics", - "CompressionSavingsBytes": 28238490361, - "DeduplicationSavingsBytes": 192376223, - "ThinProvisioningSavingsBytes": 62839028, - "StateChangeCount": 14, - "@odata.id": "/redfish/v1/Storage/1/Metrics" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Switch-v1-Reset-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Switch-v1-Reset-request-example.json deleted file mode 100644 index 6f0c7170..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Switch-v1-Reset-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "ResetType": "ForceRestart" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Switch-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Switch-v1-example.json deleted file mode 100644 index 2d43bb57..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Switch-v1-example.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Switch.v1_11_0.Switch", - "Id": "Switch1", - "Name": "SAS Switch", - "SwitchType": "SAS", - "Manufacturer": "Contoso", - "Model": "SAS1000", - "SKU": "67B", - "SerialNumber": "2M220100SL", - "PartNumber": "76-88883", - "Ports": { - "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1/Ports" - }, - "Redundancy": [ - { - "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1#/Redundancy/0", - "MemberId": "0", - "Mode": "Sharing", - "MaxNumSupported": 2, - "MinNumNeeded": 1, - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "RedundancySet": [ - { - "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1" - }, - { - "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch2" - } - ] - } - ], - "Links": { - "Chassis": { - "@odata.id": "/redfish/v1/Chassis/Switch1" - }, - "ManagedBy": [ - { - "@odata.id": "/redfish/v1/Managers/Switch1" - }, - { - "@odata.id": "/redfish/v1/Managers/Switch2" - } - ] - }, - "Actions": { - "#Switch.Reset": { - "target": "/redfish/v1/Fabrics/SAS/Switches/Switch1/Actions/Switch.Reset", - "ResetType@Redfish.AllowableValues": [ - "ForceRestart", - "GracefulRestart" - ] - } - }, - "@odata.id": "/redfish/v1/Fabrics/SAS/Switches/Switch1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SwitchMetrics-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SwitchMetrics-v1-example.json deleted file mode 100644 index 04cb8ab0..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/SwitchMetrics-v1-example.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#SwitchMetrics.v1_1_0.SwitchMetrics", - "Id": "SwitchMetrics", - "Name": "PCIe Switch Metrics", - "PCIeErrors": { - "CorrectableErrorCount": 0, - "NonFatalErrorCount": 0, - "FatalErrorCount": 0, - "L0ToRecoveryCount": 0, - "ReplayCount": 0, - "ReplayRolloverCount": 0, - "NAKSentCount": 0, - "NAKReceivedCount": 0 - }, - "InternalMemoryMetrics": { - "CurrentPeriod": { - "CorrectableECCErrorCount": 0, - "UncorrectableECCErrorCount": 0 - }, - "LifeTime": { - "CorrectableECCErrorCount": 0, - "UncorrectableECCErrorCount": 0 - } - }, - "@odata.id": "/redfish/v1/Fabrics/PCIe/Switches/1/SwitchMetrics" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Task-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Task-v1-example.json deleted file mode 100644 index 2d54379a..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Task-v1-example.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Task.v1_7_4.Task", - "Id": "545", - "Name": "Task 545", - "TaskMonitor": "/redfish/v1/TaskService/TaskMonitors/545", - "TaskState": "Completed", - "StartTime": "2012-03-07T14:44:00+06:00", - "EndTime": "2012-03-07T14:45:00+06:00", - "TaskStatus": "OK", - "Messages": [ - { - "MessageId": "Base.1.0.PropertyNotWritable", - "RelatedProperties": [ - "/SKU" - ], - "Message": "The property SKU is a read only property and cannot be assigned a value", - "MessageArgs": [ - "SKU" - ], - "Severity": "Warning" - } - ], - "@odata.id": "/redfish/v1/TaskService/Tasks/545" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/TaskService-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/TaskService-v1-example.json deleted file mode 100644 index 17cf5c9e..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/TaskService-v1-example.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#TaskService.v1_3_0.TaskService", - "Id": "TaskService", - "Name": "Tasks Service", - "DateTime": "2015-03-13T04:14:33+06:00", - "CompletedTaskOverWritePolicy": "Manual", - "LifeCycleEventOnTaskStateChange": true, - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "ServiceEnabled": true, - "Tasks": { - "@odata.id": "/redfish/v1/TaskService/Tasks" - }, - "@odata.id": "/redfish/v1/TaskService" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/TelemetryData-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/TelemetryData-v1-example.json deleted file mode 100644 index e17884bc..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/TelemetryData-v1-example.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#TelemetryData.v1_0_0.TelemetryData", - "Name": "TelemetrySnapshot.1", - "Timestamp": "2025-11-08T12:25:00-05:00", - "TelemetryDataType": "OEM", - "OEMTelemetryDataType": "ContosoAggregator", - "AdditionalData": "7wO4gDjQvhpA5ejg0xty ... HB6u7ppOGprACFqlMD1N", - "@odata.id": "/redfish/v1/TelemetryService/TelemetryData/TelemetrySnapshot.1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/TelemetryService-v1-CollectTelemetryData-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/TelemetryService-v1-CollectTelemetryData-request-example.json deleted file mode 100644 index 7e7d44ab..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/TelemetryService-v1-CollectTelemetryData-request-example.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "TelemetryDataType": "OEM", - "OEMTelemetryDataType": "ContosoAggregator2_0", - "TargetDevices": [ - "/redfish/v1/Systems/Sys-1/Processors/P1" - ] -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/TelemetryService-v1-SubmitTestMetricReport-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/TelemetryService-v1-SubmitTestMetricReport-request-example.json deleted file mode 100644 index 37353b28..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/TelemetryService-v1-SubmitTestMetricReport-request-example.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "MetricReportName": "TestMetricReport", - "GeneratedMetricReportValues": [ - { - "MetricId": "AverageReadingCelsius", - "MetricValue": "50", - "Timestamp": "2020-12-06T12:00:00Z", - "MetricProperty": "/redfish/v1/Chassis/Tray_1/Thermal#/Temperatures/0/ReadingCelsius", - "MetricDefinition": { - "@odata.id": "/redfish/v1/TelemetryService/MetricDefinitions/AverageReadingCelsius" - } - }, - { - "MetricId": "AverageReadingCelsius", - "MetricValue": "53", - "Timestamp": "2020-12-06T12:00:01Z", - "MetricProperty": "/redfish/v1/Chassis/Tray_1/Thermal#/Temperatures/0/ReadingCelsius", - "MetricDefinition": { - "@odata.id": "/redfish/v1/TelemetryService/MetricDefinitions/AverageReadingCelsius" - } - } - ] -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/TelemetryService-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/TelemetryService-v1-example.json deleted file mode 100644 index b4183302..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/TelemetryService-v1-example.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#TelemetryService.v1_4_1.TelemetryService", - "Id": "TelemetryService", - "Name": "Telemetry Service", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "SupportedCollectionFunctions": [ - "Average", - "Minimum", - "Maximum" - ], - "MetricDefinitions": { - "@odata.id": "/redfish/v1/TelemetryService/MetricDefinitions" - }, - "MetricReportDefinitions": { - "@odata.id": "/redfish/v1/TelemetryService/MetricReportDefinitions" - }, - "MetricReports": { - "@odata.id": "/redfish/v1/TelemetryService/MetricReports" - }, - "Triggers": { - "@odata.id": "/redfish/v1/TelemetryService/Triggers" - }, - "LogService": { - "@odata.id": "/redfish/v1/Managers/1/LogServices/Log1" - }, - "@odata.id": "/redfish/v1/TelemetryService" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Thermal-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Thermal-v1-example.json deleted file mode 100644 index e013b4c4..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Thermal-v1-example.json +++ /dev/null @@ -1,161 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Thermal.v1_7_3.Thermal", - "Id": "Thermal", - "Name": "Thermal", - "Temperatures": [ - { - "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Temperatures/0", - "MemberId": "0", - "Name": "CPU1 Temp", - "SensorNumber": 5, - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "ReadingCelsius": 41, - "UpperThresholdNonCritical": 42, - "UpperThresholdCritical": 45, - "UpperThresholdFatal": 48, - "MinReadingRangeTemp": 0, - "MaxReadingRangeTemp": 60, - "PhysicalContext": "CPU", - "RelatedItem": [ - { - "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1" - } - ] - }, - { - "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Temperatures/1", - "MemberId": "1", - "Name": "CPU2 Temp", - "SensorNumber": 6, - "Status": { - "State": "Disabled" - }, - "UpperThresholdNonCritical": 42, - "UpperThresholdCritical": 45, - "UpperThresholdFatal": 48, - "MinReadingRangeTemp": 0, - "MaxReadingRangeTemp": 60, - "PhysicalContext": "CPU", - "RelatedItem": [ - { - "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU2" - } - ] - }, - { - "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Temperatures/2", - "MemberId": "2", - "Name": "Chassis Intake Temp", - "SensorNumber": 9, - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "ReadingCelsius": 25, - "UpperThresholdUser": 28, - "UpperThresholdNonCritical": 30, - "UpperThresholdCritical": 40, - "UpperThresholdFatal": 50, - "LowerThresholdUser": 20, - "LowerThresholdNonCritical": 10, - "LowerThresholdCritical": 5, - "LowerThresholdFatal": 0, - "MinReadingRangeTemp": 0, - "MaxReadingRangeTemp": 60, - "PhysicalContext": "Intake", - "RelatedItem": [ - { - "@odata.id": "/redfish/v1/Chassis/1U" - }, - { - "@odata.id": "/redfish/v1/Systems/437XR1138R2" - } - ] - } - ], - "Fans": [ - { - "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Fans/0", - "MemberId": "0", - "Name": "BaseBoard System Fan", - "PhysicalContext": "Backplane", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "Reading": 2100, - "ReadingUnits": "RPM", - "LowerThresholdFatal": 0, - "MinReadingRange": 0, - "MaxReadingRange": 5000, - "Redundancy": [ - { - "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Redundancy/0" - } - ], - "RelatedItem": [ - { - "@odata.id": "/redfish/v1/Systems/437XR1138R2" - }, - { - "@odata.id": "/redfish/v1/Chassis/1U" - } - ] - }, - { - "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Fans/1", - "MemberId": "1", - "Name": "BaseBoard System Fan Backup", - "PhysicalContext": "Backplane", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "Reading": 2050, - "ReadingUnits": "RPM", - "LowerThresholdFatal": 0, - "MinReadingRange": 0, - "MaxReadingRange": 5000, - "Redundancy": [ - { - "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Redundancy/0" - } - ], - "RelatedItem": [ - { - "@odata.id": "/redfish/v1/Systems/437XR1138R2" - }, - { - "@odata.id": "/redfish/v1/Chassis/1U" - } - ] - } - ], - "Redundancy": [ - { - "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Redundancy/0", - "MemberId": "0", - "Name": "BaseBoard System Fans", - "RedundancySet": [ - { - "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Fans/0" - }, - { - "@odata.id": "/redfish/v1/Chassis/1U/Thermal#/Fans/1" - } - ], - "Mode": "N+m", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "MinNumNeeded": 1, - "MaxNumSupported": 2 - } - ], - "@odata.id": "/redfish/v1/Chassis/1U/Thermal" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ThermalEquipment-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ThermalEquipment-v1-example.json deleted file mode 100644 index 1c33cf00..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ThermalEquipment-v1-example.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#ThermalEquipment.v1_2_0.ThermalEquipment", - "Id": "ThermalEquipment", - "Name": "Cooling Equipment", - "Status": { - "State": "Enabled", - "HealthRollup": "OK" - }, - "CDUs": { - "@odata.id": "/redfish/v1/ThermalEquipment/CDUs" - }, - "CoolingLoops": { - "@odata.id": "/redfish/v1/ThermalEquipment/CoolingLoops" - }, - "@odata.id": "/redfish/v1/ThermalEquipment" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ThermalMetrics-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ThermalMetrics-v1-example.json deleted file mode 100644 index 9bcb4ca7..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ThermalMetrics-v1-example.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#ThermalMetrics.v1_3_3.ThermalMetrics", - "Id": "ThermalMetrics", - "Name": "Chassis Thermal Metrics", - "TemperatureSummaryCelsius": { - "Internal": { - "Reading": 39, - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/CPU1Temp" - }, - "Intake": { - "Reading": 24.8, - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/IntakeTemp" - }, - "Ambient": { - "Reading": 22.5, - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/AmbientTemp" - }, - "Exhaust": { - "Reading": 40.5, - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/ExhaustTemp" - } - }, - "PowerWatts": { - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/FanTotalPower", - "Reading": 24.72 - }, - "EnergykWh": { - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/FanTotalEnergy", - "Reading": 38.84 - }, - "TemperatureReadingsCelsius": [ - { - "Reading": 40, - "DeviceName": "SystemBoard", - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/SysBrdTemp" - }, - { - "Reading": 24.8, - "DeviceName": "Intake", - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/IntakeTemp" - }, - { - "Reading": 39, - "DeviceName": "CPUSubsystem", - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/CPUTemps" - }, - { - "Reading": 42, - "DeviceName": "MemorySubsystem", - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/MemoryTemp" - }, - { - "Reading": 33, - "DeviceName": "PowerSupply", - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/PSTemp" - }, - { - "Reading": 40.5, - "DeviceName": "Exhaust", - "DataSourceUri": "/redfish/v1/Chassis/1U/Sensors/ExhaustTemp" - } - ], - "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/ThermalMetrics" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ThermalSubsystem-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ThermalSubsystem-v1-example.json deleted file mode 100644 index 406707c6..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/ThermalSubsystem-v1-example.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#ThermalSubsystem.v1_5_0.ThermalSubsystem", - "Id": "ThermalSubsystem", - "Name": "Thermal Subsystem for Chassis", - "FanRedundancy": [ - { - "RedundancyType": "NPlusM", - "MaxSupportedInGroup": 2, - "MinNeededInGroup": 1, - "RedundancyGroup": [ - { - "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/Bay1" - }, - { - "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/Bay2" - } - ], - "Status": { - "State": "Enabled", - "Health": "OK" - } - }, - { - "RedundancyType": "NPlusM", - "MaxSupportedInGroup": 2, - "MinNeededInGroup": 1, - "RedundancyGroup": [ - { - "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/CPU1" - }, - { - "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans/CPU2" - } - ], - "Status": { - "State": "Disabled" - } - } - ], - "Fans": { - "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/Fans" - }, - "ThermalMetrics": { - "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem/ThermalMetrics" - }, - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "@odata.id": "/redfish/v1/Chassis/1U/ThermalSubsystem" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Triggers-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Triggers-v1-example.json deleted file mode 100644 index 97c5be07..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Triggers-v1-example.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Triggers.v1_4_0.Triggers", - "Id": "PlatformPowerCapTriggers", - "Name": "Triggers for platform power consumed", - "MetricType": "Numeric", - "TriggerActions": [ - "RedfishEvent" - ], - "NumericThresholds": { - "UpperCritical": { - "Reading": 50, - "Activation": "Increasing", - "DwellTime": "PT0.001S" - }, - "UpperWarning": { - "Reading": 48.1, - "Activation": "Increasing", - "DwellTime": "PT0.004S" - } - }, - "MetricProperties": [ - "/redfish/v1/Chassis/1/Power#/PowerControl/0/PowerConsumedWatts" - ], - "@odata.id": "/redfish/v1/TelemetryService/Triggers/PlatformPowerCapTriggers" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/TrustedComponent-v1-TPMGetEventLog-response-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/TrustedComponent-v1-TPMGetEventLog-response-example.json deleted file mode 100644 index c22addd9..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/TrustedComponent-v1-TPMGetEventLog-response-example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#TrustedComponent.v1_0_0.TPMGetEventLog", - "EventLog": "EeAlkj89JWv9CbeGdmlPaARrrMw... TRUNCATED (TYPICALLY KB or MB)" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/TrustedComponent-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/TrustedComponent-v1-example.json deleted file mode 100644 index 55a3988f..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/TrustedComponent-v1-example.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#TrustedComponent.v1_5_0.TrustedComponent", - "Id": "iRoT0", - "Name": "Integrated RoT for CPU1", - "UUID": "A3981CF9-576A-4335-A19F-B8CD7EC2821E", - "Status": { - "Health": "OK", - "State": "Enabled" - }, - "TrustedComponentType": "Integrated", - "Certificates": { - "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/iRoT0/Certificates" - }, - "Links": { - "ComponentsProtected": [ - { - "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1" - } - ], - "IntegratedInto": { - "@odata.id": "/redfish/v1/Systems/437XR1138R2/Processors/CPU1" - }, - "ComponentIntegrity": [ - { - "@odata.id": "/redfish/v1/ComponentIntegrity/SS-SPDM-1" - } - ] - }, - "@odata.id": "/redfish/v1/Chassis/1U/TrustedComponents/iRoT0" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/USBController-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/USBController-v1-example.json deleted file mode 100644 index e14df2c7..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/USBController-v1-example.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#USBController.v1_0_1.USBController", - "Id": "USB1", - "Name": "Contoso USB Controller 1", - "Manufacturer": "Contoso", - "Model": "USBv3", - "SKU": "80937", - "SerialNumber": "2M220100SL", - "PartNumber": "G37891", - "SparePartNumber": "G37890", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "Ports": { - "@odata.id": "/redfish/v1/Systems/1/USBControllers/USB1/Ports" - }, - "Links": { - "Processors": [ - { - "@odata.id": "/redfish/v1/Systems/1/Processors/1" - }, - { - "@odata.id": "/redfish/v1/Systems/1/Processors/2" - } - ] - }, - "@odata.id": "/redfish/v1/Systems/1/USBControllers/USB1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/UpdateService-v1-Activate-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/UpdateService-v1-Activate-request-example.json deleted file mode 100644 index 1495444f..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/UpdateService-v1-Activate-request-example.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Targets": [ - { - "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/BIOS-v120" - }, - { - "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/BMC-v990" - } - ] -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/UpdateService-v1-GenerateSSHIdentityKeyPair-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/UpdateService-v1-GenerateSSHIdentityKeyPair-request-example.json deleted file mode 100644 index 7978b0f2..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/UpdateService-v1-GenerateSSHIdentityKeyPair-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "KeyType": "Ed25519" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/UpdateService-v1-RemoveSSHIdentityKeyPair-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/UpdateService-v1-RemoveSSHIdentityKeyPair-request-example.json deleted file mode 100644 index 0967ef42..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/UpdateService-v1-RemoveSSHIdentityKeyPair-request-example.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/UpdateService-v1-SimpleUpdate-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/UpdateService-v1-SimpleUpdate-request-example.json deleted file mode 100644 index 5d131357..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/UpdateService-v1-SimpleUpdate-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "ImageURI": "https://images.contoso.org/bmc_0260_2021.bin" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/UpdateService-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/UpdateService-v1-example.json deleted file mode 100644 index 27ed60ca..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/UpdateService-v1-example.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#UpdateService.v1_17_1.UpdateService", - "Id": "UpdateService", - "Name": "Update service", - "Status": { - "State": "Enabled", - "Health": "OK", - "HealthRollup": "OK" - }, - "ServiceEnabled": true, - "HttpPushUri": "/FWUpdate", - "FirmwareInventory": { - "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory" - }, - "SoftwareInventory": { - "@odata.id": "/redfish/v1/UpdateService/SoftwareInventory" - }, - "Actions": { - "#UpdateService.SimpleUpdate": { - "target": "/redfish/v1/UpdateService/Actions/UpdateService.SimpleUpdate", - "@Redfish.ActionInfo": "/redfish/v1/UpdateService/SimpleUpdateActionInfo" - } - }, - "@odata.id": "/redfish/v1/UpdateService" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/UpdateServiceCapabilities-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/UpdateServiceCapabilities-v1-example.json deleted file mode 100644 index 27c44810..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/UpdateServiceCapabilities-v1-example.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#UpdateServiceCapabilities.v1_1_0.UpdateServiceCapabilities", - "Id": "UpdateServiceCapabilities", - "Name": "Update Service Capabilities", - "AllowableTargets": [ - "/redfish/v1/Managers/BMC", - "/redfish/v1/Systems/437XR1138R2" - ], - "AllowableStaging": [ - "/redfish/v1/Managers/BMC", - "/redfish/v1/Systems/437XR1138R2" - ], - "@odata.id": "/redfish/v1/UpdateService/UpdateServiceCapabilities" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/VCATEntry-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/VCATEntry-v1-example.json deleted file mode 100644 index 8a12bd10..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/VCATEntry-v1-example.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#VCATEntry.v1_1_0.VCATEntry", - "Id": "0", - "Name": "VCAT Entry 0", - "Description": "Gen-Z Port 1 Virtual Channel Action Table Entry 0", - "RawEntryHex": "0x123456", - "VCEntries": [ - { - "VCMask": "0x00000034", - "Threshold": "0x12" - }, - { - "VCMask": "0x00000034", - "Threshold": "0x12" - }, - { - "VCMask": "0x00000034", - "Threshold": "0x12" - }, - { - "VCMask": "0x00000034", - "Threshold": "0x12" - } - ], - "@odata.id": "/redfish/v1/Fabrics/GenZ/Switches/Switch1/Ports/1/VCAT/0" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/VLanNetworkInterface-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/VLanNetworkInterface-v1-example.json deleted file mode 100644 index 351473f8..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/VLanNetworkInterface-v1-example.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#VLanNetworkInterface.v1_3_1.VLanNetworkInterface", - "Id": "1", - "Name": "VLAN Network Interface", - "Description": "System NIC 1 VLAN", - "VLANEnable": true, - "VLANId": 101, - "@odata.id": "/redfish/v1/Systems/437XR1138R2/EthernetInterfaces/12446A3B0411/VLANs/1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/VirtualCXLSwitch-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/VirtualCXLSwitch-v1-example.json deleted file mode 100644 index 159a6e39..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/VirtualCXLSwitch-v1-example.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#VirtualCXLSwitch.v1_0_0.VirtualCXLSwitch", - "Id": "1", - "Name": "Virtual CXL Switch 1", - "Status": { - "State": "Enabled", - "Health": "OK", - "HealthRollup": "OK" - }, - "VCSId": "1", - "HDMDecoders": 12, - "VPPBs": { - "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/VCSs/1/VPPBs" - }, - "Links": { - "Endpoints": [ - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/1" - } - ] - }, - "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/VCSs/1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/VirtualMedia-v1-InsertMedia-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/VirtualMedia-v1-InsertMedia-request-example.json deleted file mode 100644 index ab829b4c..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/VirtualMedia-v1-InsertMedia-request-example.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Image": "https://192.168.1.225/boot_image.iso", - "Inserted": true, - "WriteProtected": true -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/VirtualMedia-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/VirtualMedia-v1-example.json deleted file mode 100644 index c6eeccb3..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/VirtualMedia-v1-example.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#VirtualMedia.v1_7_0.VirtualMedia", - "Id": "CD1", - "Name": "Virtual CD", - "MediaTypes": [ - "CD", - "DVD" - ], - "Image": "redfish.dmtf.org/freeImages/freeOS.1.1.iso", - "ImageName": "mymedia-read-only", - "ConnectedVia": "Applet", - "Inserted": true, - "WriteProtected": false, - "@odata.id": "/redfish/v1/Managers/BMC/VirtualMedia/CD1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/VirtualPCI2PCIBridge-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/VirtualPCI2PCIBridge-v1-example.json deleted file mode 100644 index 4d4feac7..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/VirtualPCI2PCIBridge-v1-example.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#VirtualPCI2PCIBridge.v1_0_0.VirtualPCI2PCIBridge", - "Id": "1", - "Name": "vPPB 1", - "Status": { - "State": "Enabled", - "Health": "OK", - "HealthRollup": "OK" - }, - "VPPBId": "1", - "BindingStatus": "BoundLD", - "BoundLDId": 6, - "GCXLID": "4C-1D-96-FF-FE-DD-D8-35:0001", - "Links": { - "Endpoints": [ - { - "@odata.id": "/redfish/v1/Fabrics/CXL/Endpoints/1" - } - ], - "Port": { - "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/Ports/D3" - } - }, - "@odata.id": "/redfish/v1/Fabrics/CXL/Switches/CXL/VCSs/1/VPPBs/1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-AssignReplicaTarget-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-AssignReplicaTarget-request-example.json deleted file mode 100644 index 144d3353..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-AssignReplicaTarget-request-example.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "ReplicaUpdateMode": "Synchronous", - "TargetVolume": "/redfish/v1/Storage/1/ConsistencyGroup/CG_DB2", - "ReplicaType": "Mirror" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-ChangeRAIDLayout-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-ChangeRAIDLayout-request-example.json deleted file mode 100644 index de67585a..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-ChangeRAIDLayout-request-example.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Drives": [ - { - "@odata.id": "/redfish/v1/Chassis/1U/Drives/Bay1A" - }, - { - "@odata.id": "/redfish/v1/Chassis/1U/Drives/Bay2A" - }, - { - "@odata.id": "/redfish/v1/Chassis/1U/Drives/Bay3B" - }, - { - "@odata.id": "/redfish/v1/Chassis/1U/Drives/Bay4B" - } - ], - "RAIDType": "RAID6" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-CreateReplicaTarget-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-CreateReplicaTarget-request-example.json deleted file mode 100644 index d5605995..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-CreateReplicaTarget-request-example.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "VolumeName": "Mirror of Volume 65", - "ReplicaUpdateMode": "Synchronous", - "TargetStoragePool": "/redfish/v1/Storage/1/StoragePools/PrimaryPool", - "ReplicaType": "Mirror" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-Initialize-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-Initialize-request-example.json deleted file mode 100644 index bc77efd3..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-Initialize-request-example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "InitializeMethod": "Background", - "InitializeType": "Fast" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-RemoveReplicaRelationship-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-RemoveReplicaRelationship-request-example.json deleted file mode 100644 index a0ac0197..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-RemoveReplicaRelationship-request-example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "TargetVolume": "/redfish/v1/Storage/1/StoragePools/PrimaryPool/AllocatedVolumes/650973452245", - "DeleteTargetVolume": "false" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-ResumeReplication-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-ResumeReplication-request-example.json deleted file mode 100644 index 324533c0..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-ResumeReplication-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "TargetVolume": "/redfish/v1/Storage/1/StoragePools/PrimaryPool/AllocatedVolumes/650973452245" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-ReverseReplicationRelationship-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-ReverseReplicationRelationship-request-example.json deleted file mode 100644 index 324533c0..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-ReverseReplicationRelationship-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "TargetVolume": "/redfish/v1/Storage/1/StoragePools/PrimaryPool/AllocatedVolumes/650973452245" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-SplitReplication-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-SplitReplication-request-example.json deleted file mode 100644 index 324533c0..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-SplitReplication-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "TargetVolume": "/redfish/v1/Storage/1/StoragePools/PrimaryPool/AllocatedVolumes/650973452245" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-SuspendReplication-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-SuspendReplication-request-example.json deleted file mode 100644 index 324533c0..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-SuspendReplication-request-example.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "TargetVolume": "/redfish/v1/Storage/1/StoragePools/PrimaryPool/AllocatedVolumes/650973452245" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-example.json deleted file mode 100644 index 0b8e0277..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Volume-v1-example.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Volume.v1_11_0.Volume", - "Id": "2", - "Name": "Virtual Disk 2", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "Encrypted": false, - "RAIDType": "RAID0", - "CapacityBytes": 107374182400, - "Identifiers": [ - { - "DurableNameFormat": "UUID", - "DurableName": "0324c96c-8031-4f5e-886c-50cd90aca854" - } - ], - "Links": { - "Drives": [ - { - "@odata.id": "/redfish/v1/Chassis/1U/Drives/3D58ECBC375FD9F2" - } - ] - }, - "Actions": { - "#Volume.Initialize": { - "target": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/2/Actions/Volume.Initialize", - "InitializeType@Redfish.AllowableValues": [ - "Fast", - "Slow" - ] - } - }, - "@odata.id": "/redfish/v1/Systems/437XR1138R2/Storage/1/Volumes/2" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Zone-v1-AddEndpoint-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Zone-v1-AddEndpoint-request-example.json deleted file mode 100644 index fd17b0ec..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Zone-v1-AddEndpoint-request-example.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Endpoint": { - "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Initiator1" - }, - "EndpointETag": "W/\"19472363938\"", - "ZoneETag": "W/\"99374369273\"" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Zone-v1-RemoveEndpoint-request-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Zone-v1-RemoveEndpoint-request-example.json deleted file mode 100644 index fd17b0ec..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Zone-v1-RemoveEndpoint-request-example.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "Endpoint": { - "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Initiator1" - }, - "EndpointETag": "W/\"19472363938\"", - "ZoneETag": "W/\"99374369273\"" -} diff --git a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Zone-v1-example.json b/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Zone-v1-example.json deleted file mode 100644 index 19aa6162..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/DSP2046-examples/Zone-v1-example.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "@Redfish.Copyright": "Copyright 2014-2026 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright.", - "@odata.type": "#Zone.v1_6_3.Zone", - "Id": "1", - "Name": "SAS Zone 1", - "Description": "SAS Zone 1", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "Links": { - "Endpoints": [ - { - "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Initiator1" - }, - { - "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Initiator2" - }, - { - "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Drive1" - }, - { - "@odata.id": "/redfish/v1/Fabrics/SAS/Endpoints/Drive3" - } - ] - }, - "@odata.id": "/redfish/v1/Fabrics/SAS/Zones/1" -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/ComposeManifestRequest.json b/test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/ComposeManifestRequest.json deleted file mode 100644 index ee5cbe61..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/ComposeManifestRequest.json +++ /dev/null @@ -1,243 +0,0 @@ -{ - "RequestFormat": "Manifest", - "RequestType": "Apply", - "Manifest": { - "Description": "Description for this Manifest document.", - "Timestamp": "2019-08-22T10:35:16+06:00", - "Expand": "Relevant", - "Stanzas": [ - { - "StanzaType": "ComposeSystem", - "StanzaId": "Compute1", - "Request": { - "Links": { - "ResourceBlocks": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1" - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1" - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkCard1" - } - ] - } - } - }, - { - "StanzaType": "ComposeSystem", - "StanzaId": "Compute2", - "Request": { - "@Redfish.ZoneAffinity": "1", - "PowerState": "On", - "BiosVersion": "P79 v1.01 (09/20/2018)", - "Processors": { - "Members": [ - { - "@Redfish.RequestedCount": 2, - "@Redfish.AllowOverprovisioning": true, - "ProcessorType": "CPU", - "ProcessorArchitecture": "x86", - "InstructionSet": "x86-64", - "MaxSpeedMHz": 3700, - "TotalCores": 8, - "TotalThreads": 16 - }, - { - "@Redfish.RequestedCount": 4, - "@Redfish.AllowOverprovisioning": false, - "ProcessorType": "FPGA", - "ProcessorArchitecture": "x86", - "InstructionSet": "x86-64", - "MaxSpeedMHz": 3700, - "TotalCores": 16 - } - ] - }, - "Memory": { - "Members": [ - { - "@Redfish.RequestedCount": 4, - "MaxTDPMilliWatts": [ - 12000 - ], - "CapacityMiB": 8192, - "DataWidthBits": 64, - "BusWidthBits": 72, - "ErrorCorrection": "MultiBitECC", - "MemoryType": "DRAM", - "MemoryDeviceType": "DDR4", - "MemoryMedia": [ - "DRAM" - ] - } - ] - }, - "Storage": { - "Members": [ - { - "@Redfish.RequestedCount": 1, - "StorageControllers": [ - { - "SupportedControllerProtocols": [ - "NVMe" - ] - } - ], - "Drives": [ - { - "@Redfish.RequestedCount": 1, - "CapacityBytes": 299999999488 - } - ] - } - ] - }, - "NetworkInterfaces": { - "Members": [ - { - "@Redfish.RequestedCount": 2, - "NetworkDeviceFunctions": { - "Members": [ - { - "@Redfish.RequestedCount": 1, - "NetDevFuncType": "Ethernet" - } - ] - }, - "Ports": { - "Members": [ - { - "@Redfish.RequestedCount": 1, - "MaxSpeedGbps": 100 - } - ] - } - }, - { - "@Redfish.RequestedCount": 1, - "NetworkDeviceFunctions": { - "Members": [ - { - "@Redfish.RequestedCount": 1, - "NetDevFuncType": "InfiniBand" - } - ] - }, - "Ports": { - "Members": [ - { - "@Redfish.RequestedCount": 1, - "MaxSpeedGbps": 100 - } - ] - } - } - ] - } - } - }, - { - "StanzaType": "ComposeSystem", - "StanzaId": "Compute3", - "Request": { - "@Redfish.ZoneAffinity": "1", - "PowerState": "On", - "BiosVersion": "P79 v1.01 (09/20/2018)", - "Links": { - "ResourceBlocks": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1" - } - ] - }, - "Storage": { - "Members": [ - { - "@Redfish.RequestedCount": 1, - "StorageControllers": [ - { - "SupportedControllerProtocols": [ - "NVMe" - ] - } - ], - "Drives": [ - { - "@Redfish.RequestedCount": 1, - "CapacityBytes": 299999999488 - } - ] - } - ] - } - } - }, - { - "StanzaType": "ComposeSystem", - "StanzaId": "NVMEStorage1", - "Request": { - "Storage": { - "Members": [ - { - "@Redfish.RequestedCount": 1, - "StorageControllers": [ - { - "SupportedControllerProtocols": [ - "NVMe" - ] - } - ], - "Drives": [ - { - "@Redfish.RequestedCount": 1, - "CapacityBytes": 299999999488 - } - ] - } - ] - } - } - }, - { - "StanzaType": "ComposeResource", - "StanzaId": "Bitfusion", - "Request": { - "Links": { - "SupplyingResourceBlocks": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-2" - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-3" - } - ] - } - } - }, - { - "StanzaType": "DecomposeResource", - "StanzaId": "Decompose1", - "Request": { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/Appliance" - } - }, - { - "StanzaType": "DecomposeSystem", - "StanzaId": "FreeResources1", - "Request": { - "@odata.id": "/redfish/v1/Systems/ComposedSystem1" - } - }, - { - "StanzaType": "OEM", - "OEMStanzaType": "OEMSpecificStanza", - "StanzaId": "OEMOperation1", - "Request": { - "OEMName1": "OEMVal1" - } - } - ] - } -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/ComposeManifestReservationResponse.json b/test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/ComposeManifestReservationResponse.json deleted file mode 100644 index aa0f6808..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/ComposeManifestReservationResponse.json +++ /dev/null @@ -1,439 +0,0 @@ -{ - "RequestFormat": "Manifest", - "RequestType": "Apply", - "Manifest": { - "Description": "Description for this Manifest document.", - "Timestamp": "2019-08-22T10:35:16+06:00", - "Expand": "None", - "Stanzas": [ - { - "StanzaType": "ComposeSystem", - "StanzaId": "Compute1", - "Request": { - "Links": { - "ResourceBlocks": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1" - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1" - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/26011" - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkCard1" - } - ] - } - }, - "Response": { - "error": { - "code": "Composition.1.1.0.UnableToPerformReservation", - "message": "The service is unable to perform the requested reservation.", - "@Message.ExtendedInfo": [ - { - "@odata.type": "#Message.v1_1_1.Message", - "MessageId": "Composition.1.1.0.ResourceBlockInvalid", - "Message": "Resource block 'NetworkCard1' is not valid.", - "MessageArgs": [ - "NetworkCard1" - ], - "Severity": "Critical", - "MessageSeverity": "Critical", - "Resolution": "Remove the resource block and resubmit the request." - }, - { - "@odata.type": "#Message.v1_1_1.Message", - "MessageId": "Composition.1.1.0.ResourceBlockNotFound", - "Message": "Resource block '26011' is not found.", - "MessageArgs": [ - "26011" - ], - "Severity": "Critical", - "MessageSeverity": "Critical", - "Resolution": "Remove the resource block and resubmit the request." - } - ] - } - } - }, - { - "StanzaType": "ComposeSystem", - "StanzaId": "Compute2", - "Request": { - "@Redfish.ZoneAffinity": "1", - "PowerState": "On", - "BiosVersion": "P79 v1.01 (09/20/2018)", - "Processors": { - "Members": [ - { - "@Redfish.RequestedCount": 2, - "@Redfish.AllowOverprovisioning": true, - "ProcessorType": "CPU", - "ProcessorArchitecture": "x86", - "InstructionSet": "x86-64", - "MaxSpeedMHz": 3700, - "TotalCores": 8, - "TotalThreads": 16 - }, - { - "@Redfish.RequestedCount": 4, - "@Redfish.AllowOverprovisioning": false, - "ProcessorType": "FPGA", - "ProcessorArchitecture": "x86", - "InstructionSet": "x86-64", - "MaxSpeedMHz": 3700, - "TotalCores": 16 - } - ] - }, - "Memory": { - "Members": [ - { - "@Redfish.RequestedCount": 4, - "MaxTDPMilliWatts": [ - 12000 - ], - "CapacityMiB": 8192, - "DataWidthBits": 64, - "BusWidthBits": 72, - "ErrorCorrection": "MultiBitECC", - "MemoryType": "DRAM", - "MemoryDeviceType": "DDR4", - "MemoryMedia": [ - "DRAM" - ] - } - ] - }, - "Storage": { - "Members": [ - { - "@Redfish.RequestedCount": 1, - "StorageControllers": [ - { - "SupportedControllerProtocols": "NVMe" - } - ], - "Drives": [ - { - "CapacityBytes": 299999999488 - } - ] - } - ] - }, - "NetworkInterfaces": { - "Members": [ - { - "@Redfish.RequestedCount": 2, - "NetworkDeviceFunctions": { - "Members": [ - { - "@Redfish.RequestedCount": 1, - "NetDevFuncType": "Ethernet" - } - ] - }, - "Ports": { - "Members": [ - { - "@Redfish.RequestedCount": 1, - "MaxSpeedGbps": 100 - } - ] - } - }, - { - "@Redfish.RequestedCount": 1, - "NetworkDeviceFunctions": { - "Members": [ - { - "@Redfish.RequestedCount": 1, - "NetDevFuncType": "InfiniBand" - } - ] - }, - "Ports": { - "Members": [ - { - "@Redfish.RequestedCount": 1, - "MaxSpeedGbps": 100 - } - ] - } - } - ] - } - }, - "Response": { - "error": { - "code": "Composition.1.1.0.UnableToPerformReservation", - "message": "Unable to perform reservation request.", - "@Message.ExtendedInfo": [ - { - "@odata.type": "#Message.v1_1_1.Message", - "MessageId": "Compose.1.1.0.NoResourceMatch", - "Message": "The requested resources of type 'Storage' are not available for allocation.", - "MessageArgs": [ - "Storage" - ], - "Severity": "Critical", - "MessageSeverity": "Critical", - "Resolution": "Change parameters associated with the resource, such as quantity or performance, and resubmit the request." - }, - { - "@odata.type": "#Message.v1_1_1.Message", - "MessageId": "Compose.1.1.0.NoResourceMatch", - "Message": "The requested resources of type 'NetworkInterface' are not available for allocation.", - "MessageArgs": [ - "NetworkInterface" - ], - "Severity": "Critical", - "MessageSeverity": "Critical", - "Resolution": "Change parameters associated with the resource, such as quantity or performance, and resubmit the request." - } - ] - } - } - }, - { - "StanzaType": "ComposeSystem", - "StanzaId": "Compute3", - "Request": { - "@Redfish.ZoneAffinity": "1", - "PowerState": "On", - "BiosVersion": "P79 v1.01 (09/20/2018)", - "Links": { - "ResourceBlocks": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1" - } - ] - }, - "Storage": { - "Members": [ - { - "@Redfish.RequestedCount": 1, - "StorageControllers": [ - { - "SupportedControllerProtocols": "NVMe" - } - ], - "Drives": [ - { - "CapacityBytes": 299999999488 - } - ] - } - ] - } - }, - "Response": { - "@odata.id": "/redfish/v1/Systems/ComposedCompute3", - "@odata.type": "#ComputerSystem.v1_14_0.ComputerSystem", - "Id": "ComposedCompute3", - "Name": "Computer system composed from Compute3", - "Processors": { - "@odata.id": "/redfish/v1/Systems/ComposedCompute3/Processors" - }, - "Memory": { - "@odata.id": "/redfish/v1/Systems/ComposedCompute3/Memory" - }, - "NetworkInterfaces": { - "@odata.id": "/redfish/v1/Systems/ComposedCompute3/NetworkInterfaces" - }, - "Storage": { - "@odata.id": "/redfish/v1/Systems/ComposedCompute3/Storage" - }, - "Links": { - "ResourceBlocks": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1" - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1" - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/26011" - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkCard1" - } - ] - } - } - }, - { - "StanzaType": "ComposeSystem", - "StanzaId": "NVMEStorage1", - "Request": { - "Storage": { - "Members": [ - { - "@Redfish.RequestedCount": 1, - "StorageControllers": [ - { - "SupportedControllerProtocols": "NVMe" - } - ], - "Drives": [ - { - "CapacityBytes": 299999999488 - } - ] - } - ] - } - }, - "Response": { - "@odata.id": "/redfish/v1/Systems/ComposedNVMEStorage1", - "@odata.type": "#ComputerSystem.v1_14_0.ComputerSystem", - "Id": "ComposedNVMEStorage1", - "Name": "Computer system composed from NVMEStorage1", - "Processors": { - "@odata.id": "/redfish/v1/Systems/ComposedNVMEStorage1/Processors" - }, - "Memory": { - "@odata.id": "/redfish/v1/Systems/ComposedNVMEStorage1/Memory" - }, - "NetworkInterfaces": { - "@odata.id": "/redfish/v1/Systems/ComposedNVMEStorage1/NetworkInterfaces" - }, - "Storage": { - "@odata.id": "/redfish/v1/Systems/ComposedNVMEStorage1/Storage" - }, - "Links": { - "ResourceBlocks": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1" - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1" - } - ] - } - } - }, - { - "StanzaType": "ComposeResource", - "StanzaId": "Bitfusion", - "Request": { - "Links": { - "SupplyingResourceBlocks": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-2" - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-3" - } - ] - } - }, - "Response": { - "@odata.id": "/redfish/v1/redfish/v1/CompositionService/ResourceBlocks/ComposedBitfusion", - "@odata.type": "#ResourceBlock.v1_4_0.ResourceBlock", - "Id": "ComposedBitfusion", - "Name": "Resource block composed from Bitfusion", - "CompositionStatus": { - "Reserved": false, - "CompositionState": "Unused" - }, - "ResourceBlockType": [ - "Storage", - "IndependentResource" - ], - "Drives": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1/Drives/NVMe-TargetsAppliance-2" - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1/Drives/NVMe-TargetsAppliance-3" - } - ], - "Links": { - "SupplyingResourceBlocks": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-2" - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-3" - } - ] - } - } - }, - { - "StanzaType": "DecomposeResource", - "StanzaId": "Decompose1", - "Request": { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/Appliance" - }, - "Response": { - "error": { - "code": "Base.1.8.Success", - "message": "Successfully Completed Request", - "@Message.ExtendedInfo": [ - { - "@odata.type": "#Message.v1_1_1.Message", - "MessageId": "Base.1.8.Success", - "Message": "Successfully Completed Request", - "Severity": "OK", - "MessageSeverity": "OK", - "Resolution": "None" - } - ] - } - } - }, - { - "StanzaType": "DecomposeSystem", - "StanzaId": "FreeResources1", - "Request": { - "@odata.id": "/redfish/v1/Systems/ComposedSystem1" - }, - "Response": { - "error": { - "code": "Base.1.8.Success", - "message": "Successfully Completed Request", - "@Message.ExtendedInfo": [ - { - "@odata.type": "#Message.v1_1_1.Message", - "MessageId": "Base.1.8.Success", - "Message": "Successfully Completed Request", - "Severity": "OK", - "MessageSeverity": "OK", - "Resolution": "None" - } - ] - } - } - }, - { - "StanzaType": "OEM", - "OEMStanzaType": "OEMSpecificStanza", - "StanzaId": "OEMOperation1", - "Request": { - "OEMName1": "OEMVal1" - }, - "Response": { - "error": { - "code": "Base.1.8.Success", - "message": "Successfully Completed Request", - "@Message.ExtendedInfo": [ - { - "@odata.type": "#Message.v1_1_1.Message", - "MessageId": "Base.1.8.Success", - "Message": "Successfully Completed Request", - "Severity": "OK", - "MessageSeverity": "OK", - "Resolution": "None" - } - ] - } - } - } - ] - } -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/ComposeManifestResponse.json b/test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/ComposeManifestResponse.json deleted file mode 100644 index 9c6b2b32..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/ComposeManifestResponse.json +++ /dev/null @@ -1,1049 +0,0 @@ -{ - "RequestFormat": "Manifest", - "RequestType": "Apply", - "Manifest": { - "Description": "Description for this Manifest document.", - "Timestamp": "2019-08-22T10:35:16+06:00", - "Expand": "Relevant", - "Stanzas": [ - { - "StanzaType": "ComposeSystem", - "StanzaId": "Compute1", - "Request": { - "Links": { - "ResourceBlocks": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1" - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1" - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkCard1" - } - ] - } - }, - "Response": { - "@odata.id": "/redfish/v1/Systems/ComposedCompute1", - "@odata.type": "#ComputerSystem.v1_14_0.ComputerSystem", - "Id": "ComposedCompute1", - "Name": "Computer system composed from Compute1", - "Processors": { - "@odata.id": "/redfish/v1/Systems/ComposedCompute1/Processors" - }, - "Memory": { - "@odata.id": "/redfish/v1/Systems/ComposedCompute1/Memory" - }, - "NetworkInterfaces": { - "@odata.id": "/redfish/v1/Systems/ComposedCompute1/NetworkInterfaces" - }, - "Storage": { - "@odata.id": "/redfish/v1/Systems/ComposedCompute1/Storage" - }, - "Links": { - "ResourceBlocks": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1" - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1" - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkCard1" - } - ] - } - } - }, - { - "StanzaType": "ComposeSystem", - "StanzaId": "Compute2", - "Request": { - "@Redfish.ZoneAffinity": "1", - "PowerState": "On", - "BiosVersion": "P79 v1.01 (09/20/2018)", - "Processors": { - "Members": [ - { - "@Redfish.RequestedCount": 2, - "@Redfish.AllowOverprovisioning": true, - "ProcessorType": "CPU", - "ProcessorArchitecture": "x86", - "InstructionSet": "x86-64", - "MaxSpeedMHz": 3700, - "TotalCores": 8, - "TotalThreads": 16 - }, - { - "@Redfish.RequestedCount": 4, - "@Redfish.AllowOverprovisioning": false, - "ProcessorType": "FPGA", - "ProcessorArchitecture": "x86", - "InstructionSet": "x86-64", - "MaxSpeedMHz": 3700, - "TotalCores": 16 - } - ] - }, - "Memory": { - "Members": [ - { - "@Redfish.RequestedCount": 4, - "MaxTDPMilliWatts": [ - 12000 - ], - "CapacityMiB": 8192, - "DataWidthBits": 64, - "BusWidthBits": 72, - "ErrorCorrection": "MultiBitECC", - "MemoryType": "DRAM", - "MemoryDeviceType": "DDR4", - "MemoryMedia": [ - "DRAM" - ] - } - ] - }, - "Storage": { - "Members": [ - { - "@Redfish.RequestedCount": 1, - "StorageControllers": [ - { - "SupportedControllerProtocols": [ - "NVMe" - ] - } - ], - "Drives": [ - { - "@Redfish.RequestedCount": 1, - "CapacityBytes": 299999999488 - } - ] - } - ] - }, - "NetworkInterfaces": { - "Members": [ - { - "@Redfish.RequestedCount": 2, - "NetworkDeviceFunctions": { - "Members": [ - { - "@Redfish.RequestedCount": 1, - "NetDevFuncType": "Ethernet" - } - ] - }, - "Ports": { - "Members": [ - { - "@Redfish.RequestedCount": 1, - "MaxSpeedGbps": 100 - } - ] - } - }, - { - "@Redfish.RequestedCount": 1, - "NetworkDeviceFunctions": { - "Members": [ - { - "@Redfish.RequestedCount": 1, - "NetDevFuncType": "InfiniBand" - } - ] - }, - "Ports": { - "Members": [ - { - "@Redfish.RequestedCount": 1, - "MaxSpeedGbps": 100 - } - ] - } - } - ] - } - }, - "Response": { - "@odata.id": "/redfish/v1/Systems/ComposedCompute2", - "@odata.type": "#ComputerSystem.v1_14_0.ComputerSystem", - "Id": "ComposedCompute2", - "Name": "Computer system composed from Compute2", - "PowerState": "On", - "BiosVersion": "P79 v1.01 (09/20/2018)", - "Bios": { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1/Bios" - }, - "Processors": { - "@odata.id": "/redfish/v1/Systems/ComposedCompute2/Processors", - "@odata.type": "#ProcessorCollection.ProcessorCollection", - "Name": "Processor Collection", - "Members@odata.count": 6, - "Members": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1/Processors/CPU1", - "@odata.type": "#Processor.v1_11_0.Processor", - "Id": "CPU1", - "Name": "CPU1", - "Status": { - "State": "Enabled", - "HealthRollup": "OK", - "Health": "OK" - }, - "Manufacturer": "Intel", - "Model": "Intel(R) Xeon(TM)", - "ProcessorType": "CPU", - "ProcessorArchitecture": "x86", - "InstructionSet": "x86-64", - "MaxSpeedMHz": 3700, - "TotalCores": 8, - "TotalThreads": 16 - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1/Processors/CPU2", - "@odata.type": "#Processor.v1_11_0.Processor", - "Id": "CPU2", - "Name": "CPU2", - "Status": { - "State": "Enabled", - "HealthRollup": "OK", - "Health": "OK" - }, - "Manufacturer": "Intel", - "Model": "Intel(R) Xeon(TM)", - "ProcessorType": "CPU", - "ProcessorArchitecture": "x86", - "InstructionSet": "x86-64", - "MaxSpeedMHz": 3700, - "TotalCores": 8, - "TotalThreads": 16 - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1/Processors/FPGA1", - "@odata.type": "#Processor.v1_11_0.Processor", - "Id": "FPGA1", - "Name": "FPGA1", - "Status": { - "State": "Enabled", - "HealthRollup": "OK", - "Health": "OK" - }, - "Manufacturer": "Contoso", - "Model": "Offload X9000", - "ProcessorType": "FPGA", - "ProcessorArchitecture": "x86", - "InstructionSet": "x86-64", - "MaxSpeedMHz": 3700, - "TotalCores": 16 - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1/Processors/FPGA2", - "@odata.type": "#Processor.v1_11_0.Processor", - "Id": "FPGA2", - "Name": "FPGA2", - "Status": { - "State": "Enabled", - "HealthRollup": "OK", - "Health": "OK" - }, - "Manufacturer": "Contoso", - "Model": "Offload X9000", - "ProcessorType": "FPGA", - "ProcessorArchitecture": "x86", - "InstructionSet": "x86-64", - "MaxSpeedMHz": 3700, - "TotalCores": 16 - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1/Processors/FPGA3", - "@odata.type": "#Processor.v1_11_0.Processor", - "Id": "FPGA3", - "Name": "FPGA3", - "Status": { - "State": "Enabled", - "HealthRollup": "OK", - "Health": "OK" - }, - "Manufacturer": "Contoso", - "Model": "Offload X9000", - "ProcessorType": "FPGA", - "ProcessorArchitecture": "x86", - "InstructionSet": "x86-64", - "MaxSpeedMHz": 3700, - "TotalCores": 16 - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1/Processors/FPGA4", - "@odata.type": "#Processor.v1_11_0.Processor", - "Id": "FPGA4", - "Name": "FPGA4", - "Status": { - "State": "Enabled", - "HealthRollup": "OK", - "Health": "OK" - }, - "Manufacturer": "Contoso", - "Model": "Offload X9000", - "ProcessorType": "FPGA", - "ProcessorArchitecture": "x86", - "InstructionSet": "x86-64", - "MaxSpeedMHz": 3700, - "TotalCores": 16 - } - ] - }, - "Memory": { - "@odata.id": "/redfish/v1/Systems/ComposedCompute2/Memory", - "@odata.type": "#MemoryCollection.MemoryCollection", - "Name": "Memory Collection", - "Members@odata.count": 4, - "Members": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1/Memory/DIMM1", - "@odata.type": "#Memory.v1_11_0.Memory", - "Id": "DIMM1", - "Name": "DIMM1", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "MemoryLocation": { - "Socket": 1, - "MemoryController": 1, - "Channel": 1, - "Slot": 1 - }, - "MaxTDPMilliWatts": [ - 12000 - ], - "CapacityMiB": 8192, - "DataWidthBits": 64, - "BusWidthBits": 72, - "ErrorCorrection": "MultiBitECC", - "MemoryType": "DRAM", - "MemoryDeviceType": "DDR4", - "MemoryMedia": [ - "DRAM" - ] - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1/Memory/DIMM2", - "@odata.type": "#Memory.v1_11_0.Memory", - "Id": "DIMM2", - "Name": "DIMM2", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "MemoryLocation": { - "Socket": 1, - "MemoryController": 1, - "Channel": 1, - "Slot": 2 - }, - "MaxTDPMilliWatts": [ - 12000 - ], - "CapacityMiB": 8192, - "DataWidthBits": 64, - "BusWidthBits": 72, - "ErrorCorrection": "MultiBitECC", - "MemoryType": "DRAM", - "MemoryDeviceType": "DDR4", - "MemoryMedia": [ - "DRAM" - ] - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1/Memory/DIMM3", - "@odata.type": "#Memory.v1_11_0.Memory", - "Id": "DIMM3", - "Name": "DIMM3", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "MemoryLocation": { - "Socket": 2, - "MemoryController": 1, - "Channel": 1, - "Slot": 1 - }, - "MaxTDPMilliWatts": [ - 12000 - ], - "CapacityMiB": 8192, - "DataWidthBits": 64, - "BusWidthBits": 72, - "ErrorCorrection": "MultiBitECC", - "MemoryType": "DRAM", - "MemoryDeviceType": "DDR4", - "MemoryMedia": [ - "DRAM" - ] - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1/Memory/DIMM4", - "@odata.type": "#Memory.v1_11_0.Memory", - "Id": "DIMM4", - "Name": "DIMM4", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "MemoryLocation": { - "Socket": 2, - "MemoryController": 1, - "Channel": 1, - "Slot": 2 - }, - "MaxTDPMilliWatts": [ - 12000 - ], - "CapacityMiB": 8192, - "DataWidthBits": 64, - "BusWidthBits": 72, - "ErrorCorrection": "MultiBitECC", - "MemoryType": "DRAM", - "MemoryDeviceType": "DDR4", - "MemoryMedia": [ - "DRAM" - ] - } - ] - }, - "NetworkInterfaces": { - "@odata.id": "/redfish/v1/Systems/ComposedCompute2/NetworkInterfaces", - "@odata.type": "#NetworkInterfaceCollection.NetworkInterfaceCollection", - "Name": "Network Interface Collection", - "Members": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkCard1/NetworkInterfaces/Ethernet1", - "@odata.type": "#NetworkInterface.v1_2_1.NetworkInterface", - "Id": "Ethernet1", - "Name": "Ethernet1", - "NetworkDeviceFunctions": { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkCard1/NetworkInterfaces/Ethernet1/NetworkDeviceFunctions", - "@odata.type": "#NetworkDeviceFunctionCollection.NetworkDeviceFunctionCollection", - "Name": "Network Device Function Collection", - "Members@odata.count": 1, - "Members": [ - { - "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/NetworkCard1/NetworkDeviceFunctions/1", - "@odata.type": "#NetworkDeviceFunction.v1_5_1.NetworkDeviceFunction", - "Id": "1", - "Name": "Network Device Function 1", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "NetDevFuncType": "Ethernet", - "DeviceEnabled": true, - "NetDevFuncCapabilities": [ - "Ethernet", - "FibreChannel" - ], - "Ethernet": { - "PermanentMACAddress": "00:0C:29:9A:98:ED", - "MACAddress": "00:0C:29:9A:98:ED", - "MTUSize": 1500 - }, - "AssignablePhysicalNetworkPorts": [ - { - "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/NetworkCard1/Ports/1" - } - ], - "Links": { - "PhysicalNetworkPortAssignment": { - "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/NetworkCard1/Ports/1" - } - } - } - ] - }, - "Ports": { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkCard1/NetworkInterfaces/Ethernet1/Ports", - "@odata.type": "#PortCollection.PortCollection", - "Name": "Port Collection", - "Members@odata.count": 1, - "Members": [ - { - "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/NetworkCard1/Ports/1", - "@odata.type": "#Port.v1_4_0.Port", - "Id": "1", - "Name": "Port 1", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "MaxSpeedGbps": 100, - "PortProtocol": "Ethernet", - "InterfaceEnabled": true, - "LinkState": "Enabled", - "LinkStatus": "Up", - "SignalDetected": true - } - ] - } - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkCard1/NetworkInterfaces/Ethernet2", - "@odata.type": "#NetworkInterface.v1_2_1.NetworkInterface", - "Id": "Ethernet2", - "Name": "Ethernet2", - "NetworkDeviceFunctions": { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkCard1/NetworkInterfaces/Ethernet2/NetworkDeviceFunctions", - "@odata.type": "#NetworkDeviceFunctionCollection.NetworkDeviceFunctionCollection", - "Name": "Network Device Function Collection", - "Members@odata.count": 1, - "Members": [ - { - "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/NetworkCard1/NetworkDeviceFunctions/2", - "@odata.type": "#NetworkDeviceFunction.v1_5_1.NetworkDeviceFunction", - "Id": "2", - "Name": "Network Device Function 2", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "NetDevFuncType": "Ethernet", - "DeviceEnabled": true, - "NetDevFuncCapabilities": [ - "Ethernet", - "FibreChannel" - ], - "Ethernet": { - "PermanentMACAddress": "00:0C:29:9A:98:ED", - "MACAddress": "00:0C:29:9A:98:ED", - "MTUSize": 1500 - }, - "AssignablePhysicalNetworkPorts": [ - { - "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/NetworkCard1/Ports/2" - } - ], - "Links": { - "PhysicalNetworkPortAssignment": { - "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/NetworkCard1/Ports/2" - } - } - } - ] - }, - "Ports": { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkCard1/NetworkInterfaces/Ethernet2/Ports", - "@odata.type": "#PortCollection.PortCollection", - "Name": "Port Collection", - "Members@odata.count": 1, - "Members": [ - { - "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/NetworkCard1/Ports/2", - "@odata.type": "#Port.v1_4_0.Port", - "Id": "2", - "Name": "Port 2", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "MaxSpeedGbps": 100, - "PortProtocol": "Ethernet", - "InterfaceEnabled": true, - "LinkState": "Enabled", - "LinkStatus": "Up", - "SignalDetected": true - } - ] - } - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkCard2/NetworkInterfaces/InfiniBand1", - "@odata.type": "#NetworkInterface.v1_2_1.NetworkInterface", - "Id": "InfiniBand1", - "Name": "InfiniBand1", - "NetworkDeviceFunctions": { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkCard2/NetworkInterfaces/InfiniBand1/NetworkDeviceFunctions", - "@odata.type": "#NetworkDeviceFunctionCollection.NetworkDeviceFunctionCollection", - "Name": "Network Device Function Collection", - "Members@odata.count": 1, - "Members": [ - { - "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/NetworkCard2/NetworkDeviceFunctions/1", - "@odata.type": "#NetworkDeviceFunction.v1_5_1.NetworkDeviceFunction", - "Id": "1", - "Name": "Network Device Function 1", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "NetDevFuncType": "InfiniBand", - "DeviceEnabled": true, - "NetDevFuncCapabilities": [ - "InfiniBand" - ], - "InfiniBand": { - "PermanentPortGUID": "000C:299A:98ED:1234", - "PermanentNodeGUID": "000C:299A:98ED:5678", - "PermanentSystemGUID": "000C:299A:98ED:9ABC", - "PortGUID": "000C:299A:98ED:8142", - "NodeGUID": "000C:299A:98ED:3189", - "SystemGUID": "000C:299A:98ED:9ABC", - "MTUSize": 1024, - "SupportedMTUSizes": [ - 256, - 512, - 1024, - 2048, - 4096 - ] - }, - "AssignablePhysicalNetworkPorts": [ - { - "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/NetworkCard2/Ports/1" - } - ], - "Links": { - "PhysicalNetworkPortAssignment": { - "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/NetworkCard2/Ports/1" - } - } - } - ] - }, - "Ports": { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkCard2/NetworkInterfaces/InfiniBand1/Ports", - "@odata.type": "#PortCollection.PortCollection", - "Name": "Port Collection", - "Members@odata.count": 1, - "Members": [ - { - "@odata.id": "/redfish/v1/Chassis/1/NetworkAdapters/NetworkCard2/Ports/1", - "@odata.type": "#Port.v1_4_0.Port", - "Id": "1", - "Name": "Port 1", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "MaxSpeedGbps": 100, - "PortProtocol": "InfiniBand", - "InterfaceEnabled": true, - "LinkState": "Enabled", - "LinkStatus": "Up", - "SignalDetected": true - } - ] - } - } - ] - }, - "Storage": { - "@odata.id": "/redfish/v1/Systems/ComposedCompute2/Storage", - "@odata.type": "#StorageCollection.StorageCollection", - "Name": "Storage Collection", - "Members@odata.count": 1, - "Members": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1/Storage/NVMe-TargetsAppliance-1", - "@odata.type": "#Storage.v1_10_0.Storage", - "Id": "1", - "Name": "Storage 1", - "StorageControllers": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1/Storage/NVMe-TargetsAppliance-1#/StorageControllers/0", - "MemberId": "0", - "Status": { - "Health": "OK", - "HealthRollup": "OK", - "State": "Enabled" - }, - "SupportedControllerProtocols": [ - "NVMe" - ], - "SupportedDeviceProtocols": [ - "NVMe" - ] - } - ], - "Drives": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1/Drives/NVMe-TargetsAppliance-1", - "@odata.type": "#Drive.v1_12_0.Drive", - "BlockSizeBytes": 512, - "CapableSpeedGbs": 12, - "CapacityBytes": 299999999488, - "Description": "Appliance NVMe 1", - "EncryptionAbility": "None", - "EncryptionStatus": "Unencrypted", - "FailurePredicted": false, - "HotspareType": "None", - "Id": "NVMe-TargetsAppliance-1", - "Identifiers": [ - { - "DurableName": "50000397D83963F7", - "DurableNameFormat": "NAA" - } - ], - "Manufacturer": "Contoso", - "MediaType": "SSD", - "Model": "AL14SEB030NY", - "Name": "NVMe Appliance 1", - "NegotiatedSpeedGbs": 12, - "PartNumber": "PH0FF02RTB20076O02BIA00", - "PredictedMediaLifeLeftPercent": 0, - "Protocol": "NVMe", - "Revision": "EA01", - "RotationSpeedRPM": 10000, - "SerialNumber": "67N0A0FHFL5E", - "Status": { - "Health": "OK", - "HealthRollup": "OK", - "State": "Enabled" - } - } - ] - } - ] - }, - "Links": { - "ResourceBlocks": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1" - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1" - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkCard1" - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NetworkCard2" - } - ] - } - } - }, - { - "StanzaType": "ComposeSystem", - "StanzaId": "Compute3", - "Request": { - "@Redfish.ZoneAffinity": "1", - "PowerState": "On", - "BiosVersion": "P79 v1.01 (09/20/2018)", - "Links": { - "ResourceBlocks": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1" - } - ] - }, - "Storage": { - "Members": [ - { - "@Redfish.RequestedCount": 1, - "StorageControllers": [ - { - "SupportedControllerProtocols": [ - "NVMe" - ] - } - ], - "Drives": [ - { - "@Redfish.RequestedCount": 1, - "CapacityBytes": 299999999488 - } - ] - } - ] - } - }, - "Response": { - "@odata.id": "/redfish/v1/Systems/ComposedCompute3", - "@odata.type": "#ComputerSystem.v1_14_0.ComputerSystem", - "Id": "ComposedCompute3", - "Name": "Computer system composed from Compute3", - "Processors": { - "@odata.id": "/redfish/v1/Systems/ComposedCompute3/Processors" - }, - "Memory": { - "@odata.id": "/redfish/v1/Systems/ComposedCompute3/Memory" - }, - "NetworkInterfaces": { - "@odata.id": "/redfish/v1/Systems/ComposedCompute3/NetworkInterfaces" - }, - "Storage": { - "@odata.id": "/redfish/v1/Systems/ComposedCompute2/Storage", - "@odata.type": "#StorageCollection.StorageCollection", - "Name": "Storage Collection", - "Members@odata.count": 1, - "Members": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1/Storage/NVMe-TargetsAppliance-1", - "@odata.type": "#Storage.v1_10_0.Storage", - "Id": "1", - "Name": "Storage 1", - "StorageControllers": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1/Storage/NVMe-TargetsAppliance-1#/StorageControllers/0", - "MemberId": "0", - "Status": { - "Health": "OK", - "HealthRollup": "OK", - "State": "Enabled" - }, - "SupportedControllerProtocols": [ - "NVMe" - ], - "SupportedDeviceProtocols": [ - "NVMe" - ] - } - ], - "Drives": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1/Drives/NVMe-TargetsAppliance-1", - "@odata.type": "#Drive.v1_12_0.Drive", - "BlockSizeBytes": 512, - "CapableSpeedGbs": 12, - "CapacityBytes": 299999999488, - "Description": "Appliance NVMe 1", - "EncryptionAbility": "None", - "EncryptionStatus": "Unencrypted", - "FailurePredicted": false, - "HotspareType": "None", - "Id": "NVMe-TargetsAppliance-1", - "Identifiers": [ - { - "DurableName": "50000397D83963F7", - "DurableNameFormat": "NAA" - } - ], - "Manufacturer": "Contoso", - "MediaType": "SSD", - "Model": "AL14SEB030NY", - "Name": "NVMe Appliance 1", - "NegotiatedSpeedGbs": 12, - "PartNumber": "PH0FF02RTB20076O02BIA00", - "PredictedMediaLifeLeftPercent": 0, - "Protocol": "NVMe", - "Revision": "EA01", - "RotationSpeedRPM": 10000, - "SerialNumber": "67N0A0FHFL5E", - "Status": { - "Health": "OK", - "HealthRollup": "OK", - "State": "Enabled" - } - } - ] - } - ] - }, - "Links": { - "ResourceBlocks": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1" - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1" - } - ] - } - } - }, - { - "StanzaType": "ComposeSystem", - "StanzaId": "NVMEStorage1", - "Request": { - "Storage": { - "Members": [ - { - "@Redfish.RequestedCount": 1, - "StorageControllers": [ - { - "SupportedControllerProtocols": [ - "NVMe" - ] - } - ], - "Drives": [ - { - "@Redfish.RequestedCount": 1, - "CapacityBytes": 299999999488 - } - ] - } - ] - } - }, - "Response": { - "@odata.id": "/redfish/v1/Systems/ComposedNVMEStorage1", - "@odata.type": "#ComputerSystem.v1_14_0.ComputerSystem", - "Id": "ComposedNVMEStorage1", - "Name": "Computer system composed from NVMEStorage1", - "Processors": { - "@odata.id": "/redfish/v1/Systems/ComposedNVMEStorage1/Processors" - }, - "Memory": { - "@odata.id": "/redfish/v1/Systems/ComposedNVMEStorage1/Memory" - }, - "NetworkInterfaces": { - "@odata.id": "/redfish/v1/Systems/ComposedNVMEStorage1/NetworkInterfaces" - }, - "Storage": { - "@odata.id": "/redfish/v1/Systems/ComposedCompute2/Storage", - "@odata.type": "#StorageCollection.StorageCollection", - "Name": "Storage Collection", - "Members@odata.count": 1, - "Members": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1/Storage/NVMe-TargetsAppliance-1", - "@odata.type": "#Storage.v1_10_0.Storage", - "Id": "1", - "Name": "Storage 1", - "StorageControllers": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1/Storage/NVMe-TargetsAppliance-1#/StorageControllers/0", - "MemberId": "0", - "Status": { - "Health": "OK", - "HealthRollup": "OK", - "State": "Enabled" - }, - "SupportedControllerProtocols": [ - "NVMe" - ], - "SupportedDeviceProtocols": [ - "NVMe" - ] - } - ], - "Drives": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1/Drives/NVMe-TargetsAppliance-1", - "@odata.type": "#Drive.v1_12_0.Drive", - "BlockSizeBytes": 512, - "CapableSpeedGbs": 12, - "CapacityBytes": 299999999488, - "Description": "Appliance NVMe 1", - "EncryptionAbility": "None", - "EncryptionStatus": "Unencrypted", - "FailurePredicted": false, - "HotspareType": "None", - "Id": "NVMe-TargetsAppliance-1", - "Identifiers": [ - { - "DurableName": "50000397D83963F7", - "DurableNameFormat": "NAA" - } - ], - "Manufacturer": "Contoso", - "MediaType": "SSD", - "Model": "AL14SEB030NY", - "Name": "NVMe Appliance 1", - "NegotiatedSpeedGbs": 12, - "PartNumber": "PH0FF02RTB20076O02BIA00", - "PredictedMediaLifeLeftPercent": 0, - "Protocol": "NVMe", - "Revision": "EA01", - "RotationSpeedRPM": 10000, - "SerialNumber": "67N0A0FHFL5E", - "Status": { - "Health": "OK", - "HealthRollup": "OK", - "State": "Enabled" - } - } - ] - } - ] - }, - "Links": { - "ResourceBlocks": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/BladeServer-1" - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/NVMe-TargetsAppliance-1" - } - ] - } - } - }, - { - "StanzaType": "DecomposeResource", - "StanzaId": "Decompose1", - "Request": { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/Appliance" - }, - "Response": { - "error": { - "code": "Base.1.8.Success", - "message": "Successfully Completed Request", - "@Message.ExtendedInfo": [ - { - "@odata.type": "#Message.v1_1_1.Message", - "MessageId": "Base.1.8.Success", - "Message": "Successfully Completed Request", - "Severity": "OK", - "MessageSeverity": "OK", - "Resolution": "None" - } - ] - } - } - }, - { - "StanzaType": "DecomposeSystem", - "StanzaId": "FreeResources1", - "Request": { - "@odata.id": "/redfish/v1/Systems/ComposedSystem1" - }, - "Response": { - "error": { - "code": "Base.1.8.Success", - "message": "Successfully Completed Request", - "@Message.ExtendedInfo": [ - { - "@odata.type": "#Message.v1_1_1.Message", - "MessageId": "Base.1.8.Success", - "Message": "Successfully Completed Request", - "Severity": "OK", - "MessageSeverity": "OK", - "Resolution": "None" - } - ] - } - } - }, - { - "StanzaType": "OEM", - "OEMStanzaType": "OEMSpecificStanza", - "StanzaId": "OEMOperation1", - "Request": { - "OEMName1": "OEMVal1" - }, - "Response": { - "error": { - "code": "Base.1.8.Success", - "message": "Successfully Completed Request", - "@Message.ExtendedInfo": [ - { - "@odata.type": "#Message.v1_1_1.Message", - "MessageId": "Base.1.8.Success", - "Message": "Successfully Completed Request", - "Severity": "OK", - "MessageSeverity": "OK", - "Resolution": "None" - } - ] - } - } - } - ] - } -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/EventExample.json b/test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/EventExample.json deleted file mode 100644 index fdac43f8..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/EventExample.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "@odata.type": "#Event.v1_7_0.Event", - "Id": "1", - "Name": "Event Array", - "Context": "ContosoWebClient", - "Events": [ - { - "EventType": "Other", - "EventId": "4593", - "Severity": "Warning", - "Message": "A cable has been removed from network adapter '1' port '1'.", - "MessageId": "NetworkDevice.1.0.CableRemoved", - "MessageArgs": [ - "1", - "1" - ], - "OriginOfCondition": { - "@odata.id": "/redfish/v1/Systems/1/EthernetInterfaces/1" - }, - "LogEntry": { - "@odata.id": "/redfish/v1/Managers/BMC/LogServices/EventLog/Entries/532" - } - } - ] -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/EventExampleWithDiagnosticData.json b/test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/EventExampleWithDiagnosticData.json deleted file mode 100644 index 52bf057d..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/EventExampleWithDiagnosticData.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "@odata.type": "#Event.v1_8_0.Event", - "Id": "1", - "Name": "Event with DiagnosticData included in payload", - "Context": "ContosoFaultAnalysisEngine", - "Events": [ - { - "EventType": "Other", - "EventId": "8675309", - "Severity": "Critical", - "MessageSeverity": "Critical", - "Message": "A platform error occurred at location 'CPU #1'.", - "MessageId": "Platform.1.0.PlatformErrorAtLocation", - "MessageArgs": [ - "CPU #1" - ], - "OriginOfCondition": { - "@odata.id": "/redfish/v1/Systems/1/Processors/1" - }, - "CPER": { - "NotificationType": "902834BC-AD67-0BAD-BEEF-123456789012" - }, - "DiagnosticDataType": "CPER", - "DiagnosticData": "VGhlIGNha2UgaXMgYSBsaWUhCg==ASDEWIhnqn55Qe924MFAFHDFOIAFHEDANHV4582bAIYQN" - } - ] -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/EventExampleWithEventGroupId.json b/test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/EventExampleWithEventGroupId.json deleted file mode 100644 index 20d4e215..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/EventExampleWithEventGroupId.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "@odata.type": "#Event.v1_7_0.Event", - "Id": "1", - "Name": "Event Array", - "Context": "SmartClient4000", - "Events": [ - { - "EventId": "2C", - "Severity": "Warning", - "Message": "The cable has been disconnected on %1 of system %2", - "MessageId": "NetworkEvents.1.0.LanDisconnect", - "EventGroupId": 77, - "SpecificEventExistsInGroup": false, - "MessageArgs": [ - "EthernetInterface 1", - "/redfish/v1/Systems/1" - ], - "OriginOfCondition": { - "@odata.id": "/redfish/v1/Systems/1/EthernetInterfaces/1" - } - }, - { - "EventId": "2D", - "Severity": "Critical", - "Message": "Link down on %1", - "MessageId": "NetworkEvents.1.0.LinkDown", - "EventGroupId": 77, - "SpecificEventExistsInGroup": false, - "MessageArgs": [ - "EthernetInterface 1", - "/redfish/v1/Systems/1" - ], - "OriginOfCondition": { - "@odata.id": "/redfish/v1/Systems/1/EthernetInterfaces/1" - } - }, - { - "EventId": "2E", - "Severity": "Warning", - "Message": "Resource status has changed to Warning", - "MessageId": "ResourceEvent.1.0.ResourceStatusChangedWarning", - "EventGroupId": 77, - "SpecificEventExistsInGroup": true, - "OriginOfCondition": { - "@odata.id": "/redfish/v1/Systems/1/EthernetInterfaces/1" - } - } - ] -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/EventExampleWithOrigin.json b/test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/EventExampleWithOrigin.json deleted file mode 100644 index 9ddc3ddf..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/EventExampleWithOrigin.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "@odata.type": "#Event.v1_7_0.Event", - "Id": "2", - "Name": "Event Array", - "Context": "ABCDEFGH", - "Events": [ - { - "EventType": "Alert", - "EventId": "ABC132489713478812346", - "Severity": "Warning", - "Message": "The LAN has been disconnected", - "MessageId": "Alert.1.0.LanDisconnect", - "MessageArgs": [ - "EthernetInterface 1", - "/redfish/v1/Systems/1" - ], - "OriginOfCondition": { - "@odata.id": "/redfish/v1/Systems/1/EthernetInterfaces/1", - "@odata.type": "#EthernetInterface.v1_6_4.EthernetInterface", - "Id": "1", - "Name": "Ethernet Interface", - "Description": "System NIC 1", - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "PermanentMACAddress": "AA:BB:CC:DD:EE:FF", - "MACAddress": "AA:BB:CC:DD:EE:FF", - "SpeedMbps": 100, - "FullDuplex": true, - "HostName": "web483", - "FQDN": "web483.redfishspecification.org", - "IPv6DefaultGateway": "fe80::3ed9:2bff:fe34:600", - "NameServers": [ - "names.redfishspecification.org" - ], - "IPv4Addresses": [ - { - "Address": "192.168.0.10", - "SubnetMask": "255.255.252.0", - "AddressOrigin": "Static", - "Gateway": "192.168.0.1" - } - ], - "IPv6Addresses": [ - { - "Address": "fe80::1ec1:deff:fe6f:1e24", - "PrefixLength": 64, - "AddressOrigin": "Static", - "AddressState": "Preferred" - } - ], - "VLANs": { - "@odata.id": "/redfish/v1/Systems/1/EthernetInterfaces/1/VLANs" - } - }, - "Context": "ABCDEFGH" - } - ] -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/ExpandManifestRequest.json b/test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/ExpandManifestRequest.json deleted file mode 100644 index 6f801a57..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/ExpandManifestRequest.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "RequestFormat": "Manifest", - "RequestType": "Apply", - "Manifest": { - "Description": "Description for this Manifest document.", - "Timestamp": "2019-08-22T10:35:16+06:00", - "Expand": "Relevant", - "Stanzas": [ - { - "StanzaType": "RegisterResourceBlock", - "StanzaId": "RegisteringExpandableSystemExample", - "Request": { - "ComputerSystems": [ - { - "@odata.id": "/redfish/v1/Systems/SystemPreResourceBlock" - } - ], - "Links": { - "ResourceZones": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceZones/3" - } - ] - } - } - }, - { - "StanzaType": "ComposeSystem", - "StanzaId": "ExpandingSystemExample", - "Request": { - "Links": { - "ResourceBlocks": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SystemBlock12" - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock10" - } - ] - } - } - } - ] - } -} \ No newline at end of file diff --git a/test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/ExpandManifestResponse.json b/test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/ExpandManifestResponse.json deleted file mode 100644 index f37f1e93..00000000 --- a/test_dependencies/mockups/DSP2043_2026.2/non-resource-examples/ExpandManifestResponse.json +++ /dev/null @@ -1,127 +0,0 @@ -{ - "RequestFormat": "Manifest", - "RequestType": "Apply", - "Manifest": { - "Description": "Description for this Manifest document.", - "Timestamp": "2019-08-22T10:35:16+06:00", - "Expand": "Relevant", - "Stanzas": [ - { - "StanzaType": "RegisterResourceBlock", - "StanzaId": "RegisteringExpandableSystemExample", - "Request": { - "ComputerSystems": [ - { - "@odata.id": "/redfish/v1/Systems/SystemPreResourceBlock" - } - ], - "Links": { - "ResourceZones": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceZones/3" - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceZones/2" - } - ] - } - }, - "Response": { - "@odata.type": "#ResourceBlock.v1_4_0.ResourceBlock", - "Id": "ComputerSystemRB11", - "Name": "ComputerSystem ResourceBlock 11", - "ResourceBlockType": [ - "ComputerSystem" - ], - "Status": { - "State": "Enabled", - "Health": "OK" - }, - "CompositionStatus": { - "Reserved": false, - "CompositionState": "Unused", - "MaxCompositions": 1, - "NumberOfCompositions": 0 - }, - "ComputerSystems": [ - { - "@odata.id": "/redfish/v1/Systems/SystemAfterResourceBlock" - } - ], - "Links": { - "Zones": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceZones/3" - } - ] - }, - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SystemBlock11" - } - }, - { - "StanzaType": "ComposeSystem", - "StanzaId": "ExpandingSystemExample", - "Request": { - "Links": { - "ResourceBlocks": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SystemBlock12" - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock10" - } - ] - } - }, - "Response": { - "@odata.type": "#ComputerSystem.v1_18_0.ComputerSystem", - "Id": "SystemAfterAddResourceAction", - "Name": "Sample Post Resource Block Registration Computer System", - "SystemType": "Physical", - "Composition": { - "UseCases": [ - "ExpandableSystem" - ] - }, - "Description": "This shows an example of an expandable system after you add it to the resource block collection for expandable composition.", - "UUID": "37596f04-b032-48ce-9bad-7d55a61fe579", - "HostName": "SystemAfterAddResourceAction", - "PowerState": "On", - "Boot": { - "BootSourceOverrideEnabled": "Once", - "BootSourceOverrideTarget": "Pxe", - "BootSourceOverrideTarget@Redfish.AllowableValues": [ - "None", - "Pxe", - "Usb", - "Hdd" - ] - }, - "Processors": { - "@odata.id": "/redfish/v1/Systems/SystemAfterAddResourceAction/Processors" - }, - "Memory": { - "@odata.id": "/redfish/v1/Systems/SystemAfterAddResourceAction/Memory" - }, - "EthernetInterfaces": { - "@odata.id": "/redfish/v1/Systems/SystemAfterAddResourceAction/EthernetInterfaces" - }, - "Storage": { - "@odata.id": "/redfish/v1/Systems/SystemAfterAddResourceAction/Storage" - }, - "Links": { - "ResourceBlocks": [ - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/SystemBlock12" - }, - { - "@odata.id": "/redfish/v1/CompositionService/ResourceBlocks/DriveBlock10" - } - ] - }, - "@odata.id": "/redfish/v1/Systems/SystemAfterAddResourceAction" - } - } - ] - } -} \ No newline at end of file From 1b57b4a8fd4e6f8d196261170aa16a6126c47268 Mon Sep 17 00:00:00 2001 From: MurrayGroves Date: Wed, 28 Oct 2026 12:38:57 +0000 Subject: [PATCH 24/33] Test chassis collector --- collector/chassis/collector.go | 50 +++++++++--------- collector/chassis/collector_test.go | 81 +++++++++++++++++++++++++++++ collector/collector.go | 2 +- collector/manager/collector_test.go | 2 +- common/collector.go | 14 ++--- common/redfish.go | 2 +- 6 files changed, 115 insertions(+), 36 deletions(-) create mode 100644 collector/chassis/collector_test.go diff --git a/collector/chassis/collector.go b/collector/chassis/collector.go index 06e2d9fc..8e96179d 100755 --- a/collector/chassis/collector.go +++ b/collector/chassis/collector.go @@ -27,39 +27,37 @@ var ( ChassisLogServiceLabelNames = []string{"chassis_id", "log_service", "log_service_id", "log_service_enabled", "log_service_overwrite_policy"} ChassisLogEntryLabelNames = []string{"chassis_id", "log_service", "log_service_id", "log_entry", "log_entry_id", "log_entry_code", "log_entry_type", "log_entry_message_id", "log_entry_sensor_number", "log_entry_sensor_type"} - chassisMetrics = createChassisMetricMap() + metricMap = createMetricMap() ) +func createMetricMap() map[string]common.Metric { + metrics := make(map[string]common.Metric) + common.AddToMetricMap(metrics, ChassisSubsystem, "health", fmt.Sprintf("health of chassis,%s", common.HealthHelp), ChassisLabelNames) + common.AddToMetricMap(metrics, ChassisSubsystem, "state", fmt.Sprintf("state of chassis,%s", common.StateHelp), ChassisLabelNames) + common.AddToMetricMap(metrics, ChassisSubsystem, "model_info", "organization responsible for producing the chassis, the name by which the manufacturer generally refers to the chassis, and a part number and sku assigned by the organization that is responsible for producing or manufacturing the chassis", ChassisModel) + + common.AddToMetricMap(metrics, ChassisSubsystem, "physical_security_sensor_state", fmt.Sprintf("indicates the known state of the physical security sensor, such as if it is hardware intrusion detected,%s", common.IntrusionSensorHelp), ChassisPhysicalSecurityLabelNames) + + common.AddToMetricMap(metrics, ChassisSubsystem, "log_service_state", fmt.Sprintf("chassis log service state,%s", common.StateHelp), ChassisLogServiceLabelNames) + common.AddToMetricMap(metrics, ChassisSubsystem, "log_service_health_state", fmt.Sprintf("chassis log service health state,%s", common.HealthHelp), ChassisLogServiceLabelNames) + common.AddToMetricMap(metrics, ChassisSubsystem, "log_entry_severity_state", fmt.Sprintf("chassis log entry severity state,%s", common.SeverityHelp), ChassisLogEntryLabelNames) + + return metrics +} + // Collector implements the prometheus.Collector. type Collector struct { Ctx *common.CollectionContext - metrics map[string]common.Metric collectorScrapeStatus *prometheus.GaugeVec Log *slog.Logger thermal *thermal.Collector } -func createChassisMetricMap() map[string]common.Metric { - chassisMetrics := make(map[string]common.Metric) - common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "health", fmt.Sprintf("health of chassis,%s", common.HealthHelp), ChassisLabelNames) - common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "state", fmt.Sprintf("state of chassis,%s", common.StateHelp), ChassisLabelNames) - common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "model_info", "organization responsible for producing the chassis, the name by which the manufacturer generally refers to the chassis, and a part number and sku assigned by the organization that is responsible for producing or manufacturing the chassis", ChassisModel) - - common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "physical_security_sensor_state", fmt.Sprintf("indicates the known state of the physical security sensor, such as if it is hardware intrusion detected,%s", common.IntrusionSensorHelp), ChassisPhysicalSecurityLabelNames) - - common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "log_service_state", fmt.Sprintf("chassis log service state,%s", common.StateHelp), ChassisLogServiceLabelNames) - common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "log_service_health_state", fmt.Sprintf("chassis log service health state,%s", common.HealthHelp), ChassisLogServiceLabelNames) - common.AddToMetricMap(chassisMetrics, ChassisSubsystem, "log_entry_severity_state", fmt.Sprintf("chassis log entry severity state,%s", common.SeverityHelp), ChassisLogEntryLabelNames) - - return chassisMetrics -} - -// NewChassisCollector returns a collector that collecting chassis statistics -func NewChassisCollector(ctx *common.CollectionContext, logger *slog.Logger) *Collector { +// NewCollector returns a collector that collecting chassis statistics +func NewCollector(ctx *common.CollectionContext, logger *slog.Logger) *Collector { // get service from redfish client return &Collector{ - metrics: chassisMetrics, Ctx: ctx, Log: logger.With( "collector", "ChassisCollector", @@ -77,7 +75,7 @@ func NewChassisCollector(ctx *common.CollectionContext, logger *slog.Logger) *Co // Describe implemented prometheus.Collector func (c *Collector) Describe(ch chan<- *prometheus.Desc) { - for _, metric := range c.metrics { + for _, metric := range metricMap { ch <- metric.Desc } c.collectorScrapeStatus.Describe(ch) @@ -107,14 +105,14 @@ func (c *Collector) Collect(ch chan<- prometheus.Metric) { chassisLogContext.Info("collector scrape started") ChassisLabelValues := []string{"chassis", chassis.ID} if chassisStatusHealthValue, ok := common.ParseCommonStatusHealth(chassis.Status.Health); ok { - ch <- prometheus.MustNewConstMetric(c.metrics["chassis_health"].Desc, prometheus.GaugeValue, chassisStatusHealthValue, ChassisLabelValues...) + ch <- prometheus.MustNewConstMetric(metricMap["chassis_health"].Desc, prometheus.GaugeValue, chassisStatusHealthValue, ChassisLabelValues...) } if chassisStatusStateValue, ok := common.ParseCommonStatusState(chassis.Status.State); ok { - ch <- prometheus.MustNewConstMetric(c.metrics["chassis_state"].Desc, prometheus.GaugeValue, chassisStatusStateValue, ChassisLabelValues...) + ch <- prometheus.MustNewConstMetric(metricMap["chassis_state"].Desc, prometheus.GaugeValue, chassisStatusStateValue, ChassisLabelValues...) } ChassisModelLabelValues := []string{"chassis", chassis.ID, chassis.Manufacturer, chassis.Model, chassis.PartNumber, chassis.SKU} - ch <- prometheus.MustNewConstMetric(c.metrics["chassis_model_info"].Desc, prometheus.GaugeValue, 1, ChassisModelLabelValues...) + ch <- prometheus.MustNewConstMetric(metricMap["chassis_model_info"].Desc, prometheus.GaugeValue, 1, ChassisModelLabelValues...) physicalSecurity := chassis.PhysicalSecurity if physicalSecurity != (schemas.PhysicalSecurity{}) { @@ -124,7 +122,7 @@ func (c *Collector) Collect(ch chan<- prometheus.Metric) { if phySecIntrusionSensor, ok := parsePhySecIntrusionSensor(physicalSecurityIntrusionSensor); ok { ChassisPhysicalSecurityLabelValues := []string{"physical_security", chassis.ID, physicalSecurityIntrusionSensorNumber, physicalSecurityIntrusionSensorReArmMethod} - ch <- prometheus.MustNewConstMetric(chassisMetrics["chassis_physical_security_sensor_state"].Desc, prometheus.GaugeValue, phySecIntrusionSensor, ChassisPhysicalSecurityLabelValues...) + ch <- prometheus.MustNewConstMetric(metricMap["chassis_physical_security_sensor_state"].Desc, prometheus.GaugeValue, phySecIntrusionSensor, ChassisPhysicalSecurityLabelValues...) } } @@ -166,7 +164,7 @@ func (c* Collector) collectLogs(ch chan<- prometheus.Metric, chassis *schemas.Ch wg := &sync.WaitGroup{} for _, logService := range logServices { wg.Go(func() { - if err = common.ParseLogService(ch, chassisMetrics, c.Ctx, c.Log.With("log_service", logService.ID), ChassisSubsystem, chassis.ID, logService); err != nil { + if err = common.ParseLogService(ch, metricMap, c.Ctx, c.Log.With("log_service", logService.ID), ChassisSubsystem, chassis.ID, logService); err != nil { c.Log.Error("error getting log entries from log service", "operation", "chassis.LogServices()", "err", err) } }) diff --git a/collector/chassis/collector_test.go b/collector/chassis/collector_test.go new file mode 100644 index 00000000..8163fc6f --- /dev/null +++ b/collector/chassis/collector_test.go @@ -0,0 +1,81 @@ +package chassis_test + +import ( + "testing" + + "github.com/prometheus/common/promslog" + "github.com/stackhpc/redfish_exporter/collector/chassis" + "github.com/stackhpc/redfish_exporter/common" + redfish_test "github.com/stackhpc/redfish_exporter/common/test" +) + +func TestPublicCXL_2026_2(t *testing.T) { + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-cxl", true) + + ctx := common.CollectionContext{ + RedfishClient: redfishClient, + CollectLogs: true, + } + + promslogConfig := promslog.Config{} + logger := promslog.New(&promslogConfig) + + collector := chassis.NewCollector(&ctx, logger) + expected := ` + redfish_chassis_log_entry_severity_state{chassis_id="CXL-Chassis",log_entry="Log Entry 1",log_entry_code="",log_entry_id="1",log_entry_message_id="Event.1.0.TempAssert",log_entry_sensor_number="1",log_entry_sensor_type="",log_entry_type="Event",log_service="CXL Module Log Service",log_service_id="LocalLog1"} 3 + redfish_chassis_log_service_health_state{chassis_id="CXL-Chassis",log_service="CXL Module Log Service",log_service_enabled="true",log_service_id="LocalLog1",log_service_overwrite_policy="WrapsWhenFull"} 1 + redfish_chassis_log_service_state{chassis_id="CXL-Chassis",log_service="CXL Module Log Service",log_service_enabled="true",log_service_id="LocalLog1",log_service_overwrite_policy="WrapsWhenFull"} 1 + redfish_chassis_model_info{chassis_id="CXL-Chassis",manufacturer="",model="",part_number="",resource="chassis",sku=""} 1 + redfish_chassis_model_info{chassis_id="CXLType1",manufacturer="",model="",part_number="",resource="chassis",sku=""} 1 + redfish_chassis_model_info{chassis_id="CXLType2",manufacturer="",model="",part_number="",resource="chassis",sku=""} 1 + redfish_chassis_model_info{chassis_id="CXLType3",manufacturer="",model="",part_number="",resource="chassis",sku=""} 1 + redfish_chassis_model_info{chassis_id="PooledCXLType1",manufacturer="",model="",part_number="",resource="chassis",sku=""} 1 + redfish_chassis_model_info{chassis_id="PooledCXLType2",manufacturer="",model="",part_number="",resource="chassis",sku=""} 1 + redfish_chassis_model_info{chassis_id="PooledCXLType3",manufacturer="",model="",part_number="",resource="chassis",sku=""} 1 + redfish_chassis_state{chassis_id="CXL-Chassis",resource="chassis"} 1 + redfish_chassis_state{chassis_id="CXLType1",resource="chassis"} 1 + redfish_chassis_state{chassis_id="CXLType2",resource="chassis"} 1 + redfish_chassis_state{chassis_id="CXLType3",resource="chassis"} 1 + redfish_chassis_state{chassis_id="PooledCXLType1",resource="chassis"} 1 + redfish_chassis_state{chassis_id="PooledCXLType2",resource="chassis"} 1 + redfish_chassis_state{chassis_id="PooledCXLType3",resource="chassis"} 1 + ` + redfish_test.CollectAndCompare(t, collector, expected, + "redfish_chassis_state", + "redfish_chassis_model_info", + // None of the Redfish mockups include physical security sensors + //"redfish_chassis_physical_security_sensor_state", + "redfish_chassis_log_service_state", + "redfish_chassis_log_service_health_state", + "redfish_chassis_log_entry_severity_state", + ) +} + +func TestPublicCables_2026_2(t *testing.T) { + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-cables", true) + + ctx := common.CollectionContext{ + RedfishClient: redfishClient, + CollectLogs: true, + } + + promslogConfig := promslog.Config{} + logger := promslog.New(&promslogConfig) + + collector := chassis.NewCollector(&ctx, logger) + expected := ` + redfish_chassis_health{chassis_id="bmc",resource="chassis"} 1 + redfish_chassis_health{chassis_id="hsbp",resource="chassis"} 1 + redfish_chassis_model_info{chassis_id="bmc",manufacturer="",model="",part_number="1234567-89",resource="chassis",sku=""} 1 + redfish_chassis_model_info{chassis_id="chassis",manufacturer="",model="",part_number="",resource="chassis",sku=""} 1 + redfish_chassis_model_info{chassis_id="hsbp",manufacturer="Oogle",model="",part_number="9876543-21",resource="chassis",sku=""} 1 + redfish_chassis_state{chassis_id="bmc",resource="chassis"} 3 + redfish_chassis_state{chassis_id="chassis",resource="chassis"} 3 + redfish_chassis_state{chassis_id="hsbp",resource="chassis"} 3 + ` + redfish_test.CollectAndCompare(t, collector, expected, + "redfish_chassis_state", + "redfish_chassis_health", + "redfish_chassis_model_info", + ) +} diff --git a/collector/collector.go b/collector/collector.go index 4fbffe11..0053e21b 100755 --- a/collector/collector.go +++ b/collector/collector.go @@ -50,7 +50,7 @@ type RedfishCollector struct { // NewRedfishCollector return RedfishCollector func NewRedfishCollector(ctx *common.CollectionContext, logger *slog.Logger) *RedfishCollector { var collectors map[string]prometheus.Collector - chassisCollector := chassis.NewChassisCollector(ctx, logger) + chassisCollector := chassis.NewCollector(ctx, logger) systemCollector := system.NewCollector(ctx, logger) managerCollector := manager.NewCollector(ctx, logger) diff --git a/collector/manager/collector_test.go b/collector/manager/collector_test.go index fa40fa73..9837ea5c 100644 --- a/collector/manager/collector_test.go +++ b/collector/manager/collector_test.go @@ -24,7 +24,7 @@ func TestPublicACD_2026_2(t *testing.T) { expected := ` redfish_manager_firmware_info{firmware_version="1.45.455b66-rev4",manager_id="BMC",model="Joo Janta 200",name="Manager",type="BMC"} 1 redfish_manager_health_state{manager_id="BMC",model="Joo Janta 200",name="Manager",type="BMC"} 1 - redfish_manager_log_entry_severity_state{log_entry="Log Entry 1",log_entry_code="",log_entry_id="1",log_entry_message_id="Event.1.0.TempWayTooHot",log_entry_sensor_number="0x13f1b133aed0",log_entry_sensor_type="",log_entry_type="Event",log_service="System Log Service",log_service_id="Log",manager_id="BMC"} 3 + redfish_manager_log_entry_severity_state{log_entry="Log Entry 1",log_entry_code="",log_entry_id="1",log_entry_message_id="Event.1.0.TempWayTooHot",log_entry_sensor_number="1",log_entry_sensor_type="",log_entry_type="Event",log_service="System Log Service",log_service_id="Log",manager_id="BMC"} 3 redfish_manager_log_service_health_state{log_service="System Log Service",log_service_enabled="true",log_service_id="Log",log_service_overwrite_policy="WrapsWhenFull",manager_id="BMC"} 1 redfish_manager_log_service_state{log_service="System Log Service",log_service_enabled="true",log_service_id="Log",log_service_overwrite_policy="WrapsWhenFull",manager_id="BMC"} 1 redfish_manager_power_state{manager_id="BMC",model="Joo Janta 200",name="Manager",type="BMC"} 1 diff --git a/common/collector.go b/common/collector.go index d6b7ab9a..2f3f794f 100644 --- a/common/collector.go +++ b/common/collector.go @@ -87,18 +87,18 @@ func ParseLogService(ch chan<- prometheus.Metric, metrics map[string]Metric, ctx } func ParseLogEntry(ch chan<- prometheus.Metric, desc *prometheus.Desc, collectorID, logServiceName, logServiceID string, logEntry *schemas.LogEntry) { - logEntryName := logEntry.Name - logEntryID := logEntry.ID logEntryCode := string(logEntry.EntryCode) logEntryType := string(logEntry.EntryType) - logEntryMessageID := logEntry.MessageID - logEntrySensorNumber := fmt.Sprint(logEntry.SensorNumber) logEntrySensorType := string(logEntry.SensorType) - logEntrySeverityState := logEntry.Severity - logEntryLabelValues := []string{collectorID, logServiceName, logServiceID, logEntryName, logEntryID, logEntryCode, logEntryType, logEntryMessageID, logEntrySensorNumber, logEntrySensorType} + sensorNumber := "" + if logEntry.SensorNumber != nil { + sensorNumber = fmt.Sprintf("%d", *logEntry.SensorNumber) + } + + logEntryLabelValues := []string{collectorID, logServiceName, logServiceID, logEntry.Name, logEntry.ID, logEntryCode, logEntryType, logEntry.MessageID, sensorNumber, logEntrySensorType} - if logEntrySeverityStateValue, ok := ParseCommonSeverityState(logEntrySeverityState); ok { + if logEntrySeverityStateValue, ok := ParseCommonSeverityState(logEntry.Severity); ok { ch <- prometheus.MustNewConstMetric(desc, prometheus.GaugeValue, logEntrySeverityStateValue, logEntryLabelValues...) } } diff --git a/common/redfish.go b/common/redfish.go index 58aafa02..1a249ed3 100644 --- a/common/redfish.go +++ b/common/redfish.go @@ -25,7 +25,7 @@ func ParseCommonStatusState(status schemas.State) (float64, bool) { return float64(1), true } else if bytes.Equal([]byte(status), []byte("Disabled")) { return float64(2), true - } else if bytes.Equal([]byte(status), []byte("StandbyOffinline")) { + } else if bytes.Equal([]byte(status), []byte("StandbyOffline")) { return float64(3), true } else if bytes.Equal([]byte(status), []byte("StandbySpare")) { return float64(4), true From 3fe1bb4d9eccbaf9aa83a779edd69e4797f9814c Mon Sep 17 00:00:00 2001 From: MurrayGroves Date: Wed, 28 Oct 2026 13:15:18 +0000 Subject: [PATCH 25/33] Remove un-used test parameter --- collector/chassis/collector_test.go | 8 ++++---- collector/chassis/network_adapters/collector_test.go | 4 ++-- collector/chassis/power/collector_test.go | 2 +- collector/chassis/power_subsystem/collector_test.go | 2 +- collector/chassis/thermal/collector_test.go | 2 +- .../chassis/thermal_subsystem/fans/collector_test.go | 2 +- .../thermal_subsystem/thermal_metrics/collector_test.go | 2 +- collector/manager/collector_test.go | 4 ++-- collector/system/ethernet_interfaces/collector_test.go | 2 +- collector/system/memory/collector_test.go | 2 +- collector/system/network_interfaces/collector_test.go | 2 +- collector/system/pcie_devices/collector_test.go | 2 +- collector/system/pcie_functions/collector_test.go | 2 +- collector/system/processors/collector_test.go | 2 +- collector/system/simple_storage/collector_test.go | 2 +- collector/system/storage/drives/collector_test.go | 2 +- .../system/storage/storage_controllers/collector_test.go | 2 +- collector/system/storage/volumes/collector_test.go | 2 +- common/test/helpers.go | 2 +- 19 files changed, 24 insertions(+), 24 deletions(-) diff --git a/collector/chassis/collector_test.go b/collector/chassis/collector_test.go index 8163fc6f..90891f9b 100644 --- a/collector/chassis/collector_test.go +++ b/collector/chassis/collector_test.go @@ -10,11 +10,11 @@ import ( ) func TestPublicCXL_2026_2(t *testing.T) { - redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-cxl", true) + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-cxl") ctx := common.CollectionContext{ RedfishClient: redfishClient, - CollectLogs: true, + CollectLogs: true, } promslogConfig := promslog.Config{} @@ -52,11 +52,11 @@ func TestPublicCXL_2026_2(t *testing.T) { } func TestPublicCables_2026_2(t *testing.T) { - redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-cables", true) + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-cables") ctx := common.CollectionContext{ RedfishClient: redfishClient, - CollectLogs: true, + CollectLogs: true, } promslogConfig := promslog.Config{} diff --git a/collector/chassis/network_adapters/collector_test.go b/collector/chassis/network_adapters/collector_test.go index 3b71525b..66d7a366 100644 --- a/collector/chassis/network_adapters/collector_test.go +++ b/collector/chassis/network_adapters/collector_test.go @@ -11,7 +11,7 @@ import ( ) func TestPublicTower_2026_2(t *testing.T) { - redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-tower", false) + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-tower") chassis, err := redfishClient.Service.Chassis() require.NoError(t, err) @@ -40,7 +40,7 @@ func TestPublicTower_2026_2(t *testing.T) { } func TestPublicACD_2026_2(t *testing.T) { - redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-acd", false) + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-acd") chassis, err := redfishClient.Service.Chassis() require.NoError(t, err) diff --git a/collector/chassis/power/collector_test.go b/collector/chassis/power/collector_test.go index 6b9f1a28..1507f36f 100644 --- a/collector/chassis/power/collector_test.go +++ b/collector/chassis/power/collector_test.go @@ -11,7 +11,7 @@ import ( ) func TestDSP2043_1_0_0(t *testing.T) { - redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_1.0.0/DSP2043-server", false) + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_1.0.0/DSP2043-server") chassis, err := redfishClient.Service.Chassis() require.NoError(t, err) diff --git a/collector/chassis/power_subsystem/collector_test.go b/collector/chassis/power_subsystem/collector_test.go index 9d973f80..36ccd183 100644 --- a/collector/chassis/power_subsystem/collector_test.go +++ b/collector/chassis/power_subsystem/collector_test.go @@ -11,7 +11,7 @@ import ( ) func TestPublicACD_2026_2(t *testing.T) { - redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-acd", false) + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-acd") chassis, err := redfishClient.Service.Chassis() require.NoError(t, err) diff --git a/collector/chassis/thermal/collector_test.go b/collector/chassis/thermal/collector_test.go index 31ebd8b1..1c881af3 100644 --- a/collector/chassis/thermal/collector_test.go +++ b/collector/chassis/thermal/collector_test.go @@ -11,7 +11,7 @@ import ( ) func TestDSP2043_1_0_0(t *testing.T) { - redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_1.0.0/DSP2043-server", false) + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_1.0.0/DSP2043-server") chassis, err := redfishClient.Service.Chassis() require.NoError(t, err) diff --git a/collector/chassis/thermal_subsystem/fans/collector_test.go b/collector/chassis/thermal_subsystem/fans/collector_test.go index fe66d6e3..5ba508b1 100644 --- a/collector/chassis/thermal_subsystem/fans/collector_test.go +++ b/collector/chassis/thermal_subsystem/fans/collector_test.go @@ -11,7 +11,7 @@ import ( ) func TestPublicTower_2026_2(t *testing.T) { - redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-tower", false) + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-tower") chassis, err := redfishClient.Service.Chassis() require.NoError(t, err) diff --git a/collector/chassis/thermal_subsystem/thermal_metrics/collector_test.go b/collector/chassis/thermal_subsystem/thermal_metrics/collector_test.go index 12442c5b..ebbd2568 100644 --- a/collector/chassis/thermal_subsystem/thermal_metrics/collector_test.go +++ b/collector/chassis/thermal_subsystem/thermal_metrics/collector_test.go @@ -11,7 +11,7 @@ import ( ) func TestPublicTower_2026_2(t *testing.T) { - redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-tower", false) + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-tower") chassis, err := redfishClient.Service.Chassis() require.NoError(t, err) diff --git a/collector/manager/collector_test.go b/collector/manager/collector_test.go index 9837ea5c..0d224492 100644 --- a/collector/manager/collector_test.go +++ b/collector/manager/collector_test.go @@ -10,11 +10,11 @@ import ( ) func TestPublicACD_2026_2(t *testing.T) { - redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-acd", false) + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-acd") ctx := common.CollectionContext{ RedfishClient: redfishClient, - CollectLogs: true, + CollectLogs: true, } promslogConfig := promslog.Config{} diff --git a/collector/system/ethernet_interfaces/collector_test.go b/collector/system/ethernet_interfaces/collector_test.go index 63722b15..0f27e159 100644 --- a/collector/system/ethernet_interfaces/collector_test.go +++ b/collector/system/ethernet_interfaces/collector_test.go @@ -11,7 +11,7 @@ import ( ) func TestPublicACD_2026_2(t *testing.T) { - redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-acd", false) + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-acd") systems, err := redfishClient.Service.Systems() require.NoError(t, err) diff --git a/collector/system/memory/collector_test.go b/collector/system/memory/collector_test.go index 3c8e39b0..de5d9abe 100644 --- a/collector/system/memory/collector_test.go +++ b/collector/system/memory/collector_test.go @@ -11,7 +11,7 @@ import ( ) func TestPublicTower_2026_2(t *testing.T) { - redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-tower", false) + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-tower") systems, err := redfishClient.Service.Systems() require.NoError(t, err) diff --git a/collector/system/network_interfaces/collector_test.go b/collector/system/network_interfaces/collector_test.go index 20dc2a58..a3593f19 100644 --- a/collector/system/network_interfaces/collector_test.go +++ b/collector/system/network_interfaces/collector_test.go @@ -11,7 +11,7 @@ import ( ) func TestPublicACD_2026_2(t *testing.T) { - redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-acd", false) + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-acd") systems, err := redfishClient.Service.Systems() require.NoError(t, err) diff --git a/collector/system/pcie_devices/collector_test.go b/collector/system/pcie_devices/collector_test.go index fb25b21e..fc071d27 100644 --- a/collector/system/pcie_devices/collector_test.go +++ b/collector/system/pcie_devices/collector_test.go @@ -11,7 +11,7 @@ import ( ) func TestPublicTower_2026_2(t *testing.T) { - redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-tower", false) + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-tower") systems, err := redfishClient.Service.Systems() require.NoError(t, err) diff --git a/collector/system/pcie_functions/collector_test.go b/collector/system/pcie_functions/collector_test.go index 8db23acc..c63ae50f 100644 --- a/collector/system/pcie_functions/collector_test.go +++ b/collector/system/pcie_functions/collector_test.go @@ -11,7 +11,7 @@ import ( ) func TestPublicCXL_2026_2(t *testing.T) { - redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-cxl", false) + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-cxl") systems, err := redfishClient.Service.Systems() require.NoError(t, err) diff --git a/collector/system/processors/collector_test.go b/collector/system/processors/collector_test.go index 59ea7473..078d4a8b 100644 --- a/collector/system/processors/collector_test.go +++ b/collector/system/processors/collector_test.go @@ -11,7 +11,7 @@ import ( ) func TestPublicTower_2026_2(t *testing.T) { - redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-tower", false) + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-tower") systems, err := redfishClient.Service.Systems() require.NoError(t, err) diff --git a/collector/system/simple_storage/collector_test.go b/collector/system/simple_storage/collector_test.go index e26f41da..01a419f9 100644 --- a/collector/system/simple_storage/collector_test.go +++ b/collector/system/simple_storage/collector_test.go @@ -11,7 +11,7 @@ import ( ) func TestPublicRackmount1_2026_2(t *testing.T) { - redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-rackmount1", false) + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-rackmount1") systems, err := redfishClient.Service.Systems() require.NoError(t, err) diff --git a/collector/system/storage/drives/collector_test.go b/collector/system/storage/drives/collector_test.go index b709a1b2..04fadc75 100644 --- a/collector/system/storage/drives/collector_test.go +++ b/collector/system/storage/drives/collector_test.go @@ -11,7 +11,7 @@ import ( ) func TestPublicApplications_2026_2(t *testing.T) { - redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-applications", false) + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-applications") systems, err := redfishClient.Service.Systems() require.NoError(t, err) diff --git a/collector/system/storage/storage_controllers/collector_test.go b/collector/system/storage/storage_controllers/collector_test.go index f8a21104..20cb9f54 100644 --- a/collector/system/storage/storage_controllers/collector_test.go +++ b/collector/system/storage/storage_controllers/collector_test.go @@ -11,7 +11,7 @@ import ( ) func TestPublicLocalStorage_2026_2(t *testing.T) { - redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-localstorage", false) + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-localstorage") systems, err := redfishClient.Service.Systems() require.NoError(t, err) diff --git a/collector/system/storage/volumes/collector_test.go b/collector/system/storage/volumes/collector_test.go index 8728b0c6..92fadf06 100644 --- a/collector/system/storage/volumes/collector_test.go +++ b/collector/system/storage/volumes/collector_test.go @@ -11,7 +11,7 @@ import ( ) func TestPublicLocalStorage_2026_2(t *testing.T) { - redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-localstorage", false) + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-localstorage") systems, err := redfishClient.Service.Systems() require.NoError(t, err) diff --git a/common/test/helpers.go b/common/test/helpers.go index 89a2c218..191bb821 100644 --- a/common/test/helpers.go +++ b/common/test/helpers.go @@ -18,7 +18,7 @@ import ( "github.com/testcontainers/testcontainers-go/wait" ) -func CreateRedfishClient(t *testing.T, path string, collect_logs bool) *gofish.APIClient { +func CreateRedfishClient(t *testing.T, path string) *gofish.APIClient { ctx := context.Background() container, err := testcontainers.Run( ctx, "", From 074ddee570f54fdbdc0a5662d5e197f0d29bbfc3 Mon Sep 17 00:00:00 2001 From: MurrayGroves Date: Wed, 28 Oct 2026 13:23:28 +0000 Subject: [PATCH 26/33] Test system collector --- collector/system/collector_test.go | 55 ++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 collector/system/collector_test.go diff --git a/collector/system/collector_test.go b/collector/system/collector_test.go new file mode 100644 index 00000000..b81ddd67 --- /dev/null +++ b/collector/system/collector_test.go @@ -0,0 +1,55 @@ +package system_test + +import ( + "testing" + + "github.com/prometheus/common/promslog" + "github.com/stackhpc/redfish_exporter/collector/system" + "github.com/stackhpc/redfish_exporter/common" + redfish_test "github.com/stackhpc/redfish_exporter/common/test" +) + +func TestPublicACD_2026_2(t *testing.T) { + redfishClient := redfish_test.CreateRedfishClient(t, "DSP2043_2026.2/public-acd") + + ctx := common.CollectionContext{ + RedfishClient: redfishClient, + CollectLogs: true, + } + + promslogConfig := promslog.Config{} + logger := promslog.New(&promslogConfig) + + collector := system.NewCollector(&ctx, logger) + expected := ` + redfish_system_bios_info{bios_version="P79 v1.45 (12/06/2017)",hostname="web483",resource="system",system_id="437XR1138R2"} 1 + redfish_system_health_state{hostname="web483",resource="system",system_id="437XR1138R2"} 1 + redfish_system_log_entry_severity_state{log_entry="Log Entry 1",log_entry_code="Upper Critical - going high",log_entry_id="1",log_entry_message_id="0x592A28",log_entry_sensor_number="1",log_entry_sensor_type="Temperature",log_entry_type="SEL",log_service="System Log Service",log_service_id="Log1",system_id="437XR1138R2"} 3 + redfish_system_log_entry_severity_state{log_entry="Log Entry 2",log_entry_code="Upper Critical - going high",log_entry_id="2",log_entry_message_id="0x592E28",log_entry_sensor_number="2",log_entry_sensor_type="Temperature",log_entry_type="SEL",log_service="System Log Service",log_service_id="Log1",system_id="437XR1138R2"} 3 + redfish_system_log_service_health_state{log_service="System Log Service",log_service_enabled="true",log_service_id="Log1",log_service_overwrite_policy="WrapsWhenFull",system_id="437XR1138R2"} 1 + redfish_system_log_service_state{log_service="System Log Service",log_service_enabled="true",log_service_id="Log1",log_service_overwrite_policy="WrapsWhenFull",system_id="437XR1138R2"} 1 + redfish_system_power_state{hostname="web483",resource="system",system_id="437XR1138R2"} 1 + redfish_system_state{hostname="web483",resource="system",system_id="437XR1138R2"} 1 + redfish_system_total_memory_health_state{hostname="web483",resource="system",system_id="437XR1138R2"} 1 + redfish_system_total_memory_size{hostname="web483",resource="system",system_id="437XR1138R2"} 96 + redfish_system_total_memory_state{hostname="web483",resource="system",system_id="437XR1138R2"} 1 + redfish_system_total_processor_count{hostname="web483",resource="system",system_id="437XR1138R2"} 2 + redfish_system_total_processor_health_state{hostname="web483",resource="system",system_id="437XR1138R2"} 1 + redfish_system_total_processor_state{hostname="web483",resource="system",system_id="437XR1138R2"} 1 + ` + redfish_test.CollectAndCompare(t, collector, expected, + "redfish_system_state", + "redfish_system_health_state", + "redfish_system_power_state", + "redfish_system_bios_info", + "redfish_system_total_memory_state", + "redfish_system_total_memory_health_state", + "redfish_system_total_memory_size", + "redfish_system_total_processor_state", + "redfish_system_total_processor_health_state", + "redfish_system_total_processor_count", + "redfish_system_log_service_state", + "redfish_system_log_service_health_state", + "redfish_system_log_entry_severity_state", + ) +} From 11559350e8aa9216093cee3bcae86e818043ebfa Mon Sep 17 00:00:00 2001 From: MurrayGroves Date: Wed, 28 Oct 2026 16:04:18 +0000 Subject: [PATCH 27/33] Tidy up logging --- collector/chassis/collector.go | 12 ++++++------ collector/chassis/network_adapters/collector.go | 2 +- collector/chassis/power_subsystem/collector.go | 2 +- collector/manager/collector.go | 2 +- collector/system/collector.go | 2 +- collector/system/ethernet_interfaces/collector.go | 2 +- collector/system/memory/collector.go | 2 +- collector/system/network_interfaces/collector.go | 2 +- collector/system/pcie_devices/collector.go | 2 +- collector/system/pcie_functions/collector.go | 2 +- collector/system/processors/collector.go | 2 +- collector/system/simple_storage/collector.go | 2 +- collector/system/storage/collector.go | 2 +- collector/system/storage/drives/collector.go | 2 +- 14 files changed, 19 insertions(+), 19 deletions(-) diff --git a/collector/chassis/collector.go b/collector/chassis/collector.go index 8e96179d..c90fd93a 100755 --- a/collector/chassis/collector.go +++ b/collector/chassis/collector.go @@ -101,7 +101,7 @@ func (c *Collector) Collect(ch chan<- prometheus.Metric) { // process the chassises for _, chassis := range chassises { - chassisLogContext := c.Log.With("Chassis", chassis.ID) + chassisLogContext := c.Log.With("chassis", chassis.ID) chassisLogContext.Info("collector scrape started") ChassisLabelValues := []string{"chassis", chassis.ID} if chassisStatusHealthValue, ok := common.ParseCommonStatusHealth(chassis.Status.Health); ok { @@ -126,18 +126,18 @@ func (c *Collector) Collect(ch chan<- prometheus.Metric) { } } - thermal := thermal.NewCollector(c.Ctx, c.Log, chassis) + thermal := thermal.NewCollector(c.Ctx, chassisLogContext, chassis) wg.Go(func() { thermal.Collect(ch) }) // Power() was deprecated in Redfish v1.15.0 - power := power.NewCollector(c.Ctx, c.Log, chassis) + power := power.NewCollector(c.Ctx, chassisLogContext, chassis) wg.Go(func() { power.Collect(ch) }) // It was replaced with PowerSubsystem() - power_subsystem := power_subsystem.NewCollector(c.Ctx, c.Log, chassis) + power_subsystem := power_subsystem.NewCollector(c.Ctx, chassisLogContext, chassis) wg.Go(func() { power_subsystem.Collect(ch) }) - network_adapters := network_adapters.NewCollector(c.Ctx, c.Log, chassis) + network_adapters := network_adapters.NewCollector(c.Ctx, chassisLogContext, chassis) wg.Go(func() { network_adapters.Collect(ch) }) // process log services @@ -157,7 +157,7 @@ func (c* Collector) collectLogs(ch chan<- prometheus.Metric, chassis *schemas.Ch c.Log.Error("error getting log services from chassis", "operation", "chassis.LogServices()", "err", err) return } else if logServices == nil { - c.Log.Info("no log services found", "operation", "chassis.LogServices()") + c.Log.Debug("no log services found", "operation", "chassis.LogServices()") return } diff --git a/collector/chassis/network_adapters/collector.go b/collector/chassis/network_adapters/collector.go index 42a03481..da5acdaf 100644 --- a/collector/chassis/network_adapters/collector.go +++ b/collector/chassis/network_adapters/collector.go @@ -72,7 +72,7 @@ func (c *Collector) Collect(ch chan<- prometheus.Metric) { c.Log.Error("error getting network adapters data from chassis", "operation", "chassis.NetworkAdapters()", "err", err) return } else if networkAdapters == nil { - c.Log.Info("no network adapters data found", "operation", "chassis.NetworkAdapters()") + c.Log.Debug("no network adapters data found", "operation", "chassis.NetworkAdapters()") return } diff --git a/collector/chassis/power_subsystem/collector.go b/collector/chassis/power_subsystem/collector.go index a4a319f1..b2b11ea3 100644 --- a/collector/chassis/power_subsystem/collector.go +++ b/collector/chassis/power_subsystem/collector.go @@ -68,7 +68,7 @@ func (c *Collector) Collect(ch chan<- prometheus.Metric) { c.Log.Error("error getting power supplies from power subsystem", "operation", "powerSubsystem.PowerSupplies()", "err", err) return } else if powerSupplies == nil { - c.Log.Info("no power supplies found", "operation", "powerSubsystem.PowerSupplies()") + c.Log.Debug("no power supplies found", "operation", "powerSubsystem.PowerSupplies()") return } diff --git a/collector/manager/collector.go b/collector/manager/collector.go index 6bb29101..5d2b8cd2 100755 --- a/collector/manager/collector.go +++ b/collector/manager/collector.go @@ -122,7 +122,7 @@ func (c *Collector) collectManager(ch chan<- prometheus.Metric, manager *schemas if err != nil { logContext.Error("error getting log services from manager", "operation", "manager.LogServices()", "err", err) } else if logServices == nil { - logContext.Info("no log services found", "operation", "manager.LogServices()") + logContext.Debug("no log services found", "operation", "manager.LogServices()") } else { wg := &sync.WaitGroup{} diff --git a/collector/system/collector.go b/collector/system/collector.go index da82df2f..59cf3c01 100755 --- a/collector/system/collector.go +++ b/collector/system/collector.go @@ -206,7 +206,7 @@ func (c *Collector) collectLogs(ch chan<- prometheus.Metric, system *schemas.Com c.Log.Error("error getting log services from system", "operation", "system.LogServices()", "err", err) return } else if logServices == nil { - c.Log.Info("no log services found", "operation", "system.LogServices()") + c.Log.Debug("no log services found", "operation", "system.LogServices()") return } diff --git a/collector/system/ethernet_interfaces/collector.go b/collector/system/ethernet_interfaces/collector.go index 015be414..1336aead 100644 --- a/collector/system/ethernet_interfaces/collector.go +++ b/collector/system/ethernet_interfaces/collector.go @@ -67,7 +67,7 @@ func (c *Collector) Collect(ch chan<- prometheus.Metric) { c.Log.Error("error getting ethernet interface data from system", "operation", "system.EthernetInterfaces()", "err", err) return } else if ethernetInterfaces == nil { - c.Log.Info("no ethernet interface data found", "operation", "system.PCIeDevices()") + c.Log.Debug("no ethernet interface data found", "operation", "system.PCIeDevices()") return } diff --git a/collector/system/memory/collector.go b/collector/system/memory/collector.go index 085fb7bd..6703f548 100644 --- a/collector/system/memory/collector.go +++ b/collector/system/memory/collector.go @@ -65,7 +65,7 @@ func (c *Collector) Collect(ch chan<- prometheus.Metric) { c.Log.Error("error getting memory data from system", "operation", "system.Memory()", "err", err) return } else if memories == nil { - c.Log.Info("no memory data found", "operation", "system.Memory()") + c.Log.Debug("no memory data found", "operation", "system.Memory()") return } diff --git a/collector/system/network_interfaces/collector.go b/collector/system/network_interfaces/collector.go index d666ed4c..f605e0ef 100644 --- a/collector/system/network_interfaces/collector.go +++ b/collector/system/network_interfaces/collector.go @@ -64,7 +64,7 @@ func (c *Collector) Collect(ch chan<- prometheus.Metric) { c.Log.Error("error getting network interface data from system", "operation", "system.NetworkInterfaces()", "err", err) return } else if networkInterfaces == nil { - c.Log.Info("no network interface data found", "operation", "system.NetworkInterfaces()") + c.Log.Debug("no network interface data found", "operation", "system.NetworkInterfaces()") return } diff --git a/collector/system/pcie_devices/collector.go b/collector/system/pcie_devices/collector.go index 7254cb91..bff7f7dc 100644 --- a/collector/system/pcie_devices/collector.go +++ b/collector/system/pcie_devices/collector.go @@ -64,7 +64,7 @@ func (c *Collector) Collect(ch chan<- prometheus.Metric) { c.Log.Error("error getting PCI-E device data from system", "operation", "system.PCIeDevices()", "err", err) return } else if pcieDevices == nil { - c.Log.Info("no PCI-E device data found", "operation", "system.PCIeDevices()") + c.Log.Debug("no PCI-E device data found", "operation", "system.PCIeDevices()") return } diff --git a/collector/system/pcie_functions/collector.go b/collector/system/pcie_functions/collector.go index 852142fb..9795913d 100644 --- a/collector/system/pcie_functions/collector.go +++ b/collector/system/pcie_functions/collector.go @@ -64,7 +64,7 @@ func (c *Collector) Collect(ch chan<- prometheus.Metric) { c.Log.Error("error getting PCI-E device function data from system", "operation", "system.PCIEFunctions()", "err", err) return } else if pcieFunctions == nil { - c.Log.Info("no PCI-E device function data found", "operation", "system.PCIeFunctions()") + c.Log.Debug("no PCI-E device function data found", "operation", "system.PCIeFunctions()") return } diff --git a/collector/system/processors/collector.go b/collector/system/processors/collector.go index 27376c47..c3e591f0 100644 --- a/collector/system/processors/collector.go +++ b/collector/system/processors/collector.go @@ -68,7 +68,7 @@ func (c *Collector) Collect(ch chan<- prometheus.Metric) { c.Log.Error("error getting processor data from system", "operation", "system.Processors()", "err", err) return } else if processors == nil { - c.Log.Info("no processor data found", "operation", "system.Processors()") + c.Log.Debug("no processor data found", "operation", "system.Processors()") return } diff --git a/collector/system/simple_storage/collector.go b/collector/system/simple_storage/collector.go index 76ed30af..f990d6d1 100644 --- a/collector/system/simple_storage/collector.go +++ b/collector/system/simple_storage/collector.go @@ -64,7 +64,7 @@ func (c *Collector) Collect(ch chan<- prometheus.Metric) { c.Log.Error("error getting simple storage data from system", "operation", "system.SimpleStorages()", "err", err) return } else if simpleStorages == nil { - c.Log.Info("no simple storage data found", "operation", "system.SimpleStorages()") + c.Log.Debug("no simple storage data found", "operation", "system.SimpleStorages()") return } diff --git a/collector/system/storage/collector.go b/collector/system/storage/collector.go index 6b0417d6..54e6a2ef 100644 --- a/collector/system/storage/collector.go +++ b/collector/system/storage/collector.go @@ -64,7 +64,7 @@ func (c *Collector) Collect(ch chan<- prometheus.Metric) { c.Log.Error("error getting storage data from system", "operation", "system.Storage()", "err", err) return } else if storages == nil { - c.Log.Info("no storage data found", "operation", "system.Storage()") + c.Log.Debug("no storage data found", "operation", "system.Storage()") return } diff --git a/collector/system/storage/drives/collector.go b/collector/system/storage/drives/collector.go index 85535eff..a8a36a30 100644 --- a/collector/system/storage/drives/collector.go +++ b/collector/system/storage/drives/collector.go @@ -67,7 +67,7 @@ func (c *Collector) Collect(ch chan<- prometheus.Metric) { c.Log.Error("error getting drive data from system", "operation", "system.Drives()", "err", err) return } else if drives == nil { - c.Log.Info("no drive data found", "operation", "system.Drives()") + c.Log.Debug("no drive data found", "operation", "system.Drives()") return } From bd91063e6b130f16d0cea33c780332b253b9b783 Mon Sep 17 00:00:00 2001 From: MurrayGroves Date: Wed, 28 Oct 2026 16:31:34 +0000 Subject: [PATCH 28/33] Fix style issues --- collector/chassis/collector.go | 4 ++-- .../chassis/network_adapters/collector.go | 4 ++-- collector/chassis/power/collector.go | 2 +- collector/chassis/power_common/common.go | 4 ++-- collector/chassis/power_subsystem/collector.go | 2 +- collector/chassis/thermal/collector.go | 2 +- collector/chassis/thermal_common/common.go | 4 ++-- .../chassis/thermal_subsystem/collector.go | 2 +- .../thermal_subsystem/fans/collector.go | 4 ++-- .../thermal_metrics/collector.go | 4 ++-- collector/manager/collector.go | 2 +- collector/system/collector.go | 10 +++++----- .../system/ethernet_interfaces/collector.go | 8 ++++---- collector/system/memory/collector.go | 8 ++++---- .../system/network_interfaces/collector.go | 12 ++++++------ collector/system/pcie_devices/collector.go | 8 ++++---- collector/system/pcie_functions/collector.go | 8 ++++---- collector/system/processors/collector.go | 8 ++++---- collector/system/simple_storage/collector.go | 8 ++++---- collector/system/storage/collector.go | 8 ++++---- collector/system/storage/drives/collector.go | 10 +++++----- .../storage/storage_controllers/collector.go | 6 +++--- collector/system/storage/volumes/collector.go | 18 +++++++++--------- collector/test_helpers.go | 2 +- common/context.go | 10 +++++----- 25 files changed, 79 insertions(+), 79 deletions(-) diff --git a/collector/chassis/collector.go b/collector/chassis/collector.go index c90fd93a..d3c05ef1 100755 --- a/collector/chassis/collector.go +++ b/collector/chassis/collector.go @@ -58,7 +58,7 @@ func NewCollector(ctx *common.CollectionContext, logger *slog.Logger) *Collector // get service from redfish client return &Collector{ - Ctx: ctx, + Ctx: ctx, Log: logger.With( "collector", "ChassisCollector", ), @@ -151,7 +151,7 @@ func (c *Collector) Collect(ch chan<- prometheus.Metric) { c.collectorScrapeStatus.WithLabelValues("chassis").Set(float64(1)) } -func (c* Collector) collectLogs(ch chan<- prometheus.Metric, chassis *schemas.Chassis) { +func (c *Collector) collectLogs(ch chan<- prometheus.Metric, chassis *schemas.Chassis) { logServices, err := chassis.LogServices() if err != nil { c.Log.Error("error getting log services from chassis", "operation", "chassis.LogServices()", "err", err) diff --git a/collector/chassis/network_adapters/collector.go b/collector/chassis/network_adapters/collector.go index da5acdaf..d48c1632 100644 --- a/collector/chassis/network_adapters/collector.go +++ b/collector/chassis/network_adapters/collector.go @@ -44,7 +44,7 @@ type Collector struct { // NewCollector returns a collector that collects chassis network adapter data func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, chassis *schemas.Chassis) *Collector { return &Collector{ - Ctx: ctx, + Ctx: ctx, Log: logger.With( "collector", Subsystem, ), @@ -148,7 +148,7 @@ func (c *Collector) parseNetworkPort(ch chan<- prometheus.Metric, networkPort *s chassisNetworkPortLabelValues := []string{"network_port", c.chassis.ID, networkAdapterName, networkAdapterID, networkPort.Name, networkPort.ID, string(networkPortLinkType), string(networkPortConnectionType), networkPort.PhysicalPortNumber} if networkPort.CurrentLinkSpeedMbps != nil { - ch <- prometheus.MustNewConstMetric(metricMap["chassis_network_port_link_speed_gbps"].Desc, prometheus.GaugeValue, float64(*networkPort.CurrentLinkSpeedMbps) / 1000.0, chassisNetworkPortLabelValues...) + ch <- prometheus.MustNewConstMetric(metricMap["chassis_network_port_link_speed_gbps"].Desc, prometheus.GaugeValue, float64(*networkPort.CurrentLinkSpeedMbps)/1000.0, chassisNetworkPortLabelValues...) } if linkStatus, ok := parseNetworkPortLinkStatus(networkPort.LinkStatus); ok { diff --git a/collector/chassis/power/collector.go b/collector/chassis/power/collector.go index 9f980cdc..767213ed 100644 --- a/collector/chassis/power/collector.go +++ b/collector/chassis/power/collector.go @@ -38,7 +38,7 @@ type Collector struct { // NewCollector returns a collector that collects chassis power data func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, chassis *schemas.Chassis) *Collector { return &Collector{ - Ctx: ctx, + Ctx: ctx, Log: logger.With( "collector", Subsystem, ), diff --git a/collector/chassis/power_common/common.go b/collector/chassis/power_common/common.go index de839937..7af719f9 100644 --- a/collector/chassis/power_common/common.go +++ b/collector/chassis/power_common/common.go @@ -9,8 +9,8 @@ import ( ) var ( - Subsystem = "chassis" - ChassisPowerSupplyLabelNames = []string{"resource", "chassis_id", "power_supply", "power_supply_id"} + Subsystem = "chassis" + ChassisPowerSupplyLabelNames = []string{"resource", "chassis_id", "power_supply", "power_supply_id"} metricMap = createMetricMap() ) diff --git a/collector/chassis/power_subsystem/collector.go b/collector/chassis/power_subsystem/collector.go index b2b11ea3..e15e79be 100644 --- a/collector/chassis/power_subsystem/collector.go +++ b/collector/chassis/power_subsystem/collector.go @@ -32,7 +32,7 @@ type Collector struct { // NewCollector returns a collector that collects chassis power data func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, chassis *schemas.Chassis) *Collector { return &Collector{ - Ctx: ctx, + Ctx: ctx, Log: logger.With( "collector", Subsystem, ), diff --git a/collector/chassis/thermal/collector.go b/collector/chassis/thermal/collector.go index 1739e833..7cbc7cb4 100644 --- a/collector/chassis/thermal/collector.go +++ b/collector/chassis/thermal/collector.go @@ -52,7 +52,7 @@ type Collector struct { // NewCollector returns a collector that collects chassis thermal data func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, chassis *schemas.Chassis) *Collector { return &Collector{ - Ctx: ctx, + Ctx: ctx, Log: logger.With( "collector", Subsystem, ), diff --git a/collector/chassis/thermal_common/common.go b/collector/chassis/thermal_common/common.go index 8e593d1a..4dc7da4e 100644 --- a/collector/chassis/thermal_common/common.go +++ b/collector/chassis/thermal_common/common.go @@ -10,8 +10,8 @@ import ( ) var ( - Subsystem = "chassis" - FanLabelNames = []string{"resource", "chassis_id", "fan", "fan_id", "fan_unit"} + Subsystem = "chassis" + FanLabelNames = []string{"resource", "chassis_id", "fan", "fan_id", "fan_unit"} metricMap = createMetricMap() ) diff --git a/collector/chassis/thermal_subsystem/collector.go b/collector/chassis/thermal_subsystem/collector.go index a0ed03cd..56ffc8f5 100644 --- a/collector/chassis/thermal_subsystem/collector.go +++ b/collector/chassis/thermal_subsystem/collector.go @@ -25,7 +25,7 @@ type Collector struct { // NewCollector returns a collector that collects chassis thermal data func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, chassis *schemas.Chassis) *Collector { return &Collector{ - Ctx: ctx, + Ctx: ctx, Log: logger.With( "collector", Subsystem, ), diff --git a/collector/chassis/thermal_subsystem/fans/collector.go b/collector/chassis/thermal_subsystem/fans/collector.go index 03f28986..a040bc2b 100644 --- a/collector/chassis/thermal_subsystem/fans/collector.go +++ b/collector/chassis/thermal_subsystem/fans/collector.go @@ -33,12 +33,12 @@ type Collector struct { // NewCollector returns a collector that collects thermal subsystem fan data func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, chassisID *string, thermalSubsystem *schemas.ThermalSubsystem) *Collector { return &Collector{ - Ctx: ctx, + Ctx: ctx, Log: logger.With( "collector", Subsystem, ), thermalSubsystem: thermalSubsystem, - chassisID: chassisID, + chassisID: chassisID, } } diff --git a/collector/chassis/thermal_subsystem/thermal_metrics/collector.go b/collector/chassis/thermal_subsystem/thermal_metrics/collector.go index 36b45db7..063aae00 100644 --- a/collector/chassis/thermal_subsystem/thermal_metrics/collector.go +++ b/collector/chassis/thermal_subsystem/thermal_metrics/collector.go @@ -36,12 +36,12 @@ type Collector struct { // NewCollector returns a collector that collects thermal subsystem fan data func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, chassisID *string, thermalSubsystem *schemas.ThermalSubsystem) *Collector { return &Collector{ - Ctx: ctx, + Ctx: ctx, Log: logger.With( "collector", Subsystem, ), thermalSubsystem: thermalSubsystem, - chassisID: chassisID, + chassisID: chassisID, } } diff --git a/collector/manager/collector.go b/collector/manager/collector.go index 5d2b8cd2..2824945b 100755 --- a/collector/manager/collector.go +++ b/collector/manager/collector.go @@ -47,7 +47,7 @@ func createMetricMap() map[string]common.Metric { // NewCollector returns a collector that collecting memory statistics func NewCollector(ctx *common.CollectionContext, logger *slog.Logger) *Collector { return &Collector{ - Ctx: ctx, + Ctx: ctx, Log: logger.With( "collector", "ManagerCollector", ), diff --git a/collector/system/collector.go b/collector/system/collector.go index 59cf3c01..8b3ea56c 100755 --- a/collector/system/collector.go +++ b/collector/system/collector.go @@ -20,9 +20,9 @@ import ( ) var ( - Subsystem = "system" - SystemLabelNames = []string{"hostname", "resource", "system_id"} - SystemBIOSLabelNames = append(slices.Clone(SystemLabelNames), "bios_version") + Subsystem = "system" + SystemLabelNames = []string{"hostname", "resource", "system_id"} + SystemBIOSLabelNames = append(slices.Clone(SystemLabelNames), "bios_version") SystemLogServiceLabelNames = []string{"system_id", "log_service", "log_service_id", "log_service_enabled", "log_service_overwrite_policy"} SystemLogEntryLabelNames = []string{"system_id", "log_service", "log_service_id", "log_entry", "log_entry_id", "log_entry_code", "log_entry_type", "log_entry_message_id", "log_entry_sensor_number", "log_entry_sensor_type"} @@ -55,7 +55,7 @@ func createMetricMap() map[string]common.Metric { // Collector implements the prometheus.Collector. type Collector struct { - Ctx *common.CollectionContext + Ctx *common.CollectionContext prometheus.Collector collectorScrapeStatus *prometheus.GaugeVec Log *slog.Logger @@ -64,7 +64,7 @@ type Collector struct { // NewCollector returns a collector that collecting memory statistics func NewCollector(ctx *common.CollectionContext, logger *slog.Logger) *Collector { return &Collector{ - Ctx: ctx, + Ctx: ctx, Log: logger.With( "collector", "SystemCollector", ), diff --git a/collector/system/ethernet_interfaces/collector.go b/collector/system/ethernet_interfaces/collector.go index 1336aead..4a9b3c6e 100644 --- a/collector/system/ethernet_interfaces/collector.go +++ b/collector/system/ethernet_interfaces/collector.go @@ -32,15 +32,15 @@ func createMetricMap() map[string]common.Metric { // Implements the prometheus.Collector. type Collector struct { - Ctx *common.CollectionContext - Log *slog.Logger - system *schemas.ComputerSystem + Ctx *common.CollectionContext + Log *slog.Logger + system *schemas.ComputerSystem } // NewCollector returns a collector that collects system memory data func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, system *schemas.ComputerSystem) *Collector { return &Collector{ - Ctx: ctx, + Ctx: ctx, Log: logger.With( "collector", Subsystem, "system", system.ID, diff --git a/collector/system/memory/collector.go b/collector/system/memory/collector.go index 6703f548..8a1fd471 100644 --- a/collector/system/memory/collector.go +++ b/collector/system/memory/collector.go @@ -30,15 +30,15 @@ func createMetricMap() map[string]common.Metric { // Implements the prometheus.Collector. type Collector struct { - Ctx *common.CollectionContext - Log *slog.Logger - system *schemas.ComputerSystem + Ctx *common.CollectionContext + Log *slog.Logger + system *schemas.ComputerSystem } // NewCollector returns a collector that collects system memory data func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, system *schemas.ComputerSystem) *Collector { return &Collector{ - Ctx: ctx, + Ctx: ctx, Log: logger.With( "collector", Subsystem, "system", system.ID, diff --git a/collector/system/network_interfaces/collector.go b/collector/system/network_interfaces/collector.go index f605e0ef..38d32db6 100644 --- a/collector/system/network_interfaces/collector.go +++ b/collector/system/network_interfaces/collector.go @@ -13,7 +13,7 @@ import ( var ( Subsystem = "system" - SystemNetworkInterfaceLabelNames = []string{"hostname", "resource", "network_interface", "network_interface_id"} + SystemNetworkInterfaceLabelNames = []string{"hostname", "resource", "network_interface", "network_interface_id"} metricMap = createMetricMap() ) @@ -29,15 +29,15 @@ func createMetricMap() map[string]common.Metric { // Implements the prometheus.Collector. type Collector struct { - Ctx *common.CollectionContext - Log *slog.Logger - system *schemas.ComputerSystem + Ctx *common.CollectionContext + Log *slog.Logger + system *schemas.ComputerSystem } // NewCollector returns a collector that collects system memory data func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, system *schemas.ComputerSystem) *Collector { return &Collector{ - Ctx: ctx, + Ctx: ctx, Log: logger.With( "collector", Subsystem, "system", system.ID, @@ -70,7 +70,7 @@ func (c *Collector) Collect(ch chan<- prometheus.Metric) { wg := &sync.WaitGroup{} for _, networkInterface := range networkInterfaces { - wg.Go(func() {c.parseNetworkInterface(ch, networkInterface)}) + wg.Go(func() { c.parseNetworkInterface(ch, networkInterface) }) } wg.Wait() } diff --git a/collector/system/pcie_devices/collector.go b/collector/system/pcie_devices/collector.go index bff7f7dc..22b61021 100644 --- a/collector/system/pcie_devices/collector.go +++ b/collector/system/pcie_devices/collector.go @@ -29,15 +29,15 @@ func createMetricMap() map[string]common.Metric { // Implements the prometheus.Collector. type Collector struct { - Ctx *common.CollectionContext - Log *slog.Logger - system *schemas.ComputerSystem + Ctx *common.CollectionContext + Log *slog.Logger + system *schemas.ComputerSystem } // NewCollector returns a collector that collects system memory data func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, system *schemas.ComputerSystem) *Collector { return &Collector{ - Ctx: ctx, + Ctx: ctx, Log: logger.With( "collector", Subsystem, "system", system.ID, diff --git a/collector/system/pcie_functions/collector.go b/collector/system/pcie_functions/collector.go index 9795913d..55384582 100644 --- a/collector/system/pcie_functions/collector.go +++ b/collector/system/pcie_functions/collector.go @@ -29,15 +29,15 @@ func createMetricMap() map[string]common.Metric { // Implements the prometheus.Collector. type Collector struct { - Ctx *common.CollectionContext - Log *slog.Logger - system *schemas.ComputerSystem + Ctx *common.CollectionContext + Log *slog.Logger + system *schemas.ComputerSystem } // NewCollector returns a collector that collects system memory data func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, system *schemas.ComputerSystem) *Collector { return &Collector{ - Ctx: ctx, + Ctx: ctx, Log: logger.With( "collector", Subsystem, "system", system.ID, diff --git a/collector/system/processors/collector.go b/collector/system/processors/collector.go index c3e591f0..ce34867d 100644 --- a/collector/system/processors/collector.go +++ b/collector/system/processors/collector.go @@ -33,15 +33,15 @@ func createMetricMap() map[string]common.Metric { // Implements the prometheus.Collector. type Collector struct { - Ctx *common.CollectionContext - Log *slog.Logger - system *schemas.ComputerSystem + Ctx *common.CollectionContext + Log *slog.Logger + system *schemas.ComputerSystem } // NewCollector returns a collector that collects system memory data func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, system *schemas.ComputerSystem) *Collector { return &Collector{ - Ctx: ctx, + Ctx: ctx, Log: logger.With( "collector", Subsystem, "system", system.ID, diff --git a/collector/system/simple_storage/collector.go b/collector/system/simple_storage/collector.go index f990d6d1..18ef44de 100644 --- a/collector/system/simple_storage/collector.go +++ b/collector/system/simple_storage/collector.go @@ -29,15 +29,15 @@ func createMetricMap() map[string]common.Metric { // Implements the prometheus.Collector. type Collector struct { - Ctx *common.CollectionContext - Log *slog.Logger - system *schemas.ComputerSystem + Ctx *common.CollectionContext + Log *slog.Logger + system *schemas.ComputerSystem } // NewCollector returns a collector that collects system memory data func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, system *schemas.ComputerSystem) *Collector { return &Collector{ - Ctx: ctx, + Ctx: ctx, Log: logger.With( "collector", Subsystem, "system", system.ID, diff --git a/collector/system/storage/collector.go b/collector/system/storage/collector.go index 54e6a2ef..10246170 100644 --- a/collector/system/storage/collector.go +++ b/collector/system/storage/collector.go @@ -26,15 +26,15 @@ func createMetricMap() map[string]common.Metric { // Implements the prometheus.Collector. type Collector struct { - Ctx *common.CollectionContext - Log *slog.Logger - system *schemas.ComputerSystem + Ctx *common.CollectionContext + Log *slog.Logger + system *schemas.ComputerSystem } // NewCollector returns a collector that collects system memory data func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, system *schemas.ComputerSystem) *Collector { return &Collector{ - Ctx: ctx, + Ctx: ctx, Log: logger.With( "collector", Subsystem, "system", system.ID, diff --git a/collector/system/storage/drives/collector.go b/collector/system/storage/drives/collector.go index a8a36a30..c4d718e9 100644 --- a/collector/system/storage/drives/collector.go +++ b/collector/system/storage/drives/collector.go @@ -30,21 +30,21 @@ func createMetricMap() map[string]common.Metric { // Implements the prometheus.Collector. type Collector struct { - Ctx *common.CollectionContext - Log *slog.Logger - storage *schemas.Storage + Ctx *common.CollectionContext + Log *slog.Logger + storage *schemas.Storage hostname *string } // NewCollector returns a collector that collects storage volume data func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, storage *schemas.Storage, hostname *string) *Collector { return &Collector{ - Ctx: ctx, + Ctx: ctx, Log: logger.With( "collector", Subsystem, "storage", storage.ID, ), - storage: storage, + storage: storage, hostname: hostname, } } diff --git a/collector/system/storage/storage_controllers/collector.go b/collector/system/storage/storage_controllers/collector.go index 39f5b1aa..ee6c554e 100644 --- a/collector/system/storage/storage_controllers/collector.go +++ b/collector/system/storage/storage_controllers/collector.go @@ -38,7 +38,7 @@ type Collector struct { // NewCollector returns a collector that collects storage volume data func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, storage *schemas.Storage, hostname *string) *Collector { return &Collector{ - Ctx: ctx, + Ctx: ctx, Log: logger.With( "collector", Subsystem, "storage", storage.ID, @@ -69,10 +69,10 @@ func (c *Collector) Collect(ch chan<- prometheus.Metric) { wg := &sync.WaitGroup{} for _, controller := range storageControllers { - wg.Go(func() { c.parseController(ch, controller)}) + wg.Go(func() { c.parseController(ch, controller) }) } for _, controller := range c.storage.StorageControllers { // Deprecated in Redfish v1.13.0 - wg.Go(func() { c.parseController(ch, &controller)}) + wg.Go(func() { c.parseController(ch, &controller) }) } wg.Wait() } diff --git a/collector/system/storage/volumes/collector.go b/collector/system/storage/volumes/collector.go index 62fce8d8..1a375146 100644 --- a/collector/system/storage/volumes/collector.go +++ b/collector/system/storage/volumes/collector.go @@ -30,23 +30,23 @@ func createMetricMap() map[string]common.Metric { // Implements the prometheus.Collector. type Collector struct { - Ctx *common.CollectionContext - Log *slog.Logger - storage *schemas.Storage - hostname *string + Ctx *common.CollectionContext + Log *slog.Logger + storage *schemas.Storage + hostname *string volumeDeduplicator *VolumeDeduplicator } // NewCollector returns a collector that collects storage volume data func NewCollector(ctx *common.CollectionContext, logger *slog.Logger, storage *schemas.Storage, hostname *string, volumeDeduplicator *VolumeDeduplicator) *Collector { return &Collector{ - Ctx: ctx, + Ctx: ctx, Log: logger.With( "collector", Subsystem, "storage", storage.ID, ), - storage: storage, - hostname: hostname, + storage: storage, + hostname: hostname, volumeDeduplicator: volumeDeduplicator, } } @@ -101,7 +101,7 @@ func parseVolume(ch chan<- prometheus.Metric, systemHostName string, volume *sch type VolumeDeduplicator struct { seenVolumes map[string]any - mu sync.Mutex + mu sync.Mutex } // Returns whether the volume was previously unseen @@ -120,7 +120,7 @@ func (d *VolumeDeduplicator) SetVolumeIsSeen(volume *schemas.Volume) bool { } func NewVolumeDeduplicator() VolumeDeduplicator { - return VolumeDeduplicator { + return VolumeDeduplicator{ seenVolumes: make(map[string]any), } } diff --git a/collector/test_helpers.go b/collector/test_helpers.go index 448eaa31..a4370a97 100644 --- a/collector/test_helpers.go +++ b/collector/test_helpers.go @@ -38,7 +38,7 @@ func CreateStaticBMC(t *testing.T, path string, collect_logs bool) *RedfishColle targetLoggerCtx := promslog.New(&promslogConfig) - hostConfig := common.HostConfig { + hostConfig := common.HostConfig{ Collectlogs: collect_logs, } require.NoError(t, err) diff --git a/common/context.go b/common/context.go index 6c1e3cf5..ed9cc0d1 100644 --- a/common/context.go +++ b/common/context.go @@ -44,12 +44,12 @@ func newRedfishClient(host string, username string, password string) (*gofish.AP url := fmt.Sprintf("https://%s", host) config := gofish.ClientConfig{ - Endpoint: url, - Username: username, - Password: password, - Insecure: true, + Endpoint: url, + Username: username, + Password: password, + Insecure: true, MaxConcurrentRequests: 1024, - ReuseConnections: true, + ReuseConnections: true, } redfishClient, err := gofish.Connect(config) if err != nil { From 16c56eeffa12b82fca0d1ff2c586595f9e67dbb6 Mon Sep 17 00:00:00 2001 From: MurrayGroves Date: Wed, 28 Oct 2026 16:36:01 +0000 Subject: [PATCH 29/33] Use development version of gofish In order to allow deserialisation of Power data from uncompliant BMCs which send PowerLimit.LimitInWatts as a string not a float64. --- go.mod | 2 +- go.sum | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 95892301..22b73a5e 100644 --- a/go.mod +++ b/go.mod @@ -8,7 +8,7 @@ require ( github.com/prometheus/client_golang v1.25.0 github.com/prometheus/common v0.72.1 github.com/prometheus/exporter-toolkit v0.20.0 - github.com/stmcginnis/gofish v0.27.0 + github.com/stmcginnis/gofish v0.27.1-0.20261026130946-d7d356af0d92 github.com/stretchr/testify v1.12.1 github.com/testcontainers/testcontainers-go v0.44.0 gopkg.in/yaml.v2 v2.4.0 diff --git a/go.sum b/go.sum index 0fe25ad8..85db13ea 100644 --- a/go.sum +++ b/go.sum @@ -121,6 +121,8 @@ github.com/sirupsen/logrus v1.9.4 h1:TsZE7l11zFCLZnZ+teH4Umoq5BhEIfIzfRDZ1Uzql2w github.com/sirupsen/logrus v1.9.4/go.mod h1:ftWc9WdOfJ0a92nsE2jF5u5ZwH8Bv2zdeOC42RjbV2g= github.com/stmcginnis/gofish v0.27.0 h1:jyM2BlBhULXtHnayY+/wnkZYXKjIO0ZdR3oBXKl1VYs= github.com/stmcginnis/gofish v0.27.0/go.mod h1:PzF5i8ecRG9A2ol8XT64npKUunyraJ+7t0kYMpQAtqU= +github.com/stmcginnis/gofish v0.27.1-0.20261026130946-d7d356af0d92 h1:NfcCciyGiZhqBqRz6y9ZVqAX6voYs5QDYyi7EcHgmZU= +github.com/stmcginnis/gofish v0.27.1-0.20261026130946-d7d356af0d92/go.mod h1:PzF5i8ecRG9A2ol8XT64npKUunyraJ+7t0kYMpQAtqU= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= From ccd4a1751f25e818786d9d2267033aad4dd146a9 Mon Sep 17 00:00:00 2001 From: MurrayGroves Date: Wed, 28 Oct 2026 16:40:39 +0000 Subject: [PATCH 30/33] Run tests in CI --- .github/workflows/pull_request.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index 7ad88d25..68b8f039 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -19,5 +19,10 @@ jobs: - name: Check style run: make style + - name: Run tests + run: go test ./... + env: + FIXTURES_DIR: "${{ github.workspace }}/test_dependencies" + - name: Build Docker container run: make docker-build From 878da261921741e43cb8ec413ac9ef7e1e26427a Mon Sep 17 00:00:00 2001 From: MurrayGroves Date: Thu, 29 Oct 2026 09:35:34 +0000 Subject: [PATCH 31/33] Bump setup-go, point at go.mod --- .github/workflows/pull_request.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index 68b8f039..d7428ddb 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -12,9 +12,9 @@ jobs: - uses: actions/checkout@v4 - name: Set up Go - uses: actions/setup-go@v4 + uses: actions/setup-go@v7 with: - go-version: '1.27' + go-version-file: 'go.mod' - name: Check style run: make style From 2a909cb3265f94d6a32faa513d2ceed2a17700e6 Mon Sep 17 00:00:00 2001 From: MurrayGroves Date: Thu, 29 Oct 2026 16:17:31 +0000 Subject: [PATCH 32/33] Remove web profiler --- main.go | 2 -- 1 file changed, 2 deletions(-) diff --git a/main.go b/main.go index 6812990b..df221537 100755 --- a/main.go +++ b/main.go @@ -21,8 +21,6 @@ import ( "github.com/stackhpc/redfish_exporter/common" ) -import _ "net/http/pprof" - var ( Version string BuildRevision string From 1194f45f833e9a4319a1a1002932c4f62f8192ff Mon Sep 17 00:00:00 2001 From: MurrayGroves Date: Thu, 29 Oct 2026 16:22:17 +0000 Subject: [PATCH 33/33] Test via makefile --- .github/workflows/pull_request.yml | 4 +--- Makefile | 6 +++++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index d7428ddb..4118d61b 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -20,9 +20,7 @@ jobs: run: make style - name: Run tests - run: go test ./... - env: - FIXTURES_DIR: "${{ github.workspace }}/test_dependencies" + run: make test - name: Build Docker container run: make docker-build diff --git a/Makefile b/Makefile index 3f2a09e7..74fecc8e 100755 --- a/Makefile +++ b/Makefile @@ -13,7 +13,7 @@ BRANCH ?=$(shell git rev-parse --abbrev-ref HEAD) TIME ?=$(shell date --rfc-3339=seconds) DOCKER := $(shell { command -v podman || command -v docker; } 2>/dev/null) -all: fmt style build docker-build +all: fmt style build test docker-build style: @echo ">> checking code style" @@ -33,6 +33,10 @@ build: | @echo ">> building binaries" $(GO) build -o build/redfish_exporter -ldflags '-X "main.Version=$(VERSION)" -X "main.BuildRevision=$(REVISION)" -X "main.BuildBranch=$(BRANCH)" -X "main.BuildTime=$(TIME)"' +test: | + @echo ">> testing" + FIXTURES_DIR="$(shell pwd)/test_dependencies" $(GO) test -race ./... + docker-build: $(DOCKER) build -t stackhpc/redfish_exporter --network=host .