Move to 2019.4

Make changes to update_schemas.py needed for the move and run
update_schemas.py.

To see an overview of 2019.4 see
https://www.dmtf.org/sites/default/files/Redfish_Release_2019.4_Overview.pdf

Tested: Built bmcweb, loaded on a Witherspoon, and ran
        the validator. No errors.

See new schemas:
 curl -k https://${bmc}/redfish/v1/JsonSchemas/VCATEntry
{
    "@odata.context": "/redfish/v1/$metadata#JsonSchemaFile.JsonSchemaFile",
    "@odata.id": "/redfish/v1/JsonSchemas/VCATEntry",
    "@odata.type": "#JsonSchemaFile.v1_0_2.JsonSchemaFile",
    "Name": "VCATEntry Schema File",
    "Schema": "#VCATEntry.VCATEntry",

Change-Id: I5ae6e3c655e44c82c4457515555bdb934dfb7763
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
diff --git a/static/redfish/v1/JsonSchemas/AccountService/AccountService.json b/static/redfish/v1/JsonSchemas/AccountService/AccountService.json
index 487b3f4..3f85367 100644
--- a/static/redfish/v1/JsonSchemas/AccountService/AccountService.json
+++ b/static/redfish/v1/JsonSchemas/AccountService/AccountService.json
@@ -1,5 +1,5 @@
 {
-    "$id": "http://redfish.dmtf.org/schemas/v1/AccountService.v1_6_0.json",
+    "$id": "http://redfish.dmtf.org/schemas/v1/AccountService.v1_7_0.json",
     "$ref": "#/definitions/AccountService",
     "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
     "copyright": "Copyright 2014-2019 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
@@ -386,6 +386,13 @@
                     "longDescription": "This property shall contain any additional mapping information needed to parse a generic LDAP service.  This property should only be present inside the LDAP property.",
                     "versionAdded": "v1_3_0"
                 },
+                "PasswordSet": {
+                    "description": "Indicates if the Password property is set.",
+                    "longDescription": "This property shall contain `true` if a valid value was provided for the Password property.  Otherwise, the property shall contain `false`.",
+                    "readonly": true,
+                    "type": "boolean",
+                    "versionAdded": "v1_7_0"
+                },
                 "RemoteRoleMapping": {
                     "description": "The mapping rules to convert the external account providers account information to the local Redfish Role.",
                     "items": {
@@ -632,6 +639,6 @@
         }
     },
     "owningEntity": "DMTF",
-    "release": "2019.2",
-    "title": "#AccountService.v1_6_0.AccountService"
+    "release": "2019.4",
+    "title": "#AccountService.v1_7_0.AccountService"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/AddressPool/AddressPool.json b/static/redfish/v1/JsonSchemas/AddressPool/AddressPool.json
new file mode 100644
index 0000000..9e3e327
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/AddressPool/AddressPool.json
@@ -0,0 +1,262 @@
+{
+    "$id": "http://redfish.dmtf.org/schemas/v1/AddressPool.v1_0_0.json",
+    "$ref": "#/definitions/AddressPool",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2019 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)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
+                    "description": "This property shall specify a valid odata or Redfish property.",
+                    "type": [
+                        "array",
+                        "boolean",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "Oem": {
+                    "$ref": "#/definitions/OemActions",
+                    "description": "The available OEM-specific actions for this Resource.",
+                    "longDescription": "This property shall contain the available OEM-specific actions for this Resource."
+                }
+            },
+            "type": "object"
+        },
+        "AddressPool": {
+            "additionalProperties": false,
+            "description": "The schema definition of an address pool and its configuration.",
+            "longDescription": "This Resource shall represent an address pool in a Redfish implementation.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "@odata.context": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
+                },
+                "@odata.id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
+                },
+                "@odata.type": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
+                },
+                "Actions": {
+                    "$ref": "#/definitions/Actions",
+                    "description": "The available actions for this Resource.",
+                    "longDescription": "This property shall contain the available actions for this Resource."
+                },
+                "Description": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "readonly": true
+                },
+                "GenZ": {
+                    "$ref": "#/definitions/GenZ",
+                    "description": "The Gen-Z related properties for this address pool.",
+                    "longDescription": "This property shall contain the Gen-Z related properties to this address pool."
+                },
+                "Id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
+                    "readonly": true
+                },
+                "Links": {
+                    "$ref": "#/definitions/Links",
+                    "description": "The links to other Resources that are related to this Resource.",
+                    "longDescription": "The Redfish Specification-described Links Property shall contain links to Resources related to but not subordinate to this Resource."
+                },
+                "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": "The OEM extension property.",
+                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
+                },
+                "Status": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "The status and health of the Resource and its subordinate or dependent Resources.",
+                    "longDescription": "This property shall contain any status or health properties of the Resource."
+                }
+            },
+            "required": [
+                "@odata.id",
+                "@odata.type",
+                "Id",
+                "Name"
+            ],
+            "type": "object"
+        },
+        "GenZ": {
+            "additionalProperties": false,
+            "description": "Gen-Z related properties for an addres pool.",
+            "longDescription": "This type shall contain Gen-Z related properties for an addres pool.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "AccessKey": {
+                    "description": "The Access Key required for this address pool.",
+                    "longDescription": "This property shall contain the Gen-Z Core Specification-defined Access Key required for this address pool.",
+                    "pattern": "^0[xX]([a-fA-F]|[0-9]){2}$",
+                    "readonly": false,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "MaxCID": {
+                    "description": "The maximum value for the Component Identifier (CID).",
+                    "longDescription": "This property shall contain the maximum value for the Gen-Z Core Specification-defined Component Identifier (CID).",
+                    "readonly": false,
+                    "type": [
+                        "integer",
+                        "null"
+                    ]
+                },
+                "MaxSID": {
+                    "description": "The maximum value for the Subnet Identifier (SID).",
+                    "longDescription": "This property shall contain the maximum value for the Gen-Z Core Specification-defined Subnet Identifier (SID).",
+                    "readonly": false,
+                    "type": [
+                        "integer",
+                        "null"
+                    ]
+                },
+                "MinCID": {
+                    "description": "The minimum value for the Component Identifier (CID).",
+                    "longDescription": "This property shall contain the minimum value for the Gen-Z Core Specification-defined Component Identifier (CID).",
+                    "readonly": false,
+                    "type": [
+                        "integer",
+                        "null"
+                    ]
+                },
+                "MinSID": {
+                    "description": "The minimum value for the Subnet Identifier (SID).",
+                    "longDescription": "This property shall contain the minimum value for the Gen-Z Core Specification-defined Subnet Identifier (SID).",
+                    "readonly": false,
+                    "type": [
+                        "integer",
+                        "null"
+                    ]
+                }
+            },
+            "type": "object"
+        },
+        "Links": {
+            "additionalProperties": false,
+            "description": "The links to other Resources that are related to this Resource.",
+            "longDescription": "The Redfish Specification-described type shall contain links to Resources related to but not subordinate to this Resource.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "Endpoints": {
+                    "description": "An array of links to the endpoints that this address pool contains.",
+                    "items": {
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/Endpoint.json#/definitions/Endpoint"
+                    },
+                    "longDescription": "This property shall contain an array of links to Resources of type Endpoint that this address pool contains.",
+                    "readonly": true,
+                    "type": "array"
+                },
+                "Endpoints@odata.count": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
+                },
+                "Oem": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "The OEM extension property.",
+                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
+                },
+                "Zones": {
+                    "description": "An array of links to the zones that this address pool contains.",
+                    "items": {
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/Zone.json#/definitions/Zone"
+                    },
+                    "longDescription": "This property shall contain an array of links to Resources of type Zone that this address pool contains.",
+                    "readonly": true,
+                    "type": "array"
+                },
+                "Zones@odata.count": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
+                }
+            },
+            "type": "object"
+        },
+        "OemActions": {
+            "additionalProperties": true,
+            "description": "The available OEM-specific actions for this Resource.",
+            "longDescription": "This type shall contain the available OEM-specific actions for this Resource.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {},
+            "type": "object"
+        }
+    },
+    "owningEntity": "DMTF",
+    "release": "2019.4",
+    "title": "#AddressPool.v1_0_0.AddressPool"
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/AddressPool/index.json b/static/redfish/v1/JsonSchemas/AddressPool/index.json
new file mode 100644
index 0000000..8d93071
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/AddressPool/index.json
@@ -0,0 +1,21 @@
+{
+    "@odata.context": "/redfish/v1/$metadata#JsonSchemaFile.JsonSchemaFile",
+    "@odata.id": "/redfish/v1/JsonSchemas/AddressPool",
+    "@odata.type": "#JsonSchemaFile.v1_0_2.JsonSchemaFile",
+    "Name": "AddressPool Schema File",
+    "Schema": "#AddressPool.AddressPool",
+    "Description": "AddressPool Schema File Location",
+    "Id": "AddressPool",
+    "Languages": [
+        "en"
+    ],
+    "Languages@odata.count": 1,
+    "Location": [
+        {
+            "Language": "en",
+            "PublicationUri": "http://redfish.dmtf.org/schemas/v1/AddressPool.json",
+            "Uri": "/redfish/v1/JsonSchemas/AddressPool/AddressPool.json"
+        }
+    ],
+    "Location@odata.count": 1
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/Assembly/Assembly.json b/static/redfish/v1/JsonSchemas/Assembly/Assembly.json
index 3fbcc1b..440e670 100644
--- a/static/redfish/v1/JsonSchemas/Assembly/Assembly.json
+++ b/static/redfish/v1/JsonSchemas/Assembly/Assembly.json
@@ -1,5 +1,5 @@
 {
-    "$id": "http://redfish.dmtf.org/schemas/v1/Assembly.v1_2_2.json",
+    "$id": "http://redfish.dmtf.org/schemas/v1/Assembly.v1_2_3.json",
     "$ref": "#/definitions/Assembly",
     "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
     "copyright": "Copyright 2014-2019 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
@@ -274,8 +274,8 @@
                     ]
                 },
                 "Version": {
-                    "description": "The version of the assembly.",
-                    "longDescription": "This property shall contain the version of the assembly as determined by the vendor or supplier.",
+                    "description": "The hardware version of the assembly.",
+                    "longDescription": "This property shall contain the hardware version of the assembly as determined by the vendor or supplier.",
                     "readonly": true,
                     "type": [
                         "string",
@@ -361,5 +361,5 @@
     },
     "owningEntity": "DMTF",
     "release": "2018.2",
-    "title": "#Assembly.v1_2_2.Assembly"
+    "title": "#Assembly.v1_2_3.Assembly"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/Chassis/Chassis.json b/static/redfish/v1/JsonSchemas/Chassis/Chassis.json
index 40a97f4..ff504b7 100644
--- a/static/redfish/v1/JsonSchemas/Chassis/Chassis.json
+++ b/static/redfish/v1/JsonSchemas/Chassis/Chassis.json
@@ -1,5 +1,5 @@
 {
-    "$id": "http://redfish.dmtf.org/schemas/v1/Chassis.v1_10_0.json",
+    "$id": "http://redfish.dmtf.org/schemas/v1/Chassis.v1_11_0.json",
     "$ref": "#/definitions/Chassis",
     "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
     "copyright": "Copyright 2014-2019 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
@@ -184,6 +184,27 @@
                         "null"
                     ]
                 },
+                "MediaControllers": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/MediaControllerCollection.json#/definitions/MediaControllerCollection",
+                    "description": "The link to the collection of media controllers located in this chassis.",
+                    "longDescription": "This property shall contain a link to a Resource Collection of type MediaControllerCollection.",
+                    "readonly": true,
+                    "versionAdded": "v1_11_0"
+                },
+                "Memory": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/MemoryCollection.json#/definitions/MemoryCollection",
+                    "description": "The link to the collection of memory located in this chassis.",
+                    "longDescription": "This property shall contain a link to a Resource Collection of type MemoryCollection.",
+                    "readonly": true,
+                    "versionAdded": "v1_11_0"
+                },
+                "MemoryDomains": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/MemoryDomainCollection.json#/definitions/MemoryDomainCollection",
+                    "description": "The link to the collection of memory domains located in this chassis.",
+                    "longDescription": "This property shall contain a link to a Resource Collection of type MemoryDomainCollection.",
+                    "readonly": true,
+                    "versionAdded": "v1_11_0"
+                },
                 "Model": {
                     "description": "The model number of the chassis.",
                     "longDescription": "This property shall contain the name by which the manufacturer generally refers to the chassis.",
@@ -536,6 +557,13 @@
                 "Drives@odata.count": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
                 },
+                "Facility": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Facility.json#/definitions/Facility",
+                    "description": "The link to the facility that contains this chassis.",
+                    "longDescription": "This property shall contain a link to the resource of type Facility and shall represent the smallest facility that contains this chassis.  This property shall not appear in resources that include a ContainedBy property within the Links property.",
+                    "readonly": false,
+                    "versionAdded": "v1_11_0"
+                },
                 "ManagedBy": {
                     "description": "An array of links to the Managers responsible for managing this chassis.",
                     "items": {
@@ -784,6 +812,6 @@
         }
     },
     "owningEntity": "DMTF",
-    "release": "2019.2",
-    "title": "#Chassis.v1_10_0.Chassis"
+    "release": "2019.4",
+    "title": "#Chassis.v1_11_0.Chassis"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/Circuit/Circuit.json b/static/redfish/v1/JsonSchemas/Circuit/Circuit.json
new file mode 100644
index 0000000..e5fff95
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/Circuit/Circuit.json
@@ -0,0 +1,1035 @@
+{
+    "$id": "http://redfish.dmtf.org/schemas/v1/Circuit.v1_0_0.json",
+    "$ref": "#/definitions/Circuit",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2019 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)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
+                    "description": "This property shall specify a valid odata or Redfish property.",
+                    "type": [
+                        "array",
+                        "boolean",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "#Circuit.BreakerControl": {
+                    "$ref": "#/definitions/BreakerControl"
+                },
+                "#Circuit.PowerControl": {
+                    "$ref": "#/definitions/PowerControl"
+                },
+                "#Circuit.ResetMetrics": {
+                    "$ref": "#/definitions/ResetMetrics"
+                },
+                "Oem": {
+                    "$ref": "#/definitions/OemActions",
+                    "description": "The available OEM-specific actions for this resource.",
+                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
+                }
+            },
+            "type": "object"
+        },
+        "BreakerControl": {
+            "additionalProperties": false,
+            "description": "This action attempts to reset the circuit breaker.",
+            "longDescription": "This action shall control the state of the circuit breaker or over-current protection device.",
+            "parameters": {
+                "PowerState": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Circuit.json#/definitions/PowerState",
+                    "description": "The desired power state of the circuit if the breaker is reset successfully.",
+                    "longDescription": "This parameter shall contain the desired power state of the circuit."
+                }
+            },
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "target": {
+                    "description": "Link to invoke action",
+                    "format": "uri-reference",
+                    "type": "string"
+                },
+                "title": {
+                    "description": "Friendly action name",
+                    "type": "string"
+                }
+            },
+            "type": "object"
+        },
+        "Circuit": {
+            "additionalProperties": false,
+            "description": "This is the schema definition for an electrical circuit.",
+            "longDescription": "This resource shall be used to represent an electrical circuit for a Redfish implementation.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "@odata.context": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
+                },
+                "@odata.id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
+                },
+                "@odata.type": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
+                },
+                "Actions": {
+                    "$ref": "#/definitions/Actions",
+                    "description": "The available actions for this resource.",
+                    "longDescription": "This property shall contain the available actions for this resource."
+                },
+                "BreakerState": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Circuit.json#/definitions/BreakerStates"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The state of the over current protection device.",
+                    "longDescription": "This property shall contain the state of the over current protection device.",
+                    "readonly": true
+                },
+                "CircuitType": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/CircuitType"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The type of circuit.",
+                    "longDescription": "This property shall contain the type of circuit.",
+                    "readonly": true
+                },
+                "CriticalCircuit": {
+                    "description": "Designates if this is a critical circuit.",
+                    "longDescription": "This property shall indicate whether the circuit is desginated as a critical circuit, and therefore is excluded from autonomous logic that could affect the state of the circuit.  The value shall be `true` if the circuit is deemed critical, and `false` if the circuit is not critical.",
+                    "readonly": false,
+                    "type": [
+                        "boolean",
+                        "null"
+                    ]
+                },
+                "CurrentAmps": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorCurrentExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The current reading for this single phase circuit.",
+                    "excerptCopy": "SensorCurrentExcerpt",
+                    "longDescription": "This property shall contain the current, measured in Amperes, for this single phase circuit.  This property shall not appear in resource instances representing poly-phase circuits.",
+                    "readonly": true
+                },
+                "Description": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "readonly": true
+                },
+                "ElectricalContext": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/ElectricalContext"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The combination of current-carrying conductors.",
+                    "longDescription": "This property shall contain the combination of current-carrying conductors that distribute power.",
+                    "readonly": true
+                },
+                "EnergykWh": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorEnergykWhExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The energy reading for this circuit.",
+                    "excerptCopy": "SensorEnergykWhExcerpt",
+                    "longDescription": "This property shall contain the total energy, measured in kilowatt-hours (kW.h), for this circuit, that represents the `Total` ElectricalContext sensor when multiple energy sensors exist for this circuit.",
+                    "readonly": true
+                },
+                "FrequencyHz": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The frequency reading for this circuit.",
+                    "excerptCopy": "SensorExcerpt",
+                    "longDescription": "This property shall contain the frequency sensor for this circuit.",
+                    "readonly": true
+                },
+                "Id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
+                    "readonly": true
+                },
+                "IndicatorLED": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/IndicatorLED"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The state of the indicator LED, which identifies the circuit.",
+                    "longDescription": "This property shall contain the indicator light state for the indicator light associated with this circuit.",
+                    "readonly": false
+                },
+                "Links": {
+                    "$ref": "#/definitions/Links",
+                    "description": "The links to other resources that are related to this resource.",
+                    "longDescription": "This property shall contain links to resources that are related to but are not contained by or subordinate to this resource."
+                },
+                "Name": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
+                    "readonly": true
+                },
+                "NominalVoltage": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Circuit.json#/definitions/NominalVoltageType"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The nominal voltage for this circuit.",
+                    "longDescription": "This property shall contain the nominal voltage for this circuit, in Volts.",
+                    "readonly": true
+                },
+                "Oem": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "The OEM extension property.",
+                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
+                },
+                "PhaseWiringType": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Circuit.json#/definitions/PhaseWiringType"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The number of ungrounded current-carrying conductors (phases) and the total number of conductors (wires).",
+                    "longDescription": "This property shall contain the number of ungrounded current-carrying conductors (phases) and the total number of conductors (wires).",
+                    "readonly": true
+                },
+                "PlugType": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Circuit.json#/definitions/PlugType"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The type of plug according to NEMA, IEC, or regional standards.",
+                    "longDescription": "This property shall contain the type of physical plug used for this circuit, as defined by IEC, NEMA, or regional standard.",
+                    "readonly": true
+                },
+                "PolyPhaseCurrentAmps": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/CurrentSensors"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The current readings for this circuit.",
+                    "longDescription": "This property shall contain the current sensor(s) for this circuit.  For single phase circuits this property shall contain a duplicate copy of the current sensor referenced in the CurrentSensor property, if present.  For poly-phase circuits this property should contain multiple current sensor readings used to fully describe the circuit."
+                },
+                "PolyPhaseEnergykWh": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/EnergySensors"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The energy readings for this circuit.",
+                    "longDescription": "This property shall contain the energy sensor(s) for this circuit. For single phase circuits this property shall contain a duplicate copy of the energy sensor referenced in the EnergySensor property, if present.  For poly-phase circuits this property should contain multiple energy sensor readings used to fully describe the circuit."
+                },
+                "PolyPhasePowerWatts": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/PowerSensors"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The power readings for this circuit.",
+                    "longDescription": "This property shall contain the power sensor(s) for this circuit.  For single phase circuits this property shall contain a duplicate copy of the power sensor referenced in the PowerSensor property, if present.  For poly-phase circuits this property should contain multiple power sensor readings used to fully describe the circuit."
+                },
+                "PolyPhaseVoltage": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/VoltageSensors"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The voltage readings for this circuit.",
+                    "longDescription": "This property shall contain the voltage sensor(s) for this circuit.  For single phase circuits this property shall contain a duplicate copy of the voltage sensor referenced in the VoltageSensor property, if present.  For poly-phase circuits this property should contain multiple voltage sensor readings used to fully describe the circuit."
+                },
+                "PowerCycleDelaySeconds": {
+                    "description": "The number of seconds to delay power on after a PowerControl action to cycle power.  Zero seconds indicates no delay.",
+                    "longDescription": "This property shall contain the number of seconds to delay power on after a PowerControl action to cycle power.  The value `0` shall indicate no delay to power on.",
+                    "readonly": false,
+                    "type": [
+                        "number",
+                        "null"
+                    ]
+                },
+                "PowerEnabled": {
+                    "description": "Indicates if the circuit can be powered.",
+                    "longDescription": "This property shall indicate the power enable state of the circuit.  The value `true` shall indicate that the circuit may be powered on, and `false` shall indicate that the circuit cannot be powered.",
+                    "readonly": true,
+                    "type": [
+                        "boolean",
+                        "null"
+                    ]
+                },
+                "PowerOffDelaySeconds": {
+                    "description": "The number of seconds to delay power off after a PowerControl action.  Zero seconds indicates no delay to power off.",
+                    "longDescription": "This property shall contain the number of seconds to delay power off after a PowerControl action.  The value `0` shall indicate no delay to power off.",
+                    "readonly": false,
+                    "type": [
+                        "number",
+                        "null"
+                    ]
+                },
+                "PowerOnDelaySeconds": {
+                    "description": "The number of seconds to delay power up after a power cycle or a PowerControl action.  Zero seconds indicates no delay to power up.",
+                    "longDescription": "This property shall contain the number of seconds to delay power up after a power cycle or a PowerControl action.  The value `0` shall indicate no delay to power up.",
+                    "readonly": false,
+                    "type": [
+                        "number",
+                        "null"
+                    ]
+                },
+                "PowerRestoreDelaySeconds": {
+                    "description": "The number of seconds to delay power on after power has been restored.  Zero seconds indicates no delay.",
+                    "longDescription": "This property shall contain the number of seconds to delay power on after a power fault.  The value `0` shall indicate no delay to power on.",
+                    "readonly": false,
+                    "type": [
+                        "number",
+                        "null"
+                    ]
+                },
+                "PowerRestorePolicy": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Circuit.json#/definitions/PowerRestorePolicyTypes",
+                    "description": "The desired power state of the circuit when power is restored after a power loss.",
+                    "longDescription": "This property shall contain the desired PowerState of the circuit when power is applied.  The value `LastState` shall return the circuit to the PowerState it was in when power was lost.",
+                    "readonly": false
+                },
+                "PowerState": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/PowerState"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The power state of the circuit.",
+                    "longDescription": "This property shall contain the power state of the circuit.",
+                    "readonly": true
+                },
+                "PowerWatts": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorPowerExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The power reading for this circuit.",
+                    "excerptCopy": "SensorPowerExcerpt",
+                    "longDescription": "This property shall contain the total power, measured in Watts, for this circuit, that represents the `Total` ElectricalContext sensor when multiple power sensors exist for this circuit.",
+                    "readonly": true
+                },
+                "RatedCurrentAmps": {
+                    "description": "The rated maximum current allowed for this circuit.",
+                    "longDescription": "This property shall contain the rated maximum current for this circuit, in Amps, after any required de-rating, due to safety agency or other regulatory requirements, has been applied.",
+                    "minimum": 0,
+                    "readonly": true,
+                    "type": [
+                        "number",
+                        "null"
+                    ],
+                    "units": "A"
+                },
+                "Status": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "The status and health of the resource and its subordinate or dependent resources.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
+                },
+                "Voltage": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorVoltageExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The voltage reading for this single phase circuit.",
+                    "excerptCopy": "SensorVoltageExcerpt",
+                    "longDescription": "This property shall contain the voltage, measured in Volts, for this single phase circuit.  This property shall not appear in resource instances representing poly-phase circuits.",
+                    "readonly": true
+                },
+                "VoltageType": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/VoltageType"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The type of voltage applied to the circuit.",
+                    "longDescription": "This property shall contain the type of voltage applied to the circuit.",
+                    "readonly": true
+                }
+            },
+            "required": [
+                "@odata.id",
+                "@odata.type",
+                "Id",
+                "Name"
+            ],
+            "type": "object"
+        },
+        "CircuitType": {
+            "enum": [
+                "Mains",
+                "Branch",
+                "Subfeed",
+                "Feeder"
+            ],
+            "enumDescriptions": {
+                "Branch": "A branch (output) circuit.",
+                "Feeder": "A feeder (output) circuit.",
+                "Mains": "A mains input or utility circuit.",
+                "Subfeed": "A subfeed (output) circuit."
+            },
+            "type": "string"
+        },
+        "CurrentSensors": {
+            "additionalProperties": false,
+            "description": "The current sensors for this circuit.",
+            "longDescription": "This type shall contain properties that describe current sensor readings for a circuit.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "Line1": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorCurrentExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "Line 1 current sensor.",
+                    "excerptCopy": "SensorCurrentExcerpt",
+                    "longDescription": "This property shall contain a CurrentSensor excerpt that measures current for L1.  This property shall not be present if the circuit does not include an L1 measurement.",
+                    "readonly": true
+                },
+                "Line2": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorCurrentExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "Line 2 current sensor.",
+                    "excerptCopy": "SensorCurrentExcerpt",
+                    "longDescription": "This property shall contain a CurrentSensor excerpt that measures current for L2.  This property shall not be present if the circuit does not include an L2 measurement.",
+                    "readonly": true
+                },
+                "Line3": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorCurrentExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "Line 3 current sensor.",
+                    "excerptCopy": "SensorCurrentExcerpt",
+                    "longDescription": "This property shall contain a CurrentSensor excerpt that measures current for L3.  This property shall not be present if the circuit does not include an L3 measurement.",
+                    "readonly": true
+                },
+                "Neutral": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorCurrentExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "Neutral line current sensor.",
+                    "excerptCopy": "SensorCurrentExcerpt",
+                    "longDescription": "This property shall contain a CurrentSensor excerpt that measures current for the Neutral line.  This property shall not be present if the circuit does not include a Neutral measurement.",
+                    "readonly": true
+                }
+            },
+            "type": "object"
+        },
+        "EnergySensors": {
+            "additionalProperties": false,
+            "description": "The energy readings for this circuit.",
+            "longDescription": "This type shall contain properties that describe energy sensor readings for a circuit.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "Line1ToLine2": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorEnergykWhExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The Line 1 to Line 2 energy reading for this circuit.",
+                    "excerptCopy": "SensorEnergykWhExcerpt",
+                    "longDescription": "This property shall contain a EnergykWhSensor excerpt that measures energy between L1 and L2.  This property shall not be present if the circuit does not include an L1-L2 measurement.",
+                    "readonly": true
+                },
+                "Line1ToNeutral": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorEnergykWhExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The Line 1 to Neutral energy reading for this circuit.",
+                    "excerptCopy": "SensorEnergykWhExcerpt",
+                    "longDescription": "This property shall contain a EnergykWhSensor excerpt that measures energy between L1 and Neutral.  This property shall not be present if the circuit does not include an L1-Neutral measurement.",
+                    "readonly": true
+                },
+                "Line2ToLine3": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorEnergykWhExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The Line 2 to Line 3 energy reading for this circuit.",
+                    "excerptCopy": "SensorEnergykWhExcerpt",
+                    "longDescription": "This property shall contain a EnergykWhSensor excerpt that measures energy between L2 and L3.  This property shall not be present if the circuit does not include an L2-L3 measurement.",
+                    "readonly": true
+                },
+                "Line2ToNeutral": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorEnergykWhExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The Line 2 to Neutral energy reading for this circuit.",
+                    "excerptCopy": "SensorEnergykWhExcerpt",
+                    "longDescription": "This property shall contain a EnergykWhSensor excerpt that measures energy between L2 and Neutral.  This property shall not be present if the circuit does not include an L2-Neutral measurement.",
+                    "readonly": true
+                },
+                "Line3ToLine1": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorEnergykWhExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The Line 3 to Line 1 energy reading for this circuit.",
+                    "excerptCopy": "SensorEnergykWhExcerpt",
+                    "longDescription": "This property shall contain a EnergykWhSensor excerpt that measures energy between L3 and L1.  This property shall not be present if the circuit does not include an L3-L1 measurement.",
+                    "readonly": true
+                },
+                "Line3ToNeutral": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorEnergykWhExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The Line 3 to Neutral energy reading for this circuit.",
+                    "excerptCopy": "SensorEnergykWhExcerpt",
+                    "longDescription": "This property shall contain a EnergykWhSensor excerpt that measures energy between L3 and Neutral.  This property shall not be present if the circuit does not include an L3-Neutral measurement.",
+                    "readonly": true
+                }
+            },
+            "type": "object"
+        },
+        "Links": {
+            "additionalProperties": false,
+            "description": "The links to other resources that are related to this resource.",
+            "longDescription": "This Redfish Specification-described type shall contain links to resources that are related to but are not contained by or subordinate to this resource.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "BranchCircuit": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Circuit.json#/definitions/Circuit"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "A reference to the branch circuit related to this circuit.",
+                    "longDescription": "This property shall contain a link to a resource of type Circuit that represents the branch circuit associated with this circuit.",
+                    "readonly": true
+                },
+                "Oem": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "The OEM extension property.",
+                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
+                },
+                "Outlets": {
+                    "description": "An array of references to the outlets contained by this circuit.",
+                    "items": {
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/Outlet.json#/definitions/Outlet"
+                    },
+                    "longDescription": "This property shall contain an array of links to resources of type Outlet that represent the outlets associated with this circuit.",
+                    "readonly": true,
+                    "type": "array"
+                },
+                "Outlets@odata.count": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
+                }
+            },
+            "type": "object"
+        },
+        "OemActions": {
+            "additionalProperties": true,
+            "description": "The available OEM-specific actions for this resource.",
+            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {},
+            "type": "object"
+        },
+        "PowerControl": {
+            "additionalProperties": false,
+            "description": "This action turns the circuit on or off.",
+            "longDescription": "This action shall control the power state of the circuit.",
+            "parameters": {
+                "PowerState": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/PowerState",
+                    "description": "The desired power state of the circuit.",
+                    "longDescription": "This parameter shall contain the desired power state of the circuit."
+                }
+            },
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "target": {
+                    "description": "Link to invoke action",
+                    "format": "uri-reference",
+                    "type": "string"
+                },
+                "title": {
+                    "description": "Friendly action name",
+                    "type": "string"
+                }
+            },
+            "type": "object"
+        },
+        "PowerSensors": {
+            "additionalProperties": false,
+            "description": "This property contains the power sensors.",
+            "longDescription": "This type shall contain properties that describe power sensor readings for a circuit.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "Line1ToLine2": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorPowerExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The Line 1 to Line 2 power reading for this circuit.",
+                    "excerptCopy": "SensorPowerExcerpt",
+                    "longDescription": "This property shall contain a PowerSensor excerpt that measures power between L1 and L2.  This property shall not be present if the circuit does not include an L1-L2 measurement.",
+                    "readonly": true
+                },
+                "Line1ToNeutral": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorPowerExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The Line 1 to Neutral power reading for this circuit.",
+                    "excerptCopy": "SensorPowerExcerpt",
+                    "longDescription": "This property shall contain a PowerSensor excerpt that measures power between L1 and Neutral.  This property shall not be present if the circuit does not include an L1-Neutral measurement.",
+                    "readonly": true
+                },
+                "Line2ToLine3": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorPowerExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The Line 2 to Line 3 power reading for this circuit.",
+                    "excerptCopy": "SensorPowerExcerpt",
+                    "longDescription": "This property shall contain a PowerSensor excerpt that measures power between L2 and L3.  This property shall not be present if the circuit does not include an L2-L3 measurement.",
+                    "readonly": true
+                },
+                "Line2ToNeutral": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorPowerExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The Line 2 to Neutral power reading for this circuit.",
+                    "excerptCopy": "SensorPowerExcerpt",
+                    "longDescription": "This property shall contain a PowerSensor excerpt that measures power between L2 and Neutral.  This property shall not be present if the circuit does not include an L2-Neutral measurement.",
+                    "readonly": true
+                },
+                "Line3ToLine1": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorPowerExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The Line 3 to Line 1 power reading for this circuit.",
+                    "excerptCopy": "SensorPowerExcerpt",
+                    "longDescription": "This property shall contain a PowerSensor excerpt that measures power between L3 and L1.  This property shall not be present if the circuit does not include an L3-L1 measurement.",
+                    "readonly": true
+                },
+                "Line3ToNeutral": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorPowerExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The Line 3 to Neutral power reading for this circuit.",
+                    "excerptCopy": "SensorPowerExcerpt",
+                    "longDescription": "This property shall contain a PowerSensor excerpt that measures power between L3 and Neutral.  This property shall not be present if the circuit does not include an L3-Neutral measurement.",
+                    "readonly": true
+                }
+            },
+            "type": "object"
+        },
+        "ResetMetrics": {
+            "additionalProperties": false,
+            "description": "This action resets metrics related to this circuit.",
+            "longDescription": "This action shall reset any time intervals or counted values for this circuit.",
+            "parameters": {},
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "target": {
+                    "description": "Link to invoke action",
+                    "format": "uri-reference",
+                    "type": "string"
+                },
+                "title": {
+                    "description": "Friendly action name",
+                    "type": "string"
+                }
+            },
+            "type": "object"
+        },
+        "VoltageSensors": {
+            "additionalProperties": false,
+            "description": "The voltage readings for this circuit.",
+            "longDescription": "This type shall contain properties that describe voltage sensor readings for a circuit.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "Line1ToLine2": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorVoltageExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The Line 1 to Line 2 voltage reading for this circuit.",
+                    "excerptCopy": "SensorVoltageExcerpt",
+                    "longDescription": "This property shall contain a VoltageSensor excerpt that measures voltage between L1 and L2.  This property shall not be present if the circuit does not include an L1-L2 measurement.",
+                    "readonly": true
+                },
+                "Line1ToNeutral": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorVoltageExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The Line 1 to Neutral voltage reading for this circuit.",
+                    "excerptCopy": "SensorVoltageExcerpt",
+                    "longDescription": "This property shall contain a VoltageSensor excerpt that measures voltage between L1 and Neutral.  This property shall not be present if the circuit does not include an L1-Neutral measurement.",
+                    "readonly": true
+                },
+                "Line2ToLine3": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorVoltageExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The Line 2 to Line 3 voltage reading for this circuit.",
+                    "excerptCopy": "SensorVoltageExcerpt",
+                    "longDescription": "This property shall contain a VoltageSensor excerpt that measures voltage between L2 and L3.  This property shall not be present if the circuit does not include an L2-L3 measurement.",
+                    "readonly": true
+                },
+                "Line2ToNeutral": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorVoltageExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The Line 2 to Neutral voltage reading for this circuit.",
+                    "excerptCopy": "SensorVoltageExcerpt",
+                    "longDescription": "This property shall contain a VoltageSensor excerpt that measures voltage between L2 and Neutral.  This property shall not be present if the circuit does not include an L2-Neutral measurement.",
+                    "readonly": true
+                },
+                "Line3ToLine1": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorVoltageExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The Line 3 to Line 1 voltage reading for this circuit.",
+                    "excerptCopy": "SensorVoltageExcerpt",
+                    "longDescription": "This property shall contain a VoltageSensor excerpt that measures voltage between L3 and L1.  This property shall not be present if the circuit does not include an L3-L1 measurement.",
+                    "readonly": true
+                },
+                "Line3ToNeutral": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorVoltageExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The Line 3 to Neutral voltage reading for this circuit.",
+                    "excerptCopy": "SensorVoltageExcerpt",
+                    "longDescription": "This property shall contain a VoltageSensor excerpt that measures voltage between L3 and Neutral.  This property shall not be present if the circuit does not include an L3-Neutral measurement.",
+                    "readonly": true
+                }
+            },
+            "type": "object"
+        },
+        "VoltageType": {
+            "enum": [
+                "AC",
+                "DC"
+            ],
+            "enumDescriptions": {
+                "AC": "Alternating Current (AC) circuit.",
+                "DC": "Direct Current (DC) circuit."
+            },
+            "type": "string"
+        }
+    },
+    "owningEntity": "DMTF",
+    "release": "2019.4",
+    "title": "#Circuit.v1_0_0.Circuit"
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/Circuit/index.json b/static/redfish/v1/JsonSchemas/Circuit/index.json
new file mode 100644
index 0000000..fa50efe
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/Circuit/index.json
@@ -0,0 +1,21 @@
+{
+    "@odata.context": "/redfish/v1/$metadata#JsonSchemaFile.JsonSchemaFile",
+    "@odata.id": "/redfish/v1/JsonSchemas/Circuit",
+    "@odata.type": "#JsonSchemaFile.v1_0_2.JsonSchemaFile",
+    "Name": "Circuit Schema File",
+    "Schema": "#Circuit.Circuit",
+    "Description": "Circuit Schema File Location",
+    "Id": "Circuit",
+    "Languages": [
+        "en"
+    ],
+    "Languages@odata.count": 1,
+    "Location": [
+        {
+            "Language": "en",
+            "PublicationUri": "http://redfish.dmtf.org/schemas/v1/Circuit.json",
+            "Uri": "/redfish/v1/JsonSchemas/Circuit/Circuit.json"
+        }
+    ],
+    "Location@odata.count": 1
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/ComputerSystem/ComputerSystem.json b/static/redfish/v1/JsonSchemas/ComputerSystem/ComputerSystem.json
index 99c74d9..427b0c8 100644
--- a/static/redfish/v1/JsonSchemas/ComputerSystem/ComputerSystem.json
+++ b/static/redfish/v1/JsonSchemas/ComputerSystem/ComputerSystem.json
@@ -1,5 +1,5 @@
 {
-    "$id": "http://redfish.dmtf.org/schemas/v1/ComputerSystem.v1_9_0.json",
+    "$id": "http://redfish.dmtf.org/schemas/v1/ComputerSystem.v1_10_0.json",
     "$ref": "#/definitions/ComputerSystem",
     "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
     "copyright": "Copyright 2014-2019 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
@@ -233,7 +233,7 @@
                 },
                 "UefiTargetBootSourceOverride": {
                     "description": "The UEFI device path of the device from which to boot when BootSourceOverrideTarget is `UefiTarget`.",
-                    "longDescription": "This property shall contain the UEFI device path of the override boot target.  The Redfish.AllowableValues annotation specifies the values for this property.  The `Continuous` value is not supported for the BootSourceOverrideEnabled property for UEFI boot source override because UEFI supports one-time boot only.  Changes to this property do not alter the BIOS persistent boot order configuration.",
+                    "longDescription": "This property shall contain the UEFI device path of the override boot target.  The `Continuous` value is not supported for the BootSourceOverrideEnabled property for UEFI boot source override because UEFI supports one-time boot only.  Changes to this property do not alter the BIOS persistent boot order configuration.",
                     "readonly": false,
                     "type": [
                         "string",
@@ -362,6 +362,13 @@
                     "longDescription": "This property shall contain a link to a Resource Collection of type EthernetInterfaceCollection.",
                     "readonly": true
                 },
+                "FabricAdapters": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/FabricAdapterCollection.json#/definitions/FabricAdapterCollection",
+                    "description": "The link to the collection of fabric adapters associated with this system.",
+                    "longDescription": "This property shall contain a link to a Resource Collection of type FabricAdapterCollection.",
+                    "readonly": true,
+                    "versionAdded": "v1_10_0"
+                },
                 "HostName": {
                     "description": "The DNS host name, without any domain information.",
                     "longDescription": "This property shall contain the host name for this system, as reported by the operating system or hypervisor.  A service running in the host operating system typically reports this value to the manager.",
@@ -684,12 +691,26 @@
             "enum": [
                 "ApplicationServer",
                 "StorageServer",
-                "Switch"
+                "Switch",
+                "Appliance",
+                "BareMetalServer",
+                "VirtualMachineServer",
+                "ContainerServer"
             ],
             "enumDescriptions": {
+                "Appliance": "The system hosts functionality that supports the system acting as an appliance.",
                 "ApplicationServer": "The system hosts functionality that supports general purpose applications.",
+                "BareMetalServer": "The system hosts functionality that supports the system acting as a bare metal server.",
+                "ContainerServer": "The system hosts functionality that supports the system acting as a container server.",
                 "StorageServer": "The system hosts functionality that supports the system acting as a storage server.",
-                "Switch": "The system hosts functionality that supports the system acting as a switch."
+                "Switch": "The system hosts functionality that supports the system acting as a switch.",
+                "VirtualMachineServer": "The system hosts functionality that supports the system acting as a virtual machine server."
+            },
+            "enumVersionAdded": {
+                "Appliance": "v1_10_0",
+                "BareMetalServer": "v1_10_0",
+                "ContainerServer": "v1_10_0",
+                "VirtualMachineServer": "v1_10_0"
             },
             "type": "string"
         },
@@ -1425,6 +1446,6 @@
         }
     },
     "owningEntity": "DMTF",
