schemas: SPDM TCP responder schema
This schema will be utilized to add remote SPDM TCP Responder to
the user system.
The SPDM-over-TCP design details are found at [1].
Tested:
- Confirmed a system utilizing new schema worked as expected
[1]: https://github.com/openbmc/docs/blob/master/designs/redfish-spdm-attestation.md
Change-Id: I42f0c70040660f5f391765aa4f21c62a83a363be
Signed-off-by: Archana Kakani <archana.kakani@ibm.com>
diff --git a/schemas/exposes_record.json b/schemas/exposes_record.json
index 1bad51f..36dae8c 100644
--- a/schemas/exposes_record.json
+++ b/schemas/exposes_record.json
@@ -31,6 +31,9 @@
                     "$ref": "satellite_controller.json#/$defs/SatelliteController"
                 },
                 {
+                    "$ref": "spdm_endpoint.json#/$defs/SpdmTcpEndpoint"
+                },
+                {
                     "$ref": "stepwise.json#/$defs/Stepwise"
                 },
                 {
diff --git a/schemas/meson.build b/schemas/meson.build
index 1dc345e..c6941fb 100644
--- a/schemas/meson.build
+++ b/schemas/meson.build
@@ -17,6 +17,7 @@
     'pid.json',
     'pid_zone.json',
     'satellite_controller.json',
+    'spdm_endpoint.json',
     'stepwise.json',
     'topology.json',
     'usb_port.json',
diff --git a/schemas/spdm_endpoint.json b/schemas/spdm_endpoint.json
new file mode 100644
index 0000000..253db64
--- /dev/null
+++ b/schemas/spdm_endpoint.json
@@ -0,0 +1,41 @@
+{
+    "$schema": "http://json-schema.org/draft-07/schema#",
+    "$defs": {
+        "SpdmTcpEndpoint": {
+            "title": "SPDM TCP responder configuration",
+            "description": "The configuration used to add remote SPDM responder to the system",
+            "type": "object",
+            "additionalProperties": false,
+            "properties": {
+                "Hostname": {
+                    "description": "Hostname or IP of remote SPDM TCP responder",
+                    "type": "string"
+                },
+                "Port": {
+                    "description": "Network port SPDM TCP responder is listening on per DSP0287_1.0.0",
+                    "type": "number"
+                },
+                "TrustedComponentType": {
+                    "description": "Type of the Root of Trust",
+                    "enum": ["discrete", "integrated"]
+                },
+                "Name": {
+                    "description": "The name of the object",
+                    "type": "string"
+                },
+                "Type": {
+                    "description": "The type of object",
+                    "type": "string",
+                    "enum": ["SpdmTcpResponder"]
+                }
+            },
+            "required": [
+                "Hostname",
+                "Port",
+                "TrustedComponentType",
+                "Name",
+                "Type"
+            ]
+        }
+    }
+}