diff --git a/rsd_lib/resources/v2_1/manager/manager.py b/rsd_lib/resources/v2_1/manager/manager.py index 414ddfa..bc59455 100644 --- a/rsd_lib/resources/v2_1/manager/manager.py +++ b/rsd_lib/resources/v2_1/manager/manager.py @@ -26,6 +26,23 @@ from rsd_lib.resources.v2_1.system import ethernet_interface from rsd_lib import utils as rsd_lib_utils +class LinksIntelRackScaleField(base.CompositeField): + + manager_for_services = base.Field( + "ManagerForServices", adapter=utils.get_members_identities + ) + + manager_for_switches = base.Field( + "ManagerForSwitches", adapter=utils.get_members_identities + ) + + +class LinksOemField(base.CompositeField): + + intel_rackscale = LinksIntelRackScaleField("Intel_RackScale") + """Intel Rack Scale Design specific properties.""" + + class LinksField(base.CompositeField): manager_for_servers = base.Field( @@ -49,6 +66,9 @@ class LinksField(base.CompositeField): located in. """ + oem = LinksOemField("Oem") + """Oem specific properties.""" + class SerialConsoleField(base.CompositeField): """SerialConsole field diff --git a/rsd_lib/tests/unit/resources/v2_1/manager/test_manager.py b/rsd_lib/tests/unit/resources/v2_1/manager/test_manager.py index 28169dc..48b3be7 100644 --- a/rsd_lib/tests/unit/resources/v2_1/manager/test_manager.py +++ b/rsd_lib/tests/unit/resources/v2_1/manager/test_manager.py @@ -85,6 +85,14 @@ class TestManager(base.TestCase): ("/redfish/v1/Chassis/FabricModule1",), self.manager_inst.links.manager_for_chassis, ) + self.assertEqual( + ("/redfish/v1/Services/RSS1",), + self.manager_inst.links.oem.intel_rackscale.manager_for_services, + ) + self.assertEqual( + tuple(), + self.manager_inst.links.oem.intel_rackscale.manager_for_switches, + ) self.assertEqual("On", self.manager_inst.power_state) def test_network_protocol(self):