-    "release": "2019.3",
-    "title": "#ComputerSystem.v1_9_0.ComputerSystem"
+    "release": "2019.4",
+    "title": "#ComputerSystem.v1_10_0.ComputerSystem"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/Drive/Drive.json b/static/redfish/v1/JsonSchemas/Drive/Drive.json
index 7ff65b5..7771d88 100644
--- a/static/redfish/v1/JsonSchemas/Drive/Drive.json
+++ b/static/redfish/v1/JsonSchemas/Drive/Drive.json
@@ -1,5 +1,5 @@
 {
-    "$id": "http://redfish.dmtf.org/schemas/v1/Drive.v1_8_0.json",
+    "$id": "http://redfish.dmtf.org/schemas/v1/Drive.v1_9_0.json",
     "$ref": "#/definitions/Drive",
     "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
     "copyright": "Copyright 2014-2019 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
@@ -263,6 +263,16 @@
                         "null"
                     ]
                 },
+                "Multipath": {
+                    "description": "An indication of whether the drive is accessible from multiple paths.",
+                    "longDescription": "This property shall indicate whether the drive is accessible by an initiator from multiple paths allowing for failover capabilities upon a path failure.",
+                    "readonly": true,
+                    "type": [
+                        "boolean",
+                        "null"
+                    ],
+                    "versionAdded": "v1_9_0"
+                },
                 "Name": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
                     "readonly": true
@@ -730,6 +740,6 @@
         }
     },
     "owningEntity": "DMTF",
-    "release": "2019.3",
-    "title": "#Drive.v1_8_0.Drive"
+    "release": "2019.4",
+    "title": "#Drive.v1_9_0.Drive"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/Endpoint/Endpoint.json b/static/redfish/v1/JsonSchemas/Endpoint/Endpoint.json
index 6b0783b..a85ae59 100644
--- a/static/redfish/v1/JsonSchemas/Endpoint/Endpoint.json
+++ b/static/redfish/v1/JsonSchemas/Endpoint/Endpoint.json
@@ -1,5 +1,5 @@
 {
-    "$id": "http://redfish.dmtf.org/schemas/v1/Endpoint.v1_3_2.json",
+    "$id": "http://redfish.dmtf.org/schemas/v1/Endpoint.v1_4_0.json",
     "$ref": "#/definitions/Endpoint",
     "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
     "copyright": "Copyright 2014-2019 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
@@ -87,6 +87,19 @@
                     "longDescription": "This property shall indicate if type of connected entity.",
                     "readonly": true
                 },
+                "GenZ": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/GenZ"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The Gen-Z related properties for the entity.",
+                    "longDescription": "This property shall contain the Gen-Z related properties for the entity.",
+                    "versionAdded": "v1_4_0"
+                },
                 "Identifiers": {
                     "description": "Identifiers for the remote entity.",
                     "items": {
@@ -294,26 +307,139 @@
                 "Bridge",
                 "Processor",
                 "Volume",
-                "AccelerationFunction"
+                "AccelerationFunction",
+                "MediaController",
+                "MemoryChunk",
+                "Switch",
+                "FabricBridge"
             ],
             "enumDescriptions": {
                 "AccelerationFunction": "The entity is an acceleration function realized through a device, such as an FPGA.  The EntityLink property, if present, should be an AccelerationFunction type.",
                 "Bridge": "The entity is a PCI(e) bridge.",
                 "DisplayController": "The entity is a display controller.",
                 "Drive": "The entity is a disk drive.  The EntityLink property, if present, should be a Drive type.",
+                "FabricBridge": "The entity is a fabric bridge.  The EntityLink property, if present, should be a FabricAdapter type.",
+                "MediaController": "The entity is a media controller.  The EntityLink property, if present, should be a MediaController type.",
+                "MemoryChunk": "The entity is a memory chunk.  The EntityLink property, if present, should be a MemoryChunk type.",
                 "NetworkController": "The entity is a network controller.  The EntityLink property, if present, should contain an EthernetInterface type.",
                 "Processor": "The entity is a processor device.",
                 "RootComplex": "The entity is a PCI(e) root complex.  The EntityLink property, if present, should be a ComputerSystem type.",
                 "StorageExpander": "The entity is a storage expander.  The EntityLink property, if present, should be a Chassis type.",
                 "StorageInitiator": "The entity is a storage initator.  The EntityLink property, if present, should be a StorageController type.",
+                "Switch": "The entity is a switch, not an expander.  Use `Expander` for expanders.  The EntityLink property, if present, should be a Switch type.",
                 "Volume": "The entity is a volume.  The EntityLink property, if present, should be a Volume type."
             },
             "enumVersionAdded": {
                 "AccelerationFunction": "v1_3_0",
+                "FabricBridge": "v1_4_0",
+                "MediaController": "v1_4_0",
+                "MemoryChunk": "v1_4_0",
+                "Switch": "v1_4_0",
                 "Volume": "v1_1_0"
             },
             "type": "string"
         },
+        "GCID": {
+            "additionalProperties": false,
+            "description": "The Global Component ID (GCID).",
+            "longDescription": "This type shall contain the Gen-Z Core Specification-defined Global Component ID.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "CID": {
+                    "description": "The component identifier portion of the GCID for the entity.",
+                    "longDescription": "This property shall contain the 12 bit component identifier portion of the GCID of the entity.",
+                    "pattern": "^0[xX]([a-fA-F]|[0-9]){3}$",
+                    "readonly": false,
+                    "type": [
+                        "string",
+                        "null"
+                    ],
+                    "versionAdded": "v1_4_0"
+                },
+                "SID": {
+                    "description": "The subnet identifier portion of the GCID for the entity.",
+                    "longDescription": "This property shall contain the 16 bit subnet identifier portion of the GCID of the entity.",
+                    "pattern": "^0[xX](([a-fA-F]|[0-9]){2}){2}$",
+                    "readonly": false,
+                    "type": [
+                        "string",
+                        "null"
+                    ],
+                    "versionAdded": "v1_4_0"
+                }
+            },
+            "type": "object"
+        },
+        "GenZ": {
+            "additionalProperties": false,
+            "description": "The Gen-Z related properties for an entity.",
+            "longDescription": "This type shall contain the Gen-Z related properties for an entity.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "AccessKey": {
+                    "description": "The Access Key for the entity.",
+                    "longDescription": "This property shall contain the Gen-Z Core Specification-defined 6 bit Access Key for the entity.",
+                    "pattern": "^0[xX]([a-fA-F]|[0-9]){2}$",
+                    "readonly": false,
+                    "type": [
+                        "string",
+                        "null"
+                    ],
+                    "versionAdded": "v1_4_0"
+                },
+                "GCID": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/GCID"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The Global Component ID (GCID) for the entity.",
+                    "longDescription": "This property shall contain the Gen-Z Core Specification-defined Global Component ID for the entity.",
+                    "versionAdded": "v1_4_0"
+                },
+                "RegionKey": {
+                    "description": "The Region Key for the entity.",
+                    "longDescription": "This property shall contain the Gen-Z Core Specification-defined 32 bit Region Key for the entity.",
+                    "pattern": "^0[xX](([a-fA-F]|[0-9]){2}){4}$",
+                    "readonly": false,
+                    "type": [
+                        "string",
+                        "null"
+                    ],
+                    "versionAdded": "v1_4_0"
+                }
+            },
+            "type": "object"
+        },
         "IPTransportDetails": {
             "additionalProperties": false,
             "description": "This type specifies the details of the transport supported by the endpoint.  The properties that are present are dependent on the type of transport supported by the endpoint.",
@@ -383,6 +509,32 @@
                 }
             },
             "properties": {
+                "AddressPools": {
+                    "description": "An array of links to the address pools associated with this endpoint.",
+                    "items": {
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/AddressPool.json#/definitions/AddressPool"
+                    },
+                    "longDescription": "This property shall contain an array of links to Resources of type AddressPool with which this endpoint is associated.",
+                    "readonly": false,
+                    "type": "array",
+                    "versionAdded": "v1_4_0"
+                },
+                "AddressPools@odata.count": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
+                },
+                "ConnectedPorts": {
+                    "description": "An array of links to the ports that connect to this endpoint.",
+                    "items": {
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/Port.json#/definitions/Port"
+                    },
+                    "longDescription": "This property shall contain an array of links to Resources of type Port that represent ports associated with this endpoint.",
+                    "readonly": true,
+                    "type": "array",
+                    "versionAdded": "v1_4_0"
+                },
+                "ConnectedPorts@odata.count": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
+                },
                 "MutuallyExclusiveEndpoints": {
                     "description": "An array of links to the endpoints that may not be used in zones if this endpoint is in a zone.",
                     "items": {
@@ -534,6 +686,6 @@
         }
     },
     "owningEntity": "DMTF",
-    "release": "2018.3",
-    "title": "#Endpoint.v1_3_2.Endpoint"
+    "release": "2019.4",
+    "title": "#Endpoint.v1_4_0.Endpoint"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/Fabric/Fabric.json b/static/redfish/v1/JsonSchemas/Fabric/Fabric.json
index 67ec5c2..331b46f 100644
--- a/static/redfish/v1/JsonSchemas/Fabric/Fabric.json
+++ b/static/redfish/v1/JsonSchemas/Fabric/Fabric.json
@@ -1,5 +1,5 @@
 {
-    "$id": "http://redfish.dmtf.org/schemas/v1/Fabric.v1_0_6.json",
+    "$id": "http://redfish.dmtf.org/schemas/v1/Fabric.v1_1_0.json",
     "$ref": "#/definitions/Fabric",
     "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
     "copyright": "Copyright 2014-2019 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
@@ -67,6 +67,13 @@
                     "description": "The available actions for this Resource.",
                     "longDescription": "This property shall contain the available actions for this Resource."
                 },
