OemComputerSystem -> OpenBMCComputerSystem
Rename these and add a version like we've done other places.
Partial fix for #184
Change-Id: I9039974a90f6508bdd474e6363a3df7286b1473c
Signed-off-by: Ed Tanous <ed@tanous.net>
diff --git a/redfish-core/include/generated/enums/oem_computer_system.hpp b/redfish-core/include/generated/enums/open_bmc_computer_system.hpp
similarity index 94%
rename from redfish-core/include/generated/enums/oem_computer_system.hpp
rename to redfish-core/include/generated/enums/open_bmc_computer_system.hpp
index a1a4a6e..aa4539e 100644
--- a/redfish-core/include/generated/enums/oem_computer_system.hpp
+++ b/redfish-core/include/generated/enums/open_bmc_computer_system.hpp
@@ -1,7 +1,7 @@
#pragma once
#include <nlohmann/json.hpp>
-namespace oem_computer_system
+namespace open_bmc_computer_system
{
// clang-format off
diff --git a/redfish-core/lib/systems.hpp b/redfish-core/lib/systems.hpp
index 93d4ef5..8c4f991 100644
--- a/redfish-core/lib/systems.hpp
+++ b/redfish-core/lib/systems.hpp
@@ -1965,8 +1965,8 @@
nlohmann::json& oemPFR =
asyncResp->res.jsonValue["Oem"]["OpenBmc"]["FirmwareProvisioning"];
asyncResp->res.jsonValue["Oem"]["OpenBmc"]["@odata.type"] =
- "#OemComputerSystem.OpenBmc";
- oemPFR["@odata.type"] = "#OemComputerSystem.FirmwareProvisioning";
+ "#OpenBMCComputerSystem.v1_0_0.OpenBmc";
+ oemPFR["@odata.type"] = "#OpenBMCComputerSystem.FirmwareProvisioning";
if (ec)
{
diff --git a/redfish-core/schema/oem/openbmc/csdl/OemComputerSystem_v1.xml b/redfish-core/schema/oem/openbmc/csdl/OpenBMCComputerSystem_v1.xml
similarity index 79%
rename from redfish-core/schema/oem/openbmc/csdl/OemComputerSystem_v1.xml
rename to redfish-core/schema/oem/openbmc/csdl/OpenBMCComputerSystem_v1.xml
index 6588f0a..9820b39 100644
--- a/redfish-core/schema/oem/openbmc/csdl/OemComputerSystem_v1.xml
+++ b/redfish-core/schema/oem/openbmc/csdl/OpenBMCComputerSystem_v1.xml
@@ -17,12 +17,23 @@
</edmx:Reference>
<edmx:DataServices>
- <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="OemComputerSystem">
+
+ <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="OpenBMCComputerSystem">
+ <Annotation Term="Redfish.OwningEntity" String="OpenBMC"/>
+ <Annotation Term="OData.Description" String="OpenBMC extensions to the standard account service."/>
+ <Annotation Term="Redfish.Uris">
+ <Collection>
+ <String>/redfish/v1/Systems/{SystemId}#/OpeBMC/OpenBMCAccountService</String>
+ </Collection>
+ </Annotation>
+ </Schema>
+
+ <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="OpenBMCComputerSystem.v1_0_0">
<ComplexType Name="Oem" BaseType="Resource.OemObject">
<Annotation Term="OData.AdditionalProperties" Bool="true" />
- <Annotation Term="OData.Description" String="OemComputerSystem Oem properties." />
+ <Annotation Term="OData.Description" String="OpenBMCComputerSystem Oem properties." />
<Annotation Term="OData.AutoExpand"/>
- <Property Name="OpenBmc" Type="OemComputerSystem.OpenBmc"/>
+ <Property Name="OpenBmc" Type="OpenBMCComputerSystem.OpenBmc"/>
</ComplexType>
<ComplexType Name="OpenBmc" BaseType="Resource.OemObject">
@@ -30,10 +41,10 @@
<Annotation Term="OData.Description" String="Oem properties for OpenBmc." />
<Annotation Term="Redfish.DynamicPropertyPatterns">
<Collection>
- <NavigationProperty Type="OemComputerSystem.FirmwareProvisioning">
+ <NavigationProperty Type="OpenBMCComputerSystem.FirmwareProvisioning">
<Annotation Term="OData.AutoExpand"/>
<PropertyValue Property="Pattern" String="[A-Za-z0-9_.:]+" />
- <PropertyValue Property="Type" String="OemComputerSystem.FirmwareProvisioning" />
+ <PropertyValue Property="Type" String="OpenBMCComputerSystem.FirmwareProvisioning" />
</NavigationProperty>
</Collection>
</Annotation>
@@ -42,7 +53,7 @@
<ComplexType Name="FirmwareProvisioning" BaseType="Resource.OemObject">
<Annotation Term="OData.AdditionalProperties" Bool="false" />
<Annotation Term="OData.Description" String="Configuration data for platform firmware provisioning." />
- <Property Name="ProvisioningStatus" Type="OemComputerSystem.FirmwareProvisioningStatus">
+ <Property Name="ProvisioningStatus" Type="OpenBMCComputerSystem.FirmwareProvisioningStatus">
<Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
<Annotation Term="OData.Description" String="This indicates platform firmware provisioning state."/>
<Annotation Term="OData.LongDescription" String="The value of this property indicating provisioning status of platform firmware."/>
diff --git a/redfish-core/schema/oem/openbmc/json-schema/OemComputerSystem.json b/redfish-core/schema/oem/openbmc/json-schema/OemComputerSystem.json
index 1423af5..5f89659 100644
--- a/redfish-core/schema/oem/openbmc/json-schema/OemComputerSystem.json
+++ b/redfish-core/schema/oem/openbmc/json-schema/OemComputerSystem.json
@@ -1,7 +1,7 @@
{
- "$id": "http://redfish.dmtf.org/schemas/v1/OemComputerSystem.json",
+ "$id": "https://github.com/openbmc/bmcweb/tree/master/static/redfish/v1/JsonSchemasOpenBMCComputerSystem.json",
"$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
- "copyright": "Copyright 2014-2019 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+ "copyright": "Copyright 2023 OpenBMC.",
"definitions": {
"FirmwareProvisioning": {
"additionalProperties": false,
@@ -57,7 +57,7 @@
},
"Oem": {
"additionalProperties": true,
- "description": "OemComputerSystem Oem properties.",
+ "description": "OpenBMCComputerSystem Oem properties.",
"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.",
@@ -107,5 +107,5 @@
"type": "object"
}
},
- "title": "#OemComputerSystem"
+ "title": "#OpenBMCComputerSystem"
}
diff --git a/redfish-core/schema/oem/openbmc/json-schema/OpenBMCComputerSystem.json b/redfish-core/schema/oem/openbmc/json-schema/OpenBMCComputerSystem.json
new file mode 100644
index 0000000..fe0491a
--- /dev/null
+++ b/redfish-core/schema/oem/openbmc/json-schema/OpenBMCComputerSystem.json
@@ -0,0 +1,8 @@
+{
+ "$id": "https://github.com/openbmc/bmcweb/tree/master/redfish-core/schema/oem/openbmc/json-schema/OpenBMCComputerSystem.json",
+ "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+ "copyright": "Copyright 2024 OpenBMC.",
+ "definitions": {},
+ "owningEntity": "OpenBMC",
+ "title": "#OpenBMCComputerSystem"
+}
diff --git a/redfish-core/schema/oem/openbmc/json-schema/OpenBMCComputerSystem.v1_0_0.json b/redfish-core/schema/oem/openbmc/json-schema/OpenBMCComputerSystem.v1_0_0.json
new file mode 100644
index 0000000..9c005aa
--- /dev/null
+++ b/redfish-core/schema/oem/openbmc/json-schema/OpenBMCComputerSystem.v1_0_0.json
@@ -0,0 +1,112 @@
+{
+ "$id": "https://github.com/openbmc/bmcweb/tree/master/redfish-core/schema/oem/openbmc/json-schema/OpenBMCComputerSystem.v1_0_0.json",
+ "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+ "copyright": "Copyright 2024 OpenBMC.",
+ "definitions": {
+ "FirmwareProvisioning": {
+ "additionalProperties": false,
+ "description": "Configuration data for platform firmware provisioning.",
+ "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": {
+ "ProvisioningStatus": {
+ "anyOf": [
+ {
+ "$ref": "https://github.com/openbmc/bmcweb/tree/master/redfish-core/schema/oem/openbmc/json-schema/OpenBMCComputerSystem.json#/definitions/FirmwareProvisioningStatus"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "This indicates platform firmware provisioning state.",
+ "longDescription": "The value of this property indicating provisioning status of platform firmware.",
+ "readonly": true
+ }
+ },
+ "type": "object"
+ },
+ "FirmwareProvisioningStatus": {
+ "enum": [
+ "NotProvisioned",
+ "ProvisionedButNotLocked",
+ "ProvisionedAndLocked"
+ ],
+ "enumDescriptions": {
+ "NotProvisioned": "Platform firmware is not provisioned.",
+ "ProvisionedAndLocked": "Platform firmware is provisioned and locked.",
+ "ProvisionedButNotLocked": "Platform firmware is provisioned but not locked."
+ },
+ "enumLongDescriptions": {
+ "NotProvisioned": "Platform firmware is not provisioned.",
+ "ProvisionedAndLocked": "Platform firmware is provisioned and locked. So re-provisioning is not allowed in this state.",
+ "ProvisionedButNotLocked": "Platform firmware is provisioned but not locked. So re-provisioning is allowed in this state."
+ },
+ "type": "string"
+ },
+ "Oem": {
+ "additionalProperties": true,
+ "description": "OpenBMCComputerSystem Oem properties.",
+ "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": {
+ "OpenBmc": {
+ "anyOf": [
+ {
+ "$ref": "https://github.com/openbmc/bmcweb/tree/master/redfish-core/schema/oem/openbmc/json-schema/OpenBMCComputerSystem.json#/definitions/OpenBmc"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "OpenBmc": {
+ "additionalProperties": true,
+ "description": "Oem properties for OpenBmc.",
+ "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": {},
+ "type": "object"
+ }
+ },
+ "owningEntity": "OpenBMC",
+ "title": "#OpenBMCComputerSystem.v1_0_0"
+}
diff --git a/redfish-core/schema/oem/openbmc/meson.build b/redfish-core/schema/oem/openbmc/meson.build
index 32a3211..5044fe7 100644
--- a/redfish-core/schema/oem/openbmc/meson.build
+++ b/redfish-core/schema/oem/openbmc/meson.build
@@ -2,7 +2,7 @@
schemas = {
'insecure-disable-auth': 'OpenBMCAccountService',
'redfish-oem-manager-fan-data': 'OpenBMCManager',
- 'redfish-provisioning-feature': 'OemComputerSystem',
+ 'redfish-provisioning-feature': 'OpenBMCComputerSystem',
#'vm-nbdproxy': 'OpenBMCVirtualMedia',
}