aggregation: add satellite controller schema

This schema will be utilized to add remote satellite controllers to a
users system.

bmcweb already has extensive support for utilizing this object. More
information can be found in the following:
  https://gerrit.openbmc.org/c/openbmc/bmcweb/+/57925

Tested:
- Confirmed a system utilizing new schema worked as expected

Change-Id: Id6172d4f5d2243b95331c5d9076e809ef21de219
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
diff --git a/meson.build b/meson.build
index 7788880..ce962a9 100644
--- a/meson.build
+++ b/meson.build
@@ -182,6 +182,7 @@
     'pid_zone.json',
     'stepwise.json',
     'virtual_sensor.json',
+    'satellite_controller.json',
 ]
 
 foreach s : schemas
diff --git a/schemas/global.json b/schemas/global.json
index a7aa1a7..164a2ed 100644
--- a/schemas/global.json
+++ b/schemas/global.json
@@ -24,6 +24,9 @@
                     "$ref": "pid_zone.json#/definitions/PidZone"
                 },
                 {
+                    "$ref": "satellite_controller.json#/definitions/SatelliteController"
+                },
+                {
                     "$ref": "stepwise.json#/definitions/Stepwise"
                 },
                 {
diff --git a/schemas/satellite_controller.json b/schemas/satellite_controller.json
new file mode 100644
index 0000000..8f364bf
--- /dev/null
+++ b/schemas/satellite_controller.json
@@ -0,0 +1,39 @@
+{
+    "$schema": "http://json-schema.org/draft-07/schema#",
+    "definitions": {
+        "SatelliteController": {
+            "title": "satellite controller configuration",
+            "description": [
+                "The configuration used to add remote BMCs to a system"
+            ],
+            "type": "object",
+            "properties": {
+                "Hostname": {
+                    "description": ["Hostname or IP of satellite controller"],
+                    "type": "string"
+                },
+                "Port": {
+                    "description": [
+                        "Network port to connect to satellite controller"
+                    ],
+                    "type": "number"
+                },
+                "AuthType": {
+                    "description": [
+                        "Type of authorization to use with satellite controller"
+                    ],
+                    "enum": ["None"]
+                },
+                "Name": {
+                    "description": ["The name of the object"],
+                    "type": "string"
+                },
+                "Type": {
+                    "description": ["The type of satellite controller"],
+                    "enum": ["SatelliteController"]
+                }
+            },
+            "required": ["Hostname", "Port", "AuthType", "Name", "Type"]
+        }
+    }
+}