+                "AddressPools": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/AddressPoolCollection.json#/definitions/AddressPoolCollection",
+                    "description": "The collection of links to the address pools that this fabric contains.",
+                    "longDescription": "This property shall contain a link to a Resource Collection of type AddressPoolCollection.",
+                    "readonly": true,
+                    "versionAdded": "v1_1_0"
+                },
                 "Description": {
                     "anyOf": [
                         {
@@ -200,6 +207,6 @@
         }
     },
     "owningEntity": "DMTF",
-    "release": "2016.2",
-    "title": "#Fabric.v1_0_6.Fabric"
+    "release": "2019.4",
+    "title": "#Fabric.v1_1_0.Fabric"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/FabricAdapter/FabricAdapter.json b/static/redfish/v1/JsonSchemas/FabricAdapter/FabricAdapter.json
new file mode 100644
index 0000000..8f89986
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/FabricAdapter/FabricAdapter.json
@@ -0,0 +1,366 @@
+{
+    "$id": "http://redfish.dmtf.org/schemas/v1/FabricAdapter.v1_0_0.json",
+    "$ref": "#/definitions/FabricAdapter",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2019 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)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
+                    "description": "This property shall specify a valid odata or Redfish property.",
+                    "type": [
+                        "array",
+                        "boolean",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "Oem": {
+                    "$ref": "#/definitions/OemActions",
+                    "description": "The available OEM-specific actions for this Resource.",
+                    "longDescription": "This property shall contain the available OEM-specific actions for this Resource."
+                }
+            },
+            "type": "object"
+        },
+        "FabricAdapter": {
+            "additionalProperties": false,
+            "description": "A FabricAdapter represents the physical fabric adapter capable of connecting to an interconnect fabric.  Examples include but are not limited to Ethernet, NVMe over Fabrics, Gen-Z, and SAS fabric adapters.",
+            "longDescription": "A FabricAdapter represents the physical Fabric adapter capable of connecting to an interconnect fabric.  Examples include but are not limited to Ethernet, NVMe over Fabrics, Gen-Z, and SAS fabric adapters.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "@odata.context": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
+                },
+                "@odata.id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
+                },
+                "@odata.type": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
+                },
+                "ASICManufacturer": {
+                    "description": "The manufacturer name for the ASIC of this fabric adapter.",
+                    "longDescription": "This property shall contain the manufacturer name of the ASIC for the fabric adapter as defined by the manufacturer.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "ASICPartNumber": {
+                    "description": "The part number for the ASIC on this fabric adapter.",
+                    "longDescription": "This property shall contain the part number of the ASIC for the fabric adapter as defined by the manufacturer.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "ASICRevisionIdentifier": {
+                    "description": "The revision identifier for the ASIC on this fabric adapter.",
+                    "longDescription": "This property shall contain the revision identifier of the ASIC for the fabric adapter as defined by the manufacturer.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "Actions": {
+                    "$ref": "#/definitions/Actions",
+                    "description": "The available actions for this Resource.",
+                    "longDescription": "This property shall contain the available actions for this Resource."
+                },
+                "Description": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "readonly": true
+                },
+                "FirmwareVersion": {
+                    "description": "The firmware version of this fabric adapter.",
+                    "longDescription": "This property shall contain the firmware version for the fabric adapter as defined by the manufacturer.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "GenZ": {
+                    "$ref": "#/definitions/GenZ",
+                    "description": "The Gen-Z specific properties for this fabric adapter.",
+                    "longDescription": "This property shall contain the Gen-Z specific properties for this fabric adapter."
+                },
+                "Id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
+                    "readonly": true
+                },
+                "Links": {
+                    "$ref": "#/definitions/Links",
+                    "description": "The links to other Resources that are related to this Resource.",
+                    "longDescription": "The Redfish Specification-described Links Property shall contain links to Resources related to but not subordinate to this Resource."
+                },
+                "Manufacturer": {
+                    "description": "The manufacturer or OEM of this fabric adapter.",
+                    "longDescription": "This property shall contain a value that represents the manufacturer of the fabric adapter.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "Model": {
+                    "description": "The model string for this fabric adapter.",
+                    "longDescription": "This property shall contain the information about how the manufacturer refers to this fabric adapter.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "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": "The OEM extension property.",
+                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
+                },
+                "PCIeInterface": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/PCIeDevice.json#/definitions/PCIeInterface",
+                    "description": "The PCIe interface details for this fabric adapter.",
+                    "longDescription": "This property shall contain details on the PCIe interface that connects this PCIe-based fabric adapter to its host."
+                },
+                "PartNumber": {
+                    "description": "The part number for this fabric adapter.",
+                    "longDescription": "This property shall contain the part number for the fabric adapter as defined by the manufacturer.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "Ports": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/PortCollection.json#/definitions/PortCollection",
+                    "description": "The link to the collection of ports that exist on the fabric adapter.",
+                    "longDescription": "This property shall contain a link to a Resource Collection of type PortCollection.",
+                    "readonly": true
+                },
+                "SKU": {
+                    "description": "The manufacturer SKU for this fabric adapter.",
+                    "longDescription": "This property shall contain the SKU for the fabric adapter.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "SerialNumber": {
+                    "description": "The serial number for this fabric adapter.",
+                    "longDescription": "This property shall contain the serial number for the fabric adapter.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "SparePartNumber": {
+                    "description": "The spare part number for this fabric adapter.",
+                    "longDescription": "This property shall contain the spare part number for the fabric adapter as defined by the manufacturer.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "Status": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "The status and health of the Resource and its subordinate or dependent Resources.",
+                    "longDescription": "This property shall contain any status or health properties of the Resource."
+                },
+                "UUID": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/UUID"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The UUID for this fabric adapter.",
+                    "longDescription": "This property shall contain a universal unique identifier number for the fabric adapter.",
+                    "readonly": true
+                }
+            },
+            "required": [
+                "@odata.id",
+                "@odata.type",
+                "Id",
+                "Name"
+            ],
+            "type": "object"
+        },
+        "GenZ": {
+            "additionalProperties": false,
+            "description": "Gen-Z related properties for a fabric adapter.",
+            "longDescription": "This type shall contain Gen-Z related properties for a fabric adapter.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "MSDT": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/RouteEntryCollection.json#/definitions/RouteEntryCollection",
+                    "description": "The Multi Subnet Destination Table for the component.",
+                    "longDescription": "This property shall contain a link to a Resource Collection of type RouteEntryCollection, and shall represent the Gen-Z Core Specification-defined MSDT structure.",
+                    "readonly": true
+                },
+                "PIDT": {
+                    "description": "An array of table entry values for the Packet Injection Delay Table.",
+                    "items": {
+                        "type": [
+                            "string",
+                            "null"
+                        ]
+                    },
+                    "longDescription": "This property shall contain an array of table entry values for the Gen-Z Core Specification-defined Packet Injection Delay Table for the component.",
+                    "readonly": false,
+                    "type": "array"
+                },
+                "RITable": {
+                    "description": "An array of table entry values for the Responder Interface Table.",
+                    "items": {
+                        "type": [
+                            "string",
+                            "null"
+                        ]
+                    },
+                    "longDescription": "This property shall contain an array of table entry values for the Gen-Z Core Specification-defined Responder Interface Table for the component.",
+                    "readonly": false,
+                    "type": "array"
+                },
+                "RequestorVCAT": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/VCATEntryCollection.json#/definitions/VCATEntryCollection",
+                    "description": "The Requestor Virtual Channel Action Table for the component.",
+                    "longDescription": "This property shall contain a link to a Resource Collection of type VCATEntryCollection, and shall represent the Gen-Z Core Specification-defined REQ-VCAT structure.",
+                    "readonly": true
+                },
+                "ResponderVCAT": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/VCATEntryCollection.json#/definitions/VCATEntryCollection",
+                    "description": "The Responder Virtual Channel Action Table for the component.",
+                    "longDescription": "This property shall contain a link to a Resource Collection of type VCATEntryCollection, and shall represent the Gen-Z Core Specification-defined RSP-VCAT structure.",
+                    "readonly": true
+                },
+                "SSDT": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/RouteEntryCollection.json#/definitions/RouteEntryCollection",
+                    "description": "The Single Subnet Destination Table for the component.",
+                    "longDescription": "This property shall contain a link to a Resource Collection of type RouteEntryCollection, and shall represent the Gen-Z Core Specification-defined SSDT structure.",
+                    "readonly": true
+                }
+            },
+            "type": "object"
+        },
+        "Links": {
+            "additionalProperties": false,
+            "description": "The links to other Resources that are related to this Resource.",
+            "longDescription": "The Redfish Specification-described type shall contain links to Resources related to but not subordinate to this Resource.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "Endpoints": {
+                    "description": "An array of links to the endpoints that represent the logical fabric connection to this fabric adapter.",
+                    "items": {
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/Endpoint.json#/definitions/Endpoint"
+                    },
+                    "longDescription": "This property shall contain an array of links to Resources of type Endpoint that represents the logical fabric connection associated with this fabric adapter.",
+                    "readonly": true,
+                    "type": "array"
+                },
+                "Endpoints@odata.count": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
+                },
+                "Oem": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "The OEM extension property.",
+                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
+                }
+            },
+            "type": "object"
+        },
+        "OemActions": {
+            "additionalProperties": true,
+            "description": "The available OEM-specific actions for this Resource.",
+            "longDescription": "This type shall contain the available OEM-specific actions for this Resource.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {},
+            "type": "object"
+        }
+    },
+    "owningEntity": "DMTF",
+    "release": "2019.4",
+    "title": "#FabricAdapter.v1_0_0.FabricAdapter"
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/FabricAdapter/index.json b/static/redfish/v1/JsonSchemas/FabricAdapter/index.json
new file mode 100644
index 0000000..778609e
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/FabricAdapter/index.json
@@ -0,0 +1,21 @@
+{
+    "@odata.context": "/redfish/v1/$metadata#JsonSchemaFile.JsonSchemaFile",
+    "@odata.id": "/redfish/v1/JsonSchemas/FabricAdapter",
+    "@odata.type": "#JsonSchemaFile.v1_0_2.JsonSchemaFile",
+    "Name": "FabricAdapter Schema File",
+    "Schema": "#FabricAdapter.FabricAdapter",
+    "Description": "FabricAdapter Schema File Location",
+    "Id": "FabricAdapter",
+    "Languages": [
+        "en"
+    ],
+    "Languages@odata.count": 1,
+    "Location": [
+        {
+            "Language": "en",
+            "PublicationUri": "http://redfish.dmtf.org/schemas/v1/FabricAdapter.json",
+            "Uri": "/redfish/v1/JsonSchemas/FabricAdapter/FabricAdapter.json"
+        }
+    ],
+    "Location@odata.count": 1
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/Facility/Facility.json b/static/redfish/v1/JsonSchemas/Facility/Facility.json
new file mode 100644
index 0000000..808540b
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/Facility/Facility.json
@@ -0,0 +1,288 @@
+{
+    "$id": "http://redfish.dmtf.org/schemas/v1/Facility.v1_0_0.json",
+    "$ref": "#/definitions/Facility",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2019 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)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
+                    "description": "This property shall specify a valid odata or Redfish property.",
+                    "type": [
+                        "array",
+                        "boolean",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "Oem": {
+                    "$ref": "#/definitions/OemActions",
+                    "description": "The available OEM-specific actions for this Resource.",
+                    "longDescription": "This property shall contain the available OEM-specific actions for this Resource."
+                }
+            },
+            "type": "object"
+        },
+        "Facility": {
+            "additionalProperties": false,
+            "description": "The Facility schema represents the physical location containing equipment, such as a room, building, or campus.",
+            "longDescription": "This resource shall be used to represent a location containing equipment, such as a room, building, or campus, for a Redfish implementation.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "@odata.context": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
+                },
+                "@odata.id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
+                },
+                "@odata.type": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
+                },
+                "Actions": {
+                    "$ref": "#/definitions/Actions",
+                    "description": "The available actions for this resource.",
+                    "longDescription": "This property shall contain the available actions for this resource."
+                },
+                "Description": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "readonly": true
+                },
+                "FacilityType": {
+                    "$ref": "#/definitions/FacilityType",
+                    "description": "The type of location this resource represents.",
+                    "longDescription": "This property shall contain the type of location this resource represents.",
+                    "readonly": true
+                },
+                "Id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
+                    "readonly": true
+                },
+                "Links": {
+                    "$ref": "#/definitions/Links",
+                    "description": "The links to other Resources that are related to this resource.",
+                    "longDescription": "This property shall contain links to resources that are related to but are not contained by or subordinate to this resource."
+                },
+                "Location": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location",
+                    "description": "The location of the facility.",
+                    "longDescription": "This property shall contain location information of the associated facility."
+                },
+                "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": "The OEM extension property.",
+                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
+                },
+                "PowerDomains": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/PowerDomainCollection.json#/definitions/PowerDomainCollection",
+                    "description": "Link to the power domains in this facility.",
+                    "longDescription": "This property shall contain a link to a resource collection of type PowerDomainCollection that contains the power domains associated with this facility.",
+                    "readonly": true
+                },
+                "Status": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "The status and health of the Resource and its subordinate or dependent resources.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
+                }
+            },
+            "required": [
+                "FacilityType",
+                "@odata.id",
+                "@odata.type",
+                "Id",
+                "Name"
+            ],
+            "type": "object"
+        },
+        "FacilityType": {
+            "enum": [
+                "Room",
+                "Floor",
+                "Building",
+                "Site"
+            ],
+            "enumDescriptions": {
+                "Building": "A structure with a roof and walls.",
+                "Floor": "A floor inside of a building.",
+                "Room": "A room inside of a building or floor.",
+                "Site": "A small area consisting of several buildings."
+            },
+            "type": "string"
+        },
+        "Links": {
+            "additionalProperties": false,
+            "description": "The links to other resources that are related to this resource.",
+            "longDescription": "This Redfish Specification-described type shall contain links to resources that are related to but are not contained by or subordinate to this resource.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "ContainedByFacility": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Facility.json#/definitions/Facility",
+                    "description": "The link to the facility that contains this facility.",
+                    "longDescription": "This property shall contain a link to a resource of type Facility that represents the facility that contains this facility.",
+                    "readonly": false
+                },
+                "ContainsChassis": {
+                    "description": "An array of links to outermost chassis contained within this facility.",
+                    "items": {
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/Chassis.json#/definitions/Chassis"
+                    },
+                    "longDescription": "The value of this property shall be an array of links to resources of type Chassis that represent the outermost chassis that this facility contains.  This array shall only contain chassis instances that do not include a ContainedBy property within the Links property.  That is, only chassis instances that are not contained by another chassis.",
+                    "readonly": false,
+                    "type": "array"
+                },
+                "ContainsChassis@odata.count": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
+                },
+                "ContainsFacilities": {
+                    "description": "An array of links to other facilities contained within this facility.",
+                    "items": {
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/Facility.json#/definitions/Facility"
+                    },
+                    "longDescription": "The value of this property shall be an array of links to resources of type Facility that represent the facilities that this facility contains.",
+                    "readonly": false,
+                    "type": "array"
+                },
+                "ContainsFacilities@odata.count": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
+                },
+                "FloorPDUs": {
+                    "description": "An array of links to the floor power distribution units in this facility.",
+                    "items": {
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/PowerDistribution.json#/definitions/PowerDistribution"
+                    },
+                    "longDescription": "The value of this property shall be an array of links to resources of type PowerDistribution that represent the floor power distribution units in this facility.",
+                    "readonly": false,
+                    "type": "array"
+                },
+                "FloorPDUs@odata.count": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
+                },
+                "ManagedBy": {
+                    "description": "An array of links to the managers responsible for managing this facility.",
+                    "items": {
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/Manager.json#/definitions/Manager"
+                    },
+                    "longDescription": "The value of this property shall be an array of links to resources of type Manager that represent the managers that manager this facility.",
+                    "readonly": true,
+                    "type": "array"
+                },
+                "ManagedBy@odata.count": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
+                },
+                "Oem": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "The OEM extension property.",
+                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
+                },
+                "RackPDUs": {
+                    "description": "An array of links to the rack-level power distribution units in this facility.",
+                    "items": {
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/PowerDistribution.json#/definitions/PowerDistribution"
+                    },
+                    "longDescription": "The value of this property shall be an array of links to resources of type PowerDistribution that represent the rack-level power distribution units in this facility.",
+                    "readonly": false,
+                    "type": "array"
+                },
+                "RackPDUs@odata.count": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
+                },
+                "Switchgear": {
+                    "description": "An array of links to the switchgear in this facility.",
+                    "items": {
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/PowerDistribution.json#/definitions/PowerDistribution"
+                    },
+                    "longDescription": "The value of this property shall be an array of links to resources of type PowerDistribution that represent the switchgear in this facility.",
+                    "readonly": false,
+                    "type": "array"
+                },
+                "Switchgear@odata.count": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
+                },
+                "TransferSwitches": {
+                    "description": "An array of links to the transfer switches in this facility.",
+                    "items": {
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/PowerDistribution.json#/definitions/PowerDistribution"
+                    },
+                    "longDescription": "The value of this property shall be an array of links to resources of type PowerDistribution that represent the transfer switches in this facility.",
+                    "readonly": false,
+                    "type": "array"
+                },
+                "TransferSwitches@odata.count": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
+                }
+            },
+            "type": "object"
+        },
+        "OemActions": {
+            "additionalProperties": true,
+            "description": "The available OEM-specific actions for this Resource.",
+            "longDescription": "This type shall contain the available OEM-specific actions for this Resource.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {},
+            "type": "object"
+        }
+    },
+    "owningEntity": "DMTF",
+    "release": "2019.4",
+    "title": "#Facility.v1_0_0.Facility"
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/Facility/index.json b/static/redfish/v1/JsonSchemas/Facility/index.json
new file mode 100644
index 0000000..bb306c3
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/Facility/index.json
@@ -0,0 +1,21 @@
+{
+    "@odata.context": "/redfish/v1/$metadata#JsonSchemaFile.JsonSchemaFile",
+    "@odata.id": "/redfish/v1/JsonSchemas/Facility",
+    "@odata.type": "#JsonSchemaFile.v1_0_2.JsonSchemaFile",
+    "Name": "Facility Schema File",
+    "Schema": "#Facility.Facility",
+    "Description": "Facility Schema File Location",
+    "Id": "Facility",
+    "Languages": [
+        "en"
+    ],
+    "Languages@odata.count": 1,
+    "Location": [
+        {
+            "Language": "en",
+            "PublicationUri": "http://redfish.dmtf.org/schemas/v1/Facility.json",
+            "Uri": "/redfish/v1/JsonSchemas/Facility/Facility.json"
+        }
+    ],
+    "Location@odata.count": 1
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/IPAddresses/IPAddresses.json b/static/redfish/v1/JsonSchemas/IPAddresses/IPAddresses.json
index 738ac27..735e08c 100644
--- a/static/redfish/v1/JsonSchemas/IPAddresses/IPAddresses.json
+++ b/static/redfish/v1/JsonSchemas/IPAddresses/IPAddresses.json
@@ -1,5 +1,5 @@
 {
-    "$id": "http://redfish.dmtf.org/schemas/v1/IPAddresses.v1_1_1.json",
+    "$id": "http://redfish.dmtf.org/schemas/v1/IPAddresses.v1_1_2.json",
     "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
     "copyright": "Copyright 2014-2019 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
@@ -306,7 +306,7 @@
         },
         "PrefixLength": {
             "maximum": 128,
-            "minimum": 1,
+            "minimum": 0,
             "type": "integer"
         },
         "SubnetMask": {
@@ -316,5 +316,5 @@
     },
     "owningEntity": "DMTF",
     "release": "2018.2",
-    "title": "#IPAddresses.v1_1_1"
+    "title": "#IPAddresses.v1_1_2"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/LogEntry/LogEntry.json b/static/redfish/v1/JsonSchemas/LogEntry/LogEntry.json
index 94a9134..39dc877 100644
--- a/static/redfish/v1/JsonSchemas/LogEntry/LogEntry.json
+++ b/static/redfish/v1/JsonSchemas/LogEntry/LogEntry.json
@@ -1,5 +1,5 @@
 {
-    "$id": "http://redfish.dmtf.org/schemas/v1/LogEntry.v1_5_0.json",
+    "$id": "http://redfish.dmtf.org/schemas/v1/LogEntry.v1_5_1.json",
     "$ref": "#/definitions/LogEntry",
     "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
     "copyright": "Copyright 2014-2019 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
@@ -143,7 +143,7 @@
                         }
                     ],
                     "description": "The entry code for the log entry if the entry type is `SEL`.",
-                    "longDescription": "This property shall contain the entry code for the log entry if the EntryType is `SEL`.  Tables 42-1 and 42-2 of the IPMI Specification describe these enumerations.",
+                    "longDescription": "This property shall contain the entry code for the log entry if the EntryType is `SEL`.  Tables 42-1 and 42-2 of the IPMI Specification v2.0 revision 1.1 describe these enumerations.",
                     "readonly": true
                 },
                 "EntryType": {
@@ -208,7 +208,7 @@
                 },
                 "Message": {
                     "description": "The message of the log entry.  This property decodes from the entry type.  If the entry type is `Event`, this property contains a message.  If the entry type is `SEL`, this property contains an SEL-specific message.  Otherwise, this property contains an OEM-specific log entry.  In most cases, this property contains the actual log entry.",
-                    "longDescription": "This property shall contain the message of the log entry.  This property decodes from the entry type.  If the entry type is `Event`, this property contains a message.  If the entry type is `SEL`, this property contains an SEL-specific.  Otherwise, this property contains an OEM-specific log entry.  In most cases, this property contains the actual log entry.",
+                    "longDescription": "This property shall contain the message of the log entry.  This property decodes from the entry type.  If the entry type is `Event`, this property contains a message.  If the entry type is `SEL`, this property contains an SEL-specific message, following the format specified in Table 32-1, SEL Event Records, in the IPMI Specification v2.0 revision 1.1.  Otherwise, this property contains an OEM-specific log entry.  In most cases, this property contains the actual log entry.",
                     "readonly": true,
                     "type": [
                         "string",
@@ -287,7 +287,7 @@
                         }
                     ],
                     "description": "The sensor type to which the log entry pertains if the entry type is `SEL`.",
-                    "longDescription": "This property shall contain the sensor type to which the log entry pertains if the entry type is `SEL`.  Table 42-3 in the IPMI Specification describes these enumerations.",
+                    "longDescription": "This property shall contain the sensor type to which the log entry pertains if the entry type is `SEL`.  Table 42-3, Sensor Type Codes, in the IPMI Specification v2.0 revision 1.1 describes these enumerations.",
                     "readonly": true
                 },
                 "Severity": {
@@ -581,5 +581,5 @@
     },
     "owningEntity": "DMTF",
     "release": "2019.3",
-    "title": "#LogEntry.v1_5_0.LogEntry"
+    "title": "#LogEntry.v1_5_1.LogEntry"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/Manager/Manager.json b/static/redfish/v1/JsonSchemas/Manager/Manager.json
index bfc514f..d0e89d3 100644
--- a/static/redfish/v1/JsonSchemas/Manager/Manager.json
+++ b/static/redfish/v1/JsonSchemas/Manager/Manager.json
@@ -1,5 +1,5 @@
 {
-    "$id": "http://redfish.dmtf.org/schemas/v1/Manager.v1_6_0.json",
+    "$id": "http://redfish.dmtf.org/schemas/v1/Manager.v1_7_0.json",
     "$ref": "#/definitions/Manager",
     "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
     "copyright": "Copyright 2014-2019 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
@@ -411,6 +411,16 @@
                     "longDescription": "This property shall describe the function of this manager.  The `ManagementController` value shall be used if none of the other enumerations apply.",
                     "readonly": true
                 },
+                "Manufacturer": {
+                    "description": "The manufacturer of this manager.",
+                    "longDescription": "This property shall contain the name of the organization responsible for producing the manager.  This organization might be the entity from whom the manager is purchased, but this is not necessarily true.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ],
+                    "versionAdded": "v1_7_0"
+                },
                 "Model": {
                     "description": "The model information of this manager, as defined by the manufacturer.",
                     "longDescription": "This property shall contain the information about how the manufacturer refers to this manager.",
@@ -435,6 +445,16 @@
                     "description": "The OEM extension property.",
                     "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
                 },
+                "PartNumber": {
+                    "description": "The part number of the manager.",
+                    "longDescription": "This property shall contain a part number assigned by the organization that is responsible for producing or manufacturing the manager.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ],
+                    "versionAdded": "v1_7_0"
+                },
                 "PowerState": {
                     "anyOf": [
                         {
@@ -490,6 +510,16 @@
                     "longDescription": "This property shall contain a link to a Resource Collection of type SerialInterfaceCollection, which this manager uses.",
                     "readonly": true
                 },
+                "SerialNumber": {
+                    "description": "The serial number of the manager.",
+                    "longDescription": "This property shall contain a manufacturer-allocated number that identifies the manager.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ],
+                    "versionAdded": "v1_7_0"
+                },
                 "ServiceEntryPointUUID": {
                     "anyOf": [
                         {
@@ -761,6 +791,6 @@
         }
     },
     "owningEntity": "DMTF",
-    "release": "2019.2",
-    "title": "#Manager.v1_6_0.Manager"
+    "release": "2019.4",
+    "title": "#Manager.v1_7_0.Manager"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/ManagerAccount/ManagerAccount.json b/static/redfish/v1/JsonSchemas/ManagerAccount/ManagerAccount.json
index d880982..f958f40 100644
--- a/static/redfish/v1/JsonSchemas/ManagerAccount/ManagerAccount.json
+++ b/static/redfish/v1/JsonSchemas/ManagerAccount/ManagerAccount.json
@@ -1,5 +1,5 @@
 {
-    "$id": "http://redfish.dmtf.org/schemas/v1/ManagerAccount.v1_4_0.json",
+    "$id": "http://redfish.dmtf.org/schemas/v1/ManagerAccount.v1_5_0.json",
     "$ref": "#/definitions/ManagerAccount",
     "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
     "copyright": "Copyright 2014-2019 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
@@ -151,8 +151,8 @@
                     "readonly": true
                 },
                 "Enabled": {
-                    "description": "An indication of whether an account is enabled.  An administrator can disable it without deleting the user information.  If `true`, the account is enabled and the user can log in.  If `false`, the account is disabled and, in the future, the user cannot log in.  This property overrides the Locked property.",
-                    "longDescription": "This property shall indicate whether an account is enabled.  If `true`, the account is enabled and the user can log in.  If `false`, the account is disabled and, in the future, the user cannot log in.  This property overrides the Locked property.",
+                    "description": "An indication of whether an account is enabled.  An administrator can disable it without deleting the user information.  If `true`, the account is enabled and the user can log in.  If `false`, the account is disabled and, in the future, the user cannot log in.",
+                    "longDescription": "This property shall indicate whether an account is enabled.  If `true`, the account is enabled and the user can log in.  If `false`, the account is disabled and, in the future, the user cannot log in.",
                     "readonly": false,
                     "type": "boolean"
                 },
@@ -339,6 +339,13 @@
                     ],
                     "versionAdded": "v1_4_0"
                 },
+                "AuthenticationKeySet": {
+                    "description": "Indicates if the AuthenticationKey property is set.",
+                    "longDescription": "This property shall contain `true` if a valid value was provided for the AuthenticationKey property.  Otherwise, the property shall contain `false`.",
+                    "readonly": true,
+                    "type": "boolean",
+                    "versionAdded": "v1_5_0"
+                },
                 "AuthenticationProtocol": {
                     "anyOf": [
                         {
@@ -364,6 +371,13 @@
                     ],
                     "versionAdded": "v1_4_0"
                 },
+                "EncryptionKeySet": {
+                    "description": "Indicates if the EncryptionKey property is set.",
+                    "longDescription": "This property shall contain `true` if a valid value was provided for the EncryptionKey property.  Otherwise, the property shall contain `false`.",
+                    "readonly": true,
+                    "type": "boolean",
+                    "versionAdded": "v1_5_0"
+                },
                 "EncryptionProtocol": {
                     "anyOf": [
                         {
@@ -383,6 +397,6 @@
         }
     },
     "owningEntity": "DMTF",
-    "release": "2019.3",
-    "title": "#ManagerAccount.v1_4_0.ManagerAccount"
+    "release": "2019.4",
+    "title": "#ManagerAccount.v1_5_0.ManagerAccount"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/MediaController/MediaController.json b/static/redfish/v1/JsonSchemas/MediaController/MediaController.json
new file mode 100644
index 0000000..0ae71a6
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/MediaController/MediaController.json
@@ -0,0 +1,297 @@
+{
+    "$id": "http://redfish.dmtf.org/schemas/v1/MediaController.v1_0_0.json",
+    "$ref": "#/definitions/MediaController",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2019 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)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
+                    "description": "This property shall specify a valid odata or Redfish property.",
+                    "type": [
+                        "array",
+                        "boolean",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "#MediaController.Reset": {
+                    "$ref": "#/definitions/Reset"
+                },
+                "Oem": {
+                    "$ref": "#/definitions/OemActions",
+                    "description": "The available OEM-specific actions for this Resource.",
+                    "longDescription": "This property shall contain the available OEM-specific actions for this Resource."
+                }
+            },
+            "type": "object"
+        },
+        "Links": {
+            "additionalProperties": false,
+            "description": "The links to other Resources that are related to this Resource.",
+            "longDescription": "This Redfish Specification-described type shall contain links to Resources that are related to but are not contained by or subordinate to this Resource.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "Endpoints": {
+                    "description": "An array of links to the endpoints that connect to this media controller.",
+                    "items": {
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/Endpoint.json#/definitions/Endpoint"
+                    },
+                    "longDescription": "This property shall contain an array of links to Resources of type Endpoint with which this media controller is associated.",
+                    "readonly": true,
+                    "type": "array"
+                },
+                "Endpoints@odata.count": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
+                },
+                "MemoryDomains": {
+                    "description": "An array of links to the memory domains associated with this media controller.",
+                    "items": {
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/MemoryDomain.json#/definitions/MemoryDomain"
+                    },
+                    "longDescription": "This property shall contain an array of links to Resources of type MemoryDomain that represent the memory domains associated with this memory controller.",
+                    "readonly": true,
+                    "type": "array"
+                },
+                "MemoryDomains@odata.count": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
+                },
+                "Oem": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "The OEM extension property.",
+                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
+                }
+            },
+            "type": "object"
+        },
+        "MediaController": {
+            "additionalProperties": false,
+            "description": "The schema definition of the media controller and its configuration.",
+            "longDescription": "This Resource contains the media controller in a Redfish implementation.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "@odata.context": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
+                },
+                "@odata.id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
+                },
+                "@odata.type": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
+                },
+                "Actions": {
+                    "$ref": "#/definitions/Actions",
+                    "description": "The available actions for this Resource.",
+                    "longDescription": "This property shall contain the available actions for this Resource."
+                },
+                "Description": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "readonly": true
+                },
+                "Id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
+                    "readonly": true
+                },
+                "Links": {
+                    "$ref": "#/definitions/Links",
+                    "description": "The links to other Resources that are related to this Resource.",
+                    "longDescription": "The Redfish Specification-described Links Property shall contain links to Resources related to but not subordinate to this Resource."
+                },
+                "Manufacturer": {
+                    "description": "The manufacturer of this media controller.",
+                    "longDescription": "This property shall contain the manufacturer of the media controller.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "MediaControllerType": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/MediaControllerType"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The type of media controller.",
+                    "longDescription": "This property shall contain the type of media controller.",
+                    "readonly": true
+                },
+                "Model": {
+                    "description": "The model of this media controller.",
+                    "longDescription": "This property shall contain the model of the media controller.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "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": "The OEM extension property.",
+                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
+                },
+                "PartNumber": {
+                    "description": "The part number of this media controller.",
+                    "longDescription": "This property shall indicate the part number as provided by the manufacturer of this media controller.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "Ports": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/PortCollection.json#/definitions/PortCollection",
+                    "description": "The link to the collection of ports associated with this media controller.",
+                    "longDescription": "This property shall contain a link to a Resource Collection of type PortCollection.",
+                    "readonly": true
+                },
+                "SerialNumber": {
+                    "description": "The serial number of this media controller.",
+                    "longDescription": "This property shall indicate the serial number as provided by the manufacturer of this media controller.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "Status": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "The status and health of the Resource and its subordinate or dependent Resources.",
+                    "longDescription": "This property shall contain any status or health properties of the Resource."
+                }
+            },
+            "required": [
+                "@odata.id",
+                "@odata.type",
+                "Id",
+                "Name"
+            ],
+            "type": "object"
+        },
+        "MediaControllerType": {
+            "enum": [
+                "Memory"
+            ],
+            "enumDescriptions": {
+                "Memory": "The media controller is for memory."
+            },
+            "enumLongDescriptions": {
+                "Memory": "This value shall indicate the media controller is for memory."
+            },
+            "type": "string"
+        },
+        "OemActions": {
+            "additionalProperties": true,
+            "description": "The available OEM-specific actions for this Resource.",
+            "longDescription": "This type shall contain the available OEM-specific actions for this Resource.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {},
+            "type": "object"
+        },
+        "Reset": {
+            "additionalProperties": false,
+            "description": "This action resets this media controller.",
+            "longDescription": "This action shall reset this media controller.",
+            "parameters": {
+                "ResetType": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/ResetType",
+                    "description": "The type of reset.",
+                    "longDescription": "This parameter shall contain the type of reset.  The Service may accept a request without the parameter and perform an implementation-specific default reset."
+                }
+            },
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "target": {
+                    "description": "Link to invoke action",
+                    "format": "uri-reference",
+                    "type": "string"
+                },
+                "title": {
+                    "description": "Friendly action name",
+                    "type": "string"
+                }
+            },
+            "type": "object"
+        }
+    },
+    "owningEntity": "DMTF",
+    "release": "2019.4",
+    "title": "#MediaController.v1_0_0.MediaController"
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/MediaController/index.json b/static/redfish/v1/JsonSchemas/MediaController/index.json
new file mode 100644
index 0000000..c476132
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/MediaController/index.json
@@ -0,0 +1,21 @@
+{
+    "@odata.context": "/redfish/v1/$metadata#JsonSchemaFile.JsonSchemaFile",
+    "@odata.id": "/redfish/v1/JsonSchemas/MediaController",
+    "@odata.type": "#JsonSchemaFile.v1_0_2.JsonSchemaFile",
+    "Name": "MediaController Schema File",
+    "Schema": "#MediaController.MediaController",
+    "Description": "MediaController Schema File Location",
+    "Id": "MediaController",
+    "Languages": [
+        "en"
+    ],
+    "Languages@odata.count": 1,
+    "Location": [
+        {
+            "Language": "en",
+            "PublicationUri": "http://redfish.dmtf.org/schemas/v1/MediaController.json",
+            "Uri": "/redfish/v1/JsonSchemas/MediaController/MediaController.json"
+        }
+    ],
+    "Location@odata.count": 1
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/Memory/Memory.json b/static/redfish/v1/JsonSchemas/Memory/Memory.json
index f8fa07d..bafbb1a 100644
--- a/static/redfish/v1/JsonSchemas/Memory/Memory.json
+++ b/static/redfish/v1/JsonSchemas/Memory/Memory.json
@@ -1,5 +1,5 @@
 {
-    "$id": "http://redfish.dmtf.org/schemas/v1/Memory.v1_8_0.json",
+    "$id": "http://redfish.dmtf.org/schemas/v1/Memory.v1_9_0.json",
     "$ref": "#/definitions/Memory",
     "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
     "copyright": "Copyright 2014-2019 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
@@ -335,13 +335,15 @@
                     "versionDeprecated": "v1_3_0"
                 },
                 "DeviceLocator": {
+                    "deprecated": "This property has been deprecated in favor of the ServiceLabel property within Location.",
                     "description": "Location of the memory in the platform.",
                     "longDescription": "This property shall contain location of the memory in the platform, typically marked in the silk screen.",
                     "readonly": true,
                     "type": [
                         "string",
                         "null"
-                    ]
+                    ],
+                    "versionDeprecated": "v1_9_0"
                 },
                 "ErrorCorrection": {
                     "anyOf": [
@@ -1449,6 +1451,6 @@
         }
     },
     "owningEntity": "DMTF",
-    "release": "2019.2",
-    "title": "#Memory.v1_8_0.Memory"
+    "release": "2019.4",
+    "title": "#Memory.v1_9_0.Memory"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/MemoryChunks/MemoryChunks.json b/static/redfish/v1/JsonSchemas/MemoryChunks/MemoryChunks.json
index b40f6e8..1baf30a 100644
--- a/static/redfish/v1/JsonSchemas/MemoryChunks/MemoryChunks.json
+++ b/static/redfish/v1/JsonSchemas/MemoryChunks/MemoryChunks.json
@@ -1,5 +1,5 @@
 {
-    "$id": "http://redfish.dmtf.org/schemas/v1/MemoryChunks.v1_2_4.json",
+    "$id": "http://redfish.dmtf.org/schemas/v1/MemoryChunks.v1_3_0.json",
     "$ref": "#/definitions/MemoryChunks",
     "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
     "copyright": "Copyright 2014-2019 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
@@ -111,6 +111,46 @@
             },
             "type": "object"
         },
+        "Links": {
+            "additionalProperties": false,
+            "description": "The links to other Resources that are related to this Resource.",
+            "longDescription": "The Redfish Specification-described type shall contain links to Resources related to but not subordinate to this Resource.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "Endpoints": {
+                    "description": "An array of links to the endpoints that connect to this memory chunk.",
+                    "items": {
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/Endpoint.json#/definitions/Endpoint"
+                    },
+                    "longDescription": "This property shall contain a link to the Resources of type Endpoint with which this memory chunk is associated.",
+                    "readonly": true,
+                    "type": "array",
+                    "versionAdded": "v1_3_0"
+                },
+                "Endpoints@odata.count": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
+                },
+                "Oem": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "The OEM extension property.",
+                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
+                }
+            },
+            "type": "object"
+        },
         "MemoryChunks": {
             "additionalProperties": false,
             "description": "The schema definition of a memory chunk and its configuration.",
@@ -148,6 +188,17 @@
                     "longDescription": "This property shall contain the available actions for this Resource.",
                     "versionAdded": "v1_1_0"
                 },
+                "AddressRangeOffsetMiB": {
+                    "description": "Offset of the memory chunk in the address range in MiB.",
+                    "longDescription": "The value of this property shall be the offset of the memory chunk in the address range in MiB.",
+                    "readonly": true,
+                    "type": [
+                        "integer",
+                        "null"
+                    ],
+                    "units": "MiBy",
+                    "versionAdded": "v1_3_0"
+                },
                 "AddressRangeType": {
                     "anyOf": [
                         {
@@ -202,6 +253,12 @@
                         "null"
                     ]
                 },
+                "Links": {
+                    "$ref": "#/definitions/Links",
+                    "description": "The links to other Resources that are related to this Resource.",
+                    "longDescription": "The Redfish Specification-described Links Property shall contain links to Resources related to but not subordinate to this Resource.",
+                    "versionAdded": "v1_3_0"
+                },
                 "MemoryChunkSizeMiB": {
                     "description": "Size of the memory chunk measured in mebibytes (MiB).",
                     "longDescription": "This property shall contain the size of the memory chunk in MiB.",
@@ -259,6 +316,6 @@
         }
     },
     "owningEntity": "DMTF",
-    "release": "2017.3",
-    "title": "#MemoryChunks.v1_2_4.MemoryChunks"
+    "release": "2019.4",
+    "title": "#MemoryChunks.v1_3_0.MemoryChunks"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/MemoryDomain/MemoryDomain.json b/static/redfish/v1/JsonSchemas/MemoryDomain/MemoryDomain.json
index 5c3f7f8..478dfad 100644
--- a/static/redfish/v1/JsonSchemas/MemoryDomain/MemoryDomain.json
+++ b/static/redfish/v1/JsonSchemas/MemoryDomain/MemoryDomain.json
@@ -1,5 +1,5 @@
 {
-    "$id": "http://redfish.dmtf.org/schemas/v1/MemoryDomain.v1_2_3.json",
+    "$id": "http://redfish.dmtf.org/schemas/v1/MemoryDomain.v1_3_0.json",
     "$ref": "#/definitions/MemoryDomain",
     "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
     "copyright": "Copyright 2014-2019 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
@@ -32,6 +32,46 @@
             },
             "type": "object"
         },
