Redfish Schema: Add Stepwise to Oem Schema

This adds the schema required for stepwise controllers.
JSON is auto-created based on XML using redfish csdl to
json script.

Tested-by: Ran redfish validator and verified it passed

Change-Id: Id933d248f55c98d858a7dccffa974f95b98b554e
Signed-off-by: James Feist <james.feist@linux.intel.com>
diff --git a/static/redfish/v1/JsonSchemas/OemManager/index.json b/static/redfish/v1/JsonSchemas/OemManager/index.json
index c3b4bf4..bf69511 100644
--- a/static/redfish/v1/JsonSchemas/OemManager/index.json
+++ b/static/redfish/v1/JsonSchemas/OemManager/index.json
@@ -1,5 +1,6 @@
 {
     "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_4_0.json",
+    "copyright": "Copyright 2014-2018 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Fan": {
             "additionalProperties": true,
@@ -47,6 +48,16 @@
                             "type": "null"
                         }
                     ]
+                },
+                "StepwiseControllers": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/StepwiseControllers"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ]
                 }
             },
             "type": "object"
@@ -407,7 +418,123 @@
             },
             "properties": {},
             "type": "object"
+        },
+        "StepwiseController": {
+            "additionalProperties": false,
+            "description": "Configuration data for Stepwise Controllers.",
+            "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",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "Inputs": {
+                    "description": "Input sensors to the Stepwise controller.",
+                    "items": {
+                        "type": [
+                            "string",
+                            "null"
+                        ]
+                    },
+                    "longDescription": "Input sensors to the Stepwise controller.",
+                    "type": "array"
+                },
+                "NegativeHysteresis": {
+                    "description": "Negative Hysteresis for the stepwise controller.",
+                    "longDescription": "Negative Hysteresis for the stepwise controller.",
+                    "type": "number"
+                },
+                "PositiveHysteresis": {
+                    "description": "Positive Hysteresis for the stepwise controller.",
+                    "longDescription": "Positive Hysteresis for the stepwise controller.",
+                    "type": "number"
+                },
+                "Steps": {
+                    "description": "Temperature vs RPM steps for the stepwise controller.",
+                    "items": {
+                        "anyOf": [
+                            {
+                                "$ref": "#/definitions/StepwiseSteps"
+                            },
+                            {
+                                "type": "null"
+                            }
+                        ]
+                    },
+                    "longDescription": "Temperature vs RPM steps for the stepwise controller.",
+                    "type": "array"
+                },
+                "Zones": {
+                    "description": "Contains the Zones that this controller contributes to.",
+                    "items": {
+                        "$ref": "#/definitions/FanZone"
+                    },
+                    "readonly": true,
+                    "type": "array"
+                },
+                "Zones@odata.count": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+                }
+            },
+            "type": "object"
+        },
+        "StepwiseControllers": {
+            "additionalProperties": true,
+            "description": "OpenBmc StepwiseControllers.",
+            "longDescription": "Container for OpenBmc Stepwise controllers.",
+            "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",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {},
+            "type": "object"
+        },
+        "StepwiseSteps": {
+            "additionalProperties": false,
+            "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",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "Output": {
+                    "description": "Fan speed setting for step.",
+                    "longDescription": "Fan speed setting for step.",
+                    "type": "number"
+                },
+                "Target": {
+                    "description": "Input sensor reading for step.",
+                    "longDescription": "Input sensor reading for step.",
+                    "type": "number"
+                }
+            },
+            "type": "object"
         }
     },
     "title": "#OemManager"
-}
+}
\ No newline at end of file