CSDL abstract classes work like Java abstract classes, they can't be created directly, only inherited from. We should have an inherited class that we version properly, identical to how Redfish does it.
While this would technically be a breaking change to the API surface, clearly nobody has noticed, as you couldn't have generated a "real" client API off the CSDL anyway.
https://github.com/openbmc/bmcweb/blob/65f7365901fad2437456f4edcdac41e03f0ca259/static/redfish/v1/schema/OemAccountService_v1.xml#L65
CSDL abstract classes work like Java abstract classes, they can't be created directly, only inherited from. We should have an inherited class that we version properly, identical to how Redfish does it.
While this would technically be a breaking change to the API surface, clearly nobody has noticed, as you couldn't have generated a "real" client API off the CSDL anyway.