+        "Links": {
+            "additionalProperties": false,
+            "description": "The links to other Resources that are related to this Resource.",
+            "longDescription": "The Redfish Specification-described type shall contain links to Resources related to but not subordinate to this Resource.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "MediaControllers": {
+                    "description": "An array of links to the media controllers for this memory domain.",
+                    "items": {
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/MediaController.json#/definitions/MediaController"
+                    },
+                    "longDescription": "This property shall contain an array of links to Resources of type MediaController that are associated with this memory domain.",
+                    "readonly": true,
+                    "type": "array",
+                    "versionAdded": "v1_3_0"
+                },
+                "MediaControllers@odata.count": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
+                },
+                "Oem": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "The OEM extension property.",
+                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
+                }
+            },
+            "type": "object"
+        },
         "MemoryDomain": {
             "additionalProperties": false,
             "description": "The MemoryDomain schema describes a memory domain and its configuration.  Memory domains indicate to the client which memory, or DIMMs, can be grouped together in memory chunks to represent addressable memory.",
@@ -130,6 +170,12 @@
                     "longDescription": "This property shall represent the interleave sets for the memory chunk.",
                     "type": "array"
                 },
+                "Links": {
+                    "$ref": "#/definitions/Links",
+                    "description": "The links to other Resources that are related to this Resource.",
+                    "longDescription": "The Redfish Specification-described Links Property shall contain links to Resources related to but not subordinate to this Resource.",
+                    "versionAdded": "v1_3_0"
+                },
                 "MemoryChunks": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/MemoryChunksCollection.json#/definitions/MemoryChunksCollection",
                     "description": "The link to the collection of memory chunks associated with this memory domain.",
@@ -211,6 +257,6 @@
         }
     },
     "owningEntity": "DMTF",
-    "release": "2017.1",
-    "title": "#MemoryDomain.v1_2_3.MemoryDomain"
+    "release": "2019.4",
+    "title": "#MemoryDomain.v1_3_0.MemoryDomain"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/MetricReport/MetricReport.json b/static/redfish/v1/JsonSchemas/MetricReport/MetricReport.json
index fd1443a..bd6bc52 100644
--- a/static/redfish/v1/JsonSchemas/MetricReport/MetricReport.json
+++ b/static/redfish/v1/JsonSchemas/MetricReport/MetricReport.json
@@ -1,5 +1,5 @@
 {
-    "$id": "http://redfish.dmtf.org/schemas/v1/MetricReport.v1_2_0.json",
+    "$id": "http://redfish.dmtf.org/schemas/v1/MetricReport.v1_3_0.json",
     "$ref": "#/definitions/MetricReport",
     "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
     "copyright": "Copyright 2014-2019 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
@@ -106,10 +106,12 @@
                     "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
                 },
                 "ReportSequence": {
+                    "deprecated": "This property has been deprecated due to specification changes with regards to Server-Sent Events.",
                     "description": "The current sequence identifier for this metric report.",
-                    "longDescription": "This property shall contain the current sequence identifier for this metric report.",
+                    "longDescription": "This property shall contain the current sequence identifier for this metric report.  The sequence identifier is a unique identifier assigned by the Service for serializing metric reports as they are produced.",
                     "readonly": true,
-                    "type": "string"
+                    "type": "string",
+                    "versionDeprecated": "v1_3_0"
                 },
                 "Timestamp": {
                     "description": "The time associated with the metric report in its entirety.  The time of the metric report may be relevant when the time of individual metrics are minimally different.",
@@ -124,7 +126,6 @@
                 }
             },
             "required": [
-                "ReportSequence",
                 "@odata.id",
                 "@odata.type",
                 "Id",
@@ -227,6 +228,6 @@
         }
     },
     "owningEntity": "DMTF",
-    "release": "2019.2",
-    "title": "#MetricReport.v1_2_0.MetricReport"
+    "release": "2019.4",
+    "title": "#MetricReport.v1_3_0.MetricReport"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/Outlet/Outlet.json b/static/redfish/v1/JsonSchemas/Outlet/Outlet.json
new file mode 100644
index 0000000..4982d5f
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/Outlet/Outlet.json
@@ -0,0 +1,696 @@
+{
+    "$id": "http://redfish.dmtf.org/schemas/v1/Outlet.v1_0_0.json",
+    "$ref": "#/definitions/Outlet",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2019 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)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
+                    "description": "This property shall specify a valid odata or Redfish property.",
+                    "type": [
+                        "array",
+                        "boolean",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "#Outlet.PowerControl": {
+                    "$ref": "#/definitions/PowerControl"
+                },
+                "#Outlet.ResetMetrics": {
+                    "$ref": "#/definitions/ResetMetrics"
+                },
+                "Oem": {
+                    "$ref": "#/definitions/OemActions",
+                    "description": "The available OEM-specific actions for this resource.",
+                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
+                }
+            },
+            "type": "object"
+        },
+        "CurrentSensors": {
+            "additionalProperties": false,
+            "description": "The current sensors for this outlet.",
+            "longDescription": "This type shall contain properties that describe current sensor readings for an outlet.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "Line1": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorCurrentExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "Line 1 current sensor.",
+                    "excerptCopy": "SensorCurrentExcerpt",
+                    "longDescription": "This property shall contain a CurrentSensor excerpt that measures current for L1.  This property shall not be present if the outlet does not include an L1 measurement.",
+                    "readonly": true
+                },
+                "Line2": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorCurrentExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "Line 2 current sensor.",
+                    "excerptCopy": "SensorCurrentExcerpt",
+                    "longDescription": "This property shall contain a CurrentSensor excerpt that measures current for L2.  This property shall not be present if the outlet does not include an L2 measurement.",
+                    "readonly": true
+                },
+                "Line3": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorCurrentExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "Line 3 current sensor.",
+                    "excerptCopy": "SensorCurrentExcerpt",
+                    "longDescription": "This property shall contain a CurrentSensor excerpt that measures current for L3.  This property shall not be present if the outlet does not include an L3 measurement.",
+                    "readonly": true
+                },
+                "Neutral": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorCurrentExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "Neutral line current sensor.",
+                    "excerptCopy": "SensorCurrentExcerpt",
+                    "longDescription": "This property shall contain a CurrentSensor excerpt that measures current for the Neutral line.  This property shall not be present if the outlet does not include a Neutral measurement.",
+                    "readonly": true
+                }
+            },
+            "type": "object"
+        },
+        "Links": {
+            "additionalProperties": false,
+            "description": "The links to other resources that are related to this resource.",
+            "longDescription": "This Redfish Specification-described type shall contain links to resources that are related to but are not contained by or subordinate to this resource.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "BranchCircuit": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Circuit.json#/definitions/Circuit"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "A reference to the branch circuit related to this outlet.",
+                    "longDescription": "This property shall contain a link to a resource of type Circuit that represent the branch circuit associated with this outlet.",
+                    "readonly": true
+                },
+                "Oem": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "The OEM extension property.",
+                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
+                }
+            },
+            "type": "object"
+        },
+        "OemActions": {
+            "additionalProperties": true,
+            "description": "The available OEM-specific actions for this resource.",
+            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {},
+            "type": "object"
+        },
+        "Outlet": {
+            "additionalProperties": false,
+            "description": "This is the schema definition for an electrical outlet.",
+            "longDescription": "This resource shall be used to represent an electrical outlet for a Redfish implementation.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "@odata.context": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
+                },
+                "@odata.id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
+                },
+                "@odata.type": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
+                },
+                "Actions": {
+                    "$ref": "#/definitions/Actions",
+                    "description": "The available actions for this resource.",
+                    "longDescription": "This property shall contain the available actions for this resource."
+                },
+                "CurrentAmps": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorCurrentExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The current reading for this single phase outlet.",
+                    "excerptCopy": "SensorCurrentExcerpt",
+                    "longDescription": "This property shall contain the current, measured in Amperes, for this single phase outlet.  This property shall not appear in resource instances representing poly-phase outlets.",
+                    "readonly": true
+                },
+                "Description": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "readonly": true
+                },
+                "ElectricalContext": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/ElectricalContext"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The combination of current-carrying conductors.",
+                    "longDescription": "This property shall contain the combination of current-carrying conductors that distribute power.",
+                    "readonly": true
+                },
+                "EnergykWh": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorEnergykWhExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The energy reading for this outlet.",
+                    "excerptCopy": "SensorEnergykWhExcerpt",
+                    "longDescription": "This property shall contain the total energy, measured in kilowatt-hours (kW.h), for this outlet, that represents the `Total` ElectricalContext sensor when multiple energy sensors exist for this outlet.",
+                    "readonly": true
+                },
+                "FrequencyHz": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The frequency reading for this outlet.",
+                    "excerptCopy": "SensorExcerpt",
+                    "longDescription": "This property shall contain the frequency sensor for this outlet.",
+                    "readonly": true
+                },
+                "Id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
+                    "readonly": true
+                },
+                "IndicatorLED": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/IndicatorLED"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The state of the indicator LED, which identifies the outlet.",
+                    "longDescription": "This property shall contain the indicator light state for the indicator light associated with this outlet.",
+                    "readonly": false
+                },
+                "Links": {
+                    "$ref": "#/definitions/Links",
+                    "description": "The links to other resources that are related to this resource.",
+                    "longDescription": "This property shall contain links to resources that are related to but are not contained by or subordinate to this resource."
+                },
+                "Name": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
+                    "readonly": true
+                },
+                "NominalVoltage": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Circuit.json#/definitions/NominalVoltageType"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The nominal voltage for this outlet.",
+                    "longDescription": "This property shall contain the nominal voltage for this outlet, in Volts.",
+                    "readonly": true
+                },
+                "Oem": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "The OEM extension property.",
+                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
+                },
+                "OutletType": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Outlet.json#/definitions/ReceptacleType"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The type of receptacle according to NEMA, IEC, or regional standards.",
+                    "longDescription": "This property shall contain the type of physical receptacle used for this outlet, as defined by IEC, NEMA, or regional standard.",
+                    "readonly": true
+                },
+                "PhaseWiringType": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Circuit.json#/definitions/PhaseWiringType"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The number of ungrounded current-carrying conductors (phases) and the total number of conductors (wires).",
+                    "longDescription": "This property shall contain the number of ungrounded current-carrying conductors (phases) and the total number of conductors (wires).",
+                    "readonly": true
+                },
+                "PolyPhaseCurrentAmps": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/CurrentSensors"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The current readings for this outlet.",
+                    "longDescription": "This property shall contain the current sensor(s) for this outlet.  For single phase outlets this property shall contain a duplicate copy of the current sensor referenced in the CurrentSensor property, if present.  For poly-phase outlets this property should contain multiple current sensor readings used to fully describe the outlet."
+                },
+                "PolyPhaseVoltage": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/VoltageSensors"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The voltage readings for this outlet.",
+                    "longDescription": "This property shall contain the voltage sensor(s) for this outlet.  For single phase outlets this property shall contain a duplicate copy of the voltage sensor referenced in the VoltageSensor property, if present.  For poly-phase outlets this property should contain multiple voltage sensor readings used to fully describe the outlet."
+                },
+                "PowerCycleDelaySeconds": {
+                    "description": "The number of seconds to delay power on after a PowerControl action to cycle power.  Zero seconds indicates no delay.",
+                    "longDescription": "This property shall contain the number of seconds to delay power on after a PowerControl action to cycle power.  The value `0` shall indicate no delay to power on.",
+                    "readonly": false,
+                    "type": [
+                        "number",
+                        "null"
+                    ]
+                },
+                "PowerEnabled": {
+                    "description": "Indicates if the outlet can be powered.",
+                    "longDescription": "This property shall indicate the power enable state of the outlet.  The value `true` shall indicate that the outlet may be powered on, and `false` shall indicate that the outlet cannot be powered.",
+                    "readonly": true,
+                    "type": [
+                        "boolean",
+                        "null"
+                    ]
+                },
+                "PowerOffDelaySeconds": {
+                    "description": "The number of seconds to delay power off after a PowerControl action.  Zero seconds indicates no delay to power off.",
+                    "longDescription": "This property shall contain the number of seconds to delay power off after a PowerControl action.  The value `0` shall indicate no delay to power off.",
+                    "readonly": false,
+                    "type": [
+                        "number",
+                        "null"
+                    ]
+                },
+                "PowerOnDelaySeconds": {
+                    "description": "The number of seconds to delay power up after a power cycle or a PowerControl action.  Zero seconds indicates no delay to power up.",
+                    "longDescription": "This property shall contain the number of seconds to delay power up after a power cycle or a PowerControl action.  The value `0` shall indicate no delay to power up.",
+                    "readonly": false,
+                    "type": [
+                        "number",
+                        "null"
+                    ]
+                },
+                "PowerRestoreDelaySeconds": {
+                    "description": "The number of seconds to delay power on after power has been restored.  Zero seconds indicates no delay.",
+                    "longDescription": "This property shall contain the number of seconds to delay power on after a power fault.  The value `0` shall indicate no delay to power on.",
+                    "readonly": false,
+                    "type": [
+                        "number",
+                        "null"
+                    ]
+                },
+                "PowerRestorePolicy": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Circuit.json#/definitions/PowerRestorePolicyTypes",
+                    "description": "The desired power state of the outlet when power is restored after a power loss.",
+                    "longDescription": "This property shall contain the desired PowerState of the outlet when power is applied.  The value `LastState` shall return the outlet to the PowerState it was in when power was lost.",
+                    "readonly": false
+                },
+                "PowerState": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/PowerState"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The power state of the outlet.",
+                    "longDescription": "This property shall contain the power state of the outlet.",
+                    "readonly": true
+                },
+                "PowerWatts": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorPowerExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The power reading for this outlet.",
+                    "excerptCopy": "SensorPowerExcerpt",
+                    "longDescription": "This property shall contain the total power, measured in Watts, for this outlet, that represents the `Total` ElectricalContext sensor when multiple power sensors exist for this outlet.",
+                    "readonly": true
+                },
+                "RatedCurrentAmps": {
+                    "description": "The rated maximum current allowed for this outlet.",
+                    "longDescription": "This property shall contain the rated maximum current for this outlet, in Amps, after any required de-rating, due to safety agency or other regulatory requirements, has been applied.",
+                    "minimum": 0,
+                    "readonly": true,
+                    "type": [
+                        "number",
+                        "null"
+                    ],
+                    "units": "A"
+                },
+                "Status": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "The status and health of the resource and its subordinate or dependent resources.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
+                },
+                "Voltage": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorVoltageExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The voltage reading for this single phase outlet.",
+                    "excerptCopy": "SensorVoltageExcerpt",
+                    "longDescription": "This property shall contain the voltage, measured in Volts, for this single phase outlet.  This property shall not appear in resource instances representing poly-phase outlets.",
+                    "readonly": true
+                },
+                "VoltageType": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/VoltageType"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The type of voltage applied to the outlet.",
+                    "longDescription": "This property shall contain the type of voltage applied to the outlet.",
+                    "readonly": true
+                }
+            },
+            "required": [
+                "@odata.id",
+                "@odata.type",
+                "Id",
+                "Name"
+            ],
+            "type": "object"
+        },
+        "PowerControl": {
+            "additionalProperties": false,
+            "description": "This action turns the outlet on or off.",
+            "longDescription": "This action shall control the power state of the outlet.",
+            "parameters": {
+                "PowerState": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Outlet.json#/definitions/PowerState",
+                    "description": "The desired power state of the outlet.",
+                    "longDescription": "This parameter shall contain the desired power state of the outlet."
+                }
+            },
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "target": {
+                    "description": "Link to invoke action",
+                    "format": "uri-reference",
+                    "type": "string"
+                },
+                "title": {
+                    "description": "Friendly action name",
+                    "type": "string"
+                }
+            },
+            "type": "object"
+        },
+        "ResetMetrics": {
+            "additionalProperties": false,
+            "description": "This action resets metrics related to this outlet.",
+            "longDescription": "This action shall reset any time intervals or counted values for this outlet.",
+            "parameters": {},
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "target": {
+                    "description": "Link to invoke action",
+                    "format": "uri-reference",
+                    "type": "string"
+                },
+                "title": {
+                    "description": "Friendly action name",
+                    "type": "string"
+                }
+            },
+            "type": "object"
+        },
+        "VoltageSensors": {
+            "additionalProperties": false,
+            "description": "The voltage readings for this outlet.",
+            "longDescription": "This type shall contain properties that describe voltage sensor readings for an outlet.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "Line1ToLine2": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorVoltageExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The Line 1 to Line 2 voltage reading for this outlet.",
+                    "excerptCopy": "SensorVoltageExcerpt",
+                    "longDescription": "This property shall contain a VoltageSensor excerpt that measures voltage between L1 and L2.  This property shall not be present if the outlet does not include an L1-L2 measurement.",
+                    "readonly": true
+                },
+                "Line1ToNeutral": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorVoltageExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The Line 1 to Neutral voltage reading for this outlet.",
+                    "excerptCopy": "SensorVoltageExcerpt",
+                    "longDescription": "This property shall contain a VoltageSensor excerpt that measures voltage between L1 and Neutral.  This property shall not be present if the outlet does not include an L1-Neutral measurement.",
+                    "readonly": true
+                },
+                "Line2ToLine3": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorVoltageExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The Line 2 to Line 3 voltage reading for this outlet.",
+                    "excerptCopy": "SensorVoltageExcerpt",
+                    "longDescription": "This property shall contain a VoltageSensor excerpt that measures voltage between L2 and L3.  This property shall not be present if the outlet does not include an L2-L3 measurement.",
+                    "readonly": true
+                },
+                "Line2ToNeutral": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorVoltageExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The Line 2 to Neutral voltage reading for this outlet.",
+                    "excerptCopy": "SensorVoltageExcerpt",
+                    "longDescription": "This property shall contain a VoltageSensor excerpt that measures voltage between L2 and Neutral.  This property shall not be present if the outlet does not include an L2-Neutral measurement.",
+                    "readonly": true
+                },
+                "Line3ToLine1": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorVoltageExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The Line 3 to Line 1 voltage reading for this outlet.",
+                    "excerptCopy": "SensorVoltageExcerpt",
+                    "longDescription": "This property shall contain a VoltageSensor excerpt that measures voltage between L3 and L1.  This property shall not be present if the outlet does not include an L3-L1 measurement.",
+                    "readonly": true
+                },
+                "Line3ToNeutral": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorVoltageExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The Line 3 to Neutral voltage reading for this outlet.",
+                    "excerptCopy": "SensorVoltageExcerpt",
+                    "longDescription": "This property shall contain a VoltageSensor excerpt that measures voltage between L3 and Neutral.  This property shall not be present if the outlet does not include an L3-Neutral measurement.",
+                    "readonly": true
+                }
+            },
+            "type": "object"
+        },
+        "VoltageType": {
+            "enum": [
+                "AC",
+                "DC"
+            ],
+            "enumDescriptions": {
+                "AC": "Alternating Current (AC) outlet.",
+                "DC": "Direct Current (DC) outlet."
+            },
+            "type": "string"
+        }
+    },
+    "owningEntity": "DMTF",
+    "release": "2019.4",
+    "title": "#Outlet.v1_0_0.Outlet"
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/Outlet/index.json b/static/redfish/v1/JsonSchemas/Outlet/index.json
new file mode 100644
index 0000000..850c99b
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/Outlet/index.json
@@ -0,0 +1,21 @@
+{
+    "@odata.context": "/redfish/v1/$metadata#JsonSchemaFile.JsonSchemaFile",
+    "@odata.id": "/redfish/v1/JsonSchemas/Outlet",
+    "@odata.type": "#JsonSchemaFile.v1_0_2.JsonSchemaFile",
+    "Name": "Outlet Schema File",
+    "Schema": "#Outlet.Outlet",
+    "Description": "Outlet Schema File Location",
+    "Id": "Outlet",
+    "Languages": [
+        "en"
+    ],
+    "Languages@odata.count": 1,
+    "Location": [
+        {
+            "Language": "en",
+            "PublicationUri": "http://redfish.dmtf.org/schemas/v1/Outlet.json",
+            "Uri": "/redfish/v1/JsonSchemas/Outlet/Outlet.json"
+        }
+    ],
+    "Location@odata.count": 1
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/OutletGroup/OutletGroup.json b/static/redfish/v1/JsonSchemas/OutletGroup/OutletGroup.json
new file mode 100644
index 0000000..834c5ff
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/OutletGroup/OutletGroup.json
@@ -0,0 +1,354 @@
+{
+    "$id": "http://redfish.dmtf.org/schemas/v1/OutletGroup.v1_0_0.json",
+    "$ref": "#/definitions/OutletGroup",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2019 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)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
+                    "description": "This property shall specify a valid odata or Redfish property.",
+                    "type": [
+                        "array",
+                        "boolean",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "#OutletGroup.PowerControl": {
+                    "$ref": "#/definitions/PowerControl"
+                },
+                "#OutletGroup.ResetMetrics": {
+                    "$ref": "#/definitions/ResetMetrics"
+                },
+                "Oem": {
+                    "$ref": "#/definitions/OemActions",
+                    "description": "The available OEM-specific actions for this resource.",
+                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
+                }
+            },
+            "type": "object"
+        },
+        "Links": {
+            "additionalProperties": false,
+            "description": "The links to other resources that are related to this resource.",
+            "longDescription": "This Redfish Specification-described type shall contain links to resources that are related to but are not contained by or subordinate to this resource.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "Oem": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "The OEM extension property.",
+                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
+                },
+                "Outlets": {
+                    "description": "The set of outlets in this outlet group.",
+                    "items": {
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/Outlet.json#/definitions/Outlet"
+                    },
+                    "longDescription": "This property shall be an array of links to resources of type Outlet that represent the outlets in this outlet group.",
+                    "readonly": false,
+                    "type": "array"
+                },
+                "Outlets@odata.count": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
+                }
+            },
+            "type": "object"
+        },
+        "OemActions": {
+            "additionalProperties": true,
+            "description": "The available OEM-specific actions for this resource.",
+            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {},
+            "type": "object"
+        },
+        "OutletGroup": {
+            "additionalProperties": false,
+            "description": "This is the schema definition for an electrical outlet group.",
+            "longDescription": "This resource shall be used to represent an electrical outlet group for a Redfish implementation.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "@odata.context": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
+                },
+                "@odata.id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
+                },
+                "@odata.type": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
+                },
+                "Actions": {
+                    "$ref": "#/definitions/Actions",
+                    "description": "The available actions for this resource.",
+                    "longDescription": "This property shall contain the available actions for this resource."
+                },
+                "CreatedBy": {
+                    "description": "The creator of this outlet group.",
+                    "longDescription": "This property shall contain the name of the person or application that created this outlet group.",
+                    "readonly": false,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "Description": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "readonly": true
+                },
+                "EnergykWh": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorEnergykWhExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The energy reading for this outlet group.",
+                    "excerptCopy": "SensorEnergykWhExcerpt",
+                    "longDescription": "This property shall contain the total energy, measured in kilowatt-hours (kW.h), for this outlet group, that represents the `Total` ElectricalContext sensor when multiple energy sensors exist for this outlet group.",
+                    "readonly": true
+                },
+                "Id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
+                    "readonly": true
+                },
+                "Links": {
+                    "$ref": "#/definitions/Links",
+                    "description": "The links to other resources that are related to this resource.",
+                    "longDescription": "This property shall contain links to resources that are related to but are not contained by or subordinate to this resource."
+                },
+                "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": "The OEM extension property.",
+                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
+                },
+                "PowerCycleDelaySeconds": {
+                    "description": "The number of seconds to delay power on after a PowerControl action to cycle power.  Zero seconds indicates no delay.",
+                    "longDescription": "This property shall contain the number of seconds to delay power on after a PowerControl action to cycle power.  The value `0` shall indicate no delay to power on.",
+                    "readonly": false,
+                    "type": [
+                        "number",
+                        "null"
+                    ]
+                },
+                "PowerEnabled": {
+                    "description": "Indicates if the outlet group can be powered.",
+                    "longDescription": "This property shall contain the power enable state of the outlet group.  True shall indicate that the group may be powered on, and false shall indicate that the group cannot be powered.",
+                    "readonly": true,
+                    "type": [
+                        "boolean",
+                        "null"
+                    ]
+                },
+                "PowerOffDelaySeconds": {
+                    "description": "The number of seconds to delay power off after a PowerControl action.  Zero seconds indicates no delay to power off.",
+                    "longDescription": "This property shall contain the number of seconds to delay power off after a PowerControl action.  The value `0` shall indicate no delay to power off.",
+                    "readonly": false,
+                    "type": [
+                        "number",
+                        "null"
+                    ]
+                },
+                "PowerOnDelaySeconds": {
+                    "description": "The number of seconds to delay power up after a power cycle or a PowerControl action.  Zero seconds indicates no delay to power up.",
+                    "longDescription": "This property shall contain the number of seconds to delay power up after a power cycle or a PowerControl action.  The value `0` shall indicate no delay to power up.",
+                    "readonly": false,
+                    "type": [
+                        "number",
+                        "null"
+                    ]
+                },
+                "PowerRestoreDelaySeconds": {
+                    "description": "The number of seconds to delay power on after power has been restored.  Zero seconds indicates no delay.",
+                    "longDescription": "This property shall contain the number of seconds to delay power on after a power fault.  The value `0` shall indicate no delay to power on.",
+                    "readonly": false,
+                    "type": [
+                        "number",
+                        "null"
+                    ]
+                },
+                "PowerRestorePolicy": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Circuit.json#/definitions/PowerRestorePolicyTypes",
+                    "description": "The desired power state of the outlet group when power is restored after a power loss.",
+                    "longDescription": "This property shall contain the desired PowerState of the outlet group when power is applied.  The value `LastState` shall return the outlet group to the PowerState it was in when power was lost.",
+                    "readonly": false
+                },
+                "PowerState": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/PowerState"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The power state of the outlet group.",
+                    "longDescription": "This property shall contain the power state of the outlet group.",
+                    "readonly": true
+                },
+                "PowerWatts": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorPowerExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The power reading for this outlet group.",
+                    "excerptCopy": "SensorPowerExcerpt",
+                    "longDescription": "This property shall contain the total power, measured in Watts, for this outlet group, that represents the `Total` ElectricalContext sensor when multiple power sensors exist for this outlet group.",
+                    "readonly": true
+                },
+                "Status": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "The status and health of the resource and its subordinate or dependent resources.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
+                }
+            },
+            "required": [
+                "@odata.id",
+                "@odata.type",
+                "Id",
+                "Name"
+            ],
+            "type": "object"
+        },
+        "PowerControl": {
+            "additionalProperties": false,
+            "description": "This action turns the outlet group on or off.",
+            "longDescription": "This action shall control the power state of the outlet group.",
+            "parameters": {
+                "PowerState": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/OutletGroup.json#/definitions/PowerState",
+                    "description": "The desired power state of the outlet group.",
+                    "longDescription": "This parameter shall contain the desired power state of the OutletGroup."
+                }
+            },
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "target": {
+                    "description": "Link to invoke action",
+                    "format": "uri-reference",
+                    "type": "string"
+                },
+                "title": {
+                    "description": "Friendly action name",
+                    "type": "string"
+                }
+            },
+            "type": "object"
+        },
+        "ResetMetrics": {
+            "additionalProperties": false,
+            "description": "This action resets metrics related to this outlet group.",
+            "longDescription": "This action shall reset any time intervals or counted values for this outlet group.",
+            "parameters": {},
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "target": {
+                    "description": "Link to invoke action",
+                    "format": "uri-reference",
+                    "type": "string"
+                },
+                "title": {
+                    "description": "Friendly action name",
+                    "type": "string"
+                }
+            },
+            "type": "object"
+        }
+    },
+    "owningEntity": "DMTF",
+    "release": "2019.4",
+    "title": "#OutletGroup.v1_0_0.OutletGroup"
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/OutletGroup/index.json b/static/redfish/v1/JsonSchemas/OutletGroup/index.json
new file mode 100644
index 0000000..dbbfbf4
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/OutletGroup/index.json
@@ -0,0 +1,21 @@
+{
+    "@odata.context": "/redfish/v1/$metadata#JsonSchemaFile.JsonSchemaFile",
+    "@odata.id": "/redfish/v1/JsonSchemas/OutletGroup",
+    "@odata.type": "#JsonSchemaFile.v1_0_2.JsonSchemaFile",
+    "Name": "OutletGroup Schema File",
+    "Schema": "#OutletGroup.OutletGroup",
+    "Description": "OutletGroup Schema File Location",
+    "Id": "OutletGroup",
+    "Languages": [
+        "en"
+    ],
+    "Languages@odata.count": 1,
+    "Location": [
+        {
+            "Language": "en",
+            "PublicationUri": "http://redfish.dmtf.org/schemas/v1/OutletGroup.json",
+            "Uri": "/redfish/v1/JsonSchemas/OutletGroup/OutletGroup.json"
+        }
+    ],
+    "Location@odata.count": 1
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/PCIeSlots/PCIeSlots.json b/static/redfish/v1/JsonSchemas/PCIeSlots/PCIeSlots.json
index dc298c1..0d83e89 100644
--- a/static/redfish/v1/JsonSchemas/PCIeSlots/PCIeSlots.json
+++ b/static/redfish/v1/JsonSchemas/PCIeSlots/PCIeSlots.json
@@ -1,5 +1,5 @@
 {
-    "$id": "http://redfish.dmtf.org/schemas/v1/PCIeSlots.v1_1_1.json",
+    "$id": "http://redfish.dmtf.org/schemas/v1/PCIeSlots.v1_2_0.json",
     "$ref": "#/definitions/PCIeSlots",
     "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
     "copyright": "Copyright 2014-2019 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
@@ -138,7 +138,7 @@
                 "Location": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location",
                     "description": "The location of the PCIe slot.",
-                    "longDescription": "This property shall contain part location information, including a ServiceLable of the associated PCIe Slot."
+                    "longDescription": "This property shall contain part location information, including a ServiceLabel of the associated PCIe Slot."
                 },
                 "Oem": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
@@ -263,7 +263,9 @@
                 "LowProfile",
                 "Mini",
                 "M2",
-                "OEM"
+                "OEM",
+                "OCP3Small",
+                "OCP3Large"
             ],
             "enumDescriptions": {
                 "FullLength": "Full-Length PCIe slot.",
@@ -271,12 +273,18 @@
                 "LowProfile": "Low-Profile or Slim PCIe slot.",
                 "M2": "PCIe M.2 slot.",
                 "Mini": "Mini PCIe slot.",
-                "OEM": "And OEM-specific slot."
+                "OCP3Large": "Open Compute Project 3.0 large form factor slot.",
+                "OCP3Small": "Open Compute Project 3.0 small form factor slot.",
+                "OEM": "An OEM-specific slot."
+            },
+            "enumVersionAdded": {
+                "OCP3Large": "v1_2_0",
+                "OCP3Small": "v1_2_0"
             },
             "type": "string"
         }
     },
     "owningEntity": "DMTF",
