schema: aggregate: add missing properties

Set additionalProperties false on the Aggregrate schema.  This catches a
number of properties in configurations that aren't documented or
checked, so add the minimum required for those as well.

Change-Id: I4e1c144b7bc638870cca53bb6033f8a18989c460
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/schemas/legacy.json b/schemas/legacy.json
index 2656c8c..f3204be 100644
--- a/schemas/legacy.json
+++ b/schemas/legacy.json
@@ -2,6 +2,7 @@
     "$schema": "http://json-schema.org/draft-07/schema#",
     "definitions": {
         "Aggregate": {
+            "additionalProperties": false,
             "properties": {
                 "Address": {
                     "$ref": "#/definitions/Types/Address"
@@ -33,6 +34,9 @@
                 "C2": {
                     "$ref": "#/definitions/Types/C2"
                 },
+                "CPURequired": {
+                    "$ref": "#/definitions/Types/CPURequired"
+                },
                 "ChannelNames": {
                     "$ref": "#/definitions/Types/ChannelNames"
                 },
@@ -45,6 +49,9 @@
                 "CpuID": {
                     "$ref": "#/definitions/Types/CpuID"
                 },
+                "CurrScaleFactor": {
+                    "$ref": "#/definitions/Types/CurrScaleFactor"
+                },
                 "Direction": {
                     "$ref": "#/definitions/Types/Direction"
                 },
@@ -69,6 +76,9 @@
                 "GpioPins": {
                     "$ref": "#/definitions/Types/GpioPins"
                 },
+                "GpioPolarity": {
+                    "$ref": "#/definitions/Types/GpioPolarity"
+                },
                 "ICoefficient": {
                     "$ref": "#/definitions/Types/ICoefficient"
                 },
@@ -108,6 +118,9 @@
                 "NegativeHysteresis": {
                     "$ref": "#/definitions/Types/NegativeHysteresis"
                 },
+                "OffsetValue": {
+                    "$ref": "#/definitions/Types/OffsetValue"
+                },
                 "OutLimitMax": {
                     "$ref": "#/definitions/Types/OutLimitMax"
                 },
@@ -126,6 +139,9 @@
                 "Polarity": {
                     "$ref": "#/definitions/Types/Polarity"
                 },
+                "Polling": {
+                    "$ref": "#/definitions/Types/Polling"
+                },
                 "PositiveHysteresis": {
                     "$ref": "#/definitions/Types/PositiveHysteresis"
                 },
@@ -135,9 +151,15 @@
                 "PowerFactorMin": {
                     "$ref": "#/definitions/Types/PowerFactorMin"
                 },
+                "PowerScaleFactor": {
+                    "$ref": "#/definitions/Types/PowerScaleFactor"
+                },
                 "PowerState": {
                     "$ref": "#/definitions/Types/PowerState"
                 },
+                "Presence": {
+                    "$ref": "#/definitions/Types/Presence"
+                },
                 "PresenceGpio": {
                     "$ref": "#/definitions/Types/PresenceGpio"
                 },
@@ -156,9 +178,18 @@
                 "Reading": {
                     "$ref": "#/definitions/Types/Reading"
                 },
+                "RedundantCount": {
+                    "$ref": "#/definitions/Types/RedundantCount"
+                },
                 "ScaleFactor": {
                     "$ref": "#/definitions/Types/ScaleFactor"
                 },
+                "ScaleValue": {
+                    "$ref": "#/definitions/Types/ScaleValue"
+                },
+                "SensorType": {
+                    "$ref": "#/definitions/Types/SensorType"
+                },
                 "SetPoint": {
                     "$ref": "#/definitions/Types/SetPoint"
                 },
@@ -239,6 +270,9 @@
             "C2": {
                 "type": "number"
             },
+            "CPURequired": {
+                "type": "number"
+            },
             "ChannelNames": {
                 "items": {
                     "type": "string"
@@ -273,6 +307,9 @@
             "CpuID": {
                 "type": "number"
             },
+            "CurrScaleFactor": {
+                "type": "number"
+            },
             "Direction": {
                 "type": "string"
             },
@@ -300,6 +337,11 @@
                 },
                 "type": "array"
             },
+            "GpioPolarity": {
+                "enum": [
+                    "Low"
+                ]
+            },
             "ICoefficient": {
                 "type": "number"
             },
@@ -348,6 +390,9 @@
             "NegativeHysteresis": {
                 "type": "number"
             },
+            "OffsetValue": {
+                "type": "number"
+            },
             "OutLimitMax": {
                 "type": "number"
             },
@@ -372,6 +417,9 @@
             "Polarity": {
                 "type": "string"
             },
+            "Polling": {
+                "type": "object"
+            },
             "PositiveHysteresis": {
                 "type": "number"
             },
@@ -381,9 +429,23 @@
             "PowerFactorMin": {
                 "type": "number"
             },
+            "PowerScaleFactor": {
+                "type": "number"
+            },
             "PowerState": {
                 "type": "string"
             },
+            "Presence": {
+                "properties": {
+                    "PinName": {
+                        "type": "string"
+                    },
+                    "Polarity": {
+                        "enum": "Low"
+                    }
+                },
+                "type": "object"
+            },
             "PresenceGpio": {
                 "type": [
                     "number",
@@ -411,9 +473,18 @@
                 },
                 "type": "array"
             },
+            "RedundantCount": {
+                "type": "number"
+            },
             "ScaleFactor": {
                 "type": "number"
             },
+            "ScaleValue": {
+                "type": "number"
+            },
+            "SensorType": {
+                "type": "string"
+            },
             "SetPoint": {
                 "type": "number"
             },