Implement JsonSchema endpoint
This patchset implements JsonSchema support, and automates our update
of the XML metadata, and Json schema files in the future by way of a
python script.
Change-Id: Iec6f580d10736678149db18d87be2f140b535be9
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
Signed-off-by: James Feist <james.feist@linux.intel.com>
diff --git a/static/redfish/v1/JsonSchemas/SerialInterface/index.json b/static/redfish/v1/JsonSchemas/SerialInterface/index.json
new file mode 100644
index 0000000..3c4658c
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/SerialInterface/index.json
@@ -0,0 +1,309 @@
+{
+ "$ref": "#/definitions/SerialInterface",
+ "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_3_0.json",
+ "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+ "definitions": {
+ "Actions": {
+ "additionalProperties": false,
+ "description": "The available actions for this resource.",
+ "longDescription": "This type shall contain the available actions for this resource.",
+ "patternProperties": {
+ "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[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": {
+ "Oem": {
+ "$ref": "#/definitions/OemActions"
+ }
+ },
+ "type": "object"
+ },
+ "BitRate": {
+ "enum": [
+ "1200",
+ "2400",
+ "4800",
+ "9600",
+ "19200",
+ "38400",
+ "57600",
+ "115200",
+ "230400"
+ ],
+ "enumDescriptions": {
+ "115200": "A bit rate of 115200bps.",
+ "1200": "A bit rate of 1200bps.",
+ "19200": "A bit rate of 19200bps.",
+ "230400": "A bit rate of 230400bps.",
+ "2400": "A bit rate of 2400bps.",
+ "38400": "A bit rate of 38400bps.",
+ "4800": "A bit rate of 4800bps.",
+ "57600": "A bit rate of 57600bps.",
+ "9600": "A bit rate of 9600bps."
+ },
+ "type": "string"
+ },
+ "ConnectorType": {
+ "enum": [
+ "RJ45",
+ "RJ11",
+ "DB9 Female",
+ "DB9 Male",
+ "DB25 Female",
+ "DB25 Male",
+ "USB",
+ "mUSB",
+ "uUSB"
+ ],
+ "enumDescriptions": {
+ "DB25 Female": "A DB25 Female connector.",
+ "DB25 Male": "A DB25 Male connector.",
+ "DB9 Female": "A DB9 Female connector.",
+ "DB9 Male": "A DB9 Male connector.",
+ "RJ11": "An RJ11 connector.",
+ "RJ45": "An RJ45 connector.",
+ "USB": "A USB connector.",
+ "mUSB": "A mUSB connector.",
+ "uUSB": "A uUSB connector."
+ },
+ "type": "string"
+ },
+ "DataBits": {
+ "enum": [
+ "5",
+ "6",
+ "7",
+ "8"
+ ],
+ "enumDescriptions": {
+ "5": "5 bits of data following the start bit.",
+ "6": "6 bits of data following the start bit.",
+ "7": "7 bits of data following the start bit.",
+ "8": "8 bits of data following the start bit."
+ },
+ "type": "string"
+ },
+ "FlowControl": {
+ "enum": [
+ "None",
+ "Software",
+ "Hardware"
+ ],
+ "enumDescriptions": {
+ "Hardware": "Out of band flow control imposed.",
+ "None": "No flow control imposed.",
+ "Software": "XON/XOFF in-band flow control imposed."
+ },
+ "type": "string"
+ },
+ "OemActions": {
+ "additionalProperties": true,
+ "description": "The available OEM specific actions for this resource.",
+ "longDescription": "This type shall contain any additional OEM actions for this resource.",
+ "patternProperties": {
+ "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[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"
+ },
+ "Parity": {
+ "enum": [
+ "None",
+ "Even",
+ "Odd",
+ "Mark",
+ "Space"
+ ],
+ "enumDescriptions": {
+ "Even": "An even parity bit.",
+ "Mark": "A mark parity bit.",
+ "None": "No parity bit.",
+ "Odd": "An odd parity bit.",
+ "Space": "A space parity bit."
+ },
+ "type": "string"
+ },
+ "PinOut": {
+ "enum": [
+ "Cisco",
+ "Cyclades",
+ "Digi"
+ ],
+ "enumDescriptions": {
+ "Cisco": "The Cisco pin configuration.",
+ "Cyclades": "The Cyclades pin configuration.",
+ "Digi": "The Digi pin configuration."
+ },
+ "type": "string"
+ },
+ "SerialInterface": {
+ "additionalProperties": false,
+ "description": "This schema defines an asynchronous serial interface resource.",
+ "longDescription": "This resource shall be used to represent serial resources as part of the Redfish specification.",
+ "patternProperties": {
+ "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[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": {
+ "@odata.context": {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/context"
+ },
+ "@odata.id": {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/id"
+ },
+ "@odata.type": {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/type"
+ },
+ "Actions": {
+ "$ref": "#/definitions/Actions",
+ "description": "The available actions for this resource.",
+ "longDescription": "The Actions property shall contain the available actions for this resource."
+ },
+ "BitRate": {
+ "$ref": "#/definitions/BitRate",
+ "description": "The receive and transmit rate of data flow, typically in bits-per-second (bps), over the serial connection.",
+ "longDescription": "This property shall indicate the transmit and receive speed of the serial connection.",
+ "readonly": false
+ },
+ "ConnectorType": {
+ "$ref": "#/definitions/ConnectorType",
+ "description": "The type of connector used for this interface.",
+ "longDescription": "This property shall indicate the type of phyiscal connector used for this serial connection.",
+ "readonly": true
+ },
+ "DataBits": {
+ "$ref": "#/definitions/DataBits",
+ "description": "The number of data bits that will follow the start bit over the serial connection.",
+ "longDescription": "This property shall indicate number of data bits for the serial connection.",
+ "readonly": false
+ },
+ "Description": {
+ "anyOf": [
+ {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "readonly": true
+ },
+ "FlowControl": {
+ "$ref": "#/definitions/FlowControl",
+ "description": "The type of flow control, if any, that will be imposed on the serial connection.",
+ "longDescription": "This property shall indicate the flow control mechanism for the serial connection.",
+ "readonly": false
+ },
+ "Id": {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
+ "readonly": true
+ },
+ "InterfaceEnabled": {
+ "description": "This indicates whether this interface is enabled.",
+ "longDescription": "The value of this property shall be a boolean indicating whether this interface is enabled.",
+ "readonly": false,
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "Name": {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
+ "readonly": true
+ },
+ "Oem": {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+ "description": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.",
+ "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
+ },
+ "Parity": {
+ "$ref": "#/definitions/Parity",
+ "description": "The type of parity used by the sender and receiver in order to detect errors over the serial connection.",
+ "longDescription": "This property shall indicate parity information for a serial connection.",
+ "readonly": false
+ },
+ "PinOut": {
+ "anyOf": [
+ {
+ "$ref": "#/definitions/PinOut"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "The physical pin configuration needed for a serial connector.",
+ "longDescription": "This property shall indicate the physical pin out for the serial connection.",
+ "readonly": true
+ },
+ "SignalType": {
+ "$ref": "#/definitions/SignalType",
+ "description": "The type of signal used for the communication connection - RS232 or RS485.",
+ "longDescription": "This property shall indicate the type of serial signalling that will be utilized for the serial connection.",
+ "readonly": true
+ },
+ "StopBits": {
+ "$ref": "#/definitions/StopBits",
+ "description": "The period of time before the next start bit is transmitted.",
+ "longDescription": "This property shall indicate the stop bits for the serial connection.",
+ "readonly": false
+ }
+ },
+ "required": [
+ "Id",
+ "Name"
+ ],
+ "type": "object"
+ },
+ "SignalType": {
+ "enum": [
+ "Rs232",
+ "Rs485"
+ ],
+ "enumDescriptions": {
+ "Rs232": "The serial interface follows RS232.",
+ "Rs485": "The serial interface follows RS485."
+ },
+ "type": "string"
+ },
+ "StopBits": {
+ "enum": [
+ "1",
+ "2"
+ ],
+ "enumDescriptions": {
+ "1": "1 stop bit following the data bits.",
+ "2": "2 stop bits following the data bits."
+ },
+ "type": "string"
+ }
+ },
+ "title": "#SerialInterface.v1_1_2.SerialInterface"
+}
\ No newline at end of file