-    "release": "2019.1",
-    "title": "#PCIeSlots.v1_1_1.PCIeSlots"
+    "release": "2019.4",
+    "title": "#PCIeSlots.v1_2_0.PCIeSlots"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/Port/Port.json b/static/redfish/v1/JsonSchemas/Port/Port.json
index 5bf0271..cabca00 100644
--- a/static/redfish/v1/JsonSchemas/Port/Port.json
+++ b/static/redfish/v1/JsonSchemas/Port/Port.json
@@ -1,5 +1,5 @@
 {
-    "$id": "http://redfish.dmtf.org/schemas/v1/Port.v1_1_3.json",
+    "$id": "http://redfish.dmtf.org/schemas/v1/Port.v1_2_0.json",
     "$ref": "#/definitions/Port",
     "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
     "copyright": "Copyright 2014-2019 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
@@ -34,6 +34,92 @@
             },
             "type": "object"
         },
+        "GenZ": {
+            "additionalProperties": false,
+            "description": "This type defines Gen-Z specific port properties.",
+            "longDescription": "This type shall contain Gen-Z specific port properties.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "LPRT": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/RouteEntryCollection.json#/definitions/RouteEntryCollection",
+                    "description": "The Linear Packet Relay Table for the port.",
+                    "longDescription": "This property shall contain a link to a Resource Collection of type RouteEntryCollection, and shall represent the Gen-Z Core Specification-defined Linear Packet Relay Table for this port.",
+                    "readonly": true,
+                    "versionAdded": "v1_2_0"
+                },
+                "MPRT": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/RouteEntryCollection.json#/definitions/RouteEntryCollection",
+                    "description": "the Multi-subnet Packet Relay Table for the port.",
+                    "longDescription": "This property shall contain a link to a Resource Collection of type RouteEntryCollection, and shall represent the Gen-Z Core Specification-defined Multi-subnet Packet Relay Table for this port.",
+                    "readonly": true,
+                    "versionAdded": "v1_2_0"
+                },
+                "VCAT": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/VCATEntryCollection.json#/definitions/VCATEntryCollection",
+                    "description": "the Virtual Channel Action Table for the port.",
+                    "longDescription": "This property shall contain a link to a Resource Collection of type VCATEntryCollection.",
+                    "readonly": true,
+                    "versionAdded": "v1_2_0"
+                }
+            },
+            "type": "object"
+        },
+        "LinkNetworkTechnology": {
+            "enum": [
+                "Ethernet",
+                "InfiniBand",
+                "FibreChannel",
+                "GenZ"
+            ],
+            "enumDescriptions": {
+                "Ethernet": "The port is capable of connecting to an Ethernet network.",
+                "FibreChannel": "The port is capable of connecting to a Fibre Channel network.",
+                "GenZ": "The port is capable of connecting to a Gen-Z fabric.",
+                "InfiniBand": "The port is capable of connecting to an InfiniBand network."
+            },
+            "type": "string"
+        },
+        "LinkState": {
+            "enum": [
+                "Enabled",
+                "Disabled"
+            ],
+            "enumDescriptions": {
+                "Disabled": "This link is disabled.",
+                "Enabled": "This link is enabled."
+            },
+            "type": "string"
+        },
+        "LinkStatus": {
+            "enum": [
+                "LinkUp",
+                "Starting",
+                "Training",
+                "LinkDown",
+                "NoLink"
+            ],
+            "enumDescriptions": {
+                "LinkDown": "The link on this interface is down.",
+                "LinkUp": "This link on this interface is up.",
+                "NoLink": "No physical link detected on this interface.",
+                "Starting": "This link on this interface is starting.",
+                "Training": "This link on this interface is training."
+            },
+            "type": "string"
+        },
         "Links": {
             "additionalProperties": false,
             "description": "The links to other Resources that are related to this Resource.",
@@ -65,6 +151,19 @@
                 "AssociatedEndpoints@odata.count": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
                 },
+                "ConnectedPorts": {
+                    "description": "An array of links to the remote ports connected to this port.",
+                    "items": {
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/Port.json#/definitions/Port"
+                    },
+                    "longDescription": "This property shall contain an array of links to Resources of type Port that represent the physical connections associated with this port.",
+                    "readonly": true,
+                    "type": "array",
+                    "versionAdded": "v1_2_0"
+                },
+                "ConnectedPorts@odata.count": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
+                },
                 "ConnectedSwitchPorts": {
                     "description": "An array of links to the ports that connect to the switch through this port.",
                     "items": {
@@ -154,6 +253,13 @@
                     "description": "The available actions for this Resource.",
                     "longDescription": "This property shall contain the available actions for this Resource."
                 },
+                "ActiveWidth": {
+                    "description": "The number of active lanes for this interface.",
+                    "longDescription": "This property shall contain the number of active lanes for this interface.",
+                    "readonly": true,
+                    "type": "integer",
+                    "versionAdded": "v1_2_0"
+                },
                 "CurrentSpeedGbps": {
                     "description": "The current speed of this port.",
                     "longDescription": "This property shall contain the speed of this port currently negotiated and running.",
@@ -175,10 +281,61 @@
                     ],
                     "readonly": true
                 },
+                "GenZ": {
+                    "$ref": "#/definitions/GenZ",
+                    "description": "Gen-Z specific properties.",
+                    "longDescription": "This property shall contain Gen-Z specific properties for this interface.",
+                    "versionAdded": "v1_2_0"
+                },
                 "Id": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
                     "readonly": true
                 },
+                "InterfaceEnabled": {
+                    "description": "An indication of whether the interface is enabled.",
+                    "longDescription": "This property shall indicate whether the interface is enabled.",
+                    "readonly": false,
+                    "type": [
+                        "boolean",
+                        "null"
+                    ],
+                    "versionAdded": "v1_2_0"
+                },
+                "LinkNetworkTechnology": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/LinkNetworkTechnology"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The link network technology capabilities of this port.",
+                    "longDescription": "This property shall contain a network technology capability of this port.",
+                    "readonly": true,
+                    "versionAdded": "v1_2_0"
+                },
+                "LinkState": {
+                    "$ref": "#/definitions/LinkState",
+                    "description": "The desired link state for this interface.",
+                    "longDescription": "This property shall contain the desired link state for this interface.",
+                    "readonly": false,
+                    "versionAdded": "v1_2_0"
+                },
+                "LinkStatus": {
+                    "$ref": "#/definitions/LinkStatus",
+                    "description": "The desired link status for this interface.",
+                    "longDescription": "This property shall contain the desired link status for this interface.",
+                    "readonly": false,
+                    "versionAdded": "v1_2_0"
+                },
+                "LinkTransitionIndicator": {
+                    "description": "The number of link state transitions for this interface.",
+                    "longDescription": "This property shall contain the number of link state transitions for this interface.",
+                    "readonly": false,
+                    "type": "integer",
+                    "versionAdded": "v1_2_0"
+                },
                 "Links": {
                     "$ref": "#/definitions/Links",
                     "description": "The links to other Resources that are related to this Resource.",
@@ -200,6 +357,20 @@
                     ],
                     "units": "Gbit/s"
                 },
+                "Metrics": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/PortMetrics.json#/definitions/PortMetrics"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The link to the metrics associated with this port.",
+                    "longDescription": "This property shall contain a link to the metrics associated with this port.",
+                    "readonly": true,
+                    "versionAdded": "v1_2_0"
+                },
                 "Name": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
                     "readonly": true
@@ -218,6 +389,20 @@
                         "null"
                     ]
                 },
+                "PortMedium": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/PortMedium"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The physical connection medium for this port.",
+                    "longDescription": "This property shall contain the physical connection medium for this port.",
+                    "readonly": true,
+                    "versionAdded": "v1_2_0"
+                },
                 "PortProtocol": {
                     "anyOf": [
                         {
@@ -244,6 +429,16 @@
                     "longDescription": "This property shall contain the port type for this port.",
                     "readonly": true
                 },
+                "SignalDetected": {
+                    "description": "An indication of whether a signal is detected on this interface.",
+                    "longDescription": "This property shall indicate whether a signal that is appropriate for this link technology is detected for this port.",
+                    "readonly": true,
+                    "type": [
+                        "boolean",
+                        "null"
+                    ],
+                    "versionAdded": "v1_2_0"
+                },
                 "Status": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
                     "description": "The status and health of the Resource and its subordinate or dependent Resources.",
@@ -267,6 +462,17 @@
             ],
             "type": "object"
         },
+        "PortMedium": {
+            "enum": [
+                "Electrical",
+                "Optical"
+            ],
+            "enumDescriptions": {
+                "Electrical": "This port has an electrical cable connection.",
+                "Optical": "This port has an optical cable connection."
+            },
+            "type": "string"
+        },
         "PortType": {
             "enum": [
                 "UpstreamPort",
@@ -326,6 +532,6 @@
         }
     },
     "owningEntity": "DMTF",
-    "release": "2017.3",
-    "title": "#Port.v1_1_3.Port"
+    "release": "2019.4",
+    "title": "#Port.v1_2_0.Port"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/PortMetrics/PortMetrics.json b/static/redfish/v1/JsonSchemas/PortMetrics/PortMetrics.json
new file mode 100644
index 0000000..d44a14d
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/PortMetrics/PortMetrics.json
@@ -0,0 +1,254 @@
+{
+    "$id": "http://redfish.dmtf.org/schemas/v1/PortMetrics.v1_0_0.json",
+    "$ref": "#/definitions/PortMetrics",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2019 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)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
+                    "description": "This property shall specify a valid odata or Redfish property.",
+                    "type": [
+                        "array",
+                        "boolean",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "Oem": {
+                    "$ref": "#/definitions/OemActions",
+                    "description": "The available OEM-specific actions for this Resource.",
+                    "longDescription": "This property shall contain the available OEM-specific actions for this Resource."
+                }
+            },
+            "type": "object"
+        },
+        "GenZ": {
+            "additionalProperties": false,
+            "description": "The port metrics for a Gen-Z interface.",
+            "longDescription": "This type shall describe the Gen-Z related port metrics.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "AccessKeyViolations": {
+                    "description": "The total number of Access Key Violations detected.",
+                    "longDescription": "This property shall contain the total number of Access Key Violations detected for packets received or transmitted on this interface.",
+                    "readonly": true,
+                    "type": [
+                        "integer",
+                        "null"
+                    ]
+                },
+                "EndToEndCRCErrors": {
+                    "description": "The total number of ECRC transient errors detected.",
+                    "longDescription": "This property shall contain total number of ECRC transient errors detected in received link-local and end-to-end packets.",
+                    "readonly": true,
+                    "type": [
+                        "integer",
+                        "null"
+                    ]
+                },
+                "LLRRecovery": {
+                    "description": "The total number of times Link-Level Reliability (LLR) recovery has been initiated.",
+                    "longDescription": "This property shall contain the total number of times Link-level Reliability (LLR) recovery has been initiated by this interface.  This is not to be confused with the number of packets retransmitted due to initiating LLR recovery.",
+                    "readonly": true,
+                    "type": [
+                        "integer",
+                        "null"
+                    ]
+                },
+                "LinkNTE": {
+                    "description": "The total number of link-local non-transient errors detected.",
+                    "longDescription": "This property shall contain the total number of link-local non-transient errors detected on this interface.",
+                    "readonly": true,
+                    "type": [
+                        "integer",
+                        "null"
+                    ]
+                },
+                "MarkedECN": {
+                    "description": "The number of packets with the Congestion ECN bit set.",
+                    "longDescription": "This property shall contain the number of packets that the component set the Congestion ECN bit prior to transmission through this interface.",
+                    "readonly": true,
+                    "type": [
+                        "integer",
+                        "null"
+                    ]
+                },
+                "NonCRCTransientErrors": {
+                    "description": "The total number transient errors detected that are unrelated to CRC validation.",
+                    "longDescription": "This property shall contain the total number of transient errors detected that are unrelated to CRC validation, which covers link-local and end-to-end packets, such as malformed Link Idle packets or PLA signal errors.",
+                    "readonly": true,
+                    "type": [
+                        "integer",
+                        "null"
+                    ]
+                },
+                "PacketCRCErrors": {
+                    "description": "The total number of PCRC transient errors detected.",
+                    "longDescription": "This property shall contain the total number of PCRC transient errors detected in received link-local and end-to-ent packets.",
+                    "readonly": true,
+                    "type": [
+                        "integer",
+                        "null"
+                    ]
+                },
+                "PacketDeadlineDiscards": {
+                    "description": "The number of packets discarded due to the Congestion Deadline sub-field reaching zero.",
+                    "longDescription": "This property shall contain the number of packets discarded by this interface due to the Congestion Deadline sub-field reaching zero prior to packet transmission.",
+                    "readonly": true,
+                    "type": [
+                        "integer",
+                        "null"
+                    ]
+                },
+                "RXStompedECRC": {
+                    "description": "The total number of packets received with a stomped ECRC field.",
+                    "longDescription": "This property shall contain the total number of packets that thsi interface received with a stomped ECRC field.",
+                    "readonly": true,
+                    "type": [
+                        "integer",
+                        "null"
+                    ]
+                },
+                "ReceivedECN": {
+                    "description": "The number of packets received on this interface with the Congestion ECN bit set.",
+                    "longDescription": "This property shall contain the number of packets received on this interface with the Congestion ECN bit set.",
+                    "readonly": true,
+                    "type": [
+                        "integer",
+                        "null"
+                    ]
+                },
+                "TXStompedECRC": {
+                    "description": "The total number of packets that this interface stomped the ECRC field.",
+                    "longDescription": "This property shall contain the total number of packets that this interfaced stomped the ECRC field.",
+                    "readonly": true,
+                    "type": [
+                        "integer",
+                        "null"
+                    ]
+                }
+            },
+            "type": "object"
+        },
+        "OemActions": {
+            "additionalProperties": true,
+            "description": "The available OEM-specific actions for this Resource.",
+            "longDescription": "This type shall contain the available OEM-specific actions for this Resource.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {},
+            "type": "object"
+        },
+        "PortMetrics": {
+            "additionalProperties": false,
+            "description": "The usage and health statistics for a switch device or component port summary.",
+            "longDescription": "The PortMetrics Schema shall contain the port metrics for a switch device or component port summary in a Redfish implementation.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "@odata.context": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
+                },
+                "@odata.id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
+                },
+                "@odata.type": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
+                },
+                "Actions": {
+                    "$ref": "#/definitions/Actions",
+                    "description": "The available actions for this Resource.",
+                    "longDescription": "This property shall contain the available actions for this Resource."
+                },
+                "Description": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "readonly": true
+                },
+                "GenZ": {
+                    "$ref": "#/definitions/GenZ",
+                    "description": "The port metrics specific to Gen-Z ports.",
+                    "longDescription": "This property shall contain the port metrics specific to Gen-Z ports."
+                },
+                "Id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
+                    "readonly": true
+                },
+                "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": "The OEM extension property.",
+                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
+                }
+            },
+            "required": [
+                "@odata.id",
+                "@odata.type",
+                "Id",
+                "Name"
+            ],
+            "type": "object"
+        }
+    },
+    "owningEntity": "DMTF",
+    "release": "2019.4",
+    "title": "#PortMetrics.v1_0_0.PortMetrics"
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/PortMetrics/index.json b/static/redfish/v1/JsonSchemas/PortMetrics/index.json
new file mode 100644
index 0000000..0406dc4
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/PortMetrics/index.json
@@ -0,0 +1,21 @@
+{
+    "@odata.context": "/redfish/v1/$metadata#JsonSchemaFile.JsonSchemaFile",
+    "@odata.id": "/redfish/v1/JsonSchemas/PortMetrics",
+    "@odata.type": "#JsonSchemaFile.v1_0_2.JsonSchemaFile",
+    "Name": "PortMetrics Schema File",
+    "Schema": "#PortMetrics.PortMetrics",
+    "Description": "PortMetrics Schema File Location",
+    "Id": "PortMetrics",
+    "Languages": [
+        "en"
+    ],
+    "Languages@odata.count": 1,
+    "Location": [
+        {
+            "Language": "en",
+            "PublicationUri": "http://redfish.dmtf.org/schemas/v1/PortMetrics.json",
+            "Uri": "/redfish/v1/JsonSchemas/PortMetrics/PortMetrics.json"
+        }
+    ],
+    "Location@odata.count": 1
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/PowerDistribution/PowerDistribution.json b/static/redfish/v1/JsonSchemas/PowerDistribution/PowerDistribution.json
new file mode 100644
index 0000000..ecc8e02
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/PowerDistribution/PowerDistribution.json
@@ -0,0 +1,605 @@
+{
+    "$id": "http://redfish.dmtf.org/schemas/v1/PowerDistribution.v1_0_0.json",
+    "$ref": "#/definitions/PowerDistribution",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2019 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)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
+                    "description": "This property shall specify a valid odata or Redfish property.",
+                    "type": [
+                        "array",
+                        "boolean",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "#PowerDistribution.TransferControl": {
+                    "$ref": "#/definitions/TransferControl"
+                },
+                "Oem": {
+                    "$ref": "#/definitions/OemActions",
+                    "description": "The available OEM-specific actions for this resource.",
+                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
+                }
+            },
+            "type": "object"
+        },
+        "Links": {
+            "additionalProperties": false,
+            "description": "The links to other resources that are related to this resource.",
+            "longDescription": "This Redfish Specification-described type shall contain links to resources that are related to but are not contained by or subordinate to this resource.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "Chassis": {
+                    "description": "An array of links to the chassis that contain this equipment.",
+                    "items": {
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/Chassis.json#/definitions/Chassis"
+                    },
+                    "longDescription": "This property shall contain an array of links to resources of type Chassis that represents the physical container associated with this resource.  This property should only be populated for modular and/or multi-chassis power distribution equipment.",
+                    "readonly": true,
+                    "type": "array"
+                },
+                "Chassis@odata.count": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
+                },
+                "Facility": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Facility.json#/definitions/Facility",
+                    "description": "A link to the facility that contains this equipment.",
+                    "longDescription": "This property shall contain a link to a resource of type Facility that represents the facility that contains this equipment.",
+                    "readonly": true
+                },
+                "ManagedBy": {
+                    "description": "An array of links to the managers responsible for managing this equipment.",
+                    "items": {
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/Manager.json#/definitions/Manager"
+                    },
+                    "longDescription": "This property shall contain an array of links to resources of type Manager that represent the managers that manage this equipment.",
+                    "readonly": true,
+                    "type": "array"
+                },
+                "ManagedBy@odata.count": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
+                },
+                "Oem": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "The OEM extension property.",
+                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
+                }
+            },
+            "type": "object"
+        },
+        "OemActions": {
+            "additionalProperties": true,
+            "description": "The available OEM-specific actions for this resource.",
+            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {},
+            "type": "object"
+        },
+        "PowerDistribution": {
+            "additionalProperties": false,
+            "description": "This is the schema definition for a power distribution component or unit, such as a floor power distribution unit (PDU) or switchgear.",
+            "longDescription": "This resource shall be used to represent a power distribution component or unit for a Redfish implementation.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "@odata.context": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
+                },
+                "@odata.id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
+                },
+                "@odata.type": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
+                },
+                "Actions": {
+                    "$ref": "#/definitions/Actions",
+                    "description": "The available actions for this resource.",
+                    "longDescription": "This property shall contain the available actions for this resource."
+                },
+                "AssetTag": {
+                    "description": "The user-assigned asset tag for this equipment.",
+                    "longDescription": "This property shall contain the user-assigned asset tag, which is an identifying string that tracks the equipment for inventory purposes.",
+                    "readonly": false,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "Branches": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/CircuitCollection.json#/definitions/CircuitCollection",
+                    "description": "A link to the branch circuits for this equipment.",
+                    "longDescription": "This property shall contain a link to a resource collection of type CircuitCollection that contains the branch circuits for this equipment.",
+                    "readonly": true
+                },
+                "Description": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "readonly": true
+                },
+                "EquipmentType": {
+                    "$ref": "#/definitions/PowerEquipmentType",
+                    "description": "The type of equipment this resource represents.",
+                    "longDescription": "This property shall contain the type of equipment this resource represents.",
+                    "readonly": true
+                },
+                "Feeders": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/CircuitCollection.json#/definitions/CircuitCollection",
+                    "description": "A link to the feeder circuits for this equipment.",
+                    "longDescription": "This property shall contain a link to a resource collection of type CircuitCollection that contains the feeder circuits for this equipment.",
+                    "readonly": true
+                },
+                "FirmwareVersion": {
+                    "description": "The firmware version of this equipment.",
+                    "longDescription": "This property shall contain a string describing the firmware version of this equipment as provided by the manufacturer.",
+                    "readonly": true,
+                    "type": "string"
+                },
+                "Id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
+                    "readonly": true
+                },
+                "Links": {
+                    "$ref": "#/definitions/Links",
+                    "description": "The links to other resources that are related to this resource.",
+                    "longDescription": "This property shall contain links to resources that are related to but are not contained by or subordinate to this resource."
+                },
+                "Location": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location",
+                    "description": "The location of the equipment.",
+                    "longDescription": "This property shall contain location information of the associated equipment."
+                },
+                "Mains": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/CircuitCollection.json#/definitions/CircuitCollection",
+                    "description": "A link to the power input circuits for this equipment.",
+                    "longDescription": "This property shall contain a link to a resource collection of type CircuitCollection that contains the power input circuits for this equipment.",
+                    "readonly": true
+                },
+                "Manufacturer": {
+                    "description": "The manufacturer of this equipment.",
+                    "longDescription": "This property shall contain the name of the organization responsible for producing the equipment.  This organization might be the entity from which the equipment is purchased, but this is not necessarily true.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "Metrics": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/PowerDistributionMetrics.json#/definitions/PowerDistributionMetrics",
+                    "description": "A link to the summary metrics for this equipment.",
+                    "longDescription": "This property shall contain a link to a resource of type PowerDistributionMetrics.",
+                    "readonly": true
+                },
+                "Model": {
+                    "description": "The product model number of this equipment.",
+                    "longDescription": "This property shall contain the manufacturer-provided model information of this equipment.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "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": "The OEM extension property.",
+                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
+                },
+                "OutletGroups": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/OutletGroupCollection.json#/definitions/OutletGroupCollection",
+                    "description": "A link to the outlet groups for this equipment.",
+                    "longDescription": "This property shall contain a link to a resource collection of type OutletCollection that contains the outlet groups for this equipment.",
+                    "readonly": true
+                },
+                "Outlets": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/OutletCollection.json#/definitions/OutletCollection",
+                    "description": "A link to the outlets for this equipment.",
+                    "longDescription": "This property shall contain a link to a resource collection of type OutletCollection that contains the outlets for this equipment.",
+                    "readonly": true
+                },
+                "PartNumber": {
+                    "description": "The part number for this equipment.",
+                    "longDescription": "This property shall contain the manufacturer-provided part number for the equipment.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "ProductionDate": {
+                    "description": "The production or manufacturing date of this equipment.",
+                    "format": "date-time",
+                    "longDescription": "This property shall contain the date of production or manufacture for this equipment.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "Sensors": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/SensorCollection.json#/definitions/SensorCollection",
+                    "description": "A link to the collection of sensors located in the equipment and sub-components.",
+                    "longDescription": "This property shall be a link to a resource collection of type SensorCollection that contains the sensors located in the equipment and sub-components.",
+                    "readonly": true
+                },
+                "SerialNumber": {
+                    "description": "The serial number for this equipment.",
+                    "longDescription": "This property shall contain a manufacturer-allocated number that identifies the equipment.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "Status": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "The status and health of the resource and its subordinate or dependent resources.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
+                },
+                "Subfeeds": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/CircuitCollection.json#/definitions/CircuitCollection",
+                    "description": "A link to the subfeed circuits for this equipment.",
+                    "longDescription": "This property shall contain a link to a resource collection of type CircuitCollection that contains the subfeed circuits for this equipment.",
+                    "readonly": true
+                },
+                "TransferConfiguration": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/TransferConfiguration"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The configuration settings for an automatic transfer switch.",
+                    "longDescription": "This property shall contain the configuration information regarding an automatic transfer switch function for this resource."
+                },
+                "TransferCriteria": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/TransferCriteria"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The criteria used to initiate a transfer for an automatic transfer switch.",
+                    "longDescription": "This property shall contain the criteria for initiating a transfer within an automatic transfer switch function for this resource."
+                },
+                "UUID": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/UUID"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The UUID for this equipment.",
+                    "longDescription": "This property shall contain the UUID for the equipment.",
+                    "readonly": true
+                },
+                "Version": {
+                    "description": "The hardware version of this equipment.",
+                    "longDescription": "This property shall contain the hardware version of this equipment as determined by the vendor or supplier.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                }
+            },
+            "required": [
+                "EquipmentType",
+                "@odata.id",
+                "@odata.type",
+                "Id",
+                "Name"
+            ],
+            "type": "object"
+        },
+        "PowerEquipmentType": {
+            "enum": [
+                "RackPDU",
+                "FloorPDU",
+                "ManualTransferSwitch",
+                "AutomaticTransferSwitch",
+                "Switchgear"
+            ],
+            "enumDescriptions": {
+                "AutomaticTransferSwitch": "An automatic power transfer switch.",
+                "FloorPDU": "A power distribution unit providing feeder circuits for further power distribution.",
+                "ManualTransferSwitch": "A manual power transfer switch.",
+                "RackPDU": "A power distribution unit providing outlets for a rack or similiar quantity of devices.",
+                "Switchgear": "Electrical switchgear."
+            },
+            "type": "string"
+        },
+        "TransferConfiguration": {
+            "additionalProperties": false,
+            "description": "The configuration settings for an automatic transfer switch.",
+            "longDescription": "This type shall contain the configuration information regarding an automatic transfer switch function for this resource.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "ActiveMainsId": {
+                    "description": "The mains circuit that is switched on and qualified to supply power to the output circuit.",
+                    "longDescription": "This property shall contain the mains circuit that is switched on and qualified to supply power to the output circuit.  The value shall be a string that matches the Id property value of a circuit contained in the collection referenced by the Mains property.",
+                    "readonly": false,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "AutoTransferEnabled": {
+                    "description": "Indicates if the qualified alternate mains circuit is automatically switched on when the preferred mains circuit becomes unqualified and is automatically switched off.",
+                    "longDescription": "This property shall indicate if the qualified alternate mains circuit is automatically switched on when the preferred mains circuit becomes unqualified and is automatically switched off.",
+                    "readonly": false,
+                    "type": [
+                        "boolean",
+                        "null"
+                    ]
+                },
+                "ClosedTransitionAllowed": {
+                    "description": "Indicates if a make-before-break switching sequence of the mains circuits is permitted when they are both qualified and in synchronization.",
+                    "longDescription": "This property shall indicate if a make-before-break switching sequence of the mains circuits is permitted when they are both qualified and in synchronization.",
+                    "readonly": false,
+                    "type": [
+                        "boolean",
+                        "null"
+                    ]
+                },
+                "ClosedTransitionTimeoutSeconds": {
+                    "description": "The time in seconds to wait for a closed transition to occur.",
+                    "longDescription": "This property shall contain the time in seconds to wait for a closed transition to occur.",
+                    "readonly": false,
+                    "type": [
+                        "integer",
+                        "null"
+                    ]
+                },
+                "PreferredMainsId": {
+                    "description": "The preferred source for the mains circuit to this equipment.",
+                    "longDescription": "This property shall contain the preferred source for mains circuit to this equipment.  The value shall be a string that matches the Id property value of a circuit contained in the collection referenced by the Mains property.",
+                    "readonly": false,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "RetransferDelaySeconds": {
+                    "description": "The time in seconds to delay the automatic transfer from the alternate mains circuit back to the preferred mains circuit.",
+                    "longDescription": "This property shall contain the time in seconds to delay the automatic transfer from the alternate mains circuit back to the preferred mains circuit.",
+                    "readonly": false,
+                    "type": [
+                        "integer",
+                        "null"
+                    ]
+                },
+                "RetransferEnabled": {
+                    "description": "Indicates if the automatic transfer is permitted from the alternate mains circuit back to the preferred mains circuit after the preferred mains circuit is qualified again and the Retransfer Delay time has expired.",
+                    "longDescription": "This property shall indicate if the automatic transfer is permitted from the alternate mains circuit back to the preferred mains circuit after the preferred mains circuit is qualified again and the RetransferDelaySeconds time has expired.",
+                    "readonly": false,
+                    "type": [
+                        "boolean",
+                        "null"
+                    ]
+                },
+                "TransferDelaySeconds": {
+                    "description": "The time in seconds to delay the automatic transfer from the preferred mains circuit to the alternate mains circuit when the preferred mains circuit is disqualified.",
+                    "longDescription": "This property shall contain the time in seconds to delay the automatic transfer from the preferred mains circuit to the alternate mains circuit when the preferred mains circuit is disqualified.  A value of zero shall mean it transfers as fast as possible.",
+                    "readonly": false,
+                    "type": [
+                        "integer",
+                        "null"
+                    ]
+                },
+                "TransferInhibit": {
+                    "description": "Indicates if any transfer is inhibited.",
+                    "longDescription": "This property shall indicate if any transfer is inhibited.",
+                    "readonly": false,
+                    "type": [
+                        "boolean",
+                        "null"
+                    ]
+                }
+            },
+            "type": "object"
+        },
+        "TransferControl": {
+            "additionalProperties": false,
+            "description": "This action transfers control to the alternative input circuit.",
+            "longDescription": "This action shall transfer power input from the existing mains circuit to the alternative mains circuit.",
+            "parameters": {},
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "target": {
+                    "description": "Link to invoke action",
+                    "format": "uri-reference",
+                    "type": "string"
+                },
+                "title": {
+                    "description": "Friendly action name",
+                    "type": "string"
+                }
+            },
+            "type": "object"
+        },
+        "TransferCriteria": {
+            "additionalProperties": false,
+            "description": "The criteria used to initiate a transfer for an automatic transfer switch.",
+            "longDescription": "This type shall contain the criteria for initiating a transfer within an automatic transfer switch function for this resource.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "OverNominalFrequencyHz": {
+                    "description": "The frequency in Hertz over the nominal value that satisfies a criterion for transfer.",
+                    "longDescription": "This property shall contain the frequency in Hertz over the nominal value that satisfies a criterion for transfer.",
+                    "readonly": false,
+                    "type": [
+                        "number",
+                        "null"
+                    ],
+                    "units": "Hz"
+                },
+                "OverVoltageRMSPercentage": {
+                    "description": "The positive percentage of voltage RMS over the nominal value that satisfies a criterion for transfer.",
+                    "longDescription": "This property shall contain the positive percentage of voltage RMS over the nominal value that satisfies a criterion for transfer.",
+                    "readonly": false,
+                    "type": [
+                        "number",
+                        "null"
+                    ],
+                    "units": "%"
+                },
+                "TransferSensitivity": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/TransferSensitivityType"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The sensitivity to voltage waveform quality to satisfy the criterion for initiating a transfer.",
+                    "longDescription": "This property shall contain the setting that adjusts the analytical sensitivity of the detection of the quality of voltage waveform that satisfies a criterion for transfer.",
+                    "readonly": false
+                },
+                "UnderNominalFrequencyHz": {
+                    "description": "The frequency in Hertz under the nominal value that satisfies a criterion for transfer.",
+                    "longDescription": "This property shall contain the frequency in Hertz under the nominal value that satisfies a criterion for transfer.",
+                    "readonly": false,
+                    "type": [
+                        "number",
+                        "null"
+                    ],
+                    "units": "Hz"
+                },
+                "UnderVoltageRMSPercentage": {
+                    "description": "The negative percentage of voltage RMS under the nominal value that satisfies a criterion for transfer.",
+                    "longDescription": "This property shall contain the negative percentage of voltage RMS under the nominal value that satisfies a criterion for transfer.",
+                    "readonly": false,
+                    "type": [
+                        "number",
+                        "null"
+                    ],
+                    "units": "%"
+                }
+            },
+            "type": "object"
+        },
+        "TransferSensitivityType": {
+            "enum": [
+                "High",
+                "Medium",
+                "Low"
+            ],
+            "enumDescriptions": {
+                "High": "High sensitivity for initiating a transfer.",
+                "Low": "Low sensitivity for initiating a transfer.",
+                "Medium": "Medium sensitivity for initiating a transfer."
+            },
+            "type": "string"
+        }
+    },
+    "owningEntity": "DMTF",
+    "release": "2019.4",
+    "title": "#PowerDistribution.v1_0_0.PowerDistribution"
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/PowerDistribution/index.json b/static/redfish/v1/JsonSchemas/PowerDistribution/index.json
new file mode 100644
index 0000000..7e4f676
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/PowerDistribution/index.json
@@ -0,0 +1,21 @@
+{
+    "@odata.context": "/redfish/v1/$metadata#JsonSchemaFile.JsonSchemaFile",
+    "@odata.id": "/redfish/v1/JsonSchemas/PowerDistribution",
+    "@odata.type": "#JsonSchemaFile.v1_0_2.JsonSchemaFile",
+    "Name": "PowerDistribution Schema File",
+    "Schema": "#PowerDistribution.PowerDistribution",
+    "Description": "PowerDistribution Schema File Location",
+    "Id": "PowerDistribution",
+    "Languages": [
+        "en"
+    ],
+    "Languages@odata.count": 1,
+    "Location": [
+        {
+            "Language": "en",
+            "PublicationUri": "http://redfish.dmtf.org/schemas/v1/PowerDistribution.json",
+            "Uri": "/redfish/v1/JsonSchemas/PowerDistribution/PowerDistribution.json"
+        }
+    ],
+    "Location@odata.count": 1
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/PowerDistributionMetrics/PowerDistributionMetrics.json b/static/redfish/v1/JsonSchemas/PowerDistributionMetrics/PowerDistributionMetrics.json
new file mode 100644
index 0000000..fffa2a4d
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/PowerDistributionMetrics/PowerDistributionMetrics.json
@@ -0,0 +1,191 @@
+{
+    "$id": "http://redfish.dmtf.org/schemas/v1/PowerDistributionMetrics.v1_0_0.json",
+    "$ref": "#/definitions/PowerDistributionMetrics",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2019 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)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
+                    "description": "This property shall specify a valid odata or Redfish property.",
+                    "type": [
+                        "array",
+                        "boolean",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "#PowerDistributionMetrics.ResetMetrics": {
+                    "$ref": "#/definitions/ResetMetrics"
+                },
+                "Oem": {
+                    "$ref": "#/definitions/OemActions",
+                    "description": "The available OEM-specific actions for this resource.",
+                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
+                }
+            },
+            "type": "object"
+        },
+        "OemActions": {
+            "additionalProperties": true,
+            "description": "The available OEM-specific actions for this resource.",
+            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {},
+            "type": "object"
+        },
+        "PowerDistributionMetrics": {
+            "additionalProperties": false,
+            "description": "This is the schema definition for the metrics of a power distribution component or unit, such as a floor power distribution unit (PDU) or switchgear.",
+            "longDescription": "This resource shall be used to represent the metrics of a power distribution component or unit for a Redfish implementation.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "@odata.context": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
+                },
+                "@odata.id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
+                },
+                "@odata.type": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
+                },
+                "Actions": {
+                    "$ref": "#/definitions/Actions",
+                    "description": "The available actions for this resource.",
+                    "longDescription": "This property shall contain the available actions for this resource."
+                },
+                "Description": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "readonly": true
+                },
+                "EnergykWh": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorEnergykWhExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The energy consumption of this unit.",
+                    "excerptCopy": "SensorEnergykWhExcerpt",
+                    "longDescription": "This property shall contain the total energy, measured in kilowatt-hours (kWh), for this unit, that represents the `Total` ElectricalContext sensor when multiple energy sensors exist.",
+                    "readonly": true
+                },
+                "Id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
+                    "readonly": true
+                },
+                "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": "The OEM extension property.",
+                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
+                },
+                "PowerWatts": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorPowerExcerpt"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The total power reading for this equipment.",
+                    "excerptCopy": "SensorPowerExcerpt",
+                    "longDescription": "This property shall contain the total power, measured in Watts, for this unit, that represents the `Total` ElectricalContext sensor when multiple power sensors exist.",
+                    "readonly": true
+                }
+            },
+            "required": [
+                "@odata.id",
+                "@odata.type",
+                "Id",
+                "Name"
+            ],
+            "type": "object"
+        },
+        "ResetMetrics": {
+            "additionalProperties": false,
+            "description": "This action resets the summary metrics related to this equipment.",
+            "longDescription": "This action shall reset any time intervals or counted values for this equipment.",
+            "parameters": {},
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "target": {
+                    "description": "Link to invoke action",
+                    "format": "uri-reference",
+                    "type": "string"
+                },
+                "title": {
+                    "description": "Friendly action name",
+                    "type": "string"
+                }
+            },
+            "type": "object"
+        }
+    },
+    "owningEntity": "DMTF",
+    "release": "2019.4",
+    "title": "#PowerDistributionMetrics.v1_0_0.PowerDistributionMetrics"
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/PowerDistributionMetrics/index.json b/static/redfish/v1/JsonSchemas/PowerDistributionMetrics/index.json
new file mode 100644
index 0000000..dba4f17
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/PowerDistributionMetrics/index.json
@@ -0,0 +1,21 @@
+{
+    "@odata.context": "/redfish/v1/$metadata#JsonSchemaFile.JsonSchemaFile",
+    "@odata.id": "/redfish/v1/JsonSchemas/PowerDistributionMetrics",
+    "@odata.type": "#JsonSchemaFile.v1_0_2.JsonSchemaFile",
+    "Name": "PowerDistributionMetrics Schema File",
+    "Schema": "#PowerDistributionMetrics.PowerDistributionMetrics",
+    "Description": "PowerDistributionMetrics Schema File Location",
+    "Id": "PowerDistributionMetrics",
+    "Languages": [
+        "en"
+    ],
+    "Languages@odata.count": 1,
+    "Location": [
+        {
+            "Language": "en",
+            "PublicationUri": "http://redfish.dmtf.org/schemas/v1/PowerDistributionMetrics.json",
+            "Uri": "/redfish/v1/JsonSchemas/PowerDistributionMetrics/PowerDistributionMetrics.json"
+        }
+    ],
+    "Location@odata.count": 1
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/PowerDomain/PowerDomain.json b/static/redfish/v1/JsonSchemas/PowerDomain/PowerDomain.json
new file mode 100644
index 0000000..6520abb
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/PowerDomain/PowerDomain.json
@@ -0,0 +1,225 @@
+{
+    "$id": "http://redfish.dmtf.org/schemas/v1/PowerDomain.v1_0_0.json",
+    "$ref": "#/definitions/PowerDomain",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2019 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)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
+                    "description": "This property shall specify a valid odata or Redfish property.",
+                    "type": [
+                        "array",
+                        "boolean",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "Oem": {
+                    "$ref": "#/definitions/OemActions",
+                    "description": "The available OEM-specific actions for this resource.",
+                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
+                }
+            },
+            "type": "object"
+        },
+        "Links": {
+            "additionalProperties": false,
+            "description": "The links to other resources that are related to this resource.",
+            "longDescription": "This Redfish Specification-described type shall contain links to resources that are related to but are not contained by or subordinate to this resource.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "FloorPDUs": {
+                    "description": "An array of links to the floor power distribution units in this power domain.",
+                    "items": {
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/PowerDistribution.json#/definitions/PowerDistribution"
+                    },
+                    "longDescription": "This property shall contain an array of links to resources of type PowerDistribution that represents the floor power distribution units in this power domain.",
+                    "readonly": false,
+                    "type": "array"
+                },
+                "FloorPDUs@odata.count": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
+                },
+                "ManagedBy": {
+                    "description": "An array of links to the managers responsible for managing this power domain.",
+                    "items": {
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/Manager.json#/definitions/Manager"
+                    },
+                    "longDescription": "This property shall contain an array of links to resources of type Manager that represent the managers that manage this power domain.",
+                    "readonly": true,
+                    "type": "array"
+                },
+                "ManagedBy@odata.count": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
+                },
+                "Oem": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "The OEM extension property.",
+                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
+                },
+                "RackPDUs": {
+                    "description": "An array of links to the rack-level power distribution units in this power domain.",
+                    "items": {
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/PowerDistribution.json#/definitions/PowerDistribution"
+                    },
+                    "longDescription": "This property shall contain an array of links to resources of type PowerDistribution that represents the rack-level power distribution units in this power domain.",
+                    "readonly": false,
+                    "type": "array"
+                },
+                "RackPDUs@odata.count": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
+                },
+                "Switchgear": {
+                    "description": "An array of links to the switchgear in this power domain.",
+                    "items": {
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/PowerDistribution.json#/definitions/PowerDistribution"
+                    },
+                    "longDescription": "This property shall contain an array of links to resources of type PowerDistribution that represents the switchgear in this power domain.",
+                    "readonly": false,
+                    "type": "array"
+                },
+                "Switchgear@odata.count": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
+                },
+                "TransferSwitches": {
+                    "description": "An array of links to the transfer switches in this power domain.",
+                    "items": {
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/PowerDistribution.json#/definitions/PowerDistribution"
+                    },
+                    "longDescription": "This property shall contain an array of links to resources of type PowerDistribution that represents the transfer switches in this power domain.",
+                    "readonly": false,
+                    "type": "array"
+                },
+                "TransferSwitches@odata.count": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
+                }
+            },
+            "type": "object"
+        },
+        "OemActions": {
+            "additionalProperties": true,
+            "description": "The available OEM-specific actions for this resource.",
+            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {},
+            "type": "object"
+        },
+        "PowerDomain": {
+            "additionalProperties": false,
+            "description": "This is the schema definition for the DCIM power domain.",
+            "longDescription": "This resource shall be used to represent a DCIM power domain for a Redfish implementation.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "@odata.context": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
+                },
+                "@odata.id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
+                },
+                "@odata.type": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
+                },
+                "Actions": {
+                    "$ref": "#/definitions/Actions",
+                    "description": "The available actions for this resource.",
+                    "longDescription": "This property shall contain the available actions for this resource."
+                },
+                "Description": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "readonly": true
+                },
+                "Id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
+                    "readonly": true
+                },
+                "Links": {
+                    "$ref": "#/definitions/Links",
+                    "description": "The links to other resources that are related to this resource.",
+                    "longDescription": "This property shall contain links to resources that are related to but are not contained by or subordinate to this resource."
+                },
+                "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": "The OEM extension property.",
+                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
+                },
+                "Status": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "The status and health of the resource and its subordinate or dependent resources.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
+                }
+            },
+            "required": [
+                "@odata.id",
+                "@odata.type",
+                "Id",
+                "Name"
+            ],
+            "type": "object"
+        }
+    },
+    "owningEntity": "DMTF",
+    "release": "2019.4",
+    "title": "#PowerDomain.v1_0_0.PowerDomain"
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/PowerDomain/index.json b/static/redfish/v1/JsonSchemas/PowerDomain/index.json
new file mode 100644
index 0000000..d2e5c90
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/PowerDomain/index.json
@@ -0,0 +1,21 @@
+{
+    "@odata.context": "/redfish/v1/$metadata#JsonSchemaFile.JsonSchemaFile",
+    "@odata.id": "/redfish/v1/JsonSchemas/PowerDomain",
+    "@odata.type": "#JsonSchemaFile.v1_0_2.JsonSchemaFile",
+    "Name": "PowerDomain Schema File",
+    "Schema": "#PowerDomain.PowerDomain",
+    "Description": "PowerDomain Schema File Location",
+    "Id": "PowerDomain",
+    "Languages": [
+        "en"
+    ],
+    "Languages@odata.count": 1,
+    "Location": [
+        {
+            "Language": "en",
+            "PublicationUri": "http://redfish.dmtf.org/schemas/v1/PowerDomain.json",
+            "Uri": "/redfish/v1/JsonSchemas/PowerDomain/PowerDomain.json"
+        }
+    ],
+    "Location@odata.count": 1
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/PowerEquipment/PowerEquipment.json b/static/redfish/v1/JsonSchemas/PowerEquipment/PowerEquipment.json
new file mode 100644
index 0000000..fd2e258
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/PowerEquipment/PowerEquipment.json
@@ -0,0 +1,201 @@
+{
+    "$id": "http://redfish.dmtf.org/schemas/v1/PowerEquipment.v1_0_0.json",
+    "$ref": "#/definitions/PowerEquipment",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2019 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)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
+                    "description": "This property shall specify a valid odata or Redfish property.",
+                    "type": [
+                        "array",
+                        "boolean",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "Oem": {
+                    "$ref": "#/definitions/OemActions",
+                    "description": "The available OEM-specific actions for this resource.",
+                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
+                }
+            },
+            "type": "object"
+        },
+        "Links": {
+            "additionalProperties": false,
+            "description": "The links to other resources that are related to this resource.",
+            "longDescription": "This Redfish Specification-described type shall contain links to resources that are related to but are not contained by or subordinate to this resource.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "ManagedBy": {
+                    "description": "An array of links to the managers responsible for managing this power equipment.",
+                    "items": {
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/Manager.json#/definitions/Manager"
+                    },
+                    "longDescription": "This property shall contain an array of links to resources of type Manager that represent the managers that manage this power equipment.",
+                    "readonly": true,
+                    "type": "array"
+                },
+                "ManagedBy@odata.count": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
+                },
+                "Oem": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "The OEM extension property.",
+                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
+                }
+            },
+            "type": "object"
+        },
+        "OemActions": {
+            "additionalProperties": true,
+            "description": "The available OEM-specific actions for this resource.",
+            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {},
+            "type": "object"
+        },
+        "PowerEquipment": {
+            "additionalProperties": false,
+            "description": "This is the schema definition for the set of power equipment.",
+            "longDescription": "This resource shall be used to represent the set of power equipment for a Redfish implementation.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "@odata.context": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
+                },
+                "@odata.id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
+                },
+                "@odata.type": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
+                },
+                "Actions": {
+                    "$ref": "#/definitions/Actions",
+                    "description": "The available actions for this resource.",
+                    "longDescription": "This property shall contain the available actions for this resource."
+                },
+                "Description": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "readonly": true
+                },
+                "FloorPDUs": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/PowerDistributionCollection.json#/definitions/PowerDistributionCollection",
+                    "description": "A link to a collection of floor power distribution units.",
+                    "longDescription": "This property shall contain a link to a resource collection of type PowerDistributionCollection that contains a set of floor power distribution units.",
+                    "readonly": true
+                },
+                "Id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
+                    "readonly": true
+                },
+                "Links": {
+                    "$ref": "#/definitions/Links",
+                    "description": "The links to other resources that are related to this resource.",
+                    "longDescription": "This property shall contain links to resources that are related to but are not contained by or subordinate to this resource."
+                },
+                "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": "The OEM extension property.",
+                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
+                },
+                "RackPDUs": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/PowerDistributionCollection.json#/definitions/PowerDistributionCollection",
+                    "description": "A link to a collection of rack-level power distribution units.",
+                    "longDescription": "This property shall contain a link to a resource collection of type PowerDistributionCollection that contains a set of rack-level power distribution units.",
+                    "readonly": true
+                },
+                "Status": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "The status and health of the resource and its subordinate or dependent resources.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
+                },
+                "Switchgear": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/PowerDistributionCollection.json#/definitions/PowerDistributionCollection",
+                    "description": "A link to a collection of switchgear.",
+                    "longDescription": "This property shall contain a link to a resource collection of type PowerDistributionCollection that contains a set of switchgear.",
+                    "readonly": true
+                },
+                "TransferSwitches": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/PowerDistributionCollection.json#/definitions/PowerDistributionCollection",
+                    "description": "A link to a collection of transfer switches.",
+                    "longDescription": "This property shall contain a link to a resource collection of type PowerDistributionCollection that contains a set of transfer switches.",
+                    "readonly": true
+                }
+            },
+            "required": [
+                "@odata.id",
+                "@odata.type",
+                "Id",
+                "Name"
+            ],
+            "type": "object"
+        }
+    },
+    "owningEntity": "DMTF",
+    "release": "2019.4",
+    "title": "#PowerEquipment.v1_0_0.PowerEquipment"
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/PowerEquipment/index.json b/static/redfish/v1/JsonSchemas/PowerEquipment/index.json
new file mode 100644
index 0000000..982c12c
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/PowerEquipment/index.json
@@ -0,0 +1,21 @@
+{
+    "@odata.context": "/redfish/v1/$metadata#JsonSchemaFile.JsonSchemaFile",
+    "@odata.id": "/redfish/v1/JsonSchemas/PowerEquipment",
+    "@odata.type": "#JsonSchemaFile.v1_0_2.JsonSchemaFile",
+    "Name": "PowerEquipment Schema File",
+    "Schema": "#PowerEquipment.PowerEquipment",
+    "Description": "PowerEquipment Schema File Location",
+    "Id": "PowerEquipment",
+    "Languages": [
+        "en"
+    ],
+    "Languages@odata.count": 1,
+    "Location": [
+        {
+            "Language": "en",
+            "PublicationUri": "http://redfish.dmtf.org/schemas/v1/PowerEquipment.json",
+            "Uri": "/redfish/v1/JsonSchemas/PowerEquipment/PowerEquipment.json"
+        }
+    ],
+    "Location@odata.count": 1
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/Processor/Processor.json b/static/redfish/v1/JsonSchemas/Processor/Processor.json
index 263404d..8eff483 100644
--- a/static/redfish/v1/JsonSchemas/Processor/Processor.json
+++ b/static/redfish/v1/JsonSchemas/Processor/Processor.json
@@ -1,5 +1,5 @@
 {
-    "$id": "http://redfish.dmtf.org/schemas/v1/Processor.v1_6_0.json",
+    "$id": "http://redfish.dmtf.org/schemas/v1/Processor.v1_7_0.json",
     "$ref": "#/definitions/Processor",
     "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
     "copyright": "Copyright 2014-2019 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
@@ -114,21 +114,21 @@
                 },
                 "FirmwareId": {
                     "description": "The FPGA firmware identifier.",
-                    "longDescription": "This property shall contain a string decsribing the FPGA firmware identifier.",
+                    "longDescription": "This property shall contain a string describing the FPGA firmware identifier.",
                     "readonly": true,
                     "type": "string",
                     "versionAdded": "v1_4_0"
                 },
                 "FirmwareManufacturer": {
                     "description": "The FPGA firmware manufacturer.",
-                    "longDescription": "This property shall contain a string decsribing the FPGA firmware manufacturer.",
+                    "longDescription": "This property shall contain a string describing the FPGA firmware manufacturer.",
                     "readonly": true,
                     "type": "string",
                     "versionAdded": "v1_4_0"
                 },
                 "FirmwareVersion": {
                     "description": "The FPGA firmware version.",
-                    "longDescription": "This property shall contain a string decsribing the FPGA firmware version.",
+                    "longDescription": "This property shall contain a string describing the FPGA firmware version.",
                     "readonly": true,
                     "type": "string",
                     "versionAdded": "v1_4_0"
@@ -323,7 +323,7 @@
             ],
             "enumDescriptions": {
                 "Discrete": "The discrete FPGA device.",
-                "Integrated": "The FPGA device integrasted with other processor in the single chip."
+                "Integrated": "The FPGA device integrated with other processor in the single chip."
             },
             "type": "string"
         },
@@ -399,7 +399,7 @@
                     "items": {
                         "$ref": "http://redfish.dmtf.org/schemas/v1/Endpoint.json#/definitions/Endpoint"
                     },
-                    "longDescription": "This property shall contain an array of links of the Endpoint type that represent endpoints accociated with this Processor.",
+                    "longDescription": "This property shall contain an array of links of the Endpoint type that represent endpoints associated with this Processor.",
                     "readonly": true,
                     "type": "array",
                     "versionAdded": "v1_4_0"
@@ -524,6 +524,13 @@
                     "longDescription": "This property shall contain an object containing properties for processors of the FPGA type.",
                     "versionAdded": "v1_4_0"
                 },
+                "FirmwareVersion": {
+                    "description": "The firmware version of the processor.",
+                    "longDescription": "This property shall contain a string describing the firmware version of the processor as provided by the manufacturer.",
+                    "readonly": true,
+                    "type": "string",
+                    "versionAdded": "v1_7_0"
+                },
                 "Id": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
                     "readonly": true
@@ -608,6 +615,16 @@
                     "description": "The OEM extension property.",
                     "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
                 },
+                "PartNumber": {
+                    "description": "The part number of the processor.",
+                    "longDescription": "This property shall contain a part number assigned by the organization that is responsible for producing or manufacturing the processor.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ],
+                    "versionAdded": "v1_7_0"
+                },
                 "ProcessorArchitecture": {
                     "anyOf": [
                         {
@@ -627,11 +644,11 @@
                     "longDescription": "This object shall contain identification information for this processor."
                 },
                 "ProcessorMemory": {
-                    "description": "The memory directly attached or integrated witin this Procesor.",
+                    "description": "The memory directly attached or integrated within this Procesor.",
                     "items": {
                         "$ref": "#/definitions/ProcessorMemory"
                     },
-                    "longDescription": "This property shall contain the memory directly attached or integrated witin this Processor.",
+                    "longDescription": "This property shall contain the memory directly attached or integrated within this Processor.",
                     "type": "array",
                     "versionAdded": "v1_4_0"
                 },
@@ -648,6 +665,16 @@
                     "longDescription": "This property shall contain the string that identifies the type of processor contained in this Socket.",
                     "readonly": true
                 },
+                "SerialNumber": {
+                    "description": "The serial number of the processor.",
+                    "longDescription": "This property shall contain a manufacturer-allocated number that identifies the processor.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ],
+                    "versionAdded": "v1_7_0"
+                },
                 "Socket": {
                     "description": "The socket or location of the processor.",
                     "longDescription": "This property shall contain the string that identifies the physical location or socket of the processor.",
@@ -721,6 +748,16 @@
                     "longDescription": "This property shall contain a universal unique identifier number for the processor.  RFC4122 describes methods to use to create the value.  The value should be considered to be opaque.  Client software should only treat the overall value as a universally unique identifier and should not interpret any sub-fields within the UUID.",
                     "readonly": true,
                     "versionAdded": "v1_4_0"
+                },
+                "Version": {
+                    "description": "The hardware version of the processor.",
+                    "longDescription": "This property shall contain the hardware version of the processor as determined by the vendor or supplier.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ],
+                    "versionAdded": "v1_7_0"
                 }
             },
             "required": [
@@ -832,7 +869,7 @@
         "ProcessorMemory": {
             "additionalProperties": false,
             "description": "This type describes the memory directly attached or integrated within a processor.",
-            "longDescription": "This type shall contain information about memory directly attached or integratied within a processor.",
+            "longDescription": "This type shall contain information about memory directly attached or integrated within a processor.",
             "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.",
@@ -1025,6 +1062,6 @@
         }
     },
     "owningEntity": "DMTF",
-    "release": "2019.3",
-    "title": "#Processor.v1_6_0.Processor"
+    "release": "2019.4",
+    "title": "#Processor.v1_7_0.Processor"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/Resource/Resource.json b/static/redfish/v1/JsonSchemas/Resource/Resource.json
index ba152de..84daf0d 100644
--- a/static/redfish/v1/JsonSchemas/Resource/Resource.json
+++ b/static/redfish/v1/JsonSchemas/Resource/Resource.json
@@ -1,5 +1,5 @@
 {
-    "$id": "http://redfish.dmtf.org/schemas/v1/Resource.v1_8_3.json",
+    "$id": "http://redfish.dmtf.org/schemas/v1/Resource.v1_9_0.json",
     "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
     "copyright": "Copyright 2014-2019 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
@@ -1033,6 +1033,6 @@
         }
     },
     "owningEntity": "DMTF",
-    "release": "2018.3",
-    "title": "#Resource.v1_8_3"
+    "release": "2019.4",
+    "title": "#Resource.v1_9_0"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/RouteEntry/RouteEntry.json b/static/redfish/v1/JsonSchemas/RouteEntry/RouteEntry.json
new file mode 100644
index 0000000..3ea5398
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/RouteEntry/RouteEntry.json
@@ -0,0 +1,147 @@
+{
+    "$id": "http://redfish.dmtf.org/schemas/v1/RouteEntry.v1_0_0.json",
+    "$ref": "#/definitions/RouteEntry",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2019 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)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
+                    "description": "This property shall specify a valid odata or Redfish property.",
+                    "type": [
+                        "array",
+                        "boolean",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "Oem": {
+                    "$ref": "#/definitions/OemActions",
+                    "description": "The available OEM-specific actions for this Resource.",
+                    "longDescription": "This property shall contain the available OEM-specific actions for this Resource."
+                }
+            },
+            "type": "object"
+        },
+        "OemActions": {
+            "additionalProperties": true,
+            "description": "The available OEM-specific actions for this Resource.",
+            "longDescription": "This type shall contain the available OEM-specific actions for this Resource.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {},
+            "type": "object"
+        },
+        "RouteEntry": {
+            "additionalProperties": false,
+            "description": "The RouteEntry schema describes the content of route entry rows.  Each route entry contains route sets that list the possible routes for the route entry.",
+            "longDescription": "This Resource shall represent the content of route entry rows in the Redfish Specification.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "@odata.context": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
+                },
+                "@odata.id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
+                },
+                "@odata.type": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
+                },
+                "Actions": {
+                    "$ref": "#/definitions/Actions",
+                    "description": "The available actions for this Resource.",
+                    "longDescription": "This property shall contain the available actions for this Resource."
+                },
+                "Description": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "readonly": true
+                },
+                "Id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
+                    "readonly": true
+                },
+                "MinimumHopCount": {
+                    "description": "The minimum number of hops.",
+                    "longDescription": "This property shall indicate the minimum hop count used to calculate the computed hop count.",
+                    "readonly": false,
+                    "type": "integer"
+                },
+                "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": "The OEM extension property.",
+                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
+                },
+                "RawEntryHex": {
+                    "description": "The raw data of route entry rows.",
+                    "longDescription": "This property shall contain a binary data that represents the content of route entry rows.",
+                    "pattern": "^0[xX](([a-fA-F]|[0-9]){2}){8}$",
+                    "readonly": false,
+                    "type": "string"
+                },
+                "RouteSet": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/RouteSetEntryCollection.json#/definitions/RouteSetEntryCollection",
+                    "description": "The link to the collection of route set entries associated with this route.",
+                    "longDescription": "This property shall contain a link to a Resource Collection of type RouteSetEntryCollection.",
+                    "readonly": true
+                }
+            },
+            "required": [
+                "@odata.id",
+                "@odata.type",
+                "Id",
+                "Name"
+            ],
+            "type": "object"
+        }
+    },
+    "owningEntity": "DMTF",
+    "release": "2019.4",
+    "title": "#RouteEntry.v1_0_0.RouteEntry"
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/RouteEntry/index.json b/static/redfish/v1/JsonSchemas/RouteEntry/index.json
new file mode 100644
index 0000000..8751708
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/RouteEntry/index.json
@@ -0,0 +1,21 @@
+{
+    "@odata.context": "/redfish/v1/$metadata#JsonSchemaFile.JsonSchemaFile",
+    "@odata.id": "/redfish/v1/JsonSchemas/RouteEntry",
+    "@odata.type": "#JsonSchemaFile.v1_0_2.JsonSchemaFile",
+    "Name": "RouteEntry Schema File",
+    "Schema": "#RouteEntry.RouteEntry",
+    "Description": "RouteEntry Schema File Location",
+    "Id": "RouteEntry",
+    "Languages": [
+        "en"
+    ],
+    "Languages@odata.count": 1,
+    "Location": [
+        {
+            "Language": "en",
+            "PublicationUri": "http://redfish.dmtf.org/schemas/v1/RouteEntry.json",
+            "Uri": "/redfish/v1/JsonSchemas/RouteEntry/RouteEntry.json"
+        }
+    ],
+    "Location@odata.count": 1
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/RouteSetEntry/RouteSetEntry.json b/static/redfish/v1/JsonSchemas/RouteSetEntry/RouteSetEntry.json
new file mode 100644
index 0000000..fa78710
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/RouteSetEntry/RouteSetEntry.json
@@ -0,0 +1,152 @@
+{
+    "$id": "http://redfish.dmtf.org/schemas/v1/RouteSetEntry.v1_0_0.json",
+    "$ref": "#/definitions/RouteSetEntry",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2019 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)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
+                    "description": "This property shall specify a valid odata or Redfish property.",
+                    "type": [
+                        "array",
+                        "boolean",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "Oem": {
+                    "$ref": "#/definitions/OemActions",
+                    "description": "The available OEM-specific actions for this Resource.",
+                    "longDescription": "This property shall contain the available OEM-specific actions for this Resource."
+                }
+            },
+            "type": "object"
+        },
+        "OemActions": {
+            "additionalProperties": true,
+            "description": "The available OEM-specific actions for this Resource.",
+            "longDescription": "This type shall contain the available OEM-specific actions for this Resource.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {},
+            "type": "object"
+        },
+        "RouteSetEntry": {
+            "additionalProperties": false,
+            "description": "The RouteSetEntry schema contains the information about a route.  It is part of a larger set that contains possible routes for a particular route entry.",
+            "longDescription": "This Resource contains the content of a route set in the Redfish Specification.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "@odata.context": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
+                },
+                "@odata.id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
+                },
+                "@odata.type": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
+                },
+                "Actions": {
+                    "$ref": "#/definitions/Actions",
+                    "description": "The available actions for this Resource.",
+                    "longDescription": "This property shall contain the available actions for this Resource."
+                },
+                "Description": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "readonly": true
+                },
+                "EgressIdentifier": {
+                    "description": "The egress interface identifier.",
+                    "longDescription": "This property shall contain the interface identifier corresponding to this route.",
+                    "readonly": false,
+                    "type": "integer"
+                },
+                "HopCount": {
+                    "description": "The number of hops.",
+                    "longDescription": "This property shall contain the number of hops to the destination component from the indicated egress interface.",
+                    "readonly": false,
+                    "type": "integer"
+                },
+                "Id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
+                    "readonly": true
+                },
+                "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": "The OEM extension property.",
+                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
+                },
+                "VCAction": {
+                    "description": "The Virtual Channel Action index.",
+                    "longDescription": "This property shall contain the index to the VCAT entry corresponding to this route.",
+                    "readonly": false,
+                    "type": "integer"
+                },
+                "Valid": {
+                    "description": "An indication of whether the entry is valid.",
+                    "longDescription": "This property shall indicate whether the entry is valid.",
+                    "readonly": false,
+                    "type": "boolean"
+                }
+            },
+            "required": [
+                "@odata.id",
+                "@odata.type",
+                "Id",
+                "Name"
+            ],
+            "type": "object"
+        }
+    },
+    "owningEntity": "DMTF",
+    "release": "2019.4",
+    "title": "#RouteSetEntry.v1_0_0.RouteSetEntry"
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/RouteSetEntry/index.json b/static/redfish/v1/JsonSchemas/RouteSetEntry/index.json
new file mode 100644
index 0000000..5342d79
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/RouteSetEntry/index.json
@@ -0,0 +1,21 @@
+{
+    "@odata.context": "/redfish/v1/$metadata#JsonSchemaFile.JsonSchemaFile",
+    "@odata.id": "/redfish/v1/JsonSchemas/RouteSetEntry",
+    "@odata.type": "#JsonSchemaFile.v1_0_2.JsonSchemaFile",
+    "Name": "RouteSetEntry Schema File",
+    "Schema": "#RouteSetEntry.RouteSetEntry",
+    "Description": "RouteSetEntry Schema File Location",
+    "Id": "RouteSetEntry",
+    "Languages": [
+        "en"
+    ],
+    "Languages@odata.count": 1,
+    "Location": [
+        {
+            "Language": "en",
+            "PublicationUri": "http://redfish.dmtf.org/schemas/v1/RouteSetEntry.json",
+            "Uri": "/redfish/v1/JsonSchemas/RouteSetEntry/RouteSetEntry.json"
+        }
+    ],
+    "Location@odata.count": 1
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/Sensor/Sensor.json b/static/redfish/v1/JsonSchemas/Sensor/Sensor.json
index d934265..b12179f 100644
--- a/static/redfish/v1/JsonSchemas/Sensor/Sensor.json
+++ b/static/redfish/v1/JsonSchemas/Sensor/Sensor.json
@@ -1,5 +1,5 @@
 {
-    "$id": "http://redfish.dmtf.org/schemas/v1/Sensor.v1_0_3.json",
+    "$id": "http://redfish.dmtf.org/schemas/v1/Sensor.v1_1_0.json",
     "$ref": "#/definitions/Sensor",
     "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
     "copyright": "Copyright 2014-2019 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
@@ -23,8 +23,8 @@
                 }
             },
             "properties": {
-                "#Sensor.ResetStatistics": {
-                    "$ref": "#/definitions/ResetStatistics"
+                "#Sensor.ResetMetrics": {
+                    "$ref": "#/definitions/ResetMetrics"
                 },
                 "Oem": {
                     "$ref": "#/definitions/OemActions",
@@ -34,63 +34,16 @@
             },
             "type": "object"
         },
-        "ElectricalContext": {
+        "ImplementationType": {
             "enum": [
-                "Line1",
-                "Line2",
-                "Line3",
-                "Neutral",
-                "LineToLine",
-                "Line1ToLine2",
-                "Line2ToLine3",
-                "Line3ToLine1",
-                "LineToNeutral",
-                "Line1ToNeutral",
-                "Line2ToNeutral",
-                "Line3ToNeutral",
-                "Line1ToNeutralAndL1L2",
-                "Line2ToNeutralAndL1L2",
-                "Line2ToNeutralAndL2L3",
-                "Line3ToNeutralAndL3L1",
-                "Total"
+                "PhysicalSensor",
+                "Synthesized",
+                "Reported"
             ],
             "enumDescriptions": {
-                "Line1": "The circuits that share the L1 current-carrying conductor.",
-                "Line1ToLine2": "The circuit formed by L1 and L2 current-carrying conductors when PhaseWiringType.TwoPhase3Wire, TwoPhase4Wire, ThreePhase4Wire, or ThreePhase5Wire.",
-                "Line1ToNeutral": "The circuit formed by L1 and Neutral current-carrying conductors when PhaseWiringType.OnePhase3Wire, TwoPhase4Wire, ThreePhase4Wire, or ThreePhase5Wire.",
-                "Line1ToNeutralAndL1L2": "The circuits formed by L1, L2, and Neutral current-carrying conductors when PhaseWiringType.TwoPhase4Wire or ThreePhase5Wire.",
-                "Line2": "The circuits that share the L2 current-carrying conductor when PhaseWiringType.ThreePhase4Wire, TwoPhase4Wire, or ThreePhase5Wire.",
-                "Line2ToLine3": "The circuit formed by L2 and L3 current-carrying conductors when PhaseWiringType.ThreePhase4Wire or ThreePhase5Wire.",
-                "Line2ToNeutral": "The circuit formed by L2 and Neutral current-carrying conductors when PhaseWiringType.TwoPhase4Wire or ThreePhase5Wire.",
-                "Line2ToNeutralAndL1L2": "The circuits formed by L1, L2, and Neutral current-carrying conductors when PhaseWiringType.TwoPhase4Wire or ThreePhase5Wire.",
-                "Line2ToNeutralAndL2L3": "The circuits formed by L2, L3, and Neutral current-carrying conductors when PhaseWiringType.ThreePhase5Wire.",
-                "Line3": "The circuits that share the L3 current-carrying conductor when PhaseWiringType.ThreePhase4Wire or ThreePhase5Wire.",
-                "Line3ToLine1": "The circuit formed by L3 and L1 current-carrying conductors when PhaseWiringType.ThreePhase4Wire or ThreePhase5Wire.",
-                "Line3ToNeutral": "The circuit formed by L3 and Neutral current-carrying conductors when PhaseWiringType.ThreePhase5Wire.",
-                "Line3ToNeutralAndL3L1": "The circuits formed by L3, L1, and Neutral current-carrying conductors when PhaseWiringType.ThreePhase5Wire.",
-                "LineToLine": "The circuit formed by two current-carrying conductors when PhaseWiringType.TwoPhase3Wire, TwoPhase4Wire, ThreePhase4Wire, or ThreePhase5Wire.",
-                "LineToNeutral": "The circuit formed by a line and Neutral current-carrying conductor when PhaseWiringType.OnePhase3Wire, TwoPhase4Wire, ThreePhase4Wire, or ThreePhase5Wire.",
-                "Neutral": "The grounded current-carrying return circuit of current-carrying conductors when PhaseWiringType.OnePhase3Wire, TwoPhase4Wire, or ThreePhase5Wire.",
-                "Total": "The circuits formed by all current-carrying conductors for any PhaseWiringType."
-            },
-            "enumLongDescriptions": {
-                "Line1": "This property shall contain the circuits that share the L1 current-carrying conductor when PhaseWiringType.TwoPhase3Wire, TwoPhase4Wire, ThreePhase4Wire, or ThreePhase5Wire.",
-                "Line1ToLine2": "This property shall contain the circuit formed by L1 and L2 current-carrying conductors when PhaseWiringType.TwoPhase3Wire, TwoPhase4Wire, ThreePhase4Wire, or ThreePhase5Wire.",
-                "Line1ToNeutral": "This property shall contain the circuit formed by L1 and Neutral current-carrying conductors when PhaseWiringType.OnePhase3Wire, TwoPhase4Wire, ThreePhase4Wire, or ThreePhase5Wire.",
-                "Line1ToNeutralAndL1L2": "This property shall contain the circuits formed by L1, L2, and Neutral current-carrying conductors when PhaseWiringType.TwoPhase4Wire or ThreePhase5Wire.",
-                "Line2": "This property shall contain the circuits that share the L2 current-carrying conductor when PhaseWiringType.ThreePhase4Wire, TwoPhase4Wire, or ThreePhase5Wire.",
-                "Line2ToLine3": "This property shall contain the circuit formed by L2 and L3 current-carrying conductors when PhaseWiringType.ThreePhase4Wire or ThreePhase5Wire.",
-                "Line2ToNeutral": "This property shall contain the circuit formed by L2 and Neutral current-carrying conductors when PhaseWiringType.TwoPhase4Wire or ThreePhase5Wire.",
-                "Line2ToNeutralAndL1L2": "This property shall contain the circuits formed by L1, L2, and Neutral current-carrying conductors when PhaseWiringType.TwoPhase4Wire or ThreePhase5Wire.",
-                "Line2ToNeutralAndL2L3": "This property shall contain the circuits formed by L2, L3, and Neutral current-carrying conductors when PhaseWiringType.ThreePhase5Wire.",
-                "Line3": "This property shall contain the circuits that share the L3 current-carrying conductor when PhaseWiringType.ThreePhase4Wire or ThreePhase5Wire.",
-                "Line3ToLine1": "This property shall contain the circuit formed by L3 and L1 current-carrying conductors when PhaseWiringType.ThreePhase4Wire or ThreePhase5Wire.",
-                "Line3ToNeutral": "This property shall contain the circuit formed by L3 and Neutral current-carrying conductors when PhaseWiringType.ThreePhase5Wire.",
-                "Line3ToNeutralAndL3L1": "This property shall contain the circuits formed by L3, L1, and Neutral current-carrying conductors when PhaseWiringType.ThreePhase5Wire.",
-                "LineToLine": "This property shall contain the circuit formed by two current-carrying conductors when PhaseWiringType.TwoPhase3Wire, TwoPhase4Wire, ThreePhase4Wire, or ThreePhase5Wire.",
-                "LineToNeutral": "This property shall contain the circuit formed by a line and Neutral current-carrying conductor when PhaseWiringType.OnePhase3Wire, TwoPhase4Wire, ThreePhase4Wire, or ThreePhase5Wire.",
-                "Neutral": "This property shall contain the grounded current-carrying return circuit of current-carrying conductors when PhaseWiringType.OnePhase3Wire, TwoPhase4Wire, or ThreePhase5Wire.",
-                "Total": "This property shall contain the circuits formed by all current-carrying conductors for any PhaseWiringType."
+                "PhysicalSensor": "The reading is acquired from a physical sensor.",
+                "Reported": "The reading is obtained from software or a device.",
+                "Synthesized": "The reading is obtained by applying a calculation on one or more properties.  The calculation is not provided."
             },
             "type": "string"
         },
@@ -131,7 +84,8 @@
                 "AirFlow",
                 "LiquidFlow",
                 "Barometric",
-                "Altitude"
+                "Altitude",
+                "Percent"
             ],
             "enumDescriptions": {
                 "AirFlow": "Airflow.",
@@ -144,6 +98,7 @@
                 "Humidity": "Relative Humidity.",
                 "LiquidFlow": "Liquid flow.",
                 "LiquidLevel": "Liquid level.",
+                "Percent": "Percent.",
                 "Power": "Power.",
                 "Pressure": "Pressure.",
                 "Rotational": "Rotational.",
@@ -155,24 +110,28 @@
                 "Altitude": "This value shall indicate a measurement of altitude, in meter units, and the ReadingUnits value shall be `m`.",
                 "Barometric": "This value shall indicate a measurement of barometric pressure, in millimeters, of a mercury column, and the ReadingUnits value shall be `mm[Hg]`.",
                 "Current": "This value shall indicate a measurement of the root mean square (RMS) of instantaneous current calculated over an integer number of line cycles for a circuit.  Current is expressed in Amperes units and the ReadingUnits value shall be `A`.",
-                "EnergyJoules": "This value shall indicate the energy, integral of real power over time, of the monitored item since the sensor statistics were last reset.  The value of the Reading property shall be in Joule units and the ReadingUnits value shall be `J`.  This value is used for device-level energy consumption measurements, while EnergykWh is used for large-scale consumption measurements.",
-                "EnergykWh": "This value shall indicate the energy, integral of real power over time, of the monitored item since the sensor statistics were last reset.  The value of the Reading property shall be in kilowatt-hour units and the ReadingUnits value shall be `kW.h`.  This value is used for large-scale energy consumption measurements, while EnergyJoules is used for device-level consumption measurements.",
+                "EnergyJoules": "This value shall indicate the energy, integral of real power over time, of the monitored item since the sensor metrics were last reset.  The value of the Reading property shall be in Joule units and the ReadingUnits value shall be `J`.  This value is used for device-level energy consumption measurements, while EnergykWh is used for large-scale consumption measurements.",
+                "EnergykWh": "This value shall indicate the energy, integral of real power over time, of the monitored item since the sensor metrics were last reset.  The value of the Reading property shall be in kilowatt-hour units and the ReadingUnits value shall be `kW.h`.  This value is used for large-scale energy consumption measurements, while EnergyJoules is used for device-level consumption measurements.",
                 "Frequency": "This value shall indicate a frequency measurement, in Hertz units, and the ReadingUnits value shall be `Hz`.",
                 "Humidity": "This value shall indicate a relative humidity measurement, in percent units, and the ReadingUnits value shall be '%'.",
                 "LiquidFlow": "This value shall indicate a measurement of a volume of liquid per unit of time that flows through a particular junction.  The ReadingUnits shall be `L/s`.",
                 "LiquidLevel": "This value shall indicate a measurement of fluid height relative to a specified vertical datum and the ReadingUnits value shall be `cm`.",
+                "Percent": "This value shall indicate a percentage measurement, in percent units, and the ReadingUnits value shall be `%`.",
                 "Power": "This value shall indicate the arithmetic mean of product terms of instantaneous voltage and current values measured over integer number of line cycles for a circuit, in Watt units, and the ReadingUnits value shall be 'W'.",
                 "Pressure": "This value shall indicate a measurement of force applied perpendicular to the surface of an object per unit area over which that force is distributed.  The ReadingUnits shall be `Pa`.",
                 "Rotational": "This value shall indicate a measurement of rotational frequency, in revolutions per minute unit, and the ReadingUnits value shall be `RPM`.",
                 "Temperature": "This value shall indicate a temperature measurement, in degrees Celsius units, and the ReadingUnits value shall be 'Cel'.",
                 "Voltage": "This value shall indicate a measurement of the root mean square (RMS) of instantaneous voltage calculated over an integer number of line cycles for a circuit.  Voltage is expressed in Volts units and the ReadingUnits value shall be `V`."
             },
+            "enumVersionAdded": {
+                "Percent": "v1_1_0"
+            },
             "type": "string"
         },
-        "ResetStatistics": {
+        "ResetMetrics": {
             "additionalProperties": false,
-            "description": "Resets statistics related to this sensor.",
-            "longDescription": "This action shall reset any time intervals or counted values for this sensor.",
+            "description": "Resets metrics related to this sensor.",
+            "longDescription": "This action shall reset any time intervals or counted values for this sensor.  The SensorResetTime property shall be updated to reflect the time that this action was performed.",
             "parameters": {},
             "patternProperties": {
                 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
@@ -276,6 +235,17 @@
                     ],
                     "units": "V.A"
                 },
+                "CrestFactor": {
+                    "description": "The crest factor for this sensor.",
+                    "excerpt": "SensorCurrent,SensorVoltage",
+                    "longDescription": "This property shall contain the ratio of the peak measurement divided by the RMS measurement and calculated over same N line cycles.  A sine wave would have a value of 1.414.",
+                    "readonly": true,
+                    "type": [
+                        "number",
+                        "null"
+                    ],
+                    "versionAdded": "v1_1_0"
+                },
                 "Description": {
                     "anyOf": [
                         {
@@ -290,7 +260,7 @@
                 "ElectricalContext": {
                     "anyOf": [
                         {
-                            "$ref": "#/definitions/ElectricalContext"
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/ElectricalContext"
                         },
                         {
                             "type": "null"
@@ -304,7 +274,33 @@
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
                     "readonly": true
                 },
+                "Implementation": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/ImplementationType"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The implementation of the sensor.",
+                    "longDescription": "This property shall contain the implementation of the sensor.",
+                    "readonly": true,
+                    "versionAdded": "v1_1_0"
+                },
+                "LifetimeReading": {
+                    "description": "The total accumulation value for this sensor.",
+                    "excerpt": "SensorEnergykWh",
+                    "longDescription": "This property shall contain the total accumulation of the Reading property over the sensor's life time.  This value shall not be reset by the ResetStatistics action.",
+                    "readonly": true,
+                    "type": [
+                        "number",
+                        "null"
+                    ],
+                    "versionAdded": "v1_1_0"
+                },
                 "LoadPercent": {
+                    "deprecated": "This property has been deprecated in favor of using a Sensor instance with a ReadingType of `Percent` to show utilization values when needed.",
                     "description": "The power load utilization for this sensor.",
                     "longDescription": "This property shall indicate the power load utilization percent for this sensor.  This property may appear in sensors of the Power ReadingType, and shall not appear in sensors of other ReadingType values.",
                     "readonly": true,
@@ -312,7 +308,8 @@
                         "number",
                         "null"
                     ],
-                    "units": "%"
+                    "units": "%",
+                    "versionDeprecated": "v1_1_0"
                 },
                 "Location": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location",
@@ -453,6 +450,17 @@
                         "null"
                     ]
                 },
+                "ReadingTime": {
+                    "description": "The date and time that the reading was acquired from the sensor.",
+                    "format": "date-time",
+                    "longDescription": "This property shall contain the date and timetime that the reading data was acquired from the sensor.  This value is used to synchronize readings from multiple sensors, and does not represent the time at which the resource was accessed.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ],
+                    "versionAdded": "v1_1_0"
+                },
                 "ReadingType": {
                     "anyOf": [
                         {
@@ -468,7 +476,6 @@
                 },
                 "ReadingUnits": {
                     "description": "The units of the reading and thresholds.",
-                    "excerpt": "Sensor",
                     "longDescription": "This property shall contain the units of the sensor's reading and thresholds.",
                     "readonly": true,
                     "type": [
@@ -477,16 +484,30 @@
                     ]
                 },
                 "SensingFrequency": {
+                    "deprecated": "This property has been deprecated in favor of the SensingInterval property, which uses the duration time format for interoperability.",
                     "description": "The time interval between readings of the physical sensor.",
                     "longDescription": "This property shall contain the time interval between readings of the physical sensor.",
                     "readonly": true,
                     "type": [
                         "number",
                         "null"
-                    ]
+                    ],
+                    "versionDeprecated": "v1_1_0"
+                },
+                "SensingInterval": {
+                    "description": "The time interval between readings of the sensor.",
+                    "longDescription": "This property shall contain the time interval between readings of data from the sensor.",
+                    "pattern": "-?P(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+(.\\d+)?S)?)?",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ],
+                    "versionAdded": "v1_1_0"
                 },
                 "SensorResetTime": {
                     "description": "The date and time when the time-based properties were last reset.",
+                    "excerpt": "SensorEnergykWh",
                     "format": "date-time",
                     "longDescription": "This property shall contain the date and time when the ResetStatistics action was last performed or the service last reset the time-based property values.",
                     "readonly": true,
@@ -498,9 +519,19 @@
                 "Status": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
                     "description": "The status and health of the Resource and its subordinate or dependent Resources.",
-                    "excerpt": "Sensor",
                     "longDescription": "This property shall contain the status and health of the Resource and its children."
                 },
+                "THDPercent": {
+                    "description": "The total harmonic distortion (THD).",
+                    "excerpt": "SensorCurrent,SensorVoltage",
+                    "longDescription": "This property shall contain the total harmonic distortion of the Reading property in percent units.",
+                    "readonly": true,
+                    "type": [
+                        "number",
+                        "null"
+                    ],
+                    "versionAdded": "v1_1_0"
+                },
                 "Thresholds": {
                     "$ref": "#/definitions/Thresholds",
                     "description": "The set of thresholds defined for this sensor.",
@@ -509,7 +540,7 @@
                 "VoltageType": {
                     "anyOf": [
                         {
-                            "$ref": "#/definitions/VoltageType"
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/VoltageType"
                         },
                         {
                             "type": "null"
@@ -596,25 +627,140 @@
                         "number",
                         "null"
                     ]
+                }
+            },
+            "type": "object"
+        },
+        "SensorCurrentExcerpt": {
+            "additionalProperties": false,
+            "description": "The Sensor schema describes a sensor and its properties.",
+            "excerpt": "SensorCurrent",
+            "longDescription": "This Resource represents a Sensor for a Redfish implementation.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "CrestFactor": {
+                    "description": "The crest factor for this sensor.",
+                    "excerpt": "SensorCurrent,SensorVoltage",
+                    "longDescription": "This property shall contain the ratio of the peak measurement divided by the RMS measurement and calculated over same N line cycles.  A sine wave would have a value of 1.414.",
+                    "readonly": true,
+                    "type": [
+                        "number",
+                        "null"
+                    ],
+                    "versionAdded": "v1_1_0"
                 },
-                "ReadingUnits": {
-                    "description": "The units of the reading and thresholds.",
-                    "excerpt": "Sensor",
-                    "longDescription": "This property shall contain the units of the sensor's reading and thresholds.",
+                "DataSourceUri": {
+                    "description": "The link to the Resource that provides the data for this sensor.",
+                    "excerptCopyOnly": true,
+                    "format": "uri-reference",
+                    "longDescription": "This property shall contain a URI to the Resource that provides the source of the Excerpt contained within this copy.",
                     "readonly": true,
                     "type": [
                         "string",
                         "null"
                     ]
                 },
-                "Status": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
-                    "description": "The status and health of the Resource and its subordinate or dependent Resources.",
+                "Reading": {
+                    "description": "The sensor value.",
                     "excerpt": "Sensor",
-                    "longDescription": "This property shall contain the status and health of the Resource and its children."
+                    "longDescription": "This property shall contain the sensor value.",
+                    "readonly": true,
+                    "type": [
+                        "number",
+                        "null"
+                    ]
+                },
+                "THDPercent": {
+                    "description": "The total harmonic distortion (THD).",
+                    "excerpt": "SensorCurrent,SensorVoltage",
+                    "longDescription": "This property shall contain the total harmonic distortion of the Reading property in percent units.",
+                    "readonly": true,
+                    "type": [
+                        "number",
+                        "null"
+                    ],
+                    "versionAdded": "v1_1_0"
                 }
             },
-            "required": [],
+            "type": "object"
+        },
+        "SensorEnergykWhExcerpt": {
+            "additionalProperties": false,
+            "description": "The Sensor schema describes a sensor and its properties.",
+            "excerpt": "SensorEnergykWh",
+            "longDescription": "This Resource represents a Sensor for a Redfish implementation.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "DataSourceUri": {
+                    "description": "The link to the Resource that provides the data for this sensor.",
+                    "excerptCopyOnly": true,
+                    "format": "uri-reference",
+                    "longDescription": "This property shall contain a URI to the Resource that provides the source of the Excerpt contained within this copy.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "LifetimeReading": {
+                    "description": "The total accumulation value for this sensor.",
+                    "excerpt": "SensorEnergykWh",
+                    "longDescription": "This property shall contain the total accumulation of the Reading property over the sensor's life time.  This value shall not be reset by the ResetStatistics action.",
+                    "readonly": true,
+                    "type": [
+                        "number",
+                        "null"
+                    ],
+                    "versionAdded": "v1_1_0"
+                },
+                "Reading": {
+                    "description": "The sensor value.",
+                    "excerpt": "Sensor",
+                    "longDescription": "This property shall contain the sensor value.",
+                    "readonly": true,
+                    "type": [
+                        "number",
+                        "null"
+                    ]
+                },
+                "SensorResetTime": {
+                    "description": "The date and time when the time-based properties were last reset.",
+                    "excerpt": "SensorEnergykWh",
+                    "format": "date-time",
+                    "longDescription": "This property shall contain the date and time when the ResetStatistics action was last performed or the service last reset the time-based property values.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                }
+            },
             "type": "object"
         },
         "SensorExcerpt": {
@@ -657,25 +803,8 @@
                         "number",
                         "null"
                     ]
-                },
-                "ReadingUnits": {
-                    "description": "The units of the reading and thresholds.",
-                    "excerpt": "Sensor",
-                    "longDescription": "This property shall contain the units of the sensor's reading and thresholds.",
-                    "readonly": true,
-                    "type": [
-                        "string",
-                        "null"
-                    ]
-                },
-                "Status": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
-                    "description": "The status and health of the Resource and its subordinate or dependent Resources.",
-                    "excerpt": "Sensor",
-                    "longDescription": "This property shall contain the status and health of the Resource and its children."
                 }
             },
-            "required": [],
             "type": "object"
         },
         "SensorPowerExcerpt": {
@@ -752,25 +881,74 @@
                         "number",
                         "null"
                     ]
+                }
+            },
+            "type": "object"
+        },
+        "SensorVoltageExcerpt": {
+            "additionalProperties": false,
+            "description": "The Sensor schema describes a sensor and its properties.",
+            "excerpt": "SensorVoltage",
+            "longDescription": "This Resource represents a Sensor for a Redfish implementation.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "CrestFactor": {
+                    "description": "The crest factor for this sensor.",
+                    "excerpt": "SensorCurrent,SensorVoltage",
+                    "longDescription": "This property shall contain the ratio of the peak measurement divided by the RMS measurement and calculated over same N line cycles.  A sine wave would have a value of 1.414.",
+                    "readonly": true,
+                    "type": [
+                        "number",
+                        "null"
+                    ],
+                    "versionAdded": "v1_1_0"
                 },
-                "ReadingUnits": {
-                    "description": "The units of the reading and thresholds.",
-                    "excerpt": "Sensor",
-                    "longDescription": "This property shall contain the units of the sensor's reading and thresholds.",
+                "DataSourceUri": {
+                    "description": "The link to the Resource that provides the data for this sensor.",
+                    "excerptCopyOnly": true,
+                    "format": "uri-reference",
+                    "longDescription": "This property shall contain a URI to the Resource that provides the source of the Excerpt contained within this copy.",
                     "readonly": true,
                     "type": [
                         "string",
                         "null"
                     ]
                 },
-                "Status": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
-                    "description": "The status and health of the Resource and its subordinate or dependent Resources.",
+                "Reading": {
+                    "description": "The sensor value.",
                     "excerpt": "Sensor",
-                    "longDescription": "This property shall contain the status and health of the Resource and its children."
+                    "longDescription": "This property shall contain the sensor value.",
+                    "readonly": true,
+                    "type": [
+                        "number",
+                        "null"
+                    ]
+                },
+                "THDPercent": {
+                    "description": "The total harmonic distortion (THD).",
+                    "excerpt": "SensorCurrent,SensorVoltage",
+                    "longDescription": "This property shall contain the total harmonic distortion of the Reading property in percent units.",
+                    "readonly": true,
+                    "type": [
+                        "number",
+                        "null"
+                    ],
+                    "versionAdded": "v1_1_0"
                 }
             },
-            "required": [],
             "type": "object"
         },
         "Threshold": {
@@ -896,20 +1074,9 @@
                 }
             },
             "type": "object"
-        },
-        "VoltageType": {
-            "enum": [
-                "AC",
-                "DC"
-            ],
-            "enumDescriptions": {
-                "AC": "Alternating current.",
-                "DC": "Direct durrent."
-            },
-            "type": "string"
         }
     },
     "owningEntity": "DMTF",
-    "release": "2018.3",
-    "title": "#Sensor.v1_0_3.Sensor"
+    "release": "2019.4",
+    "title": "#Sensor.v1_1_0.Sensor"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/ServiceRoot/ServiceRoot.json b/static/redfish/v1/JsonSchemas/ServiceRoot/ServiceRoot.json
index a49ab43..c024650 100644
--- a/static/redfish/v1/JsonSchemas/ServiceRoot/ServiceRoot.json
+++ b/static/redfish/v1/JsonSchemas/ServiceRoot/ServiceRoot.json
@@ -1,5 +1,5 @@
 {
-    "$id": "http://redfish.dmtf.org/schemas/v1/ServiceRoot.v1_5_2.json",
+    "$id": "http://redfish.dmtf.org/schemas/v1/ServiceRoot.v1_6_0.json",
     "$ref": "#/definitions/ServiceRoot",
     "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
     "copyright": "Copyright 2014-2019 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
@@ -236,6 +236,13 @@
                     "readonly": true,
                     "versionAdded": "v1_1_0"
                 },
+                "Facilities": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/FacilityCollection.json#/definitions/FacilityCollection",
+                    "description": "The link to a collection of facilities.",
+                    "longDescription": "This property shall contain a link to a resource collection of type FacilityCollection.",
+                    "readonly": true,
+                    "versionAdded": "v1_6_0"
+                },
                 "Id": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
                     "readonly": true
@@ -273,6 +280,13 @@
                     "description": "The OEM extension property.",
                     "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
                 },
+                "PowerEquipment": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/PowerEquipment.json#/definitions/PowerEquipment",
+                    "description": "The link to a set of power equipment.",
+                    "longDescription": "This property shall contain a link to a resource of type PowerEquipment.",
+                    "readonly": true,
+                    "versionAdded": "v1_6_0"
+                },
                 "Product": {
                     "description": "The product associated with this Redfish Service.",
                     "longDescription": "This property shall include the name of the product represented by this Redfish Service.",
@@ -390,6 +404,6 @@
         }
     },
     "owningEntity": "DMTF",
-    "release": "2018.3",
-    "title": "#ServiceRoot.v1_5_2.ServiceRoot"
+    "release": "2019.4",
+    "title": "#ServiceRoot.v1_6_0.ServiceRoot"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/Switch/Switch.json b/static/redfish/v1/JsonSchemas/Switch/Switch.json
index 0792058..3c22462 100644
--- a/static/redfish/v1/JsonSchemas/Switch/Switch.json
+++ b/static/redfish/v1/JsonSchemas/Switch/Switch.json
@@ -1,5 +1,5 @@
 {
-    "$id": "http://redfish.dmtf.org/schemas/v1/Switch.v1_2_0.json",
+    "$id": "http://redfish.dmtf.org/schemas/v1/Switch.v1_3_0.json",
     "$ref": "#/definitions/Switch",
     "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
     "copyright": "Copyright 2014-2019 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
@@ -59,6 +59,19 @@
                     "longDescription": "This property shall contain a link to the Resource of type Chassis with which this switch is associated.",
                     "readonly": true
                 },
+                "Endpoints": {
+                    "description": "An array of links to the endpoints that connect to this switch.",
+                    "items": {
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/Endpoint.json#/definitions/Endpoint"
+                    },
+                    "longDescription": "This property shall contain a link to the Resources of type Endpoint with which this switch is associated.",
+                    "readonly": true,
+                    "type": "array",
+                    "versionAdded": "v1_3_0"
+                },
+                "Endpoints@odata.count": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
+                },
                 "ManagedBy": {
                     "description": "An array of links to the managers that manage this switch.",
                     "items": {
@@ -346,6 +359,16 @@
                     "description": "The status and health of the Resource and its subordinate or dependent Resources.",
                     "longDescription": "This property shall contain any status or health properties of the Resource."
                 },
+                "SupportedProtocols": {
+                    "description": "The protocols this switch supports.",
+                    "items": {
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/Protocol.json#/definitions/Protocol"
+                    },
+                    "longDescription": "The property shall contain an array of protocols this switch supports.  If the value of SwitchType is `MultiProtocol`, this property shall be required.",
+                    "readonly": true,
+                    "type": "array",
+                    "versionAdded": "v1_3_0"
+                },
                 "SwitchType": {
                     "anyOf": [
                         {
@@ -355,8 +378,8 @@
                             "type": "null"
                         }
                     ],
-                    "description": "The type of switch.",
-                    "longDescription": "This property shall contain the type of switch.",
+                    "description": "The protocol being sent over this switch.",
+                    "longDescription": "This property shall contain the protocol being sent over this switch.  For a switch that supports multiple protocols, the value should be `MultiProtocol` and the SupportedProtocols property should be used to describe the supported protocols.",
                     "readonly": true
                 },
                 "TotalSwitchWidth": {
@@ -367,6 +390,20 @@
                         "integer",
                         "null"
                     ]
+                },
+                "UUID": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/UUID"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The UUID for this switch.",
+                    "longDescription": "This property shall contain a universal unique identifier number for the switch.",
+                    "readonly": true,
+                    "versionAdded": "v1_3_0"
                 }
             },
             "required": [
@@ -379,6 +416,6 @@
         }
     },
     "owningEntity": "DMTF",
-    "release": "2019.2",
-    "title": "#Switch.v1_2_0.Switch"
+    "release": "2019.4",
+    "title": "#Switch.v1_3_0.Switch"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/Task/Task.json b/static/redfish/v1/JsonSchemas/Task/Task.json
index 9253c44..8b7ea61 100644
--- a/static/redfish/v1/JsonSchemas/Task/Task.json
+++ b/static/redfish/v1/JsonSchemas/Task/Task.json
@@ -1,5 +1,5 @@
 {
-    "$id": "http://redfish.dmtf.org/schemas/v1/Task.v1_4_2.json",
+    "$id": "http://redfish.dmtf.org/schemas/v1/Task.v1_4_3.json",
     "$ref": "#/definitions/Task",
     "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
     "copyright": "Copyright 2014-2019 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
@@ -163,8 +163,8 @@
                     "type": "string"
                 },
                 "HidePayload": {
-                    "description": "An indication of whether the contents of the payload should be hidden from view after the task has been created.  If `true`, responses do not return the payload.  If `false`, responses return the payload.  If this property is not present when the task is created, the default is `false`.",
-                    "longDescription": "This property shall indicate whether the contents of the payload should be hidden from view after the task has been created.  If `true`, responses shall not return the Payload property.  If `false`, responses shall return the Payload property.  If this property is not present when the task is created, the default is `false`.",
+                    "description": "An indication of whether the contents of the payload are hidden from view after the task has been created.  If `true`, responses do not return the payload.  If `false`, responses return the payload.  If this property is not present when the task is created, the default is `false`.",
+                    "longDescription": "This property shall indicate whether the contents of the payload should be hidden from view after the task has been created.  If `true`, responses shall not return the Payload property.  If `false`, responses shall return the Payload property.  If this property is not present when the task is created, the default is `false`.  This property shall be supported if the Payload property is supported.",
                     "readonly": true,
                     "type": "boolean",
                     "versionAdded": "v1_3_0"
@@ -192,7 +192,7 @@
                 },
                 "Payload": {
                     "$ref": "#/definitions/Payload",
-                    "description": "The HTTP and JSON payload details for this task.",
+                    "description": "The HTTP and JSON payload details for this task, unless they are hidden from view by the service.",
                     "longDescription": "This object shall contain information detailing the HTTP and JSON payload information for executing this task.  This object shall not be included in the response if the HidePayload property is `true`.",
                     "versionAdded": "v1_3_0"
                 },
@@ -304,5 +304,5 @@
     },
     "owningEntity": "DMTF",
     "release": "2018.3",
-    "title": "#Task.v1_4_2.Task"
+    "title": "#Task.v1_4_3.Task"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/TelemetryService/TelemetryService.json b/static/redfish/v1/JsonSchemas/TelemetryService/TelemetryService.json
index 783e010..9ed1a61 100644
--- a/static/redfish/v1/JsonSchemas/TelemetryService/TelemetryService.json
+++ b/static/redfish/v1/JsonSchemas/TelemetryService/TelemetryService.json
@@ -1,5 +1,5 @@
 {
-    "$id": "http://redfish.dmtf.org/schemas/v1/TelemetryService.v1_1_2.json",
+    "$id": "http://redfish.dmtf.org/schemas/v1/TelemetryService.v1_2_0.json",
     "$ref": "#/definitions/TelemetryService",
     "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
     "copyright": "Copyright 2014-2019 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
@@ -302,6 +302,16 @@
                     "description": "The OEM extension property.",
                     "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
                 },
+                "ServiceEnabled": {
+                    "description": "An indication of whether this service is enabled.",
+                    "longDescription": "This property shall indicate whether this service is enabled.",
+                    "readonly": false,
+                    "type": [
+                        "boolean",
+                        "null"
+                    ],
+                    "versionAdded": "v1_2_0"
+                },
                 "Status": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
                     "description": "The status and health of the Resource and its subordinate or dependent Resources.",
@@ -340,6 +350,6 @@
         }
     },
     "owningEntity": "DMTF",
-    "release": "2018.3",
-    "title": "#TelemetryService.v1_1_2.TelemetryService"
+    "release": "2019.4",
+    "title": "#TelemetryService.v1_2_0.TelemetryService"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/Thermal/Thermal.json b/static/redfish/v1/JsonSchemas/Thermal/Thermal.json
index 8da51ff..f5a38ed 100644
--- a/static/redfish/v1/JsonSchemas/Thermal/Thermal.json
+++ b/static/redfish/v1/JsonSchemas/Thermal/Thermal.json
@@ -1,5 +1,5 @@
 {
-    "$id": "http://redfish.dmtf.org/schemas/v1/Thermal.v1_5_3.json",
+    "$id": "http://redfish.dmtf.org/schemas/v1/Thermal.v1_6_0.json",
     "$ref": "#/definitions/Thermal",
     "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
     "copyright": "Copyright 2014-2019 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
@@ -451,6 +451,17 @@
                     ],
                     "units": "Cel"
                 },
+                "LowerThresholdUser": {
+                    "description": "The value at which the reading is below the user-defined range.",
+                    "longDescription": "This property shall contain the value at which the ReadingCelsius property is below the user-defined range.  The value of the property shall use the same units as the ReadingCelsius property.  The value shall be equal to the value of LowerThresholdNonCritical, LowerThresholdCritical, or LowerThresholdFatal, unless set by a user.",
+                    "readonly": false,
+                    "type": [
+                        "integer",
+                        "null"
+                    ],
+                    "units": "Cel",
+                    "versionAdded": "v1_6_0"
+                },
                 "MaxAllowableOperatingValue": {
                     "description": "Maximum allowable operating temperature for this equipment.",
                     "longDescription": "This property shall indicate the maximum allowable operating temperature for the equipment monitored by this temperature sensor, as specified by a standards body, manufacturer, or a combination.",
@@ -584,6 +595,17 @@
                         "null"
                     ],
                     "units": "Cel"
+                },
+                "UpperThresholdUser": {
+                    "description": "The value at which the reading is above the user-defined range.",
+                    "longDescription": "This property shall contain the value at which the ReadingCelsius property is above the user-defined range.  The value of the property shall use the same units as the ReadingCelsius property.  The value shall be equal to the value of UpperThresholdNonCritical, UpperThresholdCritical, or UpperThresholdFatal, unless set by a user.",
+                    "readonly": false,
+                    "type": [
+                        "integer",
+                        "null"
+                    ],
+                    "units": "Cel",
+                    "versionAdded": "v1_6_0"
                 }
             },
             "required": [
@@ -805,6 +827,6 @@
         }
     },
     "owningEntity": "DMTF",
-    "release": "2018.2",
-    "title": "#Thermal.v1_5_3.Thermal"
+    "release": "2019.4",
+    "title": "#Thermal.v1_6_0.Thermal"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/UpdateService/UpdateService.json b/static/redfish/v1/JsonSchemas/UpdateService/UpdateService.json
index e384be9..dd20834 100644
--- a/static/redfish/v1/JsonSchemas/UpdateService/UpdateService.json
+++ b/static/redfish/v1/JsonSchemas/UpdateService/UpdateService.json
@@ -1,5 +1,5 @@
 {
-    "$id": "http://redfish.dmtf.org/schemas/v1/UpdateService.v1_7_0.json",
+    "$id": "http://redfish.dmtf.org/schemas/v1/UpdateService.v1_8_0.json",
     "$ref": "#/definitions/UpdateService",
     "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
     "copyright": "Copyright 2014-2019 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
@@ -308,6 +308,12 @@
                 }
             },
             "properties": {
+                "Oem": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "The OEM extension property.",
+                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements.",
+                    "versionAdded": "v1_8_0"
+                },
                 "Targets": {
                     "description": "An array of URIs that indicate where to apply the update image.",
                     "format": "uri-reference",
@@ -489,6 +495,6 @@
         }
     },
     "owningEntity": "DMTF",
-    "release": "2019.3",
-    "title": "#UpdateService.v1_7_0.UpdateService"
+    "release": "2019.4",
+    "title": "#UpdateService.v1_8_0.UpdateService"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/VCATEntry/VCATEntry.json b/static/redfish/v1/JsonSchemas/VCATEntry/VCATEntry.json
new file mode 100644
index 0000000..915a76e
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/VCATEntry/VCATEntry.json
@@ -0,0 +1,188 @@
+{
+    "$id": "http://redfish.dmtf.org/schemas/v1/VCATEntry.v1_0_0.json",
+    "$ref": "#/definitions/VCATEntry",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2019 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)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
+                    "description": "This property shall specify a valid odata or Redfish property.",
+                    "type": [
+                        "array",
+                        "boolean",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "Oem": {
+                    "$ref": "#/definitions/OemActions",
+                    "description": "The available OEM-specific actions for this Resource.",
+                    "longDescription": "This property shall contain the available OEM-specific actions for this Resource."
+                }
+            },
+            "type": "object"
+        },
+        "OemActions": {
+            "additionalProperties": true,
+            "description": "The available OEM-specific actions for this Resource.",
+            "longDescription": "This type shall contain the available OEM-specific actions for this Resource.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {},
+            "type": "object"
+        },
+        "VCATEntry": {
+            "additionalProperties": false,
+            "description": "The Schema definition of the Virtual Channel Action Table entries.  A Virtual Channel is a mechanism used to create multiple, logical communication streams across a physical link.",
+            "longDescription": "This Resource contains the entries of Virtual Channel Action Table in a Redfish implementation.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "@odata.context": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
+                },
+                "@odata.id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
+                },
+                "@odata.type": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
+                },
+                "Actions": {
+                    "$ref": "#/definitions/Actions",
+                    "description": "The available actions for this Resource.",
+                    "longDescription": "This property shall contain the available actions for this Resource."
+                },
+                "Description": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "readonly": true
+                },
+                "Id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
+                    "readonly": true
+                },
+                "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": "The OEM extension property.",
+                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
+                },
+                "RawEntryHex": {
+                    "description": "The hexadecimal value of the Virtual Channel Action Table entries.",
+                    "longDescription": "This property shall contain the hexadecimal value of the Virtual Channel Action Table entries.  The length of hexadecimal value depends on the number of Virtual Channel Action entries supported by the component.",
+                    "pattern": "^0[xX](([a-fA-F]|[0-9])*)$",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "VCEntries": {
+                    "description": "An array of entries of the Virtual Channel Action Table.",
+                    "items": {
+                        "$ref": "#/definitions/VCATableEntry"
+                    },
+                    "longDescription": "This property shall contain an array of entries of the Virtual Channel Action Table.  The length of the array depends on the number of Virtual Channel Action entries supported by the component.",
+                    "type": "array"
+                }
+            },
+            "required": [
+                "@odata.id",
+                "@odata.type",
+                "Id",
+                "Name"
+            ],
+            "type": "object"
+        },
+        "VCATableEntry": {
+            "additionalProperties": false,
+            "description": "The Virtual Channel Action Table entry corresponding to a specific Virtual Channel.",
+            "longDescription": "This type shall contain a Virtual Channel entry definition that describes a specific Virtual Channel.",
+            "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",
+                        "integer",
+                        "number",
+                        "null",
+                        "object",
+                        "string"
+                    ]
+                }
+            },
+            "properties": {
+                "Threshold": {
+                    "description": "The configured threshold.",
+                    "longDescription": "This property shall contain the Gen-Z Core Specification-defined 'TH' 7-bit threshold.",
+                    "pattern": "^0[xX]([a-fA-F]|[0-9]){2}$",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "VCMask": {
+                    "description": "The bits corresponding to the supported Virtual Channel.",
+                    "longDescription": "This property shall contain a 32-bit value where the bits correspond to a supported Virtual Channel.",
+                    "pattern": "^0[xX](([a-fA-F]|[0-9]){2}){4}$",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                }
+            },
+            "type": "object"
+        }
+    },
+    "owningEntity": "DMTF",
+    "release": "2019.4",
+    "title": "#VCATEntry.v1_0_0.VCATEntry"
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/VCATEntry/index.json b/static/redfish/v1/JsonSchemas/VCATEntry/index.json
new file mode 100644
index 0000000..12d6380
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/VCATEntry/index.json
@@ -0,0 +1,21 @@
+{
+    "@odata.context": "/redfish/v1/$metadata#JsonSchemaFile.JsonSchemaFile",
+    "@odata.id": "/redfish/v1/JsonSchemas/VCATEntry",
+    "@odata.type": "#JsonSchemaFile.v1_0_2.JsonSchemaFile",
+    "Name": "VCATEntry Schema File",
+    "Schema": "#VCATEntry.VCATEntry",
+    "Description": "VCATEntry Schema File Location",
+    "Id": "VCATEntry",
+    "Languages": [
+        "en"
+    ],
+    "Languages@odata.count": 1,
+    "Location": [
+        {
+            "Language": "en",
+            "PublicationUri": "http://redfish.dmtf.org/schemas/v1/VCATEntry.json",
+            "Uri": "/redfish/v1/JsonSchemas/VCATEntry/VCATEntry.json"
+        }
+    ],
+    "Location@odata.count": 1
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/Zone/Zone.json b/static/redfish/v1/JsonSchemas/Zone/Zone.json
index 5fecadd..a87cf6f 100644
--- a/static/redfish/v1/JsonSchemas/Zone/Zone.json
+++ b/static/redfish/v1/JsonSchemas/Zone/Zone.json
@@ -1,5 +1,5 @@
 {
-    "$id": "http://redfish.dmtf.org/schemas/v1/Zone.v1_3_1.json",
+    "$id": "http://redfish.dmtf.org/schemas/v1/Zone.v1_4_0.json",
     "$ref": "#/definitions/Zone",
     "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
     "copyright": "Copyright 2014-2019 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
@@ -69,6 +69,45 @@
                 }
             },
             "properties": {
+                "AddressPools": {
+                    "description": "An array of links to the address pools associated with this zone.",
+                    "items": {
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/AddressPool.json#/definitions/AddressPool"
+                    },
+                    "longDescription": "This property shall contain an array of links to Resources of type AddressPool with which this zone is associated.",
+                    "readonly": true,
+                    "type": "array",
+                    "versionAdded": "v1_4_0"
+                },
+                "AddressPools@odata.count": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
+                },
+                "ContainedByZones": {
+                    "description": "An array of links to the zone that contain this zone.",
+                    "items": {
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/Zone.json#/definitions/Zone"
+                    },
+                    "longDescription": "This property shall contain an array of links to Resources of type Zone that represent the zones that contain this zone.  The zones referenced by this property shall not be contained by other zones.",
+                    "readonly": true,
+                    "type": "array",
+                    "versionAdded": "v1_4_0"
+                },
+                "ContainedByZones@odata.count": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
+                },
+                "ContainsZones": {
+                    "description": "An array of links to the zones that are contained by this zone.",
+                    "items": {
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/Zone.json#/definitions/Zone"
+                    },
+                    "longDescription": "This property shall contain an array of links to Resources of type Zone that represent the zones that are contained by this zone.  The zones referenced by this property shall not contain other zones.",
+                    "readonly": false,
+                    "type": "array",
+                    "versionAdded": "v1_4_0"
+                },
+                "ContainsZones@odata.count": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
+                },
                 "Endpoints": {
                     "description": "The links to the endpoints that this zone contains.",
                     "items": {
@@ -172,6 +211,16 @@
                     "longDescription": "This property shall contain the available actions for this Resource.",
                     "versionAdded": "v1_1_0"
                 },
+                "DefaultRoutingEnabled": {
+                    "description": "This property indicates whether routing within this zone is enabled.",
+                    "longDescription": "This property shall indicate whether routing within this zone is enabled.",
+                    "readonly": false,
+                    "type": [
+                        "boolean",
+                        "null"
+                    ],
+                    "versionAdded": "v1_4_0"
+                },
                 "Description": {
                     "anyOf": [
                         {
@@ -235,6 +284,20 @@
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
                     "description": "The status and health of the Resource and its subordinate or dependent Resources.",
                     "longDescription": "This property shall contain the status and health properties of the Resource and its children."
+                },
+                "ZoneType": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/ZoneType"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The type of zone.",
+                    "longDescription": "This property shall contain the type of zone that this zone represents.",
+                    "readonly": false,
+                    "versionAdded": "v1_4_0"
                 }
             },
             "required": [
@@ -244,9 +307,27 @@
                 "Name"
             ],
             "type": "object"
+        },
+        "ZoneType": {
+            "enum": [
+                "Default",
+                "ZoneOfEndpoints",
+                "ZoneOfZones"
+            ],
+            "enumDescriptions": {
+                "Default": "The zone in which all endpoints are added by default when instantiated.",
+                "ZoneOfEndpoints": "A zone that contains endpoints.",
+                "ZoneOfZones": "A zone that contains zones."
+            },
+            "enumLongDescriptions": {
+                "Default": "This value shall indicate a zone in which all endpoints are added by default when instantiated.",
+                "ZoneOfEndpoints": "This value shall indicate a zone that contains Resources of type Endpoint.",
+                "ZoneOfZones": "This value shall indicate a zone that contains Resources of type Zone."
+            },
+            "type": "string"
         }
     },
     "owningEntity": "DMTF",
-    "release": "2019.1",
-    "title": "#Zone.v1_3_1.Zone"
+    "release": "2019.4",
+    "title": "#Zone.v1_4_0.Zone"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/index.json b/static/redfish/v1/JsonSchemas/index.json
index d5159e1..170d537 100644
--- a/static/redfish/v1/JsonSchemas/index.json
+++ b/static/redfish/v1/JsonSchemas/index.json
@@ -4,7 +4,7 @@
   "@odata.type": "#JsonSchemaFileCollection.JsonSchemaFileCollection",
   "Name": "JsonSchemaFile Collection",
   "Description": "Collection of JsonSchemaFiles",
-  "Members@odata.count": 86,
+  "Members@odata.count": 101,
   "Members": [
     {
       "@odata.id": "/redfish/v1/JsonSchemas/AccelerationFunction"
@@ -16,6 +16,9 @@
       "@odata.id": "/redfish/v1/JsonSchemas/ActionInfo"
     },
     {
+      "@odata.id": "/redfish/v1/JsonSchemas/AddressPool"
+    },
+    {
       "@odata.id": "/redfish/v1/JsonSchemas/Assembly"
     },
     {
@@ -40,6 +43,9 @@
       "@odata.id": "/redfish/v1/JsonSchemas/Chassis"
     },
     {
+      "@odata.id": "/redfish/v1/JsonSchemas/Circuit"
+    },
+    {
       "@odata.id": "/redfish/v1/JsonSchemas/CollectionCapabilities"
     },
     {
@@ -73,6 +79,12 @@
       "@odata.id": "/redfish/v1/JsonSchemas/Fabric"
     },
     {
+      "@odata.id": "/redfish/v1/JsonSchemas/FabricAdapter"
+    },
+    {
+      "@odata.id": "/redfish/v1/JsonSchemas/Facility"
+    },
+    {
       "@odata.id": "/redfish/v1/JsonSchemas/HostInterface"
     },
     {
@@ -103,6 +115,9 @@
       "@odata.id": "/redfish/v1/JsonSchemas/ManagerNetworkProtocol"
     },
     {
+      "@odata.id": "/redfish/v1/JsonSchemas/MediaController"
+    },
+    {
       "@odata.id": "/redfish/v1/JsonSchemas/Memory"
     },
     {
@@ -145,6 +160,12 @@
       "@odata.id": "/redfish/v1/JsonSchemas/NetworkPort"
     },
     {
+      "@odata.id": "/redfish/v1/JsonSchemas/Outlet"
+    },
+    {
+      "@odata.id": "/redfish/v1/JsonSchemas/OutletGroup"
+    },
+    {
       "@odata.id": "/redfish/v1/JsonSchemas/PCIeDevice"
     },
     {
@@ -160,9 +181,24 @@
       "@odata.id": "/redfish/v1/JsonSchemas/Port"
     },
     {
+      "@odata.id": "/redfish/v1/JsonSchemas/PortMetrics"
+    },
+    {
       "@odata.id": "/redfish/v1/JsonSchemas/Power"
     },
     {
+      "@odata.id": "/redfish/v1/JsonSchemas/PowerDistribution"
+    },
+    {
+      "@odata.id": "/redfish/v1/JsonSchemas/PowerDistributionMetrics"
+    },
+    {
+      "@odata.id": "/redfish/v1/JsonSchemas/PowerDomain"
+    },
+    {
+      "@odata.id": "/redfish/v1/JsonSchemas/PowerEquipment"
+    },
+    {
       "@odata.id": "/redfish/v1/JsonSchemas/PrivilegeRegistry"
     },
     {
@@ -187,6 +223,12 @@
       "@odata.id": "/redfish/v1/JsonSchemas/Role"
     },
     {
+      "@odata.id": "/redfish/v1/JsonSchemas/RouteEntry"
+    },
+    {
+      "@odata.id": "/redfish/v1/JsonSchemas/RouteSetEntry"
+    },
+    {
       "@odata.id": "/redfish/v1/JsonSchemas/Schedule"
     },
     {
@@ -241,6 +283,9 @@
       "@odata.id": "/redfish/v1/JsonSchemas/UpdateService"
     },
     {
+      "@odata.id": "/redfish/v1/JsonSchemas/VCATEntry"
+    },
+    {
       "@odata.id": "/redfish/v1/JsonSchemas/VLanNetworkInterface"
     },
     {
diff --git a/static/redfish/v1/JsonSchemas/redfish-error/redfish-error.json b/static/redfish/v1/JsonSchemas/redfish-error/redfish-error.json
index 97d4f72..a34e165 100644
--- a/static/redfish/v1/JsonSchemas/redfish-error/redfish-error.json
+++ b/static/redfish/v1/JsonSchemas/redfish-error/redfish-error.json
@@ -54,5 +54,5 @@
         }
     },
     "owningEntity": "DMTF",
-    "title": "redfish-error.v1_0_0"
+    "title": "redfish-error.v1_0_1"
 }
diff --git a/static/redfish/v1/JsonSchemas/redfish-payload-annotations/redfish-payload-annotations.json b/static/redfish/v1/JsonSchemas/redfish-payload-annotations/redfish-payload-annotations.json
index 84cab6d..c7d2f91 100644
--- a/static/redfish/v1/JsonSchemas/redfish-payload-annotations/redfish-payload-annotations.json
+++ b/static/redfish/v1/JsonSchemas/redfish-payload-annotations/redfish-payload-annotations.json
@@ -1,5 +1,5 @@
 {
-    "$id": "http://redfish.dmtf.org/schemas/v1/redfish-payload-annotations.v1_0_1.json",
+    "$id": "http://redfish.dmtf.org/schemas/v1/redfish-payload-annotations.v1_1_0.json",
     "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
     "copyright": "Copyright 2014-2019 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "properties": {
@@ -33,6 +33,37 @@
             "description": "The link to the Resource that represents the POST capabilities of a collection.",
             "$ref": "http://redfish.dmtf.org/schemas/v1/CollectionCapabilities.json#/definitions/CollectionCapabilities"
         },
+        "@Redfish.RequestedCount": {
+            "type": "integer",
+            "description": "The term is used by a client to specify a request for a quantity of items."
+        },
+        "@Redfish.RequestedCountRequired": {
+            "type": "boolean",
+            "readonly": true,
+            "description": "The term specifies that a client is required to provide the @Redfish.RequestedCount term as part of the payload to specify a quantity of items."
+        },
+        "@Redfish.AllowOverprovisioning": {
+            "type": "boolean",
+            "description": "The term specifies that a client allows the Service to provide more Resources than requested, which includes, but is not limited to, a larger quantity of items, larger capacity, and faster devices.",
+            "longDescription": "The term shall specify that a client allows the Service to provide more Resources than requested, which includes, but is not limited to, a larger quantity of items, larger capacity, and faster devices.  If not specified by the client, the Service shall treat this as `false`."
+        },
+        "@Redfish.ZoneAffinity": {
+            "type": "string",
+            "description": "The term specifies that a client requests that the Service fulfills a request with Resources available within a specific Zone Resource.  The term value is the Id property of the Zone Resource.",
+            "longDescription": "The term shall specify that a client requests that the Service fulfills a request with Resources available in a specific Zone Resource.  The term value shall contain the Id property of the Zone Resource.  This term shall only be at the root level of the request payload."
+        },
+        "@Redfish.ResourceBlockLimits": {
+            "description": "The term specifies the allowable quantities of types of Resource Blocks for a composition request.",
+            "$ref": "http://redfish.dmtf.org/schemas/v1/ResourceBlock.json#/definitions/ResourceBlockLimits"
+        },
+        "@Redfish.SupportedCertificates": {
+            "description": "The term specifies the supported certificate formats for a given certificate collection.",
+            "type": "array",
+            "items": {
+                "$ref": "http://redfish.dmtf.org/schemas/v1/Certificate.json#/definitions/CertificateType"
+            },
+            "readonly": true
+        },
         "@odata.context": {
             "type": "string",
             "format": "uri-reference",
@@ -62,7 +93,7 @@
     },
     "patternProperties": {
         "^([a-zA-Z_][a-zA-Z0-9_]*)?@Redfish.AllowableValues$": {
-            "description": "The set of allowable values for a parameter.",
+            "description": "The set of allowable values for an action parameter or property.",
             "type": "array",
             "items": {
                 "type": "string"
@@ -89,6 +120,11 @@
             "type": "boolean",
             "readonly": true
         },
+        "^([a-zA-Z_][a-zA-Z0-9_]*)?@Redfish.Deprecated$": {
+            "description": "The term shall be applied to a property or value to specify that the property or value is deprecated.  The string value should explain the deprecation, including new property or properties or value to use.  The property or value can be supported in new and existing implementations, but usage in new implementations is discouraged.  Deprecated properties and values are likely to be removed in a future major version of the schema.",
+            "type": "string",
+            "readonly": true
+        },
         "^([a-zA-Z_][a-zA-Z0-9_]*)?@Message.ExtendedInfo$": {
             "description": "The ExtendedInfo annotation can be applied to any object or property to provide additional information about the item.",
             "type": "array",