Update schema files to 2018.2

Redfish schema 2018.2 was released on September 20th, 2018.  While there
aren't any plans to utilize any of the new services, it makes sense to
keep up to date with the latest static data.

This commit was largely done automatically using the update_schemas.py
script.

Change-Id: Ieaa9f1ab2a47244ef201cfe9a064744d7d156745
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
diff --git a/static/redfish/v1/JsonSchemas/AccountService/AccountService.json b/static/redfish/v1/JsonSchemas/AccountService/AccountService.json
index 72a708b..f41ca633 100644
--- a/static/redfish/v1/JsonSchemas/AccountService/AccountService.json
+++ b/static/redfish/v1/JsonSchemas/AccountService/AccountService.json
@@ -1,7 +1,7 @@
 {
     "$ref": "#/definitions/AccountService",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_4_0.json",
-    "copyright": "Copyright 2014-2018 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "AccountProviderTypes": {
             "enum": [
@@ -33,6 +33,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -42,23 +43,23 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
                 },
                 "@odata.etag": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/etag"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "AccountLockoutCounterResetAfter": {
                     "description": "The interval of time in seconds between the last failed login attempt and reset of the lockout threshold counter. This value must be less than or equal to AccountLockoutDuration. Reset sets the counter to zero.",
                     "longDescription": "This property shall reference the threshold of time in seconds from the last failed login attempt at which point the AccountLockoutThreshold counter (that counts number of failed login attempts) is reset back to zero (at which point AccountLockoutThreshold failures would be required before the account is locked).  This value shall be less than or equal to AccountLockoutDuration. The threshold counter also resets to zero after each successful login.",
                     "minimum": 0,
                     "readonly": false,
-                    "type": "number",
+                    "type": "integer",
                     "units": "s"
                 },
                 "AccountLockoutDuration": {
@@ -67,7 +68,7 @@
                     "minimum": 0,
                     "readonly": false,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ],
                     "units": "s"
@@ -78,7 +79,7 @@
                     "minimum": 0,
                     "readonly": false,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -109,7 +110,7 @@
                     "longDescription": "This property shall reference the threshold for when an authorization failure is logged.  This represents a modulo function value, thus the failure shall be logged every nth occurrence where n represents the value of this property.",
                     "minimum": 0,
                     "readonly": false,
-                    "type": "number"
+                    "type": "integer"
                 },
                 "Description": {
                     "anyOf": [
@@ -142,14 +143,14 @@
                     "longDescription": "This property shall reference the maximum password length that the implementation will allow a password to be set to.",
                     "minimum": 0,
                     "readonly": true,
-                    "type": "number"
+                    "type": "integer"
                 },
                 "MinPasswordLength": {
                     "description": "The minimum password length for this service.",
                     "longDescription": "This property shall reference the minimum password length that the implementation will allow a password to be set to.",
                     "minimum": 0,
                     "readonly": true,
-                    "type": "number"
+                    "type": "integer"
                 },
                 "Name": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
@@ -182,10 +183,14 @@
                     ]
                 },
                 "Status": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -201,6 +206,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -210,7 +216,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -225,6 +233,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -256,7 +265,9 @@
                     ]
                 },
                 "Oem": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "Oem extension object.",
+                    "longDescription": "This object represents the Oem property.  All values for resources described by this schema shall comply to the requirements as described in the Redfish specification."
                 },
                 "Password": {
                     "description": "This property is used with a PATCH or PUT to write the password for the account service.  This property is null on a GET.",
@@ -310,6 +321,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -404,6 +416,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -464,6 +477,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -473,7 +487,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "Oem extension object.",
+                    "longDescription": "This object represents the Oem property.  All values for resources described by this schema shall comply to the requirements as described in the Redfish specification."
                 },
                 "SearchSettings": {
                     "anyOf": [
@@ -518,6 +534,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -538,6 +555,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -556,7 +574,9 @@
                     ]
                 },
                 "Oem": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "Oem extension object.",
+                    "longDescription": "This object represents the Oem property.  All values for resources described by this schema shall comply to the requirements as described in the Redfish specification."
                 },
                 "RemoteGroup": {
                     "description": "This property is the name of the remote group (or in the case of a Redfish Service, remote role) that will be mapped to the local role referenced by this entity.",
@@ -581,5 +601,5 @@
         }
     },
     "owningEntity": "DMTF",
-    "title": "#AccountService.v1_3_0.AccountService"
+    "title": "#AccountService.v1_3_1.AccountService"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/ActionInfo/ActionInfo.json b/static/redfish/v1/JsonSchemas/ActionInfo/ActionInfo.json
index bc81ad4..76ebef9 100644
--- a/static/redfish/v1/JsonSchemas/ActionInfo/ActionInfo.json
+++ b/static/redfish/v1/JsonSchemas/ActionInfo/ActionInfo.json
@@ -1,18 +1,19 @@
 {
     "$ref": "#/definitions/ActionInfo",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_3_0.json",
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "ActionInfo": {
             "additionalProperties": false,
             "description": "The ActionInfo schema describes the parameters and other information necessary to perform a Redfish Action on a particular Action target. Parameter support can differ between vendors and even between instances of a resource. This data can be used to ensure Action requests from applications contain supported parameters.",
             "longDescription": "This resource shall be used to represent information about the supported parameters for an Action within a Redfish implementation.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -22,13 +23,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Description": {
                     "anyOf": [
@@ -64,6 +68,8 @@
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -95,11 +101,12 @@
             "description": "A parameter associated with the specified Redfish Action.",
             "longDescription": "This property shall contain information about a specific parameter associated with a Redfish Action associated with this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -133,6 +140,24 @@
                     "longDescription": "This property shall indicate the JSON property type of the parameter.",
                     "readonly": true
                 },
+                "MaximumValue": {
+                    "description": "The maximum supported value of this parameter.",
+                    "longDescription": "This property shall indicate the maximum value of an integer or number type parameter supported by this service. This property shall not be present for parameters that are of types other than integer or number.",
+                    "readonly": true,
+                    "type": [
+                        "number",
+                        "null"
+                    ]
+                },
+                "MinimumValue": {
+                    "description": "The minimum supported value for this parameter.",
+                    "longDescription": "This property shall indicate the minimum value of an integer or number type parameter supported by this service. This property shall not be present for parameters that are of types other than integer or number.",
+                    "readonly": true,
+                    "type": [
+                        "number",
+                        "null"
+                    ]
+                },
                 "Name": {
                     "description": "The name of the parameter for this Action.",
                     "longDescription": "This property shall contain the name of the parameter used by the associated Redfish Action.",
@@ -161,5 +186,6 @@
             "type": "object"
         }
     },
-    "title": "#ActionInfo.v1_0_3.ActionInfo"
+    "owningEntity": "DMTF",
+    "title": "#ActionInfo.v1_1_0.ActionInfo"
 }
\ 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 c2c8e4f..c575ab5 100644
--- a/static/redfish/v1/JsonSchemas/Assembly/Assembly.json
+++ b/static/redfish/v1/JsonSchemas/Assembly/Assembly.json
@@ -1,7 +1,7 @@
 {
     "$ref": "#/definitions/Assembly",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_4_0.json",
-    "copyright": "Copyright 2014-2018 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
@@ -13,6 +13,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -22,7 +23,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -37,6 +40,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -46,16 +50,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
                 },
                 "@odata.etag": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/etag"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
@@ -63,6 +67,7 @@
                     "longDescription": "The Actions property shall contain the available actions for this resource."
                 },
                 "Assemblies": {
+                    "autoExpand": true,
                     "description": "This is the definition for an assembly information record.",
                     "items": {
                         "$ref": "#/definitions/AssemblyData"
@@ -72,7 +77,7 @@
                     "type": "array"
                 },
                 "Assemblies@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "Description": {
                     "anyOf": [
@@ -100,6 +105,8 @@
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -113,6 +120,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -121,6 +129,9 @@
                 }
             },
             "properties": {
+                "@odata.id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
+                },
                 "Actions": {
                     "$ref": "#/definitions/AssemblyDataActions",
                     "description": "The available actions for this resource.",
@@ -192,6 +203,12 @@
                         "null"
                     ]
                 },
+                "PhysicalContext": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/PhysicalContext.json#/definitions/PhysicalContext",
+                    "description": "Describes the area or device to which this assembly data applies.",
+                    "longDescription": "The value of this property shall be a description of the physical context for this assembly data.",
+                    "readonly": true
+                },
                 "Producer": {
                     "description": "Producer or manufacturer of the Assembly.",
                     "longDescription": "The value of this property shall be the name of the company which supplied or manufactured this assembly. This value shall be equal to the 'Manufacturer' field in a PLDM FRU structure, if applicable, for this assembly.",
@@ -204,7 +221,7 @@
                 "ProductionDate": {
                     "description": "Production date of the Assembly.",
                     "format": "date-time",
-                    "longDescription": "The value of this property shall be the date of production or manufacture for this assembly.",
+                    "longDescription": "The value of this property shall be the date of production or manufacture for this assembly.  The time of day portion of the property shall be '00:00:00Z' if the time of day is unknown.",
                     "readonly": true,
                     "type": [
                         "string",
@@ -220,6 +237,15 @@
                         "null"
                     ]
                 },
+                "SerialNumber": {
+                    "description": "The serial number of this assembly.",
+                    "longDescription": "The value of this property shall be a manufacturer-allocated number used to identify the assembly.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
                 "SparePartNumber": {
                     "description": "Spare part number of the Assembly.",
                     "longDescription": "The value of this property shall be the name of the assembly.",
@@ -230,7 +256,9 @@
                     ]
                 },
                 "Status": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 },
                 "Vendor": {
                     "description": "Vendor of the Assembly.",
@@ -251,6 +279,10 @@
                     ]
                 }
             },
+            "required": [
+                "@odata.id",
+                "MemberId"
+            ],
             "type": "object"
         },
         "AssemblyDataActions": {
@@ -263,6 +295,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -272,7 +305,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "#/definitions/AssemblyDataOemActions"
+                    "$ref": "#/definitions/AssemblyDataOemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -287,6 +322,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -307,6 +343,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -319,5 +356,5 @@
         }
     },
     "owningEntity": "DMTF",
-    "title": "#Assembly.v1_1_0.Assembly"
+    "title": "#Assembly.v1_2_0.Assembly"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/AttributeRegistry/AttributeRegistry.json b/static/redfish/v1/JsonSchemas/AttributeRegistry/AttributeRegistry.json
index 7b3491e..b3e0208 100644
--- a/static/redfish/v1/JsonSchemas/AttributeRegistry/AttributeRegistry.json
+++ b/static/redfish/v1/JsonSchemas/AttributeRegistry/AttributeRegistry.json
@@ -1,7 +1,7 @@
 {
     "$ref": "#/definitions/AttributeRegistry",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_4_0.json",
-    "copyright": "Copyright 2014-2018 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
@@ -13,6 +13,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -22,7 +23,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -37,6 +40,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -46,16 +50,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
                 },
                 "@odata.etag": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/etag"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
@@ -122,6 +126,8 @@
                 "Language",
                 "RegistryVersion",
                 "OwningEntity",
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -154,6 +160,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -174,7 +181,6 @@
                 "ValueName": {
                     "description": "The value name of the attribute.",
                     "longDescription": "The value of this property shall be a string representing the value name of the attribute. ValueName is a unique string within the list of possible values in the 'Value' array of a given attribute.",
-                    "pattern": "^[A-Za-z][A-Za-z0-9_]+$",
                     "readonly": true,
                     "type": [
                         "string",
@@ -194,6 +200,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -245,13 +252,13 @@
                     "longDescription": "The value of this property shall be a number the describes the ascending order in which this attribute is displayed, relative to other attributes.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
                 "GrayOut": {
                     "description": "The gray-out state of this attribute.",
-                    "longDescription": "The value of this property shall be a boolean describing the gray-out state of this attribute. When set to true, a grayed-out attribute should be grayed out in user interfaces. But, unlike ReadOnly, the value of grayed-out attributes might still be be modified. The grayout state of an attribute might be affected by the results of evaluating the 'Dependencies' array.",
+                    "longDescription": "The value of this property shall be a boolean describing the gray-out state of this attribute. When set to true, a grayed-out attribute should be grayed out in user interfaces. But, unlike ReadOnly, the value of grayed-out attributes might still be modified. The grayout state of an attribute might be affected by the results of evaluating the 'Dependencies' array.",
                     "readonly": true,
                     "type": [
                         "boolean",
@@ -299,7 +306,7 @@
                     "longDescription": "The value of this property shall be a number indicating the lower limit of the value of an attribute of type 'Integer'.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -308,14 +315,14 @@
                     "longDescription": "The value of this property shall be a number indicating the maximum character length of the value of an attribute of type 'String'.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
                 "MenuPath": {
                     "description": "A path that describes the menu hierarchy of this attribute.",
-                    "longDescription": "The value of this property shall be a string indicating the menu hierarchy of this attribute, in the form of a path to the menu names.",
-                    "pattern": "^[.]?[A-Za-z0-9_//]+$",
+                    "longDescription": "The value of this property shall be a string indicating the menu hierarchy of this attribute, in the form of a path to the menu names.  It shall start with './' to indicate the root menu, followed by the menu names with '/' characters to delineate the menu traversal.",
+                    "pattern": "^\\.\\/([^/]+(\\/[^/]+)*)?$",
                     "readonly": true,
                     "type": [
                         "string",
@@ -327,7 +334,7 @@
                     "longDescription": "The value of this property shall be a number indicating the minimum character length of the value of an attribute of type 'String'.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -354,7 +361,7 @@
                     "longDescription": "The value of this property shall be a number indicating the amount to increment or decrement the value of an attribute of type 'Integer' each time a user requests a value change. A ScalarIncrement value of 0 indicates a free-form numeric user input.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -390,7 +397,7 @@
                     "longDescription": "The value of this property shall be a number indicating the upper limit of the value of an attribute of type 'Integer'.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -442,6 +449,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -481,6 +489,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -543,6 +552,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -700,6 +710,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -722,7 +733,7 @@
                     "longDescription": "The value of this property shall be a number the describes the ascending order in which this menu is displayed, relative to other menus.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -738,14 +749,14 @@
                 "MenuName": {
                     "description": "The unique name string of this menu.",
                     "longDescription": "The value of this property shall be the name of this menu that is unique in this registry.",
-                    "pattern": "^[A-Za-z][A-Za-z0-9_]+$",
+                    "pattern": "^[^/]+$",
                     "readonly": true,
                     "type": "string"
                 },
                 "MenuPath": {
                     "description": "A path that describes this menu hierarchy relative to other menus.",
-                    "longDescription": "The value of this property shall be a string indicating the menu hierarchy of this menu, in the form of a path to the menu names.",
-                    "pattern": "^[.]?[A-Za-z0-9_//]+$",
+                    "longDescription": "The value of this property shall be a string indicating the menu hierarchy of this menu, in the form of a path to the menu names.  It shall start with './' to indicate the root menu, followed by the menu names with '/' characters to delineate the menu traversal.",
+                    "pattern": "^\\.\\/([^/]+(\\/[^/]+)*)?$",
                     "readonly": true,
                     "type": [
                         "string",
@@ -774,6 +785,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -794,6 +806,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -839,6 +852,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -880,5 +894,5 @@
         }
     },
     "owningEntity": "DMTF",
-    "title": "#AttributeRegistry.v1_2_0.AttributeRegistry"
+    "title": "#AttributeRegistry.v1_2_1.AttributeRegistry"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/Bios/Bios.json b/static/redfish/v1/JsonSchemas/Bios/Bios.json
index de2936a..b32fafd 100644
--- a/static/redfish/v1/JsonSchemas/Bios/Bios.json
+++ b/static/redfish/v1/JsonSchemas/Bios/Bios.json
@@ -1,18 +1,19 @@
 {
     "$ref": "#/definitions/Bios",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_3_0.json",
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
             "description": "The available actions for this resource.",
             "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -28,7 +29,9 @@
                     "$ref": "#/definitions/ResetBios"
                 },
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -38,11 +41,12 @@
             "description": "The manufacturer/provider-specific list of BIOS attributes.",
             "longDescription": "This type shall describe BIOS Attribute settings as additional properties in this object, and can be looked up in the Attribute Registry by their AttributeName.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -63,14 +67,15 @@
         },
         "Bios": {
             "additionalProperties": true,
-            "description": "The Bios schema contains properties related to the BIOS Attribute Registry. The Attribute Registry describes the system-specific BIOS attributes and Actions for changing to BIOS settings. Changes to the BIOS typically require a system reset before they take effect.",
+            "description": "The Bios schema contains properties related to the BIOS Attribute Registry.  The Attribute Registry describes the system-specific BIOS attributes and Actions for changing to BIOS settings.  Changes to the BIOS typically require a system reset before they take effect.  It is likely that a client will find the @Redfish.Settings term in this resource, and if it is found, the client makes requests to change BIOS settings by modifying the resource identified by the @Redfish.Settings term.",
             "longDescription": "This resource shall be used to represent BIOS attributes for a Redfish implementation.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -80,13 +85,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
@@ -133,6 +141,8 @@
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -163,11 +173,12 @@
                 }
             },
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -193,11 +204,12 @@
             "description": "The available OEM specific actions for this resource.",
             "longDescription": "This type shall contain any additional OEM actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -211,14 +223,15 @@
         "ResetBios": {
             "additionalProperties": false,
             "description": "This action is used to reset the BIOS attributes to default.",
-            "longDescription": "This action shall perform a reset of the BIOS attributes to teir default values.",
+            "longDescription": "This action shall perform a reset of the BIOS attributes to their default values.  A system reset may be required for the default values to be applied.  This action may impact other resources.",
             "parameters": {},
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -240,5 +253,6 @@
             "type": "object"
         }
     },
-    "title": "#Bios.v1_0_3.Bios"
+    "owningEntity": "DMTF",
+    "title": "#Bios.v1_0_4.Bios"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/BootOption/BootOption.json b/static/redfish/v1/JsonSchemas/BootOption/BootOption.json
index 1377054..7b6ac9a 100644
--- a/static/redfish/v1/JsonSchemas/BootOption/BootOption.json
+++ b/static/redfish/v1/JsonSchemas/BootOption/BootOption.json
@@ -1,18 +1,19 @@
 {
     "$ref": "#/definitions/BootOption",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_3_0.json",
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
             "description": "The available actions for this resource.",
             "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -22,7 +23,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -30,12 +33,14 @@
         "BootOption": {
             "additionalProperties": false,
             "description": "This is the schema definition for the BootOption resource. It represents the properties of a bootable device available in the System.",
+            "longDescription": "This resource shall be used to represent a single boot option contained within a system.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -45,13 +50,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
@@ -67,8 +75,8 @@
                             "type": "null"
                         }
                     ],
-                    "description": "The alias of this Boot Source when described in the BootSourceOverrideTarget property in the Computersystem resource.",
-                    "longDescription": "The value of this property shall contain an alias to the Boot Source that describes this Boot Option in the BootSourceOverrideTarget property in the ComputerSystem resource. The possible values of this property are specified through the Redfish.AllowableValues annotation on BootSourceOverrideTarget in the ComputerSystem resource.",
+                    "description": "The alias of this Boot Source.",
+                    "longDescription": "The value of this property shall contain the string alias of this Boot Source that describes the type of boot that will be performed.",
                     "readonly": true
                 },
                 "BootOptionEnabled": {
@@ -125,14 +133,14 @@
                 "RelatedItem": {
                     "description": "The ID(s) of the resources associated with this Boot Option.",
                     "items": {
-                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/idRef"
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/idRef"
                     },
                     "longDescription": "The value of this property shall be an array of IDs containing pointers consistent with JSON pointer syntax to the resource that is being used for this Boot Option.",
                     "readonly": true,
                     "type": "array"
                 },
                 "RelatedItem@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "UefiDevicePath": {
                     "description": "The UEFI device path used to access this UEFI Boot Option.",
@@ -146,6 +154,8 @@
             },
             "required": [
                 "BootOptionReference",
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -156,11 +166,12 @@
             "description": "The available OEM specific actions for this resource.",
             "longDescription": "This type shall contain any additional OEM actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -172,5 +183,6 @@
             "type": "object"
         }
     },
-    "title": "#BootOption.v1_0_0.BootOption"
+    "owningEntity": "DMTF",
+    "title": "#BootOption.v1_0_1.BootOption"
 }
\ 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 9125783..c2d311c 100644
--- a/static/redfish/v1/JsonSchemas/Chassis/Chassis.json
+++ b/static/redfish/v1/JsonSchemas/Chassis/Chassis.json
@@ -1,7 +1,7 @@
 {
     "$ref": "#/definitions/Chassis",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_4_0.json",
-    "copyright": "Copyright 2014-2018 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
@@ -13,6 +13,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -25,7 +26,9 @@
                     "$ref": "#/definitions/Reset"
                 },
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -40,6 +43,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -49,16 +53,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
                 },
                 "@odata.etag": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/etag"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
@@ -142,7 +146,9 @@
                     "longDescription": "The Links property, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource."
                 },
                 "Location": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location",
+                    "description": "The Location of the chassis.",
+                    "longDescription": "This property shall contain location information of the associated chassis."
                 },
                 "LogServices": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/LogServiceCollection.json#/definitions/LogServiceCollection",
@@ -183,6 +189,12 @@
                     "description": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.",
                     "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
                 },
+                "PCIeSlots": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/PCIeSlots.json#/definitions/PCIeSlots",
+                    "description": "A reference to the PCIe Slot properties of this chassis.",
+                    "longDescription": "The value of this property shall be a reference to the resource that represents the PCIe Slot information for this chassis and shall be of type PCIeSlot.",
+                    "readonly": true
+                },
                 "PartNumber": {
                     "description": "The part number of the chassis.",
                     "longDescription": "The value of this property shall be a part number assigned by the organization that is responsible for producing or manufacturing the chassis.",
@@ -235,7 +247,9 @@
                     ]
                 },
                 "Status": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 },
                 "Thermal": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Thermal.json#/definitions/Thermal",
@@ -281,6 +295,8 @@
             },
             "required": [
                 "ChassisType",
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -393,6 +409,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -411,7 +428,7 @@
                     "type": "array"
                 },
                 "ComputerSystems@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "ContainedBy": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Chassis.json#/definitions/Chassis",
@@ -429,19 +446,19 @@
                     "type": "array"
                 },
                 "Contains@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "CooledBy": {
                     "description": "An array of ID[s] of resources that cool this chassis. Normally the ID will be a chassis or a specific set of fans.",
                     "items": {
-                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/idRef"
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/idRef"
                     },
                     "longDescription": "The value of this property shall be an array of IDs containing pointers consistent with JSON pointer syntax to the resource that cools this chassis.",
                     "readonly": true,
                     "type": "array"
                 },
                 "CooledBy@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "Drives": {
                     "description": "An array of references to the disk drives located in this Chassis.",
@@ -453,7 +470,7 @@
                     "type": "array"
                 },
                 "Drives@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "ManagedBy": {
                     "description": "An array of references to the Managers responsible for managing this chassis.",
@@ -465,7 +482,7 @@
                     "type": "array"
                 },
                 "ManagedBy@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "ManagersInChassis": {
                     "description": "An array of references to the managers located in this Chassis.",
@@ -477,7 +494,7 @@
                     "type": "array"
                 },
                 "ManagersInChassis@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "Oem": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
@@ -494,19 +511,19 @@
                     "type": "array"
                 },
                 "PCIeDevices@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "PoweredBy": {
                     "description": "An array of ID[s] of resources that power this chassis. Normally the ID will be a chassis or a specific set of Power Supplies.",
                     "items": {
-                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/idRef"
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/idRef"
                     },
                     "longDescription": "The value of this property shall be an array of IDs containing pointers consistent with JSON pointer syntax to the resource that powers this chassis.",
                     "readonly": true,
                     "type": "array"
                 },
                 "PoweredBy@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "ResourceBlocks": {
                     "description": "An array of references to the Resource Blocks located in this Chassis.",
@@ -518,7 +535,7 @@
                     "type": "array"
                 },
                 "ResourceBlocks@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "Storage": {
                     "description": "An array of references to the storage subsystems connected to or inside this Chassis.",
@@ -530,7 +547,7 @@
                     "type": "array"
                 },
                 "Storage@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "Switches": {
                     "description": "An array of references to the Switches located in this Chassis.",
@@ -542,7 +559,7 @@
                     "type": "array"
                 },
                 "Switches@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 }
             },
             "type": "object"
@@ -557,6 +574,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -577,6 +595,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -603,7 +622,7 @@
                     "longDescription": "The value of this property shall be a numerical identifier for this physical security sensor that is unique within this resource.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -655,6 +674,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -677,5 +697,5 @@
         }
     },
     "owningEntity": "DMTF",
-    "title": "#Chassis.v1_7_0.Chassis"
+    "title": "#Chassis.v1_8_0.Chassis"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/CollectionCapabilities/CollectionCapabilities.json b/static/redfish/v1/JsonSchemas/CollectionCapabilities/CollectionCapabilities.json
index 77a3bef..0caa0c3 100644
--- a/static/redfish/v1/JsonSchemas/CollectionCapabilities/CollectionCapabilities.json
+++ b/static/redfish/v1/JsonSchemas/CollectionCapabilities/CollectionCapabilities.json
@@ -1,136 +1,143 @@
 {
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_2_0.json",
-    "title": "#CollectionCapabilities.v1_0_0",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Capability": {
-            "type": "object",
+            "additionalProperties": false,
+            "description": "This type describes a specific capability of a collection for a given use case.",
+            "longDescription": "This type shall describe a specific capability of a collection in terms of how a client is able to create new resources within the collection for the specified use case.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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"
-                    ],
-                    "description": "This property shall specify a valid odata or Redfish property."
+                    ]
                 }
             },
-            "additionalProperties": false,
             "properties": {
-                "UseCase": {
-                    "$ref": "#/definitions/UseCase",
-                    "readonly": true,
-                    "description": "This property represents the use case in which a client may issue a POST request to the collection.",
-                    "longDescription": "The value of this property shall be an enumerated value describing the use case for this capability instance."
+                "CapabilitiesObject": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/idRef",
+                    "description": "Reference to the resource the client may GET to in order to understand how to form a POST request for a given collection.",
+                    "longDescription": "The value of this property shall be a reference to a Resource that matches the type for the given collection and shall contain annotations that describe the properties allowed in the POST request.",
+                    "readonly": true
                 },
                 "Links": {
-                    "type": "object",
-                    "patternProperties": {
-                        "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
-                            "type": [
-                                "array",
-                                "boolean",
-                                "number",
-                                "null",
-                                "object",
-                                "string"
-                            ],
-                            "description": "This property shall specify a valid odata or Redfish property."
-                        }
-                    },
-                    "additionalProperties": false,
-                    "properties": {
-                        "Oem": {
-                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
-                            "description": "Oem extension object.",
-                            "longDescription": "This object represents the Oem property.  All values for resources described by this schema shall comply to the requirements as described in the Redfish specification."
-                        },
-                        "TargetCollection": {
-                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/ResourceCollection",
-                            "readonly": true,
-                            "description": "Reference to the collection that this capabilities structure is describing.",
-                            "longDescription": "The value of this property shall be a reference to a Resource Collection that this structure is describing.  This structure may be used by a client in order to understand how to form the POST request for the given collection."
-                        },
-                        "RelatedItem@odata.count": {
-                            "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/count"
-                        },
-                        "RelatedItem@odata.navigationLink": {
-                            "type": "string",
-                            "format": "uri"
-                        },
-                        "RelatedItem": {
-                            "type": "array",
-                            "items": {
-                                "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef"
-                            },
-                            "readonly": true,
-                            "description": "The ID(s) of the resources associated with this capability.",
-                            "longDescription": "The value of this property shall be an array of IDs containing pointers consistent with JSON pointer syntax to the resource that is related to this capability."
-                        }
-                    },
-                    "required": [
-                        "TargetCollection"
-                    ],
+                    "$ref": "#/definitions/Links",
                     "description": "Contains references to other resources that are related to this resource.",
                     "longDescription": "The Links property, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource."
                 },
-                "CapabilitiesObject": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/idRef",
-                    "readonly": true,
-                    "description": "Reference to the resource the client may GET to in order to understand how to form a POST request for a given collection.",
-                    "longDescription": "The value of this property shall be a reference to a Resource that matches the type for the given collection and shall contain annotations that describe the properties allowed in the POST request."
+                "UseCase": {
+                    "$ref": "#/definitions/UseCase",
+                    "description": "This property represents the use case in which a client may issue a POST request to the collection.",
+                    "longDescription": "The value of this property shall be an enumerated value describing the use case for this capability instance.",
+                    "readonly": true
                 }
             },
             "required": [
+                "CapabilitiesObject",
                 "UseCase",
-                "Links",
-                "CapabilitiesObject"
+                "Links"
             ],
-            "description": "This type describes a specific capability of a collection for a given use case.",
-            "longDescription": "This type shall describe a specific capability of a collection in terms of how a client is able to create new resources within the collection for the specified use case."
+            "type": "object"
         },
         "CollectionCapabilities": {
-            "type": "object",
+            "additionalProperties": false,
+            "description": "This type describes the capabilities of a collection.",
+            "longDescription": "This type shall describe any capabilities of a collection in terms of how a client is able to create new resources within the collection.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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"
-                    ],
-                    "description": "This property shall specify a valid odata or Redfish property."
+                    ]
                 }
             },
-            "additionalProperties": false,
             "properties": {
                 "Capabilities": {
-                    "type": "array",
+                    "description": "This property contains the list of capabilities supported by this resource.",
                     "items": {
                         "$ref": "#/definitions/Capability"
                     },
-                    "description": "This property contains the list of capabilities supported by this resource.",
-                    "longDescription": "The value of this property shall be an array of Capability structures."
+                    "longDescription": "The value of this property shall be an array of Capability structures.",
+                    "type": "array"
                 }
             },
-            "description": "This type describes the capabilities of a collection.",
-            "longDescription": "This type shall describe any capabilities of a collection in terms of how a client is able to create new resources within the collection."
+            "type": "object"
+        },
+        "Links": {
+            "additionalProperties": false,
+            "description": "Contains references to other resources that are related to this resource.",
+            "longDescription": "This type, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (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": "Oem extension object.",
+                    "longDescription": "This object represents the Oem property.  All values for resources described by this schema shall comply to the requirements as described in the Redfish specification."
+                },
+                "RelatedItem": {
+                    "description": "The ID(s) of the resources associated with this capability.",
+                    "items": {
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/idRef"
+                    },
+                    "longDescription": "The value of this property shall be an array of IDs containing pointers consistent with JSON pointer syntax to the resource that is related to this capability.",
+                    "readonly": true,
+                    "type": "array"
+                },
+                "RelatedItem@odata.count": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
+                },
+                "TargetCollection": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/ResourceCollection",
+                    "description": "Reference to the collection that this capabilities structure is describing.",
+                    "longDescription": "The value of this property shall be a reference to a Resource Collection that this structure is describing.  This structure may be used by a client in order to understand how to form the POST request for the given collection.",
+                    "readonly": true
+                }
+            },
+            "required": [
+                "TargetCollection"
+            ],
+            "type": "object"
         },
         "UseCase": {
-            "type": "string",
             "enum": [
                 "ComputerSystemComposition",
+                "ComputerSystemConstrainedComposition",
                 "VolumeCreation"
             ],
             "enumDescriptions": {
                 "ComputerSystemComposition": "This capability describes a client creating a new ComputerSystem instance from a set of disaggregated hardware.",
+                "ComputerSystemConstrainedComposition": "This capability describes a client creating a new ComputerSystem instance from a set of constraints.",
                 "VolumeCreation": "This capability describes a client creating a new Volume instance as part of an existing storage subsystem."
-            }
+            },
+            "type": "string"
         }
     },
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright"
-}
+    "owningEntity": "DMTF",
+    "title": "#CollectionCapabilities.v1_1_0"
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/CompositionService/CompositionService.json b/static/redfish/v1/JsonSchemas/CompositionService/CompositionService.json
index b0d3031..38ba465 100644
--- a/static/redfish/v1/JsonSchemas/CompositionService/CompositionService.json
+++ b/static/redfish/v1/JsonSchemas/CompositionService/CompositionService.json
@@ -1,18 +1,19 @@
 {
     "$ref": "#/definitions/CompositionService",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_3_0.json",
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
             "description": "The available actions for this resource.",
             "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -22,7 +23,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -32,11 +35,12 @@
             "description": "The CompositionService schema defines a Composition Service which represents the properties for the service and links to the resources available for composition.",
             "longDescription": "This resource shall be used to represent the Composition Service Properties for a Redfish implementation.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -46,19 +50,40 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
                     "description": "The available actions for this resource.",
                     "longDescription": "The Actions property shall contain the available actions for this resource."
                 },
+                "AllowOverprovisioning": {
+                    "description": "This indicates whether this service is allowed to overprovision a composition relative to the composition request.",
+                    "longDescription": "The value of this property shall be a boolean indicating whether this service is allowed to overprovision a composition relative to the composition request.",
+                    "readonly": false,
+                    "type": [
+                        "boolean",
+                        "null"
+                    ]
+                },
+                "AllowZoneAffinity": {
+                    "description": "This indicates whether a client is allowed to request that given composition request is fulfilled by a specified Resource Zone.",
+                    "longDescription": "The value of this property shall be a boolean indicating whether a client is allowed to request that given composition request is fulfilled by a specified Resource Zone.",
+                    "readonly": true,
+                    "type": [
+                        "boolean",
+                        "null"
+                    ]
+                },
                 "Description": {
                     "anyOf": [
                         {
@@ -105,10 +130,14 @@
                     ]
                 },
                 "Status": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -119,11 +148,12 @@
             "description": "The available OEM specific actions for this resource.",
             "longDescription": "This type shall contain any additional OEM actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -135,5 +165,6 @@
             "type": "object"
         }
     },
-    "title": "#CompositionService.v1_0_1.CompositionService"
+    "owningEntity": "DMTF",
+    "title": "#CompositionService.v1_1_0.CompositionService"
 }
\ 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 e505fb9..cc7141c 100644
--- a/static/redfish/v1/JsonSchemas/ComputerSystem/ComputerSystem.json
+++ b/static/redfish/v1/JsonSchemas/ComputerSystem/ComputerSystem.json
@@ -1,18 +1,19 @@
 {
     "$ref": "#/definitions/ComputerSystem",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_3_0.json",
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
             "description": "The available actions for this resource.",
             "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -28,7 +29,9 @@
                     "$ref": "#/definitions/SetDefaultBootOrder"
                 },
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -38,11 +41,12 @@
             "description": "This object contains the boot information for the current resource.",
             "longDescription": "This type shall contain properties which describe boot information for a system.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -88,7 +92,7 @@
                         }
                     ],
                     "description": "Describes the state of the Boot Source Override feature.",
-                    "longDescription": "The value of this property shall be Once if this is a one time boot override and Continuous if this selection should remain active until cancelled. If the property value is set to Once, the value will be reset back to Disabled after the BootSourceOverrideTarget actions have been completed.",
+                    "longDescription": "The value of this property shall be Once if this is a one time boot override and Continuous if this selection should remain active until cancelled. If the property value is set to Once, the value will be reset back to Disabled after the BootSourceOverrideTarget actions have been completed. Changes to this property do not alter the BIOS persistent boot order configuration.",
                     "readonly": false
                 },
                 "BootSourceOverrideMode": {
@@ -114,12 +118,12 @@
                         }
                     ],
                     "description": "The current boot source to be used at next boot instead of the normal boot device, if BootSourceOverrideEnabled is true.",
-                    "longDescription": "The value of this property shall contain the source to boot the system from, overriding the normal boot order. The valid values for this property are specified through the Redfish.AllowableValues annotation. Pxe indicates to PXE boot from the primary NIC; Floppy, Cd, Usb, Hdd indicates to boot from their devices respectively. BiosSetup indicates to boot into the native BIOS screen setup. Utilities and Diags indicate to boot from the local utilities or diags partitions. UefiTarget indicates to boot from the UEFI device path found in UefiTargetBootSourceOverride. UefiBootNext indicates to boot from the UEFI BootOptionReference found in BootNext.",
+                    "longDescription": "The value of this property shall contain the source to boot the system from, overriding the normal boot order. The valid values for this property are specified through the Redfish.AllowableValues annotation. Pxe indicates to PXE boot from the primary NIC; Floppy, Cd, Usb, Hdd indicates to boot from their devices respectively. BiosSetup indicates to boot into the native BIOS screen setup. Utilities and Diags indicate to boot from the local utilities or diags partitions. UefiTarget indicates to boot from the UEFI device path found in UefiTargetBootSourceOverride. UefiBootNext indicates to boot from the UEFI BootOptionReference found in BootNext. Changes to this property do not alter the BIOS persistent boot order configuration.",
                     "readonly": false
                 },
                 "UefiTargetBootSourceOverride": {
                     "description": "This property is the UEFI Device Path of the device to boot from when BootSourceOverrideTarget is UefiTarget.",
-                    "longDescription": "The value of this property shall be the UEFI device path of the override boot target. The valid values for this property are specified through the Redfish.AllowableValues annotation. BootSourceOverrideEnabled = Continuous is not supported for UEFI Boot Source Override as this setting is defined in UEFI as a one time boot only.",
+                    "longDescription": "The value of this property shall be the UEFI device path of the override boot target. The valid values for this property are specified through the Redfish.AllowableValues annotation. BootSourceOverrideEnabled = Continuous is not supported for UEFI Boot Source Override as this setting is defined in UEFI as a one time boot only. Changes to this property do not alter the BIOS persistent boot order configuration.",
                     "readonly": false,
                     "type": [
                         "string",
@@ -196,11 +200,12 @@
             "description": "This schema defines a computer system and its respective properties.  A computer system represents a machine (physical or virtual) and the local resources such as memory, cpu and other devices that can be accessed from that machine.",
             "longDescription": "This resource shall be used to represent resources that represent a computing system in the Redfish specification.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -210,13 +215,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
@@ -250,7 +258,7 @@
                 "Boot": {
                     "$ref": "#/definitions/Boot",
                     "description": "Information about the boot settings for this system.",
-                    "longDescription": "This object shall contain properties which describe boot information for the current resource. Changes to this object do not alter the BIOS persistent boot order configuration."
+                    "longDescription": "This object shall contain properties which describe boot information for the current resource."
                 },
                 "Description": {
                     "anyOf": [
@@ -392,7 +400,7 @@
                     "type": "array"
                 },
                 "PCIeDevices@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "PCIeFunctions": {
                     "description": "A reference to a collection of PCIe Functions used by this computer system.",
@@ -404,7 +412,7 @@
                     "type": "array"
                 },
                 "PCIeFunctions@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "PartNumber": {
                     "description": "The part number for this system.",
@@ -440,6 +448,7 @@
                     "readonly": true
                 },
                 "Redundancy": {
+                    "autoExpand": true,
                     "description": "A reference to a collection of Redundancy entities that each name a set of computer systems that provide redundancy for this ComputerSystem.",
                     "items": {
                         "$ref": "http://redfish.dmtf.org/schemas/v1/Redundancy.json#/definitions/Redundancy"
@@ -449,7 +458,7 @@
                     "type": "array"
                 },
                 "Redundancy@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "SKU": {
                     "description": "The manufacturer SKU for this system.",
@@ -482,7 +491,9 @@
                     "readonly": true
                 },
                 "Status": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 },
                 "Storage": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/StorageCollection.json#/definitions/StorageCollection",
@@ -528,6 +539,8 @@
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -538,11 +551,12 @@
             "description": "This object describes services that may be running or installed on the system.",
             "longDescription": "The values of this collection shall describe services supported by a computer system.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -552,7 +566,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "Oem extension object.",
+                    "longDescription": "This object represents the Oem property.  All values for resources described by this schema shall comply to the requirements as described in the Redfish specification."
                 },
                 "StorageServices": {
                     "$ref": "http://redfish.dmtf.org/schemas/swordfish/v1/HostedStorageServices.json#/definitions/HostedStorageServices",
@@ -635,11 +651,12 @@
             "description": "Contains references to other resources that are related to this resource.",
             "longDescription": "This type, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -658,7 +675,7 @@
                     "type": "array"
                 },
                 "Chassis@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "ConsumingComputerSystems": {
                     "description": "An array of references to ComputerSystems that are realized, in whole or in part, from this ComputerSystem.",
@@ -670,19 +687,19 @@
                     "type": "array"
                 },
                 "ConsumingComputerSystems@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "CooledBy": {
                     "description": "An array of ID[s] of resources that cool this computer system. Normally the ID will be a chassis or a specific set of fans.",
                     "items": {
-                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/idRef"
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/idRef"
                     },
                     "longDescription": "The value of this property shall be an array of IDs containing pointers consistent with JSON pointer syntax to the resource that powers this computer system.",
                     "readonly": true,
                     "type": "array"
                 },
                 "CooledBy@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "Endpoints": {
                     "description": "An array of references to the endpoints that connect to this system.",
@@ -694,7 +711,7 @@
                     "type": "array"
                 },
                 "Endpoints@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "ManagedBy": {
                     "description": "An array of references to the Managers responsible for this system.",
@@ -706,7 +723,7 @@
                     "type": "array"
                 },
                 "ManagedBy@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "Oem": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
@@ -716,14 +733,14 @@
                 "PoweredBy": {
                     "description": "An array of ID[s] of resources that power this computer system. Normally the ID will be a chassis or a specific set of Power Supplies.",
                     "items": {
-                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/idRef"
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/idRef"
                     },
                     "longDescription": "The value of this property shall be an array of IDs containing pointers consistent with JSON pointer syntax to the resource that powers this computer system.",
                     "readonly": true,
                     "type": "array"
                 },
                 "PoweredBy@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "ResourceBlocks": {
                     "description": "An array of references to the Resource Blocks that are used in this Computer System.",
@@ -735,7 +752,7 @@
                     "type": "array"
                 },
                 "ResourceBlocks@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "SupplyingComputerSystems": {
                     "description": "An array of references to ComputerSystems that contribute, in whole or in part, to the implementation of this ComputerSystem.",
@@ -747,7 +764,7 @@
                     "type": "array"
                 },
                 "SupplyingComputerSystems@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 }
             },
             "type": "object"
@@ -772,11 +789,12 @@
             "description": "This object describes the memory of the system in general detail.",
             "longDescription": "This type shall contain properties which describe the central memory for a system.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -799,7 +817,9 @@
                     "readonly": true
                 },
                 "Status": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 },
                 "TotalSystemMemoryGiB": {
                     "description": "The total configured operating system-accessible memory (RAM), measured in GiB.",
@@ -809,7 +829,8 @@
                     "type": [
                         "number",
                         "null"
-                    ]
+                    ],
+                    "units": "GiBy"
                 },
                 "TotalSystemPersistentMemoryGiB": {
                     "description": "The total configured, system-accessible persistent memory, measured in GiB.",
@@ -819,7 +840,8 @@
                     "type": [
                         "number",
                         "null"
-                    ]
+                    ],
+                    "units": "GiBy"
                 }
             },
             "type": "object"
@@ -829,11 +851,12 @@
             "description": "The available OEM specific actions for this resource.",
             "longDescription": "This type shall contain any additional OEM actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -864,11 +887,12 @@
             "description": "This object describes the central processors of the system in general detail.",
             "longDescription": "This type shall contain properties which describe the central processors for a system.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -883,7 +907,7 @@
                     "minimum": 0,
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -893,7 +917,7 @@
                     "minimum": 0,
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -907,7 +931,9 @@
                     ]
                 },
                 "Status": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 }
             },
             "type": "object"
@@ -924,11 +950,12 @@
                 }
             },
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -955,11 +982,12 @@
             "longDescription": "This action shall perform a set the BootOrder to the default values.",
             "parameters": {},
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -1012,11 +1040,12 @@
             "description": "This object describes the inventory of a Trusted Modules installed in the system.",
             "longDescription": "This type shall describe a truted module for a system.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -1070,10 +1099,14 @@
                     "readonly": true
                 },
                 "Oem": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "Oem extension object.",
+                    "longDescription": "This object represents the Oem property.  All values for resources described by this schema shall comply to the requirements as described in the Redfish specification."
                 },
                 "Status": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 }
             },
             "type": "object"
@@ -1101,11 +1134,12 @@
             "description": "This type describes the Host Watchdog Timer functionality for this system.",
             "longDescription": "This type shall contain properties which describe the host watchdog timer functionality for this ComputerSystem.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -1124,10 +1158,14 @@
                     ]
                 },
                 "Oem": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "Oem extension object.",
+                    "longDescription": "This object represents the Oem property.  All values for resources described by this schema shall comply to the requirements as described in the Redfish specification."
                 },
                 "Status": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 },
                 "TimeoutAction": {
                     "anyOf": [
@@ -1183,5 +1221,6 @@
             "type": "string"
         }
     },
-    "title": "#ComputerSystem.v1_5_0.ComputerSystem"
+    "owningEntity": "DMTF",
+    "title": "#ComputerSystem.v1_5_1.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 b2b2ccd..e989031 100644
--- a/static/redfish/v1/JsonSchemas/Drive/Drive.json
+++ b/static/redfish/v1/JsonSchemas/Drive/Drive.json
@@ -1,7 +1,7 @@
 {
     "$ref": "#/definitions/Drive",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_4_0.json",
-    "copyright": "Copyright 2014-2018 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
@@ -13,6 +13,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -25,7 +26,9 @@
                     "$ref": "#/definitions/SecureErase"
                 },
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -40,6 +43,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -49,16 +53,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
                 },
                 "@odata.etag": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/etag"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
@@ -85,7 +89,7 @@
                     "longDescription": "This property shall contain size of the smallest addressible unit of the associated drive.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ],
                     "units": "By"
@@ -105,7 +109,7 @@
                     "longDescription": "This property shall contain the raw size in bytes of the associated drive.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ],
                     "units": "By"
@@ -156,6 +160,19 @@
                         "null"
                     ]
                 },
+                "HotspareReplacementMode": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/HotspareReplacementModeType"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The replacement mode for the hotspare drive.",
+                    "longDescription": "This property shall specify if a commissioned hotspare will continue to serve as a hotspare once the failed drive is replaced.",
+                    "readonly": false
+                },
                 "HotspareType": {
                     "anyOf": [
                         {
@@ -287,7 +304,8 @@
                     "type": [
                         "number",
                         "null"
-                    ]
+                    ],
+                    "units": "%"
                 },
                 "Protocol": {
                     "anyOf": [
@@ -340,7 +358,9 @@
                     ]
                 },
                 "Status": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 },
                 "StatusIndicator": {
                     "anyOf": [
@@ -357,6 +377,8 @@
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -395,6 +417,17 @@
             },
             "type": "string"
         },
+        "HotspareReplacementModeType": {
+            "enum": [
+                "Revertible",
+                "NonRevertible"
+            ],
+            "enumDescriptions": {
+                "NonRevertible": "A hotspare drive that is commissioned due to a drive failure will remain as a data drive and will not revert to a hotspare if the failed drive is replaced.",
+                "Revertible": "A hotspare drive that is commissioned due to a drive failure will revert to being a hotspare once the failed drive is replaced and rebuilt."
+            },
+            "type": "string"
+        },
         "HotspareType": {
             "enum": [
                 "None",
@@ -420,6 +453,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -444,7 +478,7 @@
                     "type": "array"
                 },
                 "Endpoints@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "Oem": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
@@ -461,7 +495,7 @@
                     "type": "array"
                 },
                 "Volumes@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 }
             },
             "type": "object"
@@ -489,6 +523,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -509,6 +544,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -520,10 +556,12 @@
                 "AssociatedTask": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Task.json#/definitions/Task",
                     "description": "A reference to the task associated with the operation if any.",
+                    "longDescription": "The value of this property shall be a reference to a resource of type Task that represents the task associated with the operation.",
                     "readonly": true
                 },
                 "OperationName": {
                     "description": "The name of the operation.",
+                    "longDescription": "This property shall be a string of the name of the operation.",
                     "readonly": true,
                     "type": [
                         "string",
@@ -532,11 +570,13 @@
                 },
                 "PercentageComplete": {
                     "description": "The percentage of the operation that has been completed.",
+                    "longDescription": "This property shall be an interger of the percentage of the operation that has been completed.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
-                    ]
+                    ],
+                    "units": "%"
                 }
             },
             "type": "object"
@@ -552,6 +592,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -595,5 +636,5 @@
         }
     },
     "owningEntity": "DMTF",
-    "title": "#Drive.v1_4_0.Drive"
+    "title": "#Drive.v1_5_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 eb5bb3b..155ed0e 100644
--- a/static/redfish/v1/JsonSchemas/Endpoint/Endpoint.json
+++ b/static/redfish/v1/JsonSchemas/Endpoint/Endpoint.json
@@ -1,18 +1,19 @@
 {
     "$ref": "#/definitions/Endpoint",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_3_0.json",
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
             "description": "The available actions for this resource.",
             "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -29,7 +30,9 @@
                         {
                             "type": "null"
                         }
-                    ]
+                    ],
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -39,11 +42,12 @@
             "description": "Represents a remote resource that is connected to the network accessible to this endpoint.",
             "longDescription": "This type shall represent a remote resource that is connected to a network accessible to an endpoint.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -119,16 +123,12 @@
                     "type": "array"
                 },
                 "Oem": {
-                    "anyOf": [
-                        {
-                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem"
-                        },
-                        {
-                            "type": "null"
-                        }
-                    ]
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "Oem extension object.",
+                    "longDescription": "This object represents the Oem property.  All values for resources described by this schema shall comply to the requirements as described in the Redfish specification."
                 },
                 "PciClassCode": {
+                    "deprecated": "This property has been deprecated in favor of the ClassCode property inside the EntityPciId object.",
                     "description": "The Class Code, Subclass code, and Programming Interface code of this PCIe function.",
                     "longDescription": "The value of this property shall be the PCI Class Code, Subclass code, and Programming Interface code of the PCIe device function.",
                     "pattern": "^0[xX](([a-fA-F]|[0-9]){2}){3}$",
@@ -139,11 +139,12 @@
                     ]
                 },
                 "PciFunctionNumber": {
+                    "deprecated": "This property has been deprecated in favor of the FunctionNumber property inside the EntityPciId object.",
                     "description": "The PCI ID of the connected entity.",
                     "longDescription": "The value of this property shall be the PCI Function Number of the connected PCIe entity.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 }
@@ -155,11 +156,12 @@
             "description": "This is the schema definition for the Endpoint resource. It represents the properties of an entity that sends or receives protocol defined messages over a transport.",
             "longDescription": "This resource shall be used to represent a fabric endpoint for a Redfish implementation.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -169,17 +171,21 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
-                    "description": "The Actions object contains the available custom actions on this resource."
+                    "description": "The available actions for this resource.",
+                    "longDescription": "The Actions property shall contain the available actions for this resource."
                 },
                 "ConnectedEntities": {
                     "description": "All the entities connected to this endpoint.",
@@ -225,7 +231,7 @@
                     "longDescription": "The value of this property shall be the amount of memory in Bytes that the Host should allocate to connect to this endpoint.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ],
                     "units": "By"
@@ -266,7 +272,8 @@
                 },
                 "Links": {
                     "$ref": "#/definitions/Links",
-                    "description": "The links object contains the links to other resources that are related to this resource."
+                    "description": "The links object contains the links to other resources that are related to this resource.",
+                    "longDescription": "The Links property, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource."
                 },
                 "Name": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
@@ -290,27 +297,26 @@
                     "longDescription": "The value of this property shall be the PCI ID of the endpoint."
                 },
                 "Redundancy": {
+                    "autoExpand": true,
                     "description": "Redundancy information for the lower level endpoints supporting this endpoint.",
                     "items": {
                         "$ref": "http://redfish.dmtf.org/schemas/v1/Redundancy.json#/definitions/Redundancy"
                     },
+                    "longDescription": "The values of the properties in this array shall be used to show how this endpoint is grouped with other endpoints for form redundancy sets.",
                     "type": "array"
                 },
                 "Redundancy@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "Status": {
-                    "anyOf": [
-                        {
-                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
-                        },
-                        {
-                            "type": "null"
-                        }
-                    ]
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -359,11 +365,12 @@
             "description": "This object contains properties which specify the details of the transport supported by the endpoint. The properties which are present, is dependemt on the type of transport supported by the endpoint.",
             "longDescription": "The type shall contain properties which specify the details of the transport supported by the endpoint.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -404,11 +411,12 @@
             "description": "Contains references to other resources that are related to this resource.",
             "longDescription": "This type, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -427,7 +435,7 @@
                     "type": "array"
                 },
                 "MutuallyExclusiveEndpoints@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "NetworkDeviceFunction": {
                     "description": "When NetworkDeviceFunction resources are present, this array contains references to the network device function that connect to this endpoint.",
@@ -439,7 +447,7 @@
                     "type": "array"
                 },
                 "NetworkDeviceFunction@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "Oem": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
@@ -456,7 +464,7 @@
                     "type": "array"
                 },
                 "Ports@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 }
             },
             "type": "object"
@@ -466,11 +474,12 @@
             "description": "The available OEM specific actions for this resource.",
             "longDescription": "This type shall contain any additional OEM actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -486,11 +495,12 @@
             "description": "A PCI ID.",
             "longDescription": "This type shall describe a PCI ID.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -499,6 +509,16 @@
                 }
             },
             "properties": {
+                "ClassCode": {
+                    "description": "The Class Code, Subclass code, and Programming Interface code of this PCIe function.",
+                    "longDescription": "The value of this property shall be the PCI Class Code, Subclass code, and Programming Interface code of the PCIe device function.",
+                    "pattern": "^0[xX](([a-fA-F]|[0-9]){2}){3}$",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
                 "DeviceId": {
                     "description": "The Device ID of this PCIe function.",
                     "longDescription": "The value of this property shall be the PCI Subsystem Vendor ID of the PCIe device function.",
@@ -509,6 +529,15 @@
                         "null"
                     ]
                 },
+                "FunctionNumber": {
+                    "description": "The PCI ID of the connected entity.",
+                    "longDescription": "The value of this property shall be the PCI Function Number of the connected PCIe entity.",
+                    "readonly": true,
+                    "type": [
+                        "integer",
+                        "null"
+                    ]
+                },
                 "SubsystemId": {
                     "description": "The Subsystem ID of this PCIe function.",
                     "longDescription": "The value of this property shall be the PCI Subsystem Vendor ID of the PCIe device function.",
@@ -543,5 +572,6 @@
             "type": "object"
         }
     },
-    "title": "#Endpoint.v1_1_0.Endpoint"
+    "owningEntity": "DMTF",
+    "title": "#Endpoint.v1_2_0.Endpoint"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/EthernetInterface/EthernetInterface.json b/static/redfish/v1/JsonSchemas/EthernetInterface/EthernetInterface.json
index ce73c55..6a10678 100644
--- a/static/redfish/v1/JsonSchemas/EthernetInterface/EthernetInterface.json
+++ b/static/redfish/v1/JsonSchemas/EthernetInterface/EthernetInterface.json
@@ -1,18 +1,19 @@
 {
     "$ref": "#/definitions/EthernetInterface",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_3_0.json",
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
             "description": "The available actions for this resource.",
             "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -22,7 +23,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -32,11 +35,12 @@
             "description": "DHCPv4 configuration for this interface.",
             "longDescription": "This type shall describe the configuration of DHCP v4.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -107,11 +111,12 @@
             "description": "DHCPv6 configuration for this interface.",
             "longDescription": "This type shall describe the configuration of DHCP v6.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -195,11 +200,12 @@
             "description": "The EthernetInterface schema represents a single, logical ethernet interface or network interface controller (NIC).",
             "longDescription": "This resource shall be used to represent NIC resources as part of the Redfish specification.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -209,13 +215,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
@@ -345,7 +354,7 @@
                 "IPv6StaticDefaultGateways": {
                     "description": "The IPv6 static default gateways for this interface.",
                     "items": {
-                        "$ref": "http://redfish.dmtf.org/schemas/v1/IPAddresses.json#/definitions/IPv6StaticAddress"
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/IPAddresses.json#/definitions/IPv6GatewayStaticAddress"
                     },
                     "longDescription": "The values in this array shall represent the IPv6 static default gateway addresses for this interface.",
                     "type": "array"
@@ -399,7 +408,7 @@
                     "longDescription": "The value of this property shall be the size in bytes of largest Protocol Data Unit (PDU) that can be passed in an Ethernet (MAC) frame on this interface.",
                     "readonly": false,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -408,7 +417,7 @@
                     "longDescription": "The value of this property shall indicate the number of array items supported by IPv6StaticAddresses.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -448,7 +457,7 @@
                     "longDescription": "The value of this property shall be the link speed of the interface in Mbps.",
                     "readonly": false,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ],
                     "units": "Mbit/s"
@@ -475,14 +484,9 @@
                     "type": "array"
                 },
                 "Status": {
-                    "anyOf": [
-                        {
-                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
-                        },
-                        {
-                            "type": "null"
-                        }
-                    ]
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 },
                 "UefiDevicePath": {
                     "description": "The UEFI device path for this interface.",
@@ -513,6 +517,8 @@
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -523,11 +529,12 @@
             "description": "A entry in the RFC 6724 Address Selection Policy Table.",
             "longDescription": "This type shall describe and entry in the Address Selection Policy Table as defined in RFC 6724.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -543,7 +550,7 @@
                     "minimum": 0,
                     "readonly": false,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -554,7 +561,7 @@
                     "minimum": 1,
                     "readonly": false,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -588,11 +595,12 @@
             "description": "Contains references to other resources that are related to this resource.",
             "longDescription": "This type, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -617,7 +625,7 @@
                     "type": "array"
                 },
                 "Endpoints@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "HostInterface": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/HostInterface.json#/definitions/HostInterface",
@@ -642,11 +650,12 @@
             "description": "The available OEM specific actions for this resource.",
             "longDescription": "This type shall contain any additional OEM actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -662,11 +671,12 @@
             "description": "Stateless Address Automatic Configuration (SLAAC) parameters for this interface.",
             "longDescription": "This type shall describe the IPv4 and IPv6 Stateless Address Automatic Configuration (SLAAC) for this interface.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -697,5 +707,6 @@
             "type": "object"
         }
     },
-    "title": "#EthernetInterface.v1_4_0.EthernetInterface"
+    "owningEntity": "DMTF",
+    "title": "#EthernetInterface.v1_4_1.EthernetInterface"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/Event/Event.json b/static/redfish/v1/JsonSchemas/Event/Event.json
index 344cfb0..d0254d9 100644
--- a/static/redfish/v1/JsonSchemas/Event/Event.json
+++ b/static/redfish/v1/JsonSchemas/Event/Event.json
@@ -1,18 +1,19 @@
 {
     "$ref": "#/definitions/Event",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_3_0.json",
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
             "description": "The available actions for this resource.",
             "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -22,7 +23,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -32,11 +35,12 @@
             "description": "The Event schema describes the JSON payload received by an Event Destination (which has subscribed to event notification) when events occurs.  This resource contains data about event(s), including descriptions, severity and MessageId reference to a Message Registry that can be accessed for further information.",
             "longDescription": "This resource shall be used to represent an event for a Redfish implementation.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -46,13 +50,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
@@ -77,6 +84,7 @@
                     "readonly": true
                 },
                 "Events": {
+                    "autoExpand": true,
                     "description": "Each event in this array has a set of properties that describe the event.  Since this is an array, more than one event can be sent simultaneously.",
                     "items": {
                         "$ref": "#/definitions/EventRecord"
@@ -85,7 +93,7 @@
                     "type": "array"
                 },
                 "Events@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "Id": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
@@ -103,6 +111,8 @@
             },
             "required": [
                 "Events",
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -111,11 +121,12 @@
         "EventRecord": {
             "additionalProperties": false,
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -124,6 +135,9 @@
                 }
             },
             "properties": {
+                "@odata.id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
+                },
                 "Actions": {
                     "$ref": "#/definitions/EventRecordActions",
                     "description": "The available actions for this resource.",
@@ -136,6 +150,12 @@
                     "readonly": true,
                     "type": "string"
                 },
+                "EventGroupId": {
+                    "description": "This value is the identifier used to correlate events that came from the same cause.",
+                    "longDescription": "The value of this property shall indicate that events are related and shall have the same value in the case where multiple Event messages are produced by the same root cause.  Implementations shall use separate values for events with separate root cause.  There shall not be ordering of events implied by the value of this property.",
+                    "readonly": true,
+                    "type": "integer"
+                },
                 "EventId": {
                     "description": "This is a unique instance identifier of an event.",
                     "longDescription": "The value of this property shall indicate a unique identifier for the event, the format of which is implementation dependent.",
@@ -151,6 +171,7 @@
                 },
                 "EventType": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Event.json#/definitions/EventType",
+                    "deprecated": "This property has been deprecated.  Starting Redfish Spec 1.6 (Event 1.3), subscriptions are based on RegistryId and ResourceType and not EventType.",
                     "description": "This indicates the type of event sent, according to the definitions in the EventService.",
                     "longDescription": "The value of this property shall indicate the type of event as defined in the EventService schema.",
                     "readonly": true
@@ -189,7 +210,7 @@
                     "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
                 },
                 "OriginOfCondition": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/idRef",
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/idRef",
                     "description": "This indicates the resource that originated the condition that caused the event to be generated.",
                     "longDescription": "The value of this property shall contain a pointer consistent with JSON pointer syntax to the resource that caused the event to be generated.",
                     "readonly": true
@@ -203,7 +224,9 @@
             },
             "required": [
                 "EventType",
-                "MessageId"
+                "MessageId",
+                "@odata.id",
+                "MemberId"
             ],
             "type": "object"
         },
@@ -212,11 +235,12 @@
             "description": "The available actions for this resource.",
             "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -226,7 +250,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "#/definitions/EventRecordOemActions"
+                    "$ref": "#/definitions/EventRecordOemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -236,11 +262,12 @@
             "description": "The available OEM specific actions for this resource.",
             "longDescription": "This type shall contain any additional OEM actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -274,11 +301,12 @@
             "description": "The available OEM specific actions for this resource.",
             "longDescription": "This type shall contain any additional OEM actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -290,5 +318,6 @@
             "type": "object"
         }
     },
-    "title": "#Event.v1_2_1.Event"
+    "owningEntity": "DMTF",
+    "title": "#Event.v1_3_0.Event"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/EventDestination/EventDestination.json b/static/redfish/v1/JsonSchemas/EventDestination/EventDestination.json
index 5de8a7b..775934c 100644
--- a/static/redfish/v1/JsonSchemas/EventDestination/EventDestination.json
+++ b/static/redfish/v1/JsonSchemas/EventDestination/EventDestination.json
@@ -1,7 +1,7 @@
 {
     "$ref": "#/definitions/EventDestination",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_4_0.json",
-    "copyright": "Copyright 2014-2018 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
@@ -13,6 +13,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -22,7 +23,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -30,12 +33,14 @@
         "EventDestination": {
             "additionalProperties": false,
             "description": "An Event Destination desribes the target of an event subscription, including the types of events subscribed and context to provide to the target in the Event payload.",
+            "longDescription": "This resource shall be used to represent the target of an event subscription, including the types of events subscribed and context to provide to the target in the Event payload.",
             "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",
@@ -45,16 +50,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
                 },
                 "@odata.etag": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/etag"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
@@ -88,11 +93,25 @@
                     "readonly": true,
                     "type": "string"
                 },
+                "EventFormatType": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/EventDestination.json#/definitions/EventFormatType"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "Indicates the content types of the message that will be sent to the EventDestination.",
+                    "longDescription": "The value of this property shall indicate the the content types of the message that this service will send to the EventDestination.  If this property is not present, the EventFormatType shall be assumed to be Event.",
+                    "readonly": true
+                },
                 "EventTypes": {
-                    "description": "This property shall contain the types of events that shall be sent to the desination.",
+                    "description": "This property contains the types of events that will be sent to the desination.",
                     "items": {
                         "$ref": "http://redfish.dmtf.org/schemas/v1/Event.json#/definitions/EventType"
                     },
+                    "longDescription": "This property shall be an array that contains the types of events that shall be sent to the destination.",
                     "readonly": true,
                     "type": "array"
                 },
@@ -132,14 +151,14 @@
                 "OriginResources": {
                     "description": "A list of resources for which the service will only send related events.  If this property is absent or the array is empty, then Events originating from any resource will be sent to the subscriber.",
                     "items": {
-                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/idRef"
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/idRef"
                     },
                     "longDescription": "The value of this property shall specify an array of Resources, Resource Collections, or Referenceable Members that are the only allowable values for the OriginOfCondition property within an EventRecord sent to the subscriber.  Events originating from Resources, Resource Collections, or Referenceable Members not contained in this array shall not be sent to the subscriber.  If this property is absent or the array is empty, the service shall send Events originating from any Resource, Resource Collection, or Referenceable Member to the subscriber.",
                     "readonly": true,
                     "type": "array"
                 },
                 "OriginResources@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "Protocol": {
                     "$ref": "#/definitions/EventDestinationProtocol",
@@ -147,6 +166,39 @@
                     "longDescription": "This property shall contain the protocol type that the event will use for sending the event to the destination.  A value of Redfish shall be used to indicate that the event type shall adhere to that defined in the Redfish specification.",
                     "readonly": true
                 },
+                "RegistryPrefixes": {
+                    "description": "A list of the Prefixes for the Message Registries that contain the MessageIds that will be sent to this event destination.",
+                    "items": {
+                        "type": [
+                            "string",
+                            "null"
+                        ]
+                    },
+                    "longDescription": "The value of this property is the array of the Prefixes of the Message Registries that contain the MessageIds in the Events that shall be sent to the EventDestination.  If this property is absent or the array is empty, the service shall send Events with MessageIds from any Message Registry.",
+                    "readonly": true,
+                    "type": "array"
+                },
+                "ResourceTypes": {
+                    "description": "A list of Resource Type values (Schema names) that correspond to the OriginOfCondition.  The version and full namespace should not be specified.",
+                    "items": {
+                        "type": [
+                            "string",
+                            "null"
+                        ]
+                    },
+                    "longDescription": "The value of this property shall specify an array of Resource Type values.  When an event is generated, if the OriginOfCondition's Resource Type matches a value in this array, the event shall be sent to the event destination (unless it would be filtered by other property conditions such as RegistryPrefix).  If this property is absent or the array is empty, the service shall send Events from any Resource Type to the subscriber.  The value of this property shall be only the general namespace for the type and not the versioned value.  For example, it shall not be Task.v1_2_0.Task and instead shall just be Task.",
+                    "readonly": true,
+                    "type": "array"
+                },
+                "SubordinateResources": {
+                    "description": "By setting this to true and specifying OriginResources, this indicates the subscription will be for events from the OriginsResources specified and also all subordinate resources.  Note that resources associated via the Links section are not considered subordinate.",
+                    "longDescription": "When set to true and OriginResources is specifed, indicates the subscription shall be for events from the OriginsResources specified and all subordinate resources.  When set to false and OriginResources is specified, indicates subscription shall be for events only from the OriginResources.  If OriginResources is not specified, it has no relevenace.",
+                    "readonly": true,
+                    "type": [
+                        "boolean",
+                        "null"
+                    ]
+                },
                 "SubscriptionType": {
                     "anyOf": [
                         {
@@ -163,6 +215,8 @@
             },
             "required": [
                 "Context",
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name",
                 "SubscriptionType"
@@ -183,6 +237,17 @@
             },
             "type": "string"
         },
+        "EventFormatType": {
+            "enum": [
+                "Event",
+                "MetricReport"
+            ],
+            "enumDescriptions": {
+                "Event": "The subscription destination will receive JSON Bodies of the Resource Type Event.",
+                "MetricReport": "The subscription destination will receive JSON Bodies of the Resource Type MetricReport."
+            },
+            "type": "string"
+        },
         "HttpHeaderProperty": {
             "additionalProperties": false,
             "description": "The value of the HTTP header is the property value.  The header name is the property name.",
@@ -193,6 +258,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -216,6 +282,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -239,5 +306,5 @@
         }
     },
     "owningEntity": "DMTF",
-    "title": "#EventDestination.v1_3_0.EventDestination"
+    "title": "#EventDestination.v1_4_0.EventDestination"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/EventService/EventService.json b/static/redfish/v1/JsonSchemas/EventService/EventService.json
index d3131db..8d9923d 100644
--- a/static/redfish/v1/JsonSchemas/EventService/EventService.json
+++ b/static/redfish/v1/JsonSchemas/EventService/EventService.json
@@ -1,7 +1,7 @@
 {
     "$ref": "#/definitions/EventService",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_4_0.json",
-    "copyright": "Copyright 2014-2018 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
@@ -13,6 +13,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -25,20 +26,35 @@
                     "$ref": "#/definitions/SubmitTestEvent"
                 },
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
         },
+        "EventFormatType": {
+            "enum": [
+                "Event",
+                "MetricReport"
+            ],
+            "enumDescriptions": {
+                "Event": "The subscription destination will receive JSON Bodies of the Resource Type Event.",
+                "MetricReport": "The subscription destination will receive JSON Bodies of the Resource Type MetricReport."
+            },
+            "type": "string"
+        },
         "EventService": {
             "additionalProperties": false,
             "description": "The Event Service resource contains properties for managing event subcriptions and generates the events sent to subscribers.  The resource has links to the actual collection of subscriptions (called Event Destinations).",
+            "longDescription": "This resource shall be used to represent an event service 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",
@@ -48,16 +64,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
                 },
                 "@odata.etag": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/etag"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
@@ -68,13 +84,13 @@
                     "description": "This is the number of attempts an event posting is retried before the subscription is terminated.  This retry is at the service level, meaning the HTTP POST to the Event Destination was returned by the HTTP operation as unsuccessful (4xx or 5xx return code) or an HTTP timeout occurred this many times before the Event Destination subscription is terminated.",
                     "longDescription": "The value of this property shall be the number of retrys attempted for any given event to the subscription destination before the subscription is terminated.  This retry is at the service level, meaning the HTTP POST to the Event Destination was returned by the HTTP operation as unsuccessful (4xx or 5xx return code) or an HTTP timeout occurred this many times before the Event Destination subscription is terminated.",
                     "readonly": false,
-                    "type": "number"
+                    "type": "integer"
                 },
                 "DeliveryRetryIntervalSeconds": {
                     "description": "This represents the number of seconds between retry attempts for sending any given Event.",
                     "longDescription": "The value of this property shall be the interval in seconds between the retry attempts for any given event to the subscription destination.",
                     "readonly": false,
-                    "type": "number",
+                    "type": "integer",
                     "units": "s"
                 },
                 "Description": {
@@ -88,6 +104,22 @@
                     ],
                     "readonly": true
                 },
+                "EventFormatTypes": {
+                    "description": "Indicates the content types of the message that this service can send to the event destination.",
+                    "items": {
+                        "anyOf": [
+                            {
+                                "$ref": "http://redfish.dmtf.org/schemas/v1/EventDestination.json#/definitions/EventFormatType"
+                            },
+                            {
+                                "type": "null"
+                            }
+                        ]
+                    },
+                    "longDescription": "The value of this property shall indicate the the content types of the message that this service can send to the event destination.  If this property is not present, the EventFormatType shall be assumed to be Event.",
+                    "readonly": true,
+                    "type": "array"
+                },
                 "EventTypesForSubscription": {
                     "description": "This is the types of Events that can be subscribed to.",
                     "items": {
@@ -110,6 +142,35 @@
                     "description": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.",
                     "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
                 },
+                "RegistryPrefixes": {
+                    "description": "A list of the Prefixes of the Message Registries that can be used for the RegistryPrefix property on a subscription.",
+                    "items": {
+                        "type": [
+                            "string",
+                            "null"
+                        ]
+                    },
+                    "longDescription": "The value of this property is the array of the Prefixes of the Message Registries that shall be allowed for an Event Subscription.",
+                    "readonly": true,
+                    "type": "array"
+                },
+                "ResourceTypes": {
+                    "description": "A list of @odata.type values (Schema names) that can be specified in a ResourceType on a subscription.",
+                    "items": {
+                        "type": [
+                            "string",
+                            "null"
+                        ]
+                    },
+                    "longDescription": "The value of this property shall specify an array of the valid @odata.type values that can be used for an Event Subscription.",
+                    "readonly": true,
+                    "type": "array"
+                },
+                "SSEFilterPropertiesSupported": {
+                    "$ref": "#/definitions/SSEFilterPropertiesSupported",
+                    "description": "Contains a set of properties that indicate which properties are supported in the $filter query parameter for the ServerSentEventUri.",
+                    "longDescription": "The value of this property shall contain a set of properties that indicate which properties are supported in the $filter query parameter for the URI indicated by the ServerSentEventUri property."
+                },
                 "ServerSentEventUri": {
                     "description": "Link to a URI for receiving Sever Sent Event representations of the events generated by this service.",
                     "format": "uri",
@@ -127,7 +188,18 @@
                     ]
                 },
                 "Status": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
+                },
+                "SubordinateResourcesSupported": {
+                    "description": "This indicates if the service supports the SubordinateResource property on Event Subscriptions.",
+                    "longDescription": "When set to true, the service is indicating that it supports the SubordinateResource property on Event Subscriptions and on generated Events.",
+                    "readonly": true,
+                    "type": [
+                        "boolean",
+                        "null"
+                    ]
                 },
                 "Subscriptions": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/EventDestinationCollection.json#/definitions/EventDestinationCollection",
@@ -137,6 +209,8 @@
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -152,6 +226,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -162,6 +237,70 @@
             "properties": {},
             "type": "object"
         },
+        "SSEFilterPropertiesSupported": {
+            "additionalProperties": false,
+            "description": "Contains a set of properties that indicate which properties are supported in the $filter query parameter for the ServerSentEventUri.",
+            "longDescription": "The type shall contain a set of properties that indicate which properties are supported in the $filter query parameter for the URI indicated by the ServerSentEventUri property.",
+            "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": {
+                "EventFormatType": {
+                    "description": "This indicates if the EventFormatType property is supported.",
+                    "longDescription": "The value of this property shall be a boolean indicating if this service supports the use of the EventFormatType property in the $filter query parameter as described by the specification.",
+                    "readonly": true,
+                    "type": "boolean"
+                },
+                "EventType": {
+                    "description": "This indicates if the EventType property is supported.",
+                    "longDescription": "The value of this property shall be a boolean indicating if this service supports the use of the EventType property in the $filter query parameter as described by the specification.",
+                    "readonly": true,
+                    "type": "boolean"
+                },
+                "MessageId": {
+                    "description": "This indicates if the MessageId property is supported.",
+                    "longDescription": "The value of this property shall be a boolean indicating if this service supports the use of the MessageId property in the $filter query parameter as described by the specification.",
+                    "readonly": true,
+                    "type": "boolean"
+                },
+                "MetricReportDefinition": {
+                    "description": "This indicates if the MetricReportDefinition property is supported.",
+                    "longDescription": "The value of this property shall be a boolean indicating if this service supports the use of the MetricReportDefinition property in the $filter query parameter as described by the specification.",
+                    "readonly": true,
+                    "type": "boolean"
+                },
+                "OriginResource": {
+                    "description": "This indicates if the OriginResource property is supported.",
+                    "longDescription": "The value of this property shall be a boolean indicating if this service supports the use of the OriginResource property in the $filter query parameter as described by the specification.",
+                    "readonly": true,
+                    "type": "boolean"
+                },
+                "RegistryPrefix": {
+                    "description": "This indicates if the RegistryPrefix property is supported.",
+                    "longDescription": "The value of this property shall be a boolean indicating if this service supports the use of the RegistryPrefix property in the $filter query parameter as described by the specification.",
+                    "readonly": true,
+                    "type": "boolean"
+                },
+                "ResourceType": {
+                    "description": "This indicates if the ResourceType property is supported.",
+                    "longDescription": "The value of this property shall be a boolean indicating if this service supports the use of the ResourceType property in the $filter query parameter as described by the specification.",
+                    "readonly": true,
+                    "type": "boolean"
+                }
+            },
+            "type": "object"
+        },
         "SubmitTestEvent": {
             "additionalProperties": false,
             "description": "This action is used to generate a test event.",
@@ -208,8 +347,9 @@
                     "type": "string"
                 },
                 "OriginOfCondition": {
-                    "description": "This is the OriginOfCondition property of event to be added.",
-                    "longDescription": "This parameter shall have the same semantics as the OriginOfCondition property in the Event schema for Redfish.",
+                    "description": "This is the string of the URL within the OriginOfCondition property of the event to be added.  It is not a reference object.",
+                    "format": "uri",
+                    "longDescription": "This parameter shall be a string that represents the URL contained by the OriginOfCondition property in the Event schema for Redfish.",
                     "requiredParameter": true,
                     "type": "string"
                 },
@@ -226,6 +366,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -248,5 +389,5 @@
         }
     },
     "owningEntity": "DMTF",
-    "title": "#EventService.v1_1_0.EventService"
+    "title": "#EventService.v1_2_0.EventService"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/ExternalAccountProvider/ExternalAccountProvider.json b/static/redfish/v1/JsonSchemas/ExternalAccountProvider/ExternalAccountProvider.json
index b85c8a1..c05260d 100644
--- a/static/redfish/v1/JsonSchemas/ExternalAccountProvider/ExternalAccountProvider.json
+++ b/static/redfish/v1/JsonSchemas/ExternalAccountProvider/ExternalAccountProvider.json
@@ -1,7 +1,7 @@
 {
     "$ref": "#/definitions/ExternalAccountProvider",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_4_0.json",
-    "copyright": "Copyright 2014-2018 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "AccountProviderTypes": {
             "enum": [
@@ -33,6 +33,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -42,7 +43,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -57,6 +60,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -88,7 +92,9 @@
                     ]
                 },
                 "Oem": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "Oem extension object.",
+                    "longDescription": "This object represents the Oem property.  All values for resources described by this schema shall comply to the requirements as described in the Redfish specification."
                 },
                 "Password": {
                     "description": "This property is used with a PATCH or PUT to write the password for the account service.  This property is null on a GET.",
@@ -142,6 +148,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -151,16 +158,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
                 },
                 "@odata.etag": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/etag"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "AccountProviderType": {
                     "anyOf": [
@@ -271,6 +278,8 @@
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -289,6 +298,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -349,6 +359,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -358,7 +369,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "Oem extension object.",
+                    "longDescription": "This object represents the Oem property.  All values for resources described by this schema shall comply to the requirements as described in the Redfish specification."
                 },
                 "SearchSettings": {
                     "anyOf": [
@@ -385,6 +398,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -411,6 +425,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -431,6 +446,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -449,7 +465,9 @@
                     ]
                 },
                 "Oem": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "Oem extension object.",
+                    "longDescription": "This object represents the Oem property.  All values for resources described by this schema shall comply to the requirements as described in the Redfish specification."
                 },
                 "RemoteGroup": {
                     "description": "This property is the name of the remote group (or in the case of a Redfish Service, remote role) that will be mapped to the local role referenced by this entity.",
@@ -474,5 +492,5 @@
         }
     },
     "owningEntity": "DMTF",
-    "title": "#ExternalAccountProvider.v1_0_0.ExternalAccountProvider"
+    "title": "#ExternalAccountProvider.v1_0_1.ExternalAccountProvider"
 }
\ 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 8ef086c..2ec8798 100644
--- a/static/redfish/v1/JsonSchemas/Fabric/Fabric.json
+++ b/static/redfish/v1/JsonSchemas/Fabric/Fabric.json
@@ -1,18 +1,19 @@
 {
     "$ref": "#/definitions/Fabric",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_3_0.json",
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
             "description": "The available actions for this resource.",
             "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -22,7 +23,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -32,11 +35,12 @@
             "description": "The Fabric schema represents a simple fabric consisting of one or more switches, zero or more endpoints, and zero or more zones.",
             "longDescription": "This resource shall be used to represent a simple switchable fabric for a Redfish implementation.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -46,13 +50,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
@@ -103,7 +110,7 @@
                     "longDescription": "The value of this property shall contain the maximum number of zones the switch can currently configure. This value can change based on changes in the logical or physical configuration of the system.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -117,7 +124,9 @@
                     "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
                 },
                 "Status": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 },
                 "Switches": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/SwitchCollection.json#/definitions/SwitchCollection",
@@ -133,6 +142,8 @@
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -143,11 +154,12 @@
             "description": "Contains references to other resources that are related to this resource.",
             "longDescription": "This type, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -169,11 +181,12 @@
             "description": "The available OEM specific actions for this resource.",
             "longDescription": "This type shall contain any additional OEM actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -185,5 +198,6 @@
             "type": "object"
         }
     },
-    "title": "#Fabric.v1_0_3.Fabric"
+    "owningEntity": "DMTF",
+    "title": "#Fabric.v1_0_4.Fabric"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/HostInterface/HostInterface.json b/static/redfish/v1/JsonSchemas/HostInterface/HostInterface.json
index 93ebeed..91fb3ff 100644
--- a/static/redfish/v1/JsonSchemas/HostInterface/HostInterface.json
+++ b/static/redfish/v1/JsonSchemas/HostInterface/HostInterface.json
@@ -1,7 +1,7 @@
 {
     "$ref": "#/definitions/HostInterface",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_4_0.json",
-    "copyright": "Copyright 2014-2018 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
@@ -13,6 +13,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -22,7 +23,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -52,6 +55,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -61,22 +65,28 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
                 },
                 "@odata.etag": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/etag"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
                     "description": "The available actions for this resource.",
                     "longDescription": "The Actions property shall contain the available actions for this resource."
                 },
+                "AuthNoneRoleId": {
+                    "description": "The Role used when no authentication on this interface is used.",
+                    "longDescription": "The value of this property shall be the ID of the Role resource that is used when no authentication on this interface is performed.  This property shall be absent if AuthNone is not supported by the service for the AuthenticationModes property.",
+                    "readonly": false,
+                    "type": "string"
+                },
                 "AuthenticationModes": {
                     "description": "Indicates the authentication modes available on this interface.",
                     "items": {
@@ -195,17 +205,14 @@
                     "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
                 },
                 "Status": {
-                    "anyOf": [
-                        {
-                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
-                        },
-                        {
-                            "type": "null"
-                        }
-                    ]
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -230,6 +237,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -238,6 +246,12 @@
                 }
             },
             "properties": {
+                "AuthNoneRole": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Role.json#/definitions/Role",
+                    "description": "A reference to the Role that contains the privileges on this Host Interface when no authentication is performed.",
+                    "longDescription": "The value of this property shall be a link to a Role object instance, and should reference the object identified by property AuthNoneRoleId.  This property shall be absent if AuthNone is not supported by the service for the AuthenticationModes property.",
+                    "readonly": true
+                },
                 "ComputerSystems": {
                     "description": "An array of references to the Computer Systems connected to this Host Interface.",
                     "items": {
@@ -248,7 +262,7 @@
                     "type": "array"
                 },
                 "ComputerSystems@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "FirmwareAuthRole": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Role.json#/definitions/Role",
@@ -280,6 +294,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -292,5 +307,5 @@
         }
     },
     "owningEntity": "DMTF",
-    "title": "#HostInterface.v1_1_2.HostInterface"
+    "title": "#HostInterface.v1_2_0.HostInterface"
 }
\ 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 e595ae4..be79b1a 100644
--- a/static/redfish/v1/JsonSchemas/IPAddresses/IPAddresses.json
+++ b/static/redfish/v1/JsonSchemas/IPAddresses/IPAddresses.json
@@ -1,6 +1,6 @@
 {
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_3_0.json",
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "AddressState": {
             "enum": [
@@ -22,11 +22,12 @@
             "description": "This type describes an IPv4 Address.",
             "longDescription": "This type shall describe an IPv4 address assigned to an interface.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -69,7 +70,9 @@
                     ]
                 },
                 "Oem": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "Oem extension object.",
+                    "longDescription": "This object represents the Oem property.  All values for resources described by this schema shall comply to the requirements as described in the Redfish specification."
                 },
                 "SubnetMask": {
                     "anyOf": [
@@ -107,11 +110,12 @@
             "description": "This type describes an IPv6 Address.",
             "longDescription": "This type shall describe an IPv6 address assigned to an interface.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -156,7 +160,9 @@
                     "readonly": true
                 },
                 "Oem": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "Oem extension object.",
+                    "longDescription": "This object represents the Oem property.  All values for resources described by this schema shall comply to the requirements as described in the Redfish specification."
                 },
                 "PrefixLength": {
                     "anyOf": [
@@ -189,16 +195,17 @@
             },
             "type": "string"
         },
-        "IPv6StaticAddress": {
+        "IPv6GatewayStaticAddress": {
             "additionalProperties": false,
             "description": "This object represents a single IPv6 static address to be assigned on a network interface.",
             "longDescription": "This type shall represent a single IPv6 static address to be assigned on a network interface.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -217,7 +224,61 @@
                     ]
                 },
                 "Oem": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "Oem extension object.",
+                    "longDescription": "This object represents the Oem property.  All values for resources described by this schema shall comply to the requirements as described in the Redfish specification."
+                },
+                "PrefixLength": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/PrefixLength"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The Prefix Length of this IPv6 address.",
+                    "longDescription": "Provides the IPv6 network prefix length in bits for this address.",
+                    "readonly": false
+                }
+            },
+            "required": [
+                "Address"
+            ],
+            "type": "object"
+        },
+        "IPv6StaticAddress": {
+            "additionalProperties": false,
+            "description": "This object represents a single IPv6 static address to be assigned on a network interface.",
+            "longDescription": "This type shall represent a single IPv6 static address to be assigned on a network interface.",
+            "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": {
+                "Address": {
+                    "description": "A valid IPv6 address.",
+                    "longDescription": "This property provides access to a static IPv6 address that is currently assigned on a network interface.",
+                    "readonly": false,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "Oem": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "Oem extension object.",
+                    "longDescription": "This object represents the Oem property.  All values for resources described by this schema shall comply to the requirements as described in the Redfish specification."
                 },
                 "PrefixLength": {
                     "anyOf": [
@@ -242,12 +303,13 @@
         "PrefixLength": {
             "maximum": 128,
             "minimum": 1,
-            "type": "number"
+            "type": "integer"
         },
         "SubnetMask": {
             "pattern": "^(?:[0-9]{1,3}\\.){3}[0-9]{1,3}$",
             "type": "string"
         }
     },
-    "title": "#IPAddresses.v1_0_6"
+    "owningEntity": "DMTF",
+    "title": "#IPAddresses.v1_1_0"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/Job/Job.json b/static/redfish/v1/JsonSchemas/Job/Job.json
new file mode 100644
index 0000000..ff46181
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/Job/Job.json
@@ -0,0 +1,316 @@
+{
+    "$ref": "#/definitions/Job",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 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": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
+                }
+            },
+            "type": "object"
+        },
+        "Job": {
+            "additionalProperties": false,
+            "description": "This resource contains information about a specific Job scheduled  or being executed by a Redfish service's Job Service.",
+            "longDescription": "This resource shall be used to represent a job 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_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
+                },
+                "@odata.id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
+                },
+                "@odata.type": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
+                },
+                "Actions": {
+                    "$ref": "#/definitions/Actions",
+                    "description": "The available actions for this resource.",
+                    "longDescription": "The Actions property shall contain the available actions for this resource."
+                },
+                "CreatedBy": {
+                    "description": "The person or program that created this job entry.",
+                    "longDescription": "The value of this property shall be the user name, software program name, or other identifier indicating the creator of this job.",
+                    "readonly": true,
+                    "type": "string"
+                },
+                "Description": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "readonly": true
+                },
+                "EndTime": {
+                    "description": "The date-time stamp that the job was completed.",
+                    "format": "date-time",
+                    "longDescription": "The value of this property shall indicate the time the job was completed. This property shall not appear if the job is running or has otherwise not been completed. This property shall appear only if the JobState is Completed, Cancelled, or Exception.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "HidePayload": {
+                    "description": "Indicates that the contents of the Payload should be hidden from view after the Job has been created.  When set to True, the Payload object will not be returned on GET.",
+                    "longDescription": "This property shall be set to True if the Payload object  shall not be returned on GET operations, and set to False if the contents can be returned normally. If this property is not specified when the Job is created, the default value shall be False.",
+                    "readonly": true,
+                    "type": "boolean"
+                },
+                "Id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
+                    "readonly": true
+                },
+                "JobState": {
+                    "$ref": "#/definitions/JobState",
+                    "description": "The state of the job.",
+                    "longDescription": "The value of this property shall indicate the state of the job.",
+                    "readonly": false
+                },
+                "JobStatus": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Health",
+                    "description": "The status of the job.",
+                    "longDescription": "The value of this property shall indicate the health status of the job.",
+                    "readonly": true
+                },
+                "MaxExecutionTime": {
+                    "description": "The maximum amount of time the job is allowed to execute.",
+                    "longDescription": "The value shall be an ISO 8601 conformant duration describing the maximum duration the job is allowed to execute before being stopped by the service.",
+                    "readonly": false,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "Messages": {
+                    "description": "This is an array of messages associated with the job.",
+                    "items": {
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/Message.json#/definitions/Message"
+                    },
+                    "longDescription": "The value of this property shall be an array of messages associated with the job.",
+                    "type": "array"
+                },
+                "Name": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
+                    "readonly": true
+                },
+                "Oem": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.",
+                    "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
+                },
+                "Payload": {
+                    "$ref": "#/definitions/Payload",
+                    "description": "The HTTP and JSON payload details for this job.",
+                    "longDescription": "This object shall contain information detailing the HTTP and JSON payload information for executing this job. This object shall not be included in the response if the HidePayload property is set to True."
+                },
+                "PercentComplete": {
+                    "description": "The completion percentage of this job.",
+                    "longDescription": "The value of this property shall indicate the completion progress of the job, reported in percent of completion. If the job has not been started, the value shall be zero.",
+                    "readonly": true,
+                    "type": [
+                        "integer",
+                        "null"
+                    ]
+                },
+                "Schedule": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Schedule.json#/definitions/Schedule",
+                    "description": "The Schedule Settings for this Job.",
+                    "longDescription": "This object shall contain information detailing the scheduling for this job and the re-occurrence frequency for future instances of this job."
+                },
+                "StartTime": {
+                    "description": "The date-time stamp that the job was started or is scheduled to start.",
+                    "format": "date-time",
+                    "longDescription": "The value of this property shall indicate the time the job was last started or will start as scheduled.",
+                    "readonly": true,
+                    "type": "string"
+                },
+                "StepOrder": {
+                    "description": "This represents the serialized execution order of the Job Steps.",
+                    "items": {
+                        "type": "string"
+                    },
+                    "longDescription": "The value of this property shall be an array of Ids for the Job Steps in the order that they shall be executed. Each step shall be completed prior to the execution of the next step in array order. An incomplete list of steps shall be considered an invalid configuration. If this property is not present or contains an empty array it shall indicate that the step execution order is not specified and may occur in parallel or in series as determined by the service.",
+                    "readonly": true,
+                    "type": "array"
+                },
+                "Steps": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/JobCollection.json#/definitions/JobCollection",
+                    "description": "A link to a collection of Steps for this Job.",
+                    "longDescription": "This property shall contain the link to a collection of type Job.",
+                    "readonly": true
+                }
+            },
+            "required": [
+                "@odata.id",
+                "@odata.type",
+                "Id",
+                "Name"
+            ],
+            "type": "object"
+        },
+        "JobState": {
+            "enum": [
+                "New",
+                "Starting",
+                "Running",
+                "Suspended",
+                "Interrupted",
+                "Pending",
+                "Stopping",
+                "Completed",
+                "Cancelled",
+                "Exception",
+                "Service",
+                "UserIntervention",
+                "Continue"
+            ],
+            "enumDescriptions": {
+                "Cancelled": "Job was cancelled..",
+                "Completed": "Job has completed.",
+                "Continue": "Job is to resume operation.",
+                "Exception": "Job has stopped due to an exception condition.",
+                "Interrupted": "Job has been interrupted.",
+                "New": "A new job.",
+                "Pending": "Job is pending and has not started.",
+                "Running": "Job is running normally.",
+                "Service": "Job is running as a service.",
+                "Starting": "Job is starting.",
+                "Stopping": "Job is in the process of stopping.",
+                "Suspended": "Job has been suspended.",
+                "UserIntervention": "Job is waiting for user intervention."
+            },
+            "enumLongDescriptions": {
+                "Cancelled": "This value shall represent that the operation is complete because the job was cancelled by an operator.",
+                "Completed": "This value shall represent that the operation is complete and completed successfully or with warnings.",
+                "Continue": "This value shall represent that the operation has been resumed from a paused condition and should return to a Running state.",
+                "Exception": "This value shall represent that the operation is complete and completed with errors.",
+                "Interrupted": "This value shall represent that the operation has been interrupted but is expected to restart and is therefore not complete.",
+                "New": "This value shall represent that this job is newly created but the operation has not yet started.",
+                "Pending": "This value shall represent that the operation is pending some condition and has not yet begun to execute.",
+                "Running": "This value shall represent that the operation is executing.",
+                "Service": "This value shall represent that the operation is now running as a service and expected to continue operation until stopped or killed.",
+                "Starting": "This value shall represent that the operation is starting.",
+                "Stopping": "This value shall represent that the operation is stopping but is not yet complete.",
+                "Suspended": "This value shall represent that the operation has been suspended but is expected to restart and is therefore not complete.",
+                "UserIntervention": "This value shall represent that the operation is waiting for a user to intervene and must be manually continued, stopped or cancelled."
+            },
+            "type": "string"
+        },
+        "OemActions": {
+            "additionalProperties": true,
+            "description": "The available OEM specific actions for this resource.",
+            "longDescription": "This type shall contain any additional OEM actions for this resource.",
+            "patternProperties": {
+                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[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"
+        },
+        "Payload": {
+            "additionalProperties": false,
+            "description": "The HTTP and JSON payload details for this job.",
+            "longDescription": "This object shall contain information detailing the HTTP and JSON payload information for executing this job.",
+            "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": {
+                "HttpHeaders": {
+                    "description": "This represents the HTTP headers used in the operation of this job.",
+                    "items": {
+                        "type": "string"
+                    },
+                    "longDescription": "The value of this property shall be an array of HTTP headers used in the execution of this job.",
+                    "readonly": true,
+                    "type": "array"
+                },
+                "HttpOperation": {
+                    "description": "The HTTP operation to perform to execute this job.",
+                    "longDescription": "This property shall contain the HTTP operation to execute for this job.",
+                    "readonly": true,
+                    "type": "string"
+                },
+                "JsonBody": {
+                    "description": "This property contains the JSON payload to use in the execution of this Job.",
+                    "longDescription": "The value of this property shall be JSON formatted payload used for this job.",
+                    "readonly": true,
+                    "type": "string"
+                },
+                "TargetUri": {
+                    "description": "The URI of the target for this job.",
+                    "format": "uri",
+                    "longDescription": "This property shall contain a URI referencing a location to be used as the target for an HTTP operation.",
+                    "readonly": true,
+                    "type": "string"
+                }
+            },
+            "type": "object"
+        }
+    },
+    "owningEntity": "DMTF",
+    "title": "#Job.v1_0_0.Job"
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/Job/index.json b/static/redfish/v1/JsonSchemas/Job/index.json
new file mode 100644
index 0000000..85f481d
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/Job/index.json
@@ -0,0 +1,21 @@
+{
+    "@odata.context": "/redfish/v1/$metadata#JsonSchemaFile.JsonSchemaFile",
+    "@odata.id": "/redfish/v1/JSONSchemas/Job",
+    "@odata.type": "#JsonSchemaFile.v1_0_2.JsonSchemaFile",
+    "Name": "Job Schema File",
+    "Schema": "#Job.Job",
+    "Description": "Job Schema File Location",
+    "Id": "Job",
+    "Languages": [
+        "en"
+    ],
+    "Languages@odata.count": 1,
+    "Location": [
+        {
+            "Language": "en",
+            "PublicationUri": "http://redfish.dmtf.org/schemas/v1/Job.json",
+            "Uri": "/redfish/v1/JSONSchemas/Job/Job.json"
+        }
+    ],
+    "Location@odata.count": 1
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/JobService/JobService.json b/static/redfish/v1/JsonSchemas/JobService/JobService.json
new file mode 100644
index 0000000..3eff0f2
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/JobService/JobService.json
@@ -0,0 +1,216 @@
+{
+    "$ref": "#/definitions/JobService",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 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": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
+                }
+            },
+            "type": "object"
+        },
+        "JobService": {
+            "additionalProperties": false,
+            "description": "This is the schema definition for the Job Service.  It represents the properties for the service itself and has links to the actual list of tasks.",
+            "longDescription": "This resource shall be used to represent a job service 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_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
+                },
+                "@odata.id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
+                },
+                "@odata.type": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
+                },
+                "Actions": {
+                    "$ref": "#/definitions/Actions",
+                    "description": "The available actions for this resource.",
+                    "longDescription": "The Actions property shall contain the available actions for this resource."
+                },
+                "DateTime": {
+                    "description": "The current DateTime (with offset) setting that the job service is using.",
+                    "format": "date-time",
+                    "longDescription": "The value of this property shall represent the current DateTime value for the JobService, with offset from UTC, in Redfish Timestamp format.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "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
+                },
+                "Jobs": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/JobCollection.json#/definitions/JobCollection",
+                    "description": "References to the Jobs collection.",
+                    "longDescription": "The value of this property shall be a link to a resource of type JobCollection.",
+                    "readonly": true
+                },
+                "Log": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/LogService.json#/definitions/LogService",
+                    "description": "This is a reference to a Log Service used by the Job Service.",
+                    "longDescription": "The value of this property shall contain a reference to a LogService for the use by this JobService.",
+                    "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": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.",
+                    "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
+                },
+                "ServiceCapabilities": {
+                    "$ref": "#/definitions/JobServiceCapabilities",
+                    "description": "This object describes the supported capabilities of this Job Service implementation.",
+                    "longDescription": "This type shall contain properties which describe the capabilities or supported features of this implementation of JobService."
+                },
+                "ServiceEnabled": {
+                    "description": "This indicates whether this service is enabled.",
+                    "longDescription": "The value of this property shall be a boolean indicating whether this service is enabled.",
+                    "readonly": false,
+                    "type": [
+                        "boolean",
+                        "null"
+                    ]
+                },
+                "Status": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
+                }
+            },
+            "required": [
+                "@odata.id",
+                "@odata.type",
+                "Id",
+                "Name"
+            ],
+            "type": "object"
+        },
+        "JobServiceCapabilities": {
+            "additionalProperties": false,
+            "description": "This object describes the supported capabilities of this Job Service implementation.",
+            "longDescription": "This type shall contain properties which describe the capabilities or supported features of this implementation of JobService.",
+            "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": {
+                "MaxJobs": {
+                    "description": "Maximum number of Jobs supported.",
+                    "longDescription": "The value of this property shall be the maximum number of Job resources supported by the implementation.",
+                    "readonly": true,
+                    "type": [
+                        "integer",
+                        "null"
+                    ]
+                },
+                "MaxSteps": {
+                    "description": "Maximum number of Job Steps supported.",
+                    "longDescription": "The value of this property shall be the maximum number of Step resources supported by a single Job instance.",
+                    "readonly": true,
+                    "type": [
+                        "integer",
+                        "null"
+                    ]
+                },
+                "Scheduling": {
+                    "description": "Indicates whether scheduling of Jobs is supported.",
+                    "longDescription": "The value of this property shall indicate the support of scheduling of Jobs using the Schedule object within the Job resource.",
+                    "readonly": true,
+                    "type": [
+                        "boolean",
+                        "null"
+                    ]
+                }
+            },
+            "type": "object"
+        },
+        "OemActions": {
+            "additionalProperties": true,
+            "description": "The available OEM specific actions for this resource.",
+            "longDescription": "This type shall contain any additional OEM actions for this resource.",
+            "patternProperties": {
+                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[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",
+    "title": "#JobService.v1_0_0.JobService"
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/JobService/index.json b/static/redfish/v1/JsonSchemas/JobService/index.json
new file mode 100644
index 0000000..a7493d6
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/JobService/index.json
@@ -0,0 +1,21 @@
+{
+    "@odata.context": "/redfish/v1/$metadata#JsonSchemaFile.JsonSchemaFile",
+    "@odata.id": "/redfish/v1/JSONSchemas/JobService",
+    "@odata.type": "#JsonSchemaFile.v1_0_2.JsonSchemaFile",
+    "Name": "JobService Schema File",
+    "Schema": "#JobService.JobService",
+    "Description": "JobService Schema File Location",
+    "Id": "JobService",
+    "Languages": [
+        "en"
+    ],
+    "Languages@odata.count": 1,
+    "Location": [
+        {
+            "Language": "en",
+            "PublicationUri": "http://redfish.dmtf.org/schemas/v1/JobService.json",
+            "Uri": "/redfish/v1/JSONSchemas/JobService/JobService.json"
+        }
+    ],
+    "Location@odata.count": 1
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/JsonSchemaFile/JsonSchemaFile.json b/static/redfish/v1/JsonSchemas/JsonSchemaFile/JsonSchemaFile.json
index 4dbbc3b..06823b9 100644
--- a/static/redfish/v1/JsonSchemas/JsonSchemaFile/JsonSchemaFile.json
+++ b/static/redfish/v1/JsonSchemas/JsonSchemaFile/JsonSchemaFile.json
@@ -1,182 +1,207 @@
 {
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_2_0.json",
-    "title": "#JsonSchemaFile.v1_1_0.JsonSchemaFile",
     "$ref": "#/definitions/JsonSchemaFile",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
-        "Location": {
-            "type": "object",
+        "Actions": {
+            "additionalProperties": false,
+            "description": "The available actions for this resource.",
+            "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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"
-                    ],
-                    "description": "This property shall specify a valid odata or Redfish property."
+                    ]
                 }
             },
-            "additionalProperties": false,
             "properties": {
-                "Language": {
-                    "type": "string",
-                    "readonly": true,
-                    "description": "The language code for the file the schema is in.",
-                    "longDescription": "The value of this property shall be a string consisting of an RFC5646 language code or the string 'default'."
-                },
-                "Uri": {
-                    "type": "string",
-                    "format": "uri",
-                    "readonly": true,
-                    "description": "Link to locally available URI for schema.",
-                    "longDescription": "The value of this property shall be a URI co-located with the Redfish service that specifies the location of the schema file.  This property shall only be used for individual schema files.  The file name portion of the URI shall conform to the format [SchemaType].[MajorVersion].[MinorVersion].json and be in conformance with the Redfish specification."
-                },
-                "ArchiveUri": {
-                    "type": "string",
-                    "format": "uri",
-                    "readonly": true,
-                    "description": "If the schema is hosted on the service in an archive file, this is the link to the archive file.",
-                    "longDescription": "The value of this property shall be a URI co-located with the Redfish service that specifies the location of the schema file.  This property shall only be used for archive files (zip or other formats).  The value of ArchiveFile shall have the file name of the individual schema file within the archive file."
-                },
-                "PublicationUri": {
-                    "type": "string",
-                    "format": "uri",
-                    "readonly": true,
-                    "description": "Link to publicly available (canonical) URI for schema.",
-                    "longDescription": "The value of this property shall be a URI not co-located with the Redfish service that specifies the canonical location of the schema file.  This property shall only be used for individual schema files."
-                },
-                "ArchiveFile": {
-                    "type": "string",
-                    "readonly": true,
-                    "description": "If the schema is hosted on the service in an archive file, this is the name of the file within the archive.",
-                    "longDescription": "The value of this property shall be the file name of the individual schema file within the archive file specified by the ArchiveUri property.  The file name shall conform to the format [SchemaType].[MajorVersion].[MinorVersion].json and be in conformance with the Redfish specification."
+                "Oem": {
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
-            "description": "Location information for a schema file.",
-            "longDescription": "This type shall describe location information for a schema file."
+            "type": "object"
         },
         "JsonSchemaFile": {
-            "type": "object",
+            "additionalProperties": false,
+            "description": "This is the schema definition for the Schema File locator resource.",
+            "longDescription": "This resource shall be used to represent the Schema File locator resource for a Redfish implementation.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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"
-                    ],
-                    "description": "This property shall specify a valid odata or Redfish property."
+                    ]
                 }
             },
-            "additionalProperties": false,
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
+                },
+                "Actions": {
+                    "$ref": "#/definitions/Actions",
+                    "description": "The available actions for this resource.",
+                    "longDescription": "The Actions property shall contain the available actions for this resource."
+                },
+                "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
+                },
+                "Languages": {
+                    "description": "Language codes for the schemas available.",
+                    "items": {
+                        "type": "string"
+                    },
+                    "longDescription": "The value of this property shall be a string consisting of an RFC 5646 language code.",
+                    "readonly": true,
+                    "type": "array"
+                },
+                "Location": {
+                    "description": "Location information for this schema file.",
+                    "items": {
+                        "$ref": "#/definitions/Location"
+                    },
+                    "longDescription": "This property shall contain the location information for this schema file.",
+                    "type": "array"
+                },
+                "Name": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
+                    "readonly": true
                 },
                 "Oem": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
                     "description": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.",
                     "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
                 },
-                "Id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
-                    "readonly": true
-                },
-                "Description": {
-                    "anyOf": [
-                        {"$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"},
-                        {"type": "null"}
-                    ],
-                    "readonly": true
-                },
-                "Name": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
-                    "readonly": true
-                },
-                "Languages": {
-                    "type": "array",
-                    "items": {
-                        "type": "string"
-                    },
-                    "readonly": true,
-                    "description": "Language codes for the schemas available.",
-                    "longDescription": "The value of this property shall be a string consisting of an RFC 5646 language code."
-                },
                 "Schema": {
-                    "type": "string",
-                    "readonly": true,
                     "description": "The @odata.type name this schema describes.",
-                    "longDescription": "The value of this property shall be the value of the @odata.type property for that schema and shall conform to the syntax specified in the Redfish specification for the Type property."
-                },
-                "Location": {
-                    "type": "array",
-                    "items": {
-                        "$ref": "#/definitions/Location"
-                    },
-                    "description": "Location information for this schema file."
-                },
-                "Actions": {
-                    "type": "object",
-                    "patternProperties": {
-                        "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
-                            "type": [
-                                "array",
-                                "boolean",
-                                "number",
-                                "null",
-                                "object",
-                                "string"
-                            ],
-                            "description": "This property shall specify a valid odata or Redfish property."
-                        }
-                    },
-                    "additionalProperties": false,
-                    "properties": {
-                        "Oem": {
-                            "type": "object",
-                            "patternProperties": {
-                                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
-                                    "type": [
-                                        "array",
-                                        "boolean",
-                                        "number",
-                                        "null",
-                                        "object",
-                                        "string"
-                                    ],
-                                    "description": "This property shall specify a valid odata or Redfish property."
-                                }
-                            },
-                            "additionalProperties": true,
-                            "properties": {},
-                            "description": "The available OEM specific actions for this resource.",
-                            "longDescription": "This type shall contain any additional OEM actions for this resource."
-                        }
-                    },
-                    "description": "The available actions for this resource.",
-                    "longDescription": "The Actions property shall contain the available actions for this resource."
+                    "longDescription": "The value of this property shall be the value of the @odata.type property for that schema and shall conform to the syntax specified in the Redfish specification for the Type property.",
+                    "readonly": true,
+                    "type": "string"
                 }
             },
             "required": [
-                "Id",
-                "Name",
                 "Languages",
                 "Schema",
-                "Location"
+                "Location",
+                "@odata.id",
+                "@odata.type",
+                "Id",
+                "Name"
             ],
-            "description": "This is the schema definition for the Schema File locator resource.",
-            "longDescription": "This resource shall be used to represent the Schema File locator resource for a Redfish implementation."
+            "type": "object"
+        },
+        "Location": {
+            "additionalProperties": false,
+            "description": "Location information for a schema file.",
+            "longDescription": "This type shall describe location information for a schema file.",
+            "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": {
+                "ArchiveFile": {
+                    "description": "If the schema is hosted on the service in an archive file, this is the name of the file within the archive.",
+                    "longDescription": "The value of this property shall be the file name of the individual schema file within the archive file specified by the ArchiveUri property.  The file name shall conform to the format [SchemaType].[MajorVersion].[MinorVersion].json and be in conformance with the Redfish specification.",
+                    "readonly": true,
+                    "type": "string"
+                },
+                "ArchiveUri": {
+                    "description": "If the schema is hosted on the service in an archive file, this is the link to the archive file.",
+                    "format": "uri",
+                    "longDescription": "The value of this property shall be a URI co-located with the Redfish service that specifies the location of the schema file.  This property shall only be used for archive files (zip or other formats).  The value of ArchiveFile shall have the file name of the individual schema file within the archive file.",
+                    "readonly": true,
+                    "type": "string"
+                },
+                "Language": {
+                    "description": "The language code for the file the schema is in.",
+                    "longDescription": "The value of this property shall be a string consisting of an RFC5646 language code or the string 'default'.",
+                    "readonly": true,
+                    "type": "string"
+                },
+                "PublicationUri": {
+                    "description": "Link to publicly available (canonical) URI for schema.",
+                    "format": "uri",
+                    "longDescription": "The value of this property shall be a URI not co-located with the Redfish service that specifies the canonical location of the schema file.  This property shall only be used for individual schema files.",
+                    "readonly": true,
+                    "type": "string"
+                },
+                "Uri": {
+                    "description": "Link to locally available URI for schema.",
+                    "format": "uri",
+                    "longDescription": "The value of this property shall be a URI co-located with the Redfish service that specifies the location of the schema file.  This property shall only be used for individual schema files.  The file name portion of the URI shall conform to the format [SchemaType].[MajorVersion].[MinorVersion].json and be in conformance with the Redfish specification.",
+                    "readonly": true,
+                    "type": "string"
+                }
+            },
+            "type": "object"
+        },
+        "OemActions": {
+            "additionalProperties": true,
+            "description": "The available OEM specific actions for this resource.",
+            "longDescription": "This type shall contain any additional OEM actions for this resource.",
+            "patternProperties": {
+                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[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"
         }
     },
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright"
-}
+    "owningEntity": "DMTF",
+    "title": "#JsonSchemaFile.v1_1_1.JsonSchemaFile"
+}
\ 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 f52304c..cd58e5a 100644
--- a/static/redfish/v1/JsonSchemas/LogEntry/LogEntry.json
+++ b/static/redfish/v1/JsonSchemas/LogEntry/LogEntry.json
@@ -1,18 +1,19 @@
 {
     "$ref": "#/definitions/LogEntry",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_3_0.json",
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
             "description": "The available actions for this resource.",
             "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -22,7 +23,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -45,11 +48,12 @@
             "description": "Contains references to other resources that are related to this resource.",
             "longDescription": "This type, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -64,7 +68,7 @@
                     "longDescription": "This object represents the Oem property.  All values for resources described by this schema shall comply to the requirements as described in the Redfish specification."
                 },
                 "OriginOfCondition": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/idRef",
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/idRef",
                     "description": "This is the URI of the resource that caused the log entry.",
                     "longDescription": "The value of this property shall be an href that references the resource for which the log is associated.",
                     "readonly": true
@@ -77,11 +81,12 @@
             "description": "This resource defines the record format for a log.  It is designed to be used for SEL logs (from IPMI) as well as Event Logs and OEM-specific log formats.  The EntryType field indicates the type of log and the resource includes several additional properties dependent on the EntryType.",
             "longDescription": "This resource shall represent the log format for log services in a Redfish implementation.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -91,13 +96,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
@@ -132,15 +140,24 @@
                         }
                     ],
                     "description": "If the EntryType is SEL, this will have the entry code for the log entry.",
-                    "longDescription": "This property shall be present if the EntryType value is SEL.  These enumerations are the values from table 42-1 and 42-2 of the IPMI specification.",
+                    "longDescription": "This property shall be present if the EntryType value is SEL.  These enumerations are the values from tables 42-1 and 42-2 of the IPMI specification.",
                     "readonly": true
                 },
                 "EntryType": {
                     "$ref": "#/definitions/LogEntryType",
-                    "description": "his is the type of log entry.",
+                    "description": "This is the type of log entry.",
                     "longDescription": "This property shall represent the type of LogEntry.  If the resource represents an IPMI SEL log entry, the value shall be SEL.  If the resource represents an Event log, the value shall be Event.  If the resource represents an OEM log format, the value shall be Oem.",
                     "readonly": true
                 },
+                "EventGroupId": {
+                    "description": "This value is the identifier used to correlate events that came from the same cause.",
+                    "longDescription": "The value of this property shall indicate that events are related and shall have the same value in the case where multiple Event messages are produced by the same root cause.  Implementations shall use separate values for events with separate root cause.  There shall not be ordering of events implied by the value of this property.",
+                    "readonly": true,
+                    "type": [
+                        "integer",
+                        "null"
+                    ]
+                },
                 "EventId": {
                     "description": "This is a unique instance identifier of an event.",
                     "longDescription": "If present, this LogEntry records an Event and the value shall indicate a unique identifier for the event, the format of which is implementation dependent.",
@@ -156,6 +173,7 @@
                 },
                 "EventType": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Event.json#/definitions/EventType",
+                    "deprecated": "This property has been deprecated.  Starting Redfish Spec 1.6 (Event 1.3), subscriptions are based on RegistryId and ResourceType and not EventType.",
                     "description": "This indicates the type of an event recorded in this log.",
                     "longDescription": "If present, this LogEntry records an Event and the value shall indicate the type of event.",
                     "readonly": true
@@ -170,8 +188,8 @@
                     "longDescription": "The Links property, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource."
                 },
                 "Message": {
-                    "description": "This property decodes from EntryType:  If it is Event then it is a message string.  Otherwise, it is SEL or Oem specific.  In most cases, this will be the actual Log Entry.",
-                    "longDescription": "The value of this property shall be the Message property of the event if the EntryType is Event, the Description if EntryType is SEL and OEM Specific if the EntryType is OEM.",
+                    "description": "This property decodes from EntryType.  If the EntryType is Event, then it is a message string.  Otherwise, it is SEL or OEM specific.  In most cases, this will be the actual Log Entry.",
+                    "longDescription": "The value of this property shall be the Message property of the event if the EntryType is Event, the Description if the EntryType is SEL, and OEM Specific if the EntryType is Oem.",
                     "readonly": true,
                     "type": [
                         "string",
@@ -188,8 +206,8 @@
                     "type": "array"
                 },
                 "MessageId": {
-                    "description": "This property decodes from EntryType:  If it is Event then it is a message id.  Otherwise, it is SEL or Oem specific.  This value is only used for registries - for more information, see the specification.",
-                    "longDescription": "The value of this property shall the MessageId property of the event if the EntryType is Event, the EventData if EntryType is SEL and OEM Specific if the EntryType is OEM.  The format of this property shall be as defined in the Redfish specification.",
+                    "description": "This property decodes from EntryType.  If the EntryType is Event, then it is a message id.  If the EntryType is SEL, then it contains the Event Data.  Otherwise, it is OEM specific.  This value is only used for registries - for more information, see the specification.",
+                    "longDescription": "The value of this property shall the MessageId property of the event if the EntryType is Event, the three IPMI Event Data bytes if the EntryType is SEL, and OEM Specific if the EntryType is Oem.  The format of this property shall be as defined in the Redfish specification.  If representing the three IPMI Event Data bytes, the format should follow the pattern '^0[xX](([a-fA-F]|[0-9]){2}){3}$', where Event Data 1 is the first byte in the string, Event Data 2 is the second byte in the string, and Event Data 3 is the third byte in the string.",
                     "readonly": true,
                     "type": "string"
                 },
@@ -212,7 +230,7 @@
                     ]
                 },
                 "OemRecordFormat": {
-                    "description": "If the entry type is Oem, this will contain more information about the record format from the Oem.",
+                    "description": "If the EntryType is Oem, this will contain more information about the record format from the Oem.",
                     "longDescription": "The value of this property shall represent the OEM specific format of the Entry.  This property shall be required if the value of EntryType is Oem.",
                     "readonly": true,
                     "type": [
@@ -230,11 +248,11 @@
                     ]
                 },
                 "SensorNumber": {
-                    "description": "This property decodes from EntryType:  If it is SEL, it is the sensor number; if Event then the count of events.  Otherwise, it is Oem specific.",
-                    "longDescription": "The value of this property shall be the EntityInstance from IPMI spec if EntryType is SEL, the count of events if EntryType is Event and OEM Specific if the EntryType is OEM.",
+                    "description": "This property decodes from EntryType.  If the EntryType is SEL, it is the sensor number.  If the EntryType is Event, then the count of events.  Otherwise, it is OEM specific.",
+                    "longDescription": "The value of this property shall be the IPMI sensor number if the EntryType is SEL, the count of events if the EntryType is Event, and OEM Specific if EntryType is Oem.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -248,7 +266,7 @@
                         }
                     ],
                     "description": "If the EntryType is SEL, this will have the sensor type that the log entry pertains to.",
-                    "longDescription": "This property shall be present if the EntryType value is SEL.",
+                    "longDescription": "This property shall be present if the EntryType value is SEL.  These enumerations are the values from table 42-3 of the IPMI specification.",
                     "readonly": true
                 },
                 "Severity": {
@@ -267,6 +285,8 @@
             },
             "required": [
                 "EntryType",
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -420,11 +440,12 @@
             "description": "The available OEM specific actions for this resource.",
             "longDescription": "This type shall contain any additional OEM actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -531,5 +552,6 @@
             "type": "string"
         }
     },
-    "title": "#LogEntry.v1_3_0.LogEntry"
+    "owningEntity": "DMTF",
+    "title": "#LogEntry.v1_4_0.LogEntry"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/LogService/LogService.json b/static/redfish/v1/JsonSchemas/LogService/LogService.json
index 95f9134..9699883 100644
--- a/static/redfish/v1/JsonSchemas/LogService/LogService.json
+++ b/static/redfish/v1/JsonSchemas/LogService/LogService.json
@@ -1,18 +1,19 @@
 {
     "$ref": "#/definitions/LogService",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_3_0.json",
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
             "description": "The available actions for this resource.",
             "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -25,7 +26,9 @@
                     "$ref": "#/definitions/ClearLog"
                 },
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -36,11 +39,12 @@
             "longDescription": "This action shall delete all entries found in the Entries collection for this Log Service.",
             "parameters": {},
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -81,11 +85,12 @@
             "description": "This resource represents the log service for the resource or service to which it is associated.",
             "longDescription": "This resource shall be used to represent a log service for a Redfish implementation.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -95,13 +100,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
@@ -167,7 +175,7 @@
                     "longDescription": "The value of this property shall be the maximum numbers of LogEntry resources in the Entries collection for this service.",
                     "minimum": 0,
                     "readonly": true,
-                    "type": "number"
+                    "type": "integer"
                 },
                 "Name": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
@@ -194,17 +202,14 @@
                     ]
                 },
                 "Status": {
-                    "anyOf": [
-                        {
-                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
-                        },
-                        {
-                            "type": "null"
-                        }
-                    ]
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -215,11 +220,12 @@
             "description": "The available OEM specific actions for this resource.",
             "longDescription": "This type shall contain any additional OEM actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -244,5 +250,6 @@
             "type": "string"
         }
     },
-    "title": "#LogService.v1_1_0.LogService"
+    "owningEntity": "DMTF",
+    "title": "#LogService.v1_1_1.LogService"
 }
\ 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 2f64224..aca96f1 100644
--- a/static/redfish/v1/JsonSchemas/Manager/Manager.json
+++ b/static/redfish/v1/JsonSchemas/Manager/Manager.json
@@ -1,7 +1,7 @@
 {
     "$ref": "#/definitions/Manager",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_4_0.json",
-    "copyright": "Copyright 2014-2018 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
@@ -13,6 +13,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -31,7 +32,9 @@
                     "$ref": "#/definitions/Reset"
                 },
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -61,6 +64,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -83,7 +87,7 @@
                     "longDescription": "The value of this property shall contain the maximum number of concurrent service sessions supported by the implementation.",
                     "minimum": 0,
                     "readonly": true,
-                    "type": "number"
+                    "type": "integer"
                 },
                 "ServiceEnabled": {
                     "description": "Indicates if the service is enabled for this manager.",
@@ -112,6 +116,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -153,6 +158,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -175,7 +181,7 @@
                     "longDescription": "The value of this property shall contain the maximum number of concurrent service sessions supported by the implementation.",
                     "minimum": 0,
                     "readonly": true,
-                    "type": "number"
+                    "type": "integer"
                 },
                 "ServiceEnabled": {
                     "description": "Indicates if the service is enabled for this manager.",
@@ -196,6 +202,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -214,7 +221,7 @@
                     "type": "array"
                 },
                 "ManagerForChassis@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "ManagerForServers": {
                     "description": "This property is an array of references to the systems that this manager has control over.",
@@ -226,7 +233,7 @@
                     "type": "array"
                 },
                 "ManagerForServers@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "ManagerForSwitches": {
                     "description": "This property is an array of references to the switches that this manager has control over.",
@@ -238,7 +245,7 @@
                     "type": "array"
                 },
                 "ManagerForSwitches@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "ManagerInChassis": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Chassis.json#/definitions/Chassis",
@@ -264,6 +271,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -273,16 +281,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
                 },
                 "@odata.etag": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/etag"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
@@ -416,14 +424,32 @@
                     "readonly": true
                 },
                 "Redundancy": {
+                    "autoExpand": true,
                     "description": "Redundancy information for the managers of this system.",
                     "items": {
                         "$ref": "http://redfish.dmtf.org/schemas/v1/Redundancy.json#/definitions/Redundancy"
                     },
+                    "longDescription": "The values of the properties in this array shall be used to show how this manager is grouped with other managers for form redundancy sets.",
                     "type": "array"
                 },
                 "Redundancy@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
+                },
+                "RemoteAccountService": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/AccountService.json#/definitions/AccountService",
+                    "description": "This property contains a reference to the AccountService resource for the remote Manager represented by this resource.",
+                    "longDescription": "This property shall contain a reference to the AccountService resource for the remote Manager represented by this resource.  This property shall only be present when providing aggregation of Redfish services.",
+                    "readonly": true
+                },
+                "RemoteRedfishServiceUri": {
+                    "description": "This property contains the URI of the Redfish Service Root for the remote Manager represented by this resource.",
+                    "format": "uri",
+                    "longDescription": "This property shall contain the URI of the Redfish Service Root for the remote Manager represented by this resource.  This property shall only be present when providing aggregation of Redfish services.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
                 },
                 "SerialConsole": {
                     "$ref": "#/definitions/SerialConsole",
@@ -450,7 +476,9 @@
                     "readonly": true
                 },
                 "Status": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 },
                 "UUID": {
                     "anyOf": [
@@ -473,6 +501,8 @@
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -487,6 +517,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -500,7 +531,7 @@
                     "longDescription": "The value of this property shall contain the maximum number of concurrent service sessions supported by the implementation.",
                     "minimum": 0,
                     "readonly": true,
-                    "type": "number"
+                    "type": "integer"
                 },
                 "ServiceEnabled": {
                     "description": "Indicates if the service is enabled for this manager.",
@@ -558,6 +589,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -588,6 +620,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -615,6 +648,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -660,6 +694,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -682,7 +717,7 @@
                     "longDescription": "The value of this property shall contain the maximum number of concurrent service sessions supported by the implementation.",
                     "minimum": 0,
                     "readonly": true,
-                    "type": "number"
+                    "type": "integer"
                 },
                 "ServiceEnabled": {
                     "description": "Indicates if the service is enabled for this manager.",
@@ -695,5 +730,5 @@
         }
     },
     "owningEntity": "DMTF",
-    "title": "#Manager.v1_4_0.Manager"
+    "title": "#Manager.v1_5_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 1227d85..7ba5d32 100644
--- a/static/redfish/v1/JsonSchemas/ManagerAccount/ManagerAccount.json
+++ b/static/redfish/v1/JsonSchemas/ManagerAccount/ManagerAccount.json
@@ -1,7 +1,7 @@
 {
     "$ref": "#/definitions/ManagerAccount",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_4_0.json",
-    "copyright": "Copyright 2014-2018 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
@@ -13,6 +13,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -22,7 +23,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -37,6 +40,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -69,6 +73,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -78,16 +83,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
                 },
                 "@odata.etag": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/etag"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
@@ -158,6 +163,8 @@
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -178,6 +185,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -190,5 +198,5 @@
         }
     },
     "owningEntity": "DMTF",
-    "title": "#ManagerAccount.v1_1_2.ManagerAccount"
+    "title": "#ManagerAccount.v1_1_3.ManagerAccount"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/ManagerNetworkProtocol/ManagerNetworkProtocol.json b/static/redfish/v1/JsonSchemas/ManagerNetworkProtocol/ManagerNetworkProtocol.json
index 4673b0d..c5b106f 100644
--- a/static/redfish/v1/JsonSchemas/ManagerNetworkProtocol/ManagerNetworkProtocol.json
+++ b/static/redfish/v1/JsonSchemas/ManagerNetworkProtocol/ManagerNetworkProtocol.json
@@ -1,194 +1,100 @@
 {
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_2_0.json",
-    "title": "#ManagerNetworkProtocol.v1_2_0.ManagerNetworkProtocol",
     "$ref": "#/definitions/ManagerNetworkProtocol",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
-        "NotifyIPv6Scope": {
-            "type": "string",
-            "enum": [
-                "Link",
-                "Site",
-                "Organization"
-            ],
-            "enumDescriptions": {
-                "Link": "SSDP Notify messages are sent to addresses in the IPv6 Local Link scope.",
-                "Site": "SSDP Notify messages are sent to addresses in the IPv6 Local Site scope.",
-                "Organization": "SSDP Notify messages are sent to addresses in the IPv6 Local Organization scope."
-            }
-        },
-        "Protocol": {
-            "type": "object",
+        "Actions": {
+            "additionalProperties": false,
+            "description": "The available actions for this resource.",
+            "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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"
-                    ],
-                    "description": "This property shall specify a valid odata or Redfish property."
+                    ]
                 }
             },
-            "additionalProperties": false,
             "properties": {
-                "ProtocolEnabled": {
-                    "type": [
-                        "boolean",
-                        "null"
-                    ],
-                    "readonly": false,
-                    "description": "Indicates if the protocol is enabled or disabled.",
-                    "longDescription": "The value of this property shall contain the enabled status of the protocol.  The value shall be true if enabled and false if disabled."
-                },
-                "Port": {
-                    "type": [
-                        "number",
-                        "null"
-                    ],
-                    "minimum": 0,
-                    "readonly": false,
-                    "description": "Indicates the protocol port.",
-                    "longDescription": "The value of this property shall contain the port assigned for the protocol."
+                "Oem": {
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
-            "description": "Settings for a network protocol associated with a manager.",
-            "longDescription": "This type shall describe information about a protocol setting for a manager."
-        },
-        "SSDProtocol": {
-            "type": "object",
-            "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
-                    "type": [
-                        "array",
-                        "boolean",
-                        "number",
-                        "null",
-                        "object",
-                        "string"
-                    ],
-                    "description": "This property shall specify a valid odata or Redfish property."
-                }
-            },
-            "additionalProperties": false,
-            "properties": {
-                "ProtocolEnabled": {
-                    "type": [
-                        "boolean",
-                        "null"
-                    ],
-                    "readonly": false,
-                    "description": "Indicates if the protocol is enabled or disabled.",
-                    "longDescription": "The value of this property shall contain the enabled status of the protocol.  The value shall be true if enabled and false if disabled."
-                },
-                "Port": {
-                    "type": [
-                        "number",
-                        "null"
-                    ],
-                    "minimum": 0,
-                    "readonly": false,
-                    "description": "Indicates the protocol port.",
-                    "longDescription": "The value of this property shall contain the port assigned for the protocol."
-                },
-                "NotifyMulticastIntervalSeconds": {
-                    "type": [
-                        "number",
-                        "null"
-                    ],
-                    "units": "s",
-                    "minimum": 0,
-                    "readonly": false,
-                    "description": "Indicates how often the Multicast is done from this service for SSDP.",
-                    "longDescription": "The value of this property shall contain the time interval, in seconds, between transmissions of the multicast NOTIFY ALIVE message.  A setting of 0 seconds shall disable this functionality.  The recommended value is 600 seconds."
-                },
-                "NotifyTTL": {
-                    "type": [
-                        "number",
-                        "null"
-                    ],
-                    "minimum": 1,
-                    "readonly": false,
-                    "description": "Indicates the time to live hop count for SSDPs Notify messages.",
-                    "longDescription": "The value of this property shall contain the Time-To-Live hop count used for multicast NOTIFY messages.  The recommended value is 2."
-                },
-                "NotifyIPv6Scope": {
-                    "anyOf": [
-                        {"$ref": "#/definitions/NotifyIPv6Scope"},
-                        {"type": "null"}
-                    ],
-                    "readonly": false,
-                    "description": "Indicates the scope for the IPv6 Notify messages for SSDP.",
-                    "longDescription": "The value of this property shall contain the IPv6 scope used for multicast NOTIFY messages.  The valid enumerations are a subset of the available IPv6 Scope types."
-                }
-            },
-            "description": "Settings for a network protocol associated with a manager.",
-            "longDescription": "This type shall describe information about a protocol setting for a manager."
+            "type": "object"
         },
         "ManagerNetworkProtocol": {
-            "type": "object",
+            "additionalProperties": false,
+            "description": "This resource is used to obtain or modify the network services managed by a given manager.",
+            "longDescription": "This object shall be used to represent the network service settings for the manager.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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"
-                    ],
-                    "description": "This property shall specify a valid odata or Redfish property."
+                    ]
                 }
             },
-            "additionalProperties": false,
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
-                "Oem": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
-                    "description": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.",
-                    "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
+                "Actions": {
+                    "$ref": "#/definitions/Actions",
+                    "description": "The available actions for this resource.",
+                    "longDescription": "The Actions property shall contain the available actions for this resource."
                 },
-                "Id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
-                    "readonly": true
+                "DHCP": {
+                    "$ref": "#/definitions/Protocol",
+                    "description": "Settings for this Manager's DHCPv4 protocol support.",
+                    "longDescription": "This object shall contain information for the DHCPv4 protocol settings for the manager."
+                },
+                "DHCPv6": {
+                    "$ref": "#/definitions/Protocol",
+                    "description": "Settings for this Manager's DHCPv6 protocol support.",
+                    "longDescription": "This object shall contain information for the DHCPv6 protocol settings for the manager."
                 },
                 "Description": {
                     "anyOf": [
-                        {"$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"},
-                        {"type": "null"}
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
+                        },
+                        {
+                            "type": "null"
+                        }
                     ],
                     "readonly": true
                 },
-                "Name": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
-                    "readonly": true
-                },
-                "HostName": {
-                    "type": [
-                        "string",
-                        "null"
-                    ],
-                    "readonly": true,
-                    "description": "The DNS Host Name of this manager, without any domain information.",
-                    "longDescription": "The value of this property shall contain the host name without any domain information."
-                },
                 "FQDN": {
+                    "description": "This is the fully qualified domain name for the manager obtained by DNS including the host name and top-level domain name.",
+                    "longDescription": "The value of this property shall contain the fully qualified domain name for the manager.",
+                    "readonly": true,
                     "type": [
                         "string",
                         "null"
-                    ],
-                    "readonly": true,
-                    "description": "This is the fully qualified domain name for the manager obtained by DNS including the host name and top-level domain name.",
-                    "longDescription": "The value of this property shall contain the fully qualified domain name for the manager."
+                    ]
                 },
                 "HTTP": {
                     "$ref": "#/definitions/Protocol",
@@ -200,155 +106,296 @@
                     "description": "Settings for this Manager's HTTPS protocol support.",
                     "longDescription": "This object shall contain information for the HTTPS/SSL protocol settings for this manager. The default value of the Port property should be 443 for compatibility with established client implementations."
                 },
-                "SNMP": {
-                    "$ref": "#/definitions/Protocol",
-                    "description": "Settings for this Manager's SNMP support.",
-                    "longDescription": "This object shall contain information for the SNMP protocol settings for this manager. The default value of the Port property should be 161 for compatibility with established client implementations."
-                },
-                "VirtualMedia": {
-                    "$ref": "#/definitions/Protocol",
-                    "description": "Settings for this Manager's Virtual Media support.",
-                    "longDescription": "This object shall contain information for the Virtual Media protocol settings for this manager. The value of the Port property shall contain the TCP port assigned for Virtual Media usage."
-                },
-                "Telnet": {
-                    "$ref": "#/definitions/Protocol",
-                    "description": "Settings for this Manager's Telnet protocol support.",
-                    "longDescription": "This object shall contain information for the Telnet protocol settings for this manager. The default value of the Port property should be 23 for compatibility with established client implementations."
-                },
-                "SSDP": {
-                    "$ref": "#/definitions/SSDProtocol",
-                    "description": "Settings for this Manager's SSDP support.",
-                    "longDescription": "This object shall contain information for the SSDP protocol settings for this manager.  Simple Service Discovery Protocol (SSDP) is for network discovery of devices supporting the Redfish service. The default value of the Port property should be 1900 for compatibility with established client implementations."
+                "HostName": {
+                    "description": "The DNS Host Name of this manager, without any domain information.",
+                    "longDescription": "The value of this property shall contain the host name without any domain information.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
                 },
                 "IPMI": {
                     "$ref": "#/definitions/Protocol",
                     "description": "Settings for this Manager's IPMI-over-LAN protocol support.",
                     "longDescription": "This object shall contain information for the IPMI over LAN protocol settings for the manager. The default value of the Port property should be 623 for compatibility with established client implementations."
                 },
-                "SSH": {
-                    "$ref": "#/definitions/Protocol",
-                    "description": "Settings for this Manager's SSH (Secure Shell) protocol support.",
-                    "longDescription": "This object shall contain information for the SSH protocol settings for the manager. The default value of the Port property should be 22 for compatibility with established client implementations."
+                "Id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
+                    "readonly": true
                 },
                 "KVMIP": {
                     "$ref": "#/definitions/Protocol",
                     "description": "Settings for this Manager's KVM-IP protocol support.",
                     "longDescription": "This object shall contain information for the KVM-IP (Keyboard, Video, Mouse) protocol settings for the manager."
                 },
-                "Status": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
-                },
-                "DHCP": {
-                    "$ref": "#/definitions/Protocol",
-                    "description": "Settings for this Manager's DHCP protocol support.",
-                    "longDescription": "This object shall contain information for the DHCP protocol settings for the manager."
-                },
                 "NTP": {
                     "$ref": "#/definitions/NTPProtocol",
                     "description": "Settings for this Manager's NTP protocol support.",
                     "longDescription": "This object shall contain information for the NTP protocol settings for the manager."
                 },
-                "Actions": {
-                    "type": "object",
-                    "patternProperties": {
-                        "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
-                            "type": [
-                                "array",
-                                "boolean",
-                                "number",
-                                "null",
-                                "object",
-                                "string"
-                            ],
-                            "description": "This property shall specify a valid odata or Redfish property."
-                        }
-                    },
-                    "additionalProperties": false,
-                    "properties": {
-                        "Oem": {
-                            "type": "object",
-                            "patternProperties": {
-                                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
-                                    "type": [
-                                        "array",
-                                        "boolean",
-                                        "number",
-                                        "null",
-                                        "object",
-                                        "string"
-                                    ],
-                                    "description": "This property shall specify a valid odata or Redfish property."
-                                }
-                            },
-                            "additionalProperties": true,
-                            "properties": {},
-                            "description": "The available OEM specific actions for this resource.",
-                            "longDescription": "This type shall contain any additional OEM actions for this resource."
-                        }
-                    },
-                    "description": "The available actions for this resource.",
-                    "longDescription": "The Actions property shall contain the available actions for 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": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.",
+                    "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
+                },
+                "RDP": {
+                    "$ref": "#/definitions/Protocol",
+                    "description": "Settings for this Manager's Remote Desktop Protocol support.",
+                    "longDescription": "This object shall contain information for the Remote Desktop Protocol settings for the manager."
+                },
+                "RFB": {
+                    "$ref": "#/definitions/Protocol",
+                    "description": "Settings for this Manager's Remote Frame Buffer protocol support, which can be used to support VNC.",
+                    "longDescription": "This object shall contain information for the Remote Frame Buffer protocol settings for the manager."
+                },
+                "SNMP": {
+                    "$ref": "#/definitions/Protocol",
+                    "description": "Settings for this Manager's SNMP support.",
+                    "longDescription": "This object shall contain information for the SNMP protocol settings for this manager. The default value of the Port property should be 161 for compatibility with established client implementations."
+                },
+                "SSDP": {
+                    "$ref": "#/definitions/SSDProtocol",
+                    "description": "Settings for this Manager's SSDP support.",
+                    "longDescription": "This object shall contain information for the SSDP protocol settings for this manager.  Simple Service Discovery Protocol (SSDP) is for network discovery of devices supporting the Redfish service. The default value of the Port property should be 1900 for compatibility with established client implementations."
+                },
+                "SSH": {
+                    "$ref": "#/definitions/Protocol",
+                    "description": "Settings for this Manager's SSH (Secure Shell) protocol support.",
+                    "longDescription": "This object shall contain information for the SSH protocol settings for the manager. The default value of the Port property should be 22 for compatibility with established client implementations."
+                },
+                "Status": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
+                },
+                "Telnet": {
+                    "$ref": "#/definitions/Protocol",
+                    "description": "Settings for this Manager's Telnet protocol support.",
+                    "longDescription": "This object shall contain information for the Telnet protocol settings for this manager. The default value of the Port property should be 23 for compatibility with established client implementations."
+                },
+                "VirtualMedia": {
+                    "$ref": "#/definitions/Protocol",
+                    "description": "Settings for this Manager's Virtual Media support.",
+                    "longDescription": "This object shall contain information for the Virtual Media protocol settings for this manager. The value of the Port property shall contain the TCP port assigned for Virtual Media usage."
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
-            "description": "This resource is used to obtain or modify the network services managed by a given manager.",
-            "longDescription": "This object shall be used to represent the network service settings for the manager."
+            "type": "object"
         },
         "NTPProtocol": {
-            "type": "object",
+            "additionalProperties": false,
+            "description": "Settings for a network protocol associated with a manager.",
+            "longDescription": "This type shall describe information about a protocol setting for a manager.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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"
-                    ],
-                    "description": "This property shall specify a valid odata or Redfish property."
+                    ]
                 }
             },
-            "additionalProperties": false,
             "properties": {
-                "ProtocolEnabled": {
-                    "type": [
-                        "boolean",
-                        "null"
-                    ],
-                    "readonly": false,
-                    "description": "Indicates if the protocol is enabled or disabled.",
-                    "longDescription": "The value of this property shall contain the enabled status of the protocol.  The value shall be true if enabled and false if disabled."
-                },
-                "Port": {
-                    "type": [
-                        "number",
-                        "null"
-                    ],
-                    "minimum": 0,
-                    "readonly": false,
-                    "description": "Indicates the protocol port.",
-                    "longDescription": "The value of this property shall contain the port assigned for the protocol."
-                },
                 "NTPServers": {
-                    "type": "array",
+                    "description": "Indicates to which NTP servers this manager is subscribed.",
                     "items": {
                         "type": [
                             "string",
                             "null"
                         ]
                     },
+                    "longDescription": "The value of this property shall contain all the NTP servers for which this manager is using to obtain time.",
                     "readonly": false,
-                    "description": "Indicates to which NTP servers this manager is subscribed.",
-                    "longDescription": "The value of this property shall contain all the NTP servers for which this manager is using to obtain time."
+                    "type": "array"
+                },
+                "Port": {
+                    "description": "Indicates the protocol port.",
+                    "longDescription": "The value of this property shall contain the port assigned for the protocol.",
+                    "minimum": 0,
+                    "readonly": false,
+                    "type": [
+                        "integer",
+                        "null"
+                    ]
+                },
+                "ProtocolEnabled": {
+                    "description": "Indicates if the protocol is enabled or disabled.",
+                    "longDescription": "The value of this property shall contain the enabled status of the protocol.  The value shall be true if enabled and false if disabled.",
+                    "readonly": false,
+                    "type": [
+                        "boolean",
+                        "null"
+                    ]
                 }
             },
+            "type": "object"
+        },
+        "NotifyIPv6Scope": {
+            "enum": [
+                "Link",
+                "Site",
+                "Organization"
+            ],
+            "enumDescriptions": {
+                "Link": "SSDP Notify messages are sent to addresses in the IPv6 Local Link scope.",
+                "Organization": "SSDP Notify messages are sent to addresses in the IPv6 Local Organization scope.",
+                "Site": "SSDP Notify messages are sent to addresses in the IPv6 Local Site scope."
+            },
+            "type": "string"
+        },
+        "OemActions": {
+            "additionalProperties": true,
+            "description": "The available OEM specific actions for this resource.",
+            "longDescription": "This type shall contain any additional OEM actions for this resource.",
+            "patternProperties": {
+                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[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"
+        },
+        "Protocol": {
+            "additionalProperties": false,
             "description": "Settings for a network protocol associated with a manager.",
-            "longDescription": "This type shall describe information about a protocol setting for a manager."
+            "longDescription": "This type shall describe information about a protocol setting for a manager.",
+            "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": {
+                "Port": {
+                    "description": "Indicates the protocol port.",
+                    "longDescription": "The value of this property shall contain the port assigned for the protocol.",
+                    "minimum": 0,
+                    "readonly": false,
+                    "type": [
+                        "integer",
+                        "null"
+                    ]
+                },
+                "ProtocolEnabled": {
+                    "description": "Indicates if the protocol is enabled or disabled.",
+                    "longDescription": "The value of this property shall contain the enabled status of the protocol.  The value shall be true if enabled and false if disabled.",
+                    "readonly": false,
+                    "type": [
+                        "boolean",
+                        "null"
+                    ]
+                }
+            },
+            "type": "object"
+        },
+        "SSDProtocol": {
+            "additionalProperties": false,
+            "description": "Settings for a network protocol associated with a manager.",
+            "longDescription": "This type shall describe information about a protocol setting for a manager.",
+            "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": {
+                "NotifyIPv6Scope": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/NotifyIPv6Scope"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "Indicates the scope for the IPv6 Notify messages for SSDP.",
+                    "longDescription": "The value of this property shall contain the IPv6 scope used for multicast NOTIFY messages.  The valid enumerations are a subset of the available IPv6 Scope types.",
+                    "readonly": false
+                },
+                "NotifyMulticastIntervalSeconds": {
+                    "description": "Indicates how often the Multicast is done from this service for SSDP.",
+                    "longDescription": "The value of this property shall contain the time interval, in seconds, between transmissions of the multicast NOTIFY ALIVE message.  A setting of 0 seconds shall disable this functionality.  The recommended value is 600 seconds.",
+                    "minimum": 0,
+                    "readonly": false,
+                    "type": [
+                        "integer",
+                        "null"
+                    ],
+                    "units": "s"
+                },
+                "NotifyTTL": {
+                    "description": "Indicates the time to live hop count for SSDPs Notify messages.",
+                    "longDescription": "The value of this property shall contain the Time-To-Live hop count used for multicast NOTIFY messages.  The recommended value is 2.",
+                    "minimum": 1,
+                    "readonly": false,
+                    "type": [
+                        "integer",
+                        "null"
+                    ]
+                },
+                "Port": {
+                    "description": "Indicates the protocol port.",
+                    "longDescription": "The value of this property shall contain the port assigned for the protocol.",
+                    "minimum": 0,
+                    "readonly": false,
+                    "type": [
+                        "integer",
+                        "null"
+                    ]
+                },
+                "ProtocolEnabled": {
+                    "description": "Indicates if the protocol is enabled or disabled.",
+                    "longDescription": "The value of this property shall contain the enabled status of the protocol.  The value shall be true if enabled and false if disabled.",
+                    "readonly": false,
+                    "type": [
+                        "boolean",
+                        "null"
+                    ]
+                }
+            },
+            "type": "object"
         }
     },
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright"
-}
+    "owningEntity": "DMTF",
+    "title": "#ManagerNetworkProtocol.v1_3_0.ManagerNetworkProtocol"
+}
\ 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 6bd6ac2..19305de 100644
--- a/static/redfish/v1/JsonSchemas/Memory/Memory.json
+++ b/static/redfish/v1/JsonSchemas/Memory/Memory.json
@@ -1,7 +1,7 @@
 {
     "$ref": "#/definitions/Memory",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_4_0.json",
-    "copyright": "Copyright 2014-2018 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
@@ -13,6 +13,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -24,6 +25,9 @@
                 "#Memory.DisablePassphrase": {
                     "$ref": "#/definitions/DisablePassphrase"
                 },
+                "#Memory.OverwriteUnit": {
+                    "$ref": "#/definitions/OverwriteUnit"
+                },
                 "#Memory.SecureEraseUnit": {
                     "$ref": "#/definitions/SecureEraseUnit"
                 },
@@ -34,7 +38,9 @@
                     "$ref": "#/definitions/UnlockUnit"
                 },
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -90,6 +96,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -135,6 +142,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -167,6 +175,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -176,16 +185,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
                 },
                 "@odata.etag": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/etag"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
@@ -197,27 +206,30 @@
                     "longDescription": "The value of this property shall be thealignment boundary on which memory regions are allocated, measured in MiB.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
-                    ]
+                    ],
+                    "units": "MiBy"
                 },
                 "AllocationIncrementMiB": {
                     "description": "The size of the smallest unit of allocation for a memory region in mebibytes (MiB).",
                     "longDescription": "The value of this property shall be the allocation increment for regions, measured in MiB.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
-                    ]
+                    ],
+                    "units": "MiBy"
                 },
                 "AllowedSpeedsMHz": {
                     "description": "Speed bins supported by this Memory.",
                     "items": {
-                        "type": "number"
+                        "type": "integer"
                     },
                     "longDescription": "The value of this property shall be the speed supported by this Memory.",
                     "readonly": true,
-                    "type": "array"
+                    "type": "array",
+                    "units": "MHz"
                 },
                 "Assembly": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Assembly.json#/definitions/Assembly",
@@ -243,7 +255,7 @@
                     "longDescription": "The value of this property shall be the bus width in bits.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -252,7 +264,7 @@
                     "longDescription": "The value of this property shall be the total size of the cache portion memory in MiB.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ],
                     "units": "MiBy"
@@ -262,7 +274,7 @@
                     "longDescription": "The value of this property shall be the Memory capacity in MiB.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ],
                     "units": "MiBy"
@@ -272,7 +284,7 @@
                     "longDescription": "The value of this property shall be the data width in bits.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -375,14 +387,16 @@
                     "longDescription": "The Links property, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource."
                 },
                 "Location": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location",
+                    "description": "The Location of the memory.",
+                    "longDescription": "This property shall contain location information of the associated memory."
                 },
                 "LogicalSizeMiB": {
                     "description": "Total size of the logical memory in MiB.",
                     "longDescription": "The value of this property shall be the total size of the logical memory in MiB.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ],
                     "units": "MiBy"
@@ -399,11 +413,12 @@
                 "MaxTDPMilliWatts": {
                     "description": "Maximum TDPs in milli Watts.",
                     "items": {
-                        "type": "number"
+                        "type": "integer"
                     },
                     "longDescription": "The value of this property shall be the maximum power budgets supported by the Memory in milli Watts.",
                     "readonly": true,
-                    "type": "array"
+                    "type": "array",
+                    "units": "mW"
                 },
                 "MemoryDeviceType": {
                     "anyOf": [
@@ -500,7 +515,7 @@
                     "longDescription": "The value of this property shall be the total size of the non-volatile portion memory in MiB.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ],
                     "units": "MiBy"
@@ -524,9 +539,10 @@
                     "longDescription": "The value of this property shall be the operating speed of Memory in MHz or MT/s (mega-transfers per second) as reported by the memory device. Memory devices which operate at their bus speed shall report the operating speed in MHz (bus speed), while memory device which transfer data faster than their bus speed (e.g. DDR memory) shall report the operating speed in MT/s (mega-transfers/second). In any case, the reported value shall match the conventionally reported values for the technology utilized by the memory device.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
-                    ]
+                    ],
+                    "units": "MHz"
                 },
                 "PartNumber": {
                     "description": "The product part number of this device.",
@@ -542,7 +558,7 @@
                     "longDescription": "The value of this property shall be the total number of persistent regions this Memory can support.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -551,18 +567,20 @@
                     "longDescription": "The value of this property shall be the total size of persistent regions in MiB.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
-                    ]
+                    ],
+                    "units": "MiBy"
                 },
                 "PersistentRegionSizeMaxMiB": {
                     "description": "Maximum size of a single persistent region in mebibytes (MiB).",
                     "longDescription": "The value of this property shall be the maximum size of a single persistent regions in MiB.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
-                    ]
+                    ],
+                    "units": "MiBy"
                 },
                 "PowerManagementPolicy": {
                     "$ref": "#/definitions/PowerManagementPolicy",
@@ -574,7 +592,7 @@
                     "longDescription": "The value of this property shall be number of ranks available in the Memory. The ranks could be used for spare or interleave.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -605,12 +623,14 @@
                     "longDescription": "The value of this property shall be the number of unused spare devices available in the Memory. If memory devices fails, the spare device could be used.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
                 "Status": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 },
                 "SubsystemDeviceID": {
                     "deprecated": "This property has been Deprecated in favor of Memory.v1_3_0.MemorySubsystemControllerProductID",
@@ -647,7 +667,7 @@
                     "longDescription": "The value of this property shall be the total number of volatile regions this Memory can support.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -656,31 +676,35 @@
                     "longDescription": "The value of this property shall be the total size of volatile regions in MiB.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
-                    ]
+                    ],
+                    "units": "MiBy"
                 },
                 "VolatileRegionSizeMaxMiB": {
                     "description": "Maximum size of a single volatile region in mebibytes (MiB).",
                     "longDescription": "The value of this property shall be the maximum size of a single volatile regions in MiB.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
-                    ]
+                    ],
+                    "units": "MiBy"
                 },
                 "VolatileSizeMiB": {
                     "description": "Total size of the volitile portion memory in MiB.",
                     "longDescription": "The value of this property shall be the total size of the volatile portion memory in MiB.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ],
                     "units": "MiBy"
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -756,6 +780,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -769,7 +794,7 @@
                     "longDescription": "Channel number in which Memory is connected.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -778,7 +803,7 @@
                     "longDescription": "Memory controller number in which Memory is connected.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -787,7 +812,7 @@
                     "longDescription": "Slot number in which Memory is connected.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -796,7 +821,7 @@
                     "longDescription": "Socket number in which Memory is connected.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 }
@@ -821,16 +846,19 @@
                 "DRAM",
                 "NVDIMM_N",
                 "NVDIMM_F",
-                "NVDIMM_P"
+                "NVDIMM_P",
+                "IntelOptane"
             ],
             "enumDescriptions": {
                 "DRAM": "The memory module is composed of volatile memory.",
+                "IntelOptane": "The memory module is Intel Optane DC Persistent Memory and composed of a combination of non-volatile and volatile memory.",
                 "NVDIMM_F": "The memory module is composed of non-volatile memory.",
                 "NVDIMM_N": "The memory module is composed of volatile memory backed by non-volatile memory.",
                 "NVDIMM_P": "The memory module is composed of a combination of non-volatile and volatile memory."
             },
             "enumLongDescriptions": {
                 "DRAM": "This memory type shall represent volatile DRAM.",
+                "IntelOptane": "This memory type shall represent Intel Optane DC Persistent Memory.",
                 "NVDIMM_F": "This memory type shall represent NVDIMM_F as defined by JEDEC.",
                 "NVDIMM_N": "This memory type shall represent NVDIMM_N as defined by JEDEC.",
                 "NVDIMM_P": "This memory type shall represent NVDIMM_P as defined by JEDEC."
@@ -847,6 +875,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -870,6 +899,51 @@
             },
             "type": "string"
         },
+        "OverwriteUnit": {
+            "additionalProperties": false,
+            "description": "This defines the action for securely erasing given regions using the NIST SP800-88 Purge: Overwrite.",
+            "longDescription": "This action shall securely erase the supplied region provided the supplied passphrase matches that of the given region using the NIST SP800-88 Purge: Overwrite. Use the SecureEraseUnit method to perform NIST SP800-88 Purge: Cryptographic Erase.",
+            "parameters": {
+                "Passphrase": {
+                    "description": "Passphrase for doing the operation.",
+                    "longDescription": "The value of this property shall be the passphrase used in this action.",
+                    "requiredParameter": true,
+                    "type": "string"
+                },
+                "RegionId": {
+                    "description": "Memory region ID for which this action to be applied.",
+                    "longDescription": "The value of this property shall be the Memory region ID for which this action to be applied.",
+                    "requiredParameter": true,
+                    "type": "string"
+                }
+            },
+            "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",
+                    "type": "string"
+                },
+                "title": {
+                    "description": "Friendly action name",
+                    "type": "string"
+                }
+            },
+            "type": "object"
+        },
         "PowerManagementPolicy": {
             "additionalProperties": false,
             "description": "Power management policy information.",
@@ -880,6 +954,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -893,7 +968,7 @@
                     "longDescription": "Average power budget in milli watts.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ],
                     "units": "mW"
@@ -903,7 +978,7 @@
                     "longDescription": "Maximum TDP in milli watts.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ],
                     "units": "mW"
@@ -913,7 +988,7 @@
                     "longDescription": "Peak power budget in milli watts.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ],
                     "units": "mW"
@@ -940,6 +1015,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -966,7 +1042,7 @@
                     "longDescription": "Offset with in the Memory that corresponds to the starting of this memory region in MiB.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ],
                     "units": "MiBy"
@@ -1004,7 +1080,7 @@
                     "longDescription": "Size of this memory region in MiB.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ],
                     "units": "MiBy"
@@ -1014,8 +1090,8 @@
         },
         "SecureEraseUnit": {
             "additionalProperties": false,
-            "description": "This defines the action for securely erasing given regions.",
-            "longDescription": "This action shall securely erase the supplied region provided the supplied passphrase matches that of the given region.",
+            "description": "This defines the action for securely erasing given regions using the NIST SP800-88 Purge: Cryptograhic Erase.",
+            "longDescription": "This action shall securely erase the supplied region provided the supplied passphrase matches that of the given region using the NIST SP800-88 Purge: Cryptographic Erase. Use the OverwriteUnit method to perform NIST SP800-88 Purge: Overwrite.",
             "parameters": {
                 "Passphrase": {
                     "description": "Passphrase for doing the operation.",
@@ -1036,6 +1112,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -1066,6 +1143,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -1079,7 +1157,7 @@
                     "longDescription": "Maximum number of passphrases supported for this Memory.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -1147,6 +1225,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -1191,6 +1270,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -1213,5 +1293,5 @@
         }
     },
     "owningEntity": "DMTF",
-    "title": "#Memory.v1_5_0.Memory"
+    "title": "#Memory.v1_6_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 3850a6e..ec12299 100644
--- a/static/redfish/v1/JsonSchemas/MemoryChunks/MemoryChunks.json
+++ b/static/redfish/v1/JsonSchemas/MemoryChunks/MemoryChunks.json
@@ -1,7 +1,7 @@
 {
     "$ref": "#/definitions/MemoryChunks",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_4_0.json",
-    "copyright": "Copyright 2014-2018 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
@@ -13,6 +13,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -22,7 +23,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -50,6 +53,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -59,7 +63,7 @@
             },
             "properties": {
                 "Memory": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/idRef",
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/idRef",
                     "description": "Describes a memory device of the interleave set.",
                     "longDescription": "The value of this property shall be the memory device to which these settings apply.",
                     "readonly": true
@@ -69,7 +73,7 @@
                     "longDescription": "The value of this property shall be the level of this interleave set for multi-level tiered memory.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -78,9 +82,10 @@
                     "longDescription": "The value of this property shall be the offset within the DIMM that corresponds to the start of this memory region, with units in MiB.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
-                    ]
+                    ],
+                    "units": "MiBy"
                 },
                 "RegionId": {
                     "description": "DIMM region identifier.",
@@ -96,9 +101,10 @@
                     "longDescription": "The value of this property shall be the size of this memory region, with units in MiB.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
-                    ]
+                    ],
+                    "units": "MiBy"
                 }
             },
             "type": "object"
@@ -113,6 +119,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -122,16 +129,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
                 },
                 "@odata.etag": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/etag"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
@@ -204,9 +211,10 @@
                     "longDescription": "The value of this property shall be the size of the memory chunk in MiB.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
-                    ]
+                    ],
+                    "units": "MiBy"
                 },
                 "Name": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
@@ -218,10 +226,14 @@
                     "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
                 },
                 "Status": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -237,6 +249,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -249,5 +262,5 @@
         }
     },
     "owningEntity": "DMTF",
-    "title": "#MemoryChunks.v1_2_1.MemoryChunks"
+    "title": "#MemoryChunks.v1_2_2.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 739d522..1babb2f 100644
--- a/static/redfish/v1/JsonSchemas/MemoryDomain/MemoryDomain.json
+++ b/static/redfish/v1/JsonSchemas/MemoryDomain/MemoryDomain.json
@@ -1,196 +1,224 @@
 {
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_2_0.json",
-    "title": "#MemoryDomain.v1_2_0.MemoryDomain",
     "$ref": "#/definitions/MemoryDomain",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
-        "MemorySet": {
-            "type": "object",
+        "Actions": {
+            "additionalProperties": false,
+            "description": "The available actions for this resource.",
+            "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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"
-                    ],
-                    "description": "This property shall specify a valid odata or Redfish property."
+                    ]
                 }
             },
-            "additionalProperties": true,
             "properties": {
-                "MemorySet@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/count"
-                },
-                "MemorySet@odata.navigationLink": {
-                    "type": "string",
-                    "format": "uri"
-                },
-                "MemorySet": {
-                    "type": "array",
-                    "items": {
-                        "$ref": "http://redfish.dmtf.org/schemas/v1/Memory.json#/definitions/Memory"
-                    },
-                    "readonly": true,
-                    "description": "This is the collection of memory for a particular interleave set.",
-                    "longDescription": "The values in this collection shall be links to objects of type Memory."
+                "Oem": {
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
-            "description": "This is the interleave sets for a memory chunk.",
-            "longDescription": "This type shall represent the interleave sets for a memory chunk."
+            "type": "object"
         },
         "MemoryDomain": {
-            "type": "object",
+            "additionalProperties": false,
+            "description": "This is the schema definition of a Memory Domain and its configuration. Memory Domains are used to indicate to the client which Memory (DIMMs) can be grouped together in Memory Chunks to form interleave sets or otherwise grouped together.",
+            "longDescription": "This resource shall be used to represent Memory Domains in a Redfish implementation.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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"
-                    ],
-                    "description": "This property shall specify a valid odata or Redfish property."
+                    ]
                 }
             },
-            "additionalProperties": false,
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
-                "Oem": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
-                    "description": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.",
-                    "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
+                "Actions": {
+                    "$ref": "#/definitions/Actions",
+                    "description": "The available actions for this resource.",
+                    "longDescription": "The Actions property shall contain the available actions for this resource."
+                },
+                "AllowsBlockProvisioning": {
+                    "description": "Indicates if this Memory Domain supports the provisioning of blocks of memory.",
+                    "longDescription": "The value of this property shall indicate if this Memory Domain supports the creation of Blocks of memory.",
+                    "readonly": true,
+                    "type": [
+                        "boolean",
+                        "null"
+                    ]
+                },
+                "AllowsMemoryChunkCreation": {
+                    "description": "Indicates if this Memory Domain supports the creation of Memory Chunks.",
+                    "longDescription": "The value of this property shall indicate if this Memory Domain supports the creation of Memory Chunks.",
+                    "readonly": true,
+                    "type": [
+                        "boolean",
+                        "null"
+                    ]
+                },
+                "AllowsMirroring": {
+                    "description": "Indicates if this Memory Domain supports the creation of Memory Chunks with mirroring enabled.",
+                    "longDescription": "The value of this property shall indicate if this Memory Domain supports the creation of Memory Chunks with mirroring enabled.",
+                    "readonly": true,
+                    "type": [
+                        "boolean",
+                        "null"
+                    ]
+                },
+                "AllowsSparing": {
+                    "description": "Indicates if this Memory Domain supports the creation of Memory Chunks with sparing enabled.",
+                    "longDescription": "The value of this property shall indicate if this Memory Domain supports the creation of Memory Chunks with sparing enabled.",
+                    "readonly": true,
+                    "type": [
+                        "boolean",
+                        "null"
+                    ]
+                },
+                "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
                 },
-                "Description": {
+                "InterleavableMemorySets": {
+                    "description": "This is the interleave sets for the memory chunk.",
+                    "items": {
+                        "anyOf": [
+                            {
+                                "$ref": "#/definitions/MemorySet"
+                            },
+                            {
+                                "type": "null"
+                            }
+                        ]
+                    },
+                    "longDescription": "These properties shall represent the interleave sets for the memory chunk.",
+                    "type": "array"
+                },
+                "MemoryChunks": {
                     "anyOf": [
-                        {"$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"},
-                        {"type": "null"}
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/MemoryChunksCollection.json#/definitions/MemoryChunksCollection"
+                        },
+                        {
+                            "type": "null"
+                        }
                     ],
+                    "description": "A reference to the collection of Memory Chunks associated with this Memory Domain.",
+                    "longDescription": "The value of this property shall be a link to a collection of type MemoryChunkCollection.",
                     "readonly": true
                 },
                 "Name": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
                     "readonly": true
                 },
-                "AllowsMemoryChunkCreation": {
-                    "type": [
-                        "boolean",
-                        "null"
-                    ],
-                    "readonly": true,
-                    "description": "Indicates if this Memory Domain supports the creation of Memory Chunks.",
-                    "longDescription": "The value of this property shall indicate if this Memory Domain supports the creation of Memory Chunks."
-                },
-                "AllowsBlockProvisioning": {
-                    "type": [
-                        "boolean",
-                        "null"
-                    ],
-                    "readonly": true,
-                    "description": "Indicates if this Memory Domain supports the provisioning of blocks of memory.",
-                    "longDescription": "The value of this property shall indicate if this Memory Domain supports the creation of Blocks of memory."
-                },
-                "InterleavableMemorySets": {
-                    "type": "array",
-                    "items": {
-                        "anyOf": [
-                            {"$ref": "#/definitions/MemorySet"},
-                            {"type": "null"}
-                        ]
-                    },
-                    "description": "This is the interleave sets for the memory chunk.",
-                    "longDescription": "These properties shall represent the interleave sets for the memory chunk."
-                },
-                "MemoryChunks": {
-                    "anyOf": [
-                        {"$ref": "http://redfish.dmtf.org/schemas/v1/MemoryChunksCollection.json#/definitions/MemoryChunksCollection"},
-                        {"type": "null"}
-                    ],
-                    "readonly": true,
-                    "description": "A reference to the collection of Memory Chunks associated with this Memory Domain.",
-                    "longDescription": "The value of this property shall be a link to a collection of type MemoryChunkCollection."
-                },
-                "AllowsMirroring": {
-                    "type": [
-                        "boolean",
-                        "null"
-                    ],
-                    "readonly": true,
-                    "description": "Indicates if this Memory Domain supports the creation of Memory Chunks with mirroring enabled.",
-                    "longDescription": "The value of this property shall indicate if this Memory Domain supports the creation of Memory Chunks with mirroring enabled."
-                },
-                "AllowsSparing": {
-                    "type": [
-                        "boolean",
-                        "null"
-                    ],
-                    "readonly": true,
-                    "description": "Indicates if this Memory Domain supports the creation of Memory Chunks with sparing enabled.",
-                    "longDescription": "The value of this property shall indicate if this Memory Domain supports the creation of Memory Chunks with sparing enabled."
-                },
-                "Actions": {
-                    "type": "object",
-                    "patternProperties": {
-                        "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
-                            "type": [
-                                "array",
-                                "boolean",
-                                "number",
-                                "null",
-                                "object",
-                                "string"
-                            ],
-                            "description": "This property shall specify a valid odata or Redfish property."
-                        }
-                    },
-                    "additionalProperties": false,
-                    "properties": {
-                        "Oem": {
-                            "type": "object",
-                            "patternProperties": {
-                                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
-                                    "type": [
-                                        "array",
-                                        "boolean",
-                                        "number",
-                                        "null",
-                                        "object",
-                                        "string"
-                                    ],
-                                    "description": "This property shall specify a valid odata or Redfish property."
-                                }
-                            },
-                            "additionalProperties": true,
-                            "properties": {},
-                            "description": "The available OEM specific actions for this resource.",
-                            "longDescription": "This type shall contain any additional OEM actions for this resource."
-                        }
-                    },
-                    "description": "The available actions for this resource.",
-                    "longDescription": "The Actions property shall contain the available actions for this resource."
+                "Oem": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.",
+                    "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
-            "description": "This is the schema definition of a Memory Domain and its configuration. Memory Domains are used to indicate to the client which Memory (DIMMs) can be grouped together in Memory Chunks to form interleave sets or otherwise grouped together.",
-            "longDescription": "This resource shall be used to represent Memory Domains in a Redfish implementation."
+            "type": "object"
+        },
+        "MemorySet": {
+            "additionalProperties": false,
+            "description": "This is the interleave sets for a memory chunk.",
+            "longDescription": "This type shall represent the interleave sets for a memory chunk.",
+            "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": {
+                "MemorySet": {
+                    "description": "This is the collection of memory for a particular interleave set.",
+                    "items": {
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/Memory.json#/definitions/Memory"
+                    },
+                    "longDescription": "The values in this collection shall be links to objects of type Memory.",
+                    "readonly": true,
+                    "type": "array"
+                },
+                "MemorySet@odata.count": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
+                }
+            },
+            "type": "object"
+        },
+        "OemActions": {
+            "additionalProperties": true,
+            "description": "The available OEM specific actions for this resource.",
+            "longDescription": "This type shall contain any additional OEM actions for this resource.",
+            "patternProperties": {
+                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[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"
         }
     },
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright"
-}
+    "owningEntity": "DMTF",
+    "title": "#MemoryDomain.v1_2_1.MemoryDomain"
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/MemoryMetrics/MemoryMetrics.json b/static/redfish/v1/JsonSchemas/MemoryMetrics/MemoryMetrics.json
index b9b5ac6..7b10854 100644
--- a/static/redfish/v1/JsonSchemas/MemoryMetrics/MemoryMetrics.json
+++ b/static/redfish/v1/JsonSchemas/MemoryMetrics/MemoryMetrics.json
@@ -1,18 +1,19 @@
 {
     "$ref": "#/definitions/MemoryMetrics",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_3_0.json",
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
             "description": "The available actions for this resource.",
             "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -25,7 +26,9 @@
                     "$ref": "#/definitions/ClearCurrentPeriod"
                 },
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -35,11 +38,12 @@
             "description": "Alarm trip information about the memory.  These alarms are reset when the system resets.  Note that if they are re-discovered they can be reasserted.",
             "longDescription": "This type shall contain properties describing the types of alarms that have been raised by the memory.  These alarams shall be reset when the system resets.  Note that if they are re-discovered they can be reasserted.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -102,11 +106,12 @@
             "longDescription": "This action shall set the CurrentPeriod object property values to zero.",
             "parameters": {},
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -132,11 +137,12 @@
             "description": "This object contains the Memory metrics since last reset or ClearCurrentPeriod action.",
             "longDescription": "This type shall describe the metrics of the memory since last time the ClearCurrentPeriod Action was performed or the system reset.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -150,7 +156,7 @@
                     "longDescription": "The value of this property shall be number of blocks read since reset.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -159,7 +165,7 @@
                     "longDescription": "The value of this property shall be mumber of blocks written since reset.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 }
@@ -171,11 +177,12 @@
             "description": "This type describes the health information of the memory.",
             "longDescription": "This type shall contain properties which describe the HealthData metrics for the current resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -223,7 +230,8 @@
                     "type": [
                         "number",
                         "null"
-                    ]
+                    ],
+                    "units": "%"
                 },
                 "RemainingSpareBlockPercentage": {
                     "description": "Remaining spare blocks in percentage.",
@@ -232,7 +240,8 @@
                     "type": [
                         "number",
                         "null"
-                    ]
+                    ],
+                    "units": "%"
                 }
             },
             "type": "object"
@@ -242,11 +251,12 @@
             "description": "This object contains the Memory metrics for the lifetime of the Memory.",
             "longDescription": "This type shall describe the metrics of the memory since manufacturing.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -260,7 +270,7 @@
                     "longDescription": "The value of this property shall be number of blocks read for the lifetime of the Memory.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -269,7 +279,7 @@
                     "longDescription": "The value of this property shall be number of blocks written for the lifetime of the Memory.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 }
@@ -281,11 +291,12 @@
             "description": "MemoryMetrics contains usage and health statistics for a single Memory module or device instance.",
             "longDescription": "This resource shall be used to represent the Memory Metrics for a single Memory device in a Redfish implementation.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -295,13 +306,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
@@ -313,7 +327,7 @@
                     "longDescription": "The value of this property shall be the block size in bytes of all stucture elements.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ],
                     "units": "By"
@@ -359,6 +373,8 @@
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -369,11 +385,12 @@
             "description": "The available OEM specific actions for this resource.",
             "longDescription": "This type shall contain any additional OEM actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -385,5 +402,6 @@
             "type": "object"
         }
     },
-    "title": "#MemoryMetrics.v1_1_3.MemoryMetrics"
+    "owningEntity": "DMTF",
+    "title": "#MemoryMetrics.v1_1_4.MemoryMetrics"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/Message/Message.json b/static/redfish/v1/JsonSchemas/Message/Message.json
index deeba60..b26884f 100644
--- a/static/redfish/v1/JsonSchemas/Message/Message.json
+++ b/static/redfish/v1/JsonSchemas/Message/Message.json
@@ -1,87 +1,89 @@
 {
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_2_0.json",
-    "title": "#Message.v1_0_5",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Message": {
-            "type": "object",
+            "additionalProperties": false,
+            "description": "This type describes a Message returned by the Redfish service.",
+            "longDescription": "This type shall define a Message as described in the Redfish specification.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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"
-                    ],
-                    "description": "This property shall specify a valid odata or Redfish property."
+                    ]
                 }
             },
-            "additionalProperties": false,
             "properties": {
-                "MessageId": {
-                    "type": "string",
-                    "readonly": true,
-                    "description": "This is the key for this message which can be used to look up the message in a message registry.",
-                    "longDescription": "This property shall be a key into message registry as described in the Redfish specification."
-                },
                 "Message": {
+                    "description": "This is the human readable message, if provided.",
+                    "longDescription": "This property shall contain an optional human readable message.",
+                    "readonly": true,
                     "type": [
                         "string",
                         "null"
-                    ],
-                    "readonly": true,
-                    "description": "This is the human readable message, if provided.",
-                    "longDescription": "This property shall contain an optional human readable message."
-                },
-                "RelatedProperties": {
-                    "type": "array",
-                    "items": {
-                        "type": "string"
-                    },
-                    "readonly": true,
-                    "description": "This is an array of properties described by the message.",
-                    "longDescription": "This property shall contain an array of JSON Pointers indicating the properties described by the message, if appropriate for the message."
+                    ]
                 },
                 "MessageArgs": {
-                    "type": "array",
+                    "description": "This array of message arguments are substituted for the arguments in the message when looked up in the message registry.",
                     "items": {
                         "type": "string"
                     },
+                    "longDescription": "This property shall contain the message substitution arguments for the specific message referenced by the MessageId and shall only be included if the MessageId is present.",
                     "readonly": true,
-                    "description": "This array of message arguments are substituted for the arguments in the message when looked up in the message registry.",
-                    "longDescription": "This property shall contain the message substitution arguments for the specific message referenced by the MessageId and shall only be included if the MessageId is present."
+                    "type": "array"
                 },
-                "Severity": {
-                    "type": [
-                        "string",
-                        "null"
-                    ],
+                "MessageId": {
+                    "description": "This is the key for this message which can be used to look up the message in a message registry.",
+                    "longDescription": "This property shall be a key into message registry as described in the Redfish specification.",
                     "readonly": true,
-                    "description": "This is the severity of the errors.",
-                    "longDescription": "The value of this property shall be the severity of the error, as defined in the Status section of the Redfish specificaiton."
-                },
-                "Resolution": {
-                    "type": [
-                        "string",
-                        "null"
-                    ],
-                    "readonly": true,
-                    "description": "Used to provide suggestions on how to resolve the situation that caused the error.",
-                    "longDescription": "This property shall contain an override of the Resolution of the message in message registry, if present."
+                    "type": "string"
                 },
                 "Oem": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
                     "description": "Oem extension object.",
                     "longDescription": "This object represents the Oem property.  All values for resources described by this schema shall comply to the requirements as described in the Redfish specification."
+                },
+                "RelatedProperties": {
+                    "description": "This is an array of properties described by the message.",
+                    "items": {
+                        "type": "string"
+                    },
+                    "longDescription": "This property shall contain an array of JSON Pointers indicating the properties described by the message, if appropriate for the message.",
+                    "readonly": true,
+                    "type": "array"
+                },
+                "Resolution": {
+                    "description": "Used to provide suggestions on how to resolve the situation that caused the error.",
+                    "longDescription": "This property shall contain an override of the Resolution of the message in message registry, if present.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "Severity": {
+                    "description": "This is the severity of the errors.",
+                    "longDescription": "The value of this property shall be the severity of the error, as defined in the Status section of the Redfish specificaiton.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
                 }
             },
             "required": [
                 "MessageId"
             ],
-            "description": "This type describes a Message returned by the Redfish service.",
-            "longDescription": "This type shall define a Message as described in the Redfish specification."
+            "type": "object"
         }
     },
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright"
-}
+    "owningEntity": "DMTF",
+    "title": "#Message.v1_0_6"
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/MessageRegistry/MessageRegistry.json b/static/redfish/v1/JsonSchemas/MessageRegistry/MessageRegistry.json
index 1fc7d04..a971cb9 100644
--- a/static/redfish/v1/JsonSchemas/MessageRegistry/MessageRegistry.json
+++ b/static/redfish/v1/JsonSchemas/MessageRegistry/MessageRegistry.json
@@ -1,18 +1,19 @@
 {
     "$ref": "#/definitions/MessageRegistry",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_3_0.json",
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
             "description": "The available actions for this resource.",
             "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -22,21 +23,24 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
         },
-        "Message": {
+        "ClearingLogic": {
             "additionalProperties": false,
-            "description": "This type shall reprensent how a message is defined within the registry.",
-            "longDescription": "The type shall represent how a message is defined within within a message registry.",
+            "description": "The clearing logic associated with this message.  The properties within indicate that what messages are cleared by this message as well as under what conditions.",
+            "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -45,6 +49,84 @@
                 }
             },
             "properties": {
+                "ClearsAll": {
+                    "description": "This property indicates that all prior conditions and messages are cleared provided the ClearsIf condition is met.",
+                    "longDescription": "This property shall indicate that all prior conditions and messages are cleared provided the ClearsIf condition is met.",
+                    "readonly": true,
+                    "type": [
+                        "boolean",
+                        "null"
+                    ]
+                },
+                "ClearsIf": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/ClearingType"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource.",
+                    "readonly": true
+                },
+                "ClearsMessage": {
+                    "description": "This property contains the array of Message Ids that are cleared by this message, provided the other conditions are met.",
+                    "items": {
+                        "type": [
+                            "string",
+                            "null"
+                        ]
+                    },
+                    "longDescription": "This property shall contain an array of Message Ids that are cleared by this message, provided the other conditions are met.  The Message Ids shall not include the Registry name or version and shall just be the Message Id portion.  Message Ids shall not reference other Message Registries.",
+                    "readonly": true,
+                    "type": "array"
+                }
+            },
+            "type": "object"
+        },
+        "ClearingType": {
+            "description": "The enumerations of ClearingType specify the choice of conditions on when an event is cleared.",
+            "enum": [
+                "SameOriginOfCondition"
+            ],
+            "enumDescriptions": {
+                "SameOriginOfCondition": "Indicates the message is cleared by the other message(s) listed in the ClearingLogic object, provided the OriginOfCondition for both Events are the same."
+            },
+            "type": "string"
+        },
+        "Message": {
+            "additionalProperties": false,
+            "description": "This type shall reprensent how a message is defined within the registry.",
+            "longDescription": "The type shall represent how a message is defined within within a message registry.",
+            "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": {
+                "ClearingLogic": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/ClearingLogic"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The clearing logic associated with this message.  The properties within indicate that what messages are cleared by this message as well as under what conditions.",
+                    "longDescription": "This type shall contain the available actions for this resource."
+                },
                 "Description": {
                     "description": "This is a short description of how and when this message is to be used.",
                     "longDescription": "The value of this property shall indicate how and when this message is returned by the Redfish service.",
@@ -62,7 +144,7 @@
                     "longDescription": "The value of this property shall be the number of MessageArgs that are expected to be substituted in the Message in the locations within the Message marked by %<integer>.",
                     "minimum": 0,
                     "readonly": true,
-                    "type": "number"
+                    "type": "integer"
                 },
                 "Oem": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
@@ -108,11 +190,12 @@
                 "[A-Za-z0-9]+": {
                     "$ref": "#/definitions/Message"
                 },
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -128,11 +211,12 @@
             "description": "This is the schema definition for all Message Registries.  It represents the properties for the registries themselves.  The MessageId is formed per the Redfish specification.  It consists of the RegistryPrefix concatenated with the version concatenated with the unique identifier for the message registry entry.",
             "longDescription": "This resource shall be used to represent a message registry for a Redfish implementation.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -142,13 +226,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
@@ -215,6 +302,8 @@
                 "RegistryVersion",
                 "OwningEntity",
                 "Messages",
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -225,11 +314,12 @@
             "description": "The available OEM specific actions for this resource.",
             "longDescription": "This type shall contain any additional OEM actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -252,5 +342,6 @@
             "type": "string"
         }
     },
-    "title": "#MessageRegistry.v1_1_1.MessageRegistry"
+    "owningEntity": "DMTF",
+    "title": "#MessageRegistry.v1_2_0.MessageRegistry"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/MessageRegistryFile/MessageRegistryFile.json b/static/redfish/v1/JsonSchemas/MessageRegistryFile/MessageRegistryFile.json
index a8d924f..6f8a9fa 100644
--- a/static/redfish/v1/JsonSchemas/MessageRegistryFile/MessageRegistryFile.json
+++ b/static/redfish/v1/JsonSchemas/MessageRegistryFile/MessageRegistryFile.json
@@ -1,182 +1,207 @@
 {
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_2_0.json",
-    "title": "#MessageRegistryFile.v1_1_0.MessageRegistryFile",
     "$ref": "#/definitions/MessageRegistryFile",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
-        "Location": {
-            "type": "object",
+        "Actions": {
+            "additionalProperties": false,
+            "description": "The available actions for this resource.",
+            "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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"
-                    ],
-                    "description": "This property shall specify a valid odata or Redfish property."
+                    ]
                 }
             },
-            "additionalProperties": false,
             "properties": {
-                "Language": {
-                    "type": "string",
+                "Oem": {
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
+                }
+            },
+            "type": "object"
+        },
+        "Location": {
+            "additionalProperties": false,
+            "description": "Location information for a schema file.",
+            "longDescription": "This type shall define Location information for a schema file.",
+            "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": {
+                "ArchiveFile": {
+                    "description": "If the schema is hosted on the service in an archive file, this is the name of the file within the archive.",
+                    "longDescription": "The value of this property shall be the file name of the individual schema file within the archive file specified by the ArchiveUri property. The file name shall conform to the syntax specified in the Redfish specification.",
                     "readonly": true,
-                    "description": "The language code for the file the schema is in.",
-                    "longDescription": "The value of this property shall be a string consisting of an RFC5646 language code or the string 'default'."
-                },
-                "Uri": {
-                    "type": "string",
-                    "format": "uri",
-                    "readonly": true,
-                    "description": "Link to locally available URI for schema.",
-                    "longDescription": "The value of this property shall be a URI co-located with the Redfish service that specifies the location of the schema file.  This property shall only be used for individual schema files.  The file name portion of the URI shall conform to the syntax specified in the Redfish specification."
+                    "type": "string"
                 },
                 "ArchiveUri": {
-                    "type": "string",
-                    "format": "uri",
-                    "readonly": true,
                     "description": "If the schema is hosted on the service in an archive file, this is the link to the archive file.",
-                    "longDescription": "The value of this property shall be a URI co-located with the Redfish service that specifies the location of the schema file.  This property shall only be used for archive files (zip or other formats).  The value of ArchiveFile shall have the file name of the individual schema file within the archive file."
+                    "format": "uri",
+                    "longDescription": "The value of this property shall be a URI co-located with the Redfish service that specifies the location of the schema file.  This property shall only be used for archive files (zip or other formats).  The value of ArchiveFile shall have the file name of the individual schema file within the archive file.",
+                    "readonly": true,
+                    "type": "string"
+                },
+                "Language": {
+                    "description": "The language code for the file the schema is in.",
+                    "longDescription": "The value of this property shall be a string consisting of an RFC5646 language code or the string 'default'.",
+                    "readonly": true,
+                    "type": "string"
                 },
                 "PublicationUri": {
-                    "type": "string",
-                    "format": "uri",
-                    "readonly": true,
                     "description": "Link to publicly available (canonical) URI for schema.",
-                    "longDescription": "The value of this property shall be a URI not co-located with the Redfish service that specifies the canonical location of the schema file.  This property shall only be used for individual schema files."
-                },
-                "ArchiveFile": {
-                    "type": "string",
+                    "format": "uri",
+                    "longDescription": "The value of this property shall be a URI not co-located with the Redfish service that specifies the canonical location of the schema file.  This property shall only be used for individual schema files.",
                     "readonly": true,
-                    "description": "If the schema is hosted on the service in an archive file, this is the name of the file within the archive.",
-                    "longDescription": "The value of this property shall be the file name of the individual schema file within the archive file specified by the ArchiveUri property. The file name shall conform to the syntax specified in the Redfish specification."
+                    "type": "string"
+                },
+                "Uri": {
+                    "description": "Link to locally available URI for schema.",
+                    "format": "uri",
+                    "longDescription": "The value of this property shall be a URI co-located with the Redfish service that specifies the location of the schema file.  This property shall only be used for individual schema files.  The file name portion of the URI shall conform to the syntax specified in the Redfish specification.",
+                    "readonly": true,
+                    "type": "string"
                 }
             },
-            "description": "Location information for a schema file.",
-            "longDescription": "This type shall define Location information for a schema file."
+            "type": "object"
         },
         "MessageRegistryFile": {
-            "type": "object",
+            "additionalProperties": false,
+            "description": "This is the schema definition for the Schema File locator resource.",
+            "longDescription": "This resource shall be used to represent the Schema File locator resource for a Redfish implementation.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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"
-                    ],
-                    "description": "This property shall specify a valid odata or Redfish property."
+                    ]
                 }
             },
-            "additionalProperties": false,
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
+                },
+                "Actions": {
+                    "$ref": "#/definitions/Actions",
+                    "description": "The available actions for this resource.",
+                    "longDescription": "The Actions property shall contain the available actions for this resource."
+                },
+                "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
+                },
+                "Languages": {
+                    "description": "Language codes for the schemas available.",
+                    "items": {
+                        "type": "string"
+                    },
+                    "longDescription": "The value of this property shall be a string consisting of an RFC 5646 language code.",
+                    "readonly": true,
+                    "type": "array"
+                },
+                "Location": {
+                    "description": "Location information for this registry file.",
+                    "items": {
+                        "$ref": "#/definitions/Location"
+                    },
+                    "longDescription": "This property shall contain the location information for this registry file.",
+                    "type": "array"
+                },
+                "Name": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
+                    "readonly": true
                 },
                 "Oem": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
                     "description": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.",
                     "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
                 },
-                "Id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
-                    "readonly": true
-                },
-                "Description": {
-                    "anyOf": [
-                        {"$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"},
-                        {"type": "null"}
-                    ],
-                    "readonly": true
-                },
-                "Name": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
-                    "readonly": true
-                },
-                "Languages": {
-                    "type": "array",
-                    "items": {
-                        "type": "string"
-                    },
-                    "readonly": true,
-                    "description": "Language codes for the schemas available.",
-                    "longDescription": "The value of this property shall be a string consisting of an RFC 5646 language code."
-                },
                 "Registry": {
-                    "type": "string",
+                    "description": "The Registry Name, Major, and Minor version.  This Registry can reference any type of Registry, such as a Message Registry, Privilege Registry, or Attribute Registry.",
+                    "longDescription": "The value of this property shall be the value of the Registry Name, Major, and Minor version.  This Registry may reference any type of Registry, such as a Message Registry, Privilege Registry, or Attribute Registry.",
                     "readonly": true,
-                    "description": "The Registry Name, Major and Minor version used in MessageID construction.",
-                    "longDescription": "The value of this property shall be the value of the Registry Name, Major and Minor version and shall conform to the syntax specified in the Redfish specification for the MessageId property without the MessageKey."
-                },
-                "Location": {
-                    "type": "array",
-                    "items": {
-                        "$ref": "#/definitions/Location"
-                    },
-                    "description": "Location information for this schema file."
-                },
-                "Actions": {
-                    "type": "object",
-                    "patternProperties": {
-                        "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
-                            "type": [
-                                "array",
-                                "boolean",
-                                "number",
-                                "null",
-                                "object",
-                                "string"
-                            ],
-                            "description": "This property shall specify a valid odata or Redfish property."
-                        }
-                    },
-                    "additionalProperties": false,
-                    "properties": {
-                        "Oem": {
-                            "type": "object",
-                            "patternProperties": {
-                                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
-                                    "type": [
-                                        "array",
-                                        "boolean",
-                                        "number",
-                                        "null",
-                                        "object",
-                                        "string"
-                                    ],
-                                    "description": "This property shall specify a valid odata or Redfish property."
-                                }
-                            },
-                            "additionalProperties": true,
-                            "properties": {},
-                            "description": "The available OEM specific actions for this resource.",
-                            "longDescription": "This type shall contain any additional OEM actions for this resource."
-                        }
-                    },
-                    "description": "The available actions for this resource.",
-                    "longDescription": "The Actions property shall contain the available actions for this resource."
+                    "type": "string"
                 }
             },
             "required": [
-                "Id",
-                "Name",
                 "Languages",
                 "Registry",
-                "Location"
+                "Location",
+                "@odata.id",
+                "@odata.type",
+                "Id",
+                "Name"
             ],
-            "description": "This is the schema definition for the Schema File locator resource.",
-            "longDescription": "This resource shall be used to represent the Schema File locator resource for a Redfish implementation."
+            "type": "object"
+        },
+        "OemActions": {
+            "additionalProperties": true,
+            "description": "The available OEM specific actions for this resource.",
+            "longDescription": "This type shall contain any additional OEM actions for this resource.",
+            "patternProperties": {
+                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[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"
         }
     },
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright"
-}
+    "owningEntity": "DMTF",
+    "title": "#MessageRegistryFile.v1_1_1.MessageRegistryFile"
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/MetricDefinition/MetricDefinition.json b/static/redfish/v1/JsonSchemas/MetricDefinition/MetricDefinition.json
new file mode 100644
index 0000000..9de14eb
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/MetricDefinition/MetricDefinition.json
@@ -0,0 +1,526 @@
+{
+    "$ref": "#/definitions/MetricDefinition",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 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": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
+                }
+            },
+            "type": "object"
+        },
+        "Calculable": {
+            "description": "The types of calculations which can be applied to the metric reading.  This property provides information to the client on the suitability of calculatiion using the metric reading.",
+            "enum": [
+                "NonCalculatable",
+                "Summable",
+                "NonSummable"
+            ],
+            "enumDescriptions": {
+                "NonCalculatable": "No calculations should be performed on the metric reading.",
+                "NonSummable": "The sum of the metric reading across multiple instances is not meaningful.",
+                "Summable": "The sum of the metric reading across multiple instances is meaningful."
+            },
+            "longDescription": "The value shall indicate the types of calculations which can applied to the metric reading.",
+            "type": "string"
+        },
+        "CalculationAlgorithmEnum": {
+            "enum": [
+                "Average",
+                "Maximum",
+                "Minimum"
+            ],
+            "enumDescriptions": {
+                "Average": "The metric is calculated as the average of a metric reading over a sliding time interval.",
+                "Maximum": "The metric is calculated as the maximum value of a metric reading over during a time interval.",
+                "Minimum": "The metric is calculated as the minimum value of a metric reading over a sliding time interval."
+            },
+            "enumLongDescriptions": {
+                "Average": "The metric shall be calculated as the average of a metric reading over a sliding time interval.  The time interval shall be the value of the CalculationTimeInterval property.",
+                "Maximum": "The metric shall be calculated as the maximum of a metric reading over a sliding time interval.  The time interval shall be the value of the CalculationTimeInterval property.",
+                "Minimum": "The metric shall be calculated as the minimum of a metric reading over a sliding time interval.  The time interval shall be the value of the CalculationTimeInterval property."
+            },
+            "type": "string"
+        },
+        "CalculationParamsType": {
+            "additionalProperties": false,
+            "description": "Specifies the usage of the parameter in the calculation.",
+            "longDescription": "The value of the list element shall be the usage of the parameter in the calculation.  This property is present when the MetricType property has the value 'Synthesized'.",
+            "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": {
+                "ResultMetric": {
+                    "description": "The metric property used to store the results of the calculation.",
+                    "longDescription": "This property shall contain a reference to a metric property wsed to place the result of the calcuation.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "SourceMetric": {
+                    "description": "The metric property used as the input into the calculation.",
+                    "longDescription": "This property shall contain a reference to a metric property used in a calcuation.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                }
+            },
+            "type": "object"
+        },
+        "ImplementationType": {
+            "enum": [
+                "PhysicalSensor",
+                "Calculated",
+                "Synthesized",
+                "DigitalMeter"
+            ],
+            "enumDescriptions": {
+                "Calculated": "The metric is implemented by applying a calculation on another metric property.  The calculation is specified in the CalculationAlgorithm property.",
+                "DigitalMeter": "The metric is implemented as digital meter.",
+                "PhysicalSensor": "The metric is implemented as a physical sensor.",
+                "Synthesized": "The metric is implemented by applying a calculation on one or more metric properties.  (The calculation is not specified.  For expressing generalized formula, see MathSON)."
+            },
+            "type": "string"
+        },
+        "MetricDataType": {
+            "description": "The data type of the related metric values.  The property provides information to the client on the nature of the metric reading.",
+            "enum": [
+                "Boolean",
+                "DateTime",
+                "Decimal",
+                "Integer",
+                "String",
+                "Enumeration"
+            ],
+            "enumDescriptions": {
+                "Boolean": "The data type follows the JSON Boolean definition.",
+                "DateTime": "The data type follows the JSON String definition with the Date-Time format applied.",
+                "Decimal": "The data type follows the JSON Decimal definition.",
+                "Enumeration": "The data type follows the JSON String definition with a set of enumerations defined.",
+                "Integer": "The data type follows the JSON Integer definition.",
+                "String": "The data type follows the JSON String definition."
+            },
+            "longDescription": "The value shall be the data type of the related metric values as defined by JSON data types.",
+            "type": "string"
+        },
+        "MetricDefinition": {
+            "additionalProperties": false,
+            "description": "The metadata information about a metric.",
+            "longDescription": "Shall define the metadata information about a metric.",
+            "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_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
+                },
+                "@odata.id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
+                },
+                "@odata.type": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
+                },
+                "Accuracy": {
+                    "description": "Estimated percent error of measured vs. actual values.",
+                    "longDescription": "The value of the property shall be the percent error +/- of the measured vs. actual values.  The property is not meaningful, when the MetricType property has the value 'Discrete'.",
+                    "readonly": true,
+                    "type": [
+                        "number",
+                        "null"
+                    ]
+                },
+                "Actions": {
+                    "$ref": "#/definitions/Actions",
+                    "description": "The available actions for this resource.",
+                    "longDescription": "The Actions property shall contain the available actions for this resource."
+                },
+                "Calculable": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/Calculable"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "Indicates whether the  metric can be used in a calculation.",
+                    "longDescription": "The value shall specify whether the metric can be used in a calculation.",
+                    "readonly": false
+                },
+                "CalculationAlgorithm": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/CalculationAlgorithmEnum"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The calculation which is performed on a source metric to obtain the metric being defined.",
+                    "longDescription": "The value of this property shall specify the calculation performed to obtain the metric.",
+                    "readonly": true
+                },
+                "CalculationParameters": {
+                    "description": "Specifies the metric properties which are part of the synthesis calculation.  This property is present when the MetricType property has the value 'Synthesized'.",
+                    "items": {
+                        "anyOf": [
+                            {
+                                "$ref": "#/definitions/CalculationParamsType"
+                            },
+                            {
+                                "type": "null"
+                            }
+                        ]
+                    },
+                    "longDescription": "Shall list the metric properties which are part of the synthesis calculation.  When MetricType=Synthesis, this property may be present.",
+                    "type": "array"
+                },
+                "CalculationTimeInterval": {
+                    "description": "The time interval over which the metric calculation is performed.",
+                    "longDescription": "The value shall specify the time interval over the metric calculation is performed.  The format of the value shall conform to the Duration format.",
+                    "pattern": "-?P(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+(.\\d+)?S)?)?",
+                    "readonly": false,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "Calibration": {
+                    "description": "Specifies the calibration offset added to the metric reading.",
+                    "longDescription": "The value shall be the calibration offset added to the metric reading.  The value shall have the units specified in the property Units.  The property is not meaningful, when the MetricType property has the value 'Discrete'.",
+                    "readonly": true,
+                    "type": [
+                        "number",
+                        "null"
+                    ]
+                },
+                "Description": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "readonly": true
+                },
+                "DiscreteValues": {
+                    "description": "This array property specifies possible values of a discrete metric.",
+                    "items": {
+                        "type": [
+                            "string",
+                            "null"
+                        ]
+                    },
+                    "longDescription": "The values of the property shall specify the possible values of the discrete metic.  This property shall have values when the MetricType property has the value 'Discrete'.",
+                    "readonly": false,
+                    "type": "array"
+                },
+                "Id": {
+                    "$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 metric.",
+                    "longDescription": "The value shall specify the implementation of the metric.",
+                    "readonly": true
+                },
+                "IsLinear": {
+                    "description": "Indicates whether the metric values are linear (vs non-linear).",
+                    "longDescription": "The value shall specify that the corresponding metric values shall be linear or non-linear.  Linear metrics may be compared using a greater than relation.  An example of linear metrics include performance metrics.  Examples of non-linear metrics include error codes.",
+                    "readonly": false,
+                    "type": [
+                        "boolean",
+                        "null"
+                    ]
+                },
+                "MaxReadingRange": {
+                    "description": "Maximum value for metric reading.",
+                    "longDescription": "The value shall indicate the highest possible value for a related MetricValue.  The value shall have the units specified in the property Units.  The property is not meaningful, when the MetricType property has the value 'Discrete'.",
+                    "readonly": true,
+                    "type": [
+                        "number",
+                        "null"
+                    ]
+                },
+                "MetricDataType": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/MetricDataType"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The data type of the metric.",
+                    "longDescription": "The value shall specify the data-type of the metric.",
+                    "readonly": false
+                },
+                "MetricProperties": {
+                    "description": "A collection of URI for the properties on which this metric definition is defined.",
+                    "format": "uri",
+                    "items": {
+                        "type": [
+                            "string",
+                            "null"
+                        ]
+                    },
+                    "longDescription": "Each value may contain one or more Wildcard names enclosed in curly braces.  Wildcard value entries shall be substituted for each Wildcard name found.  If two or more wild names are found, the same Wildcard index is used for each in one substitution pass.  After substituting the WildCard values entries, each value shall be a URI for a property in a resource that matches a property declaration in the corresponding MetricDefinition.",
+                    "readonly": false,
+                    "type": "array"
+                },
+                "MetricType": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/MetricType"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The type of metric.",
+                    "longDescription": "The value shall specify the type of metric.",
+                    "readonly": false
+                },
+                "MinReadingRange": {
+                    "description": "Minimum value for metric reading.",
+                    "longDescription": "The value shall be the lowest possible value for the metric reading.  The value shall have the units specified in the property Units.  The property is not meaningful, when the MetricType property has the value 'Discrete'.",
+                    "readonly": true,
+                    "type": [
+                        "number",
+                        "null"
+                    ]
+                },
+                "Name": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
+                    "readonly": true
+                },
+                "Oem": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.",
+                    "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
+                },
+                "PhysicalContext": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/PhysicalContext.json#/definitions/PhysicalContext"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "Specifies the physical context of the metric.",
+                    "longDescription": "The value of this property shall specify the physical context of the metric.",
+                    "readonly": true
+                },
+                "Precision": {
+                    "description": "Number of significant digits in the metric reading.",
+                    "longDescription": "The value of the property shall specify the number of significant digits in the metric reading.  The property is not meaningful, when the MetricType property has the value 'Discrete'.",
+                    "readonly": true,
+                    "type": [
+                        "integer",
+                        "null"
+                    ]
+                },
+                "SensingInterval": {
+                    "description": "The time interval between when a metric is updated.",
+                    "longDescription": "The value shall specify the time interval between when a metric is updated.  The format of the value shall conform to the Duration format.",
+                    "pattern": "-?P(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+(.\\d+)?S)?)?",
+                    "readonly": false,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "TimestampAccuracy": {
+                    "description": "Accuracy of the timestamp.",
+                    "longDescription": "The value shall specify the expected + or - variability of the timestamp.  The format of the value shall conform to the Duration format.",
+                    "pattern": "-?P(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+(.\\d+)?S)?)?",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "Units": {
+                    "description": "The units of measure for this metric.",
+                    "longDescription": "The value shall specify the units of the metric. shall be consistent with the case sensitive Unified Code for Units of Measure as defined at http://unitsofmeasure.org/ucum.html.  Note: the units of measure is not covered in UCUM.",
+                    "readonly": false,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "Wildcards": {
+                    "description": "Wildcards used to replace values in AppliesTo and Calculates metric property arrays.",
+                    "items": {
+                        "anyOf": [
+                            {
+                                "$ref": "#/definitions/Wildcard"
+                            },
+                            {
+                                "type": "null"
+                            }
+                        ]
+                    },
+                    "longDescription": "The property shall contain an array of wildcards and their replacements strings, which are to appliced to the AppliesTo or Caculates array.",
+                    "type": "array"
+                }
+            },
+            "required": [
+                "@odata.id",
+                "@odata.type",
+                "Id",
+                "Name"
+            ],
+            "type": "object"
+        },
+        "MetricType": {
+            "description": "Specifies the type of metric provided.  The property provides information to the client on how the metric can be handled.",
+            "enum": [
+                "Numeric",
+                "Discrete",
+                "Gauge",
+                "Counter",
+                "Countdown"
+            ],
+            "enumDescriptions": {
+                "Countdown": "The metric is a countdown metric.  The metric reading is a non-negative integer which decreases monotonically.  When a counter reaches its minimum, the value resets to preset value and resumes counting down.",
+                "Counter": "The metric is a counter metric.  The metric reading is a non-negative integer which increases monotonically.  When a counter reaches its maximum, the value resets to 0 and resumes counting.",
+                "Discrete": "The metric is a discrete metric.  The metric value is discrete.  The possible values are listed in the DiscreteValues property.",
+                "Gauge": "The metric is a gauge metric.  The metric value is a real number.  When the metric value reaches the gauges extrema, it stays at that value, until the reading falls within the extrema.",
+                "Numeric": "The metric is a numeric metric.  The metric value is any real number."
+            },
+            "enumLongDescriptions": {
+                "Discrete": "The metric values shall indicate discrete states."
+            },
+            "longDescription": "The value of this property shall specify the type of metric.",
+            "type": "string"
+        },
+        "OemActions": {
+            "additionalProperties": true,
+            "description": "The available OEM specific actions for this resource.",
+            "longDescription": "This type shall contain any additional OEM actions for this resource.",
+            "patternProperties": {
+                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[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"
+        },
+        "Wildcard": {
+            "additionalProperties": false,
+            "description": "Contains a list of wildcards and their substitution values.",
+            "longDescription": "Each wildcard shall have a corresponding entry in this list element.  Each entry shall specified the wildcard and its substitution values.",
+            "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": {
+                "Name": {
+                    "description": "The name of Wildcard.",
+                    "longDescription": "This property shall contain the string used as a Wildcard.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "Values": {
+                    "description": "An array of values to substitute for the wildcard.",
+                    "items": {
+                        "type": [
+                            "string",
+                            "null"
+                        ]
+                    },
+                    "longDescription": "This property shall contain the list of values to substituted for the wildcard.",
+                    "readonly": true,
+                    "type": "array"
+                }
+            },
+            "type": "object"
+        }
+    },
+    "owningEntity": "DMTF",
+    "title": "#MetricDefinition.v1_0_0.MetricDefinition"
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/MetricDefinition/index.json b/static/redfish/v1/JsonSchemas/MetricDefinition/index.json
new file mode 100644
index 0000000..33878d3
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/MetricDefinition/index.json
@@ -0,0 +1,21 @@
+{
+    "@odata.context": "/redfish/v1/$metadata#JsonSchemaFile.JsonSchemaFile",
+    "@odata.id": "/redfish/v1/JSONSchemas/MetricDefinition",
+    "@odata.type": "#JsonSchemaFile.v1_0_2.JsonSchemaFile",
+    "Name": "MetricDefinition Schema File",
+    "Schema": "#MetricDefinition.MetricDefinition",
+    "Description": "MetricDefinition Schema File Location",
+    "Id": "MetricDefinition",
+    "Languages": [
+        "en"
+    ],
+    "Languages@odata.count": 1,
+    "Location": [
+        {
+            "Language": "en",
+            "PublicationUri": "http://redfish.dmtf.org/schemas/v1/MetricDefinition.json",
+            "Uri": "/redfish/v1/JSONSchemas/MetricDefinition/MetricDefinition.json"
+        }
+    ],
+    "Location@odata.count": 1
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/MetricReport/MetricReport.json b/static/redfish/v1/JsonSchemas/MetricReport/MetricReport.json
new file mode 100644
index 0000000..3206640
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/MetricReport/MetricReport.json
@@ -0,0 +1,220 @@
+{
+    "$ref": "#/definitions/MetricReport",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 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": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
+                }
+            },
+            "type": "object"
+        },
+        "MetricReport": {
+            "additionalProperties": false,
+            "description": "The metric definitions used to create a metric report.",
+            "longDescription": "The value shall be reference to the definition for this metric report.",
+            "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_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
+                },
+                "@odata.id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
+                },
+                "@odata.type": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
+                },
+                "Actions": {
+                    "$ref": "#/definitions/Actions",
+                    "description": "The available actions for this resource.",
+                    "longDescription": "The Actions property shall contain the available actions for this resource."
+                },
+                "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
+                },
+                "MetricReportDefinition": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/MetricReportDefinition.json#/definitions/MetricReportDefinition",
+                    "description": "The metric definitions used to create a metric report.",
+                    "longDescription": "The value shall be reference to the definition for this metric report.",
+                    "readonly": true
+                },
+                "MetricValues": {
+                    "description": "An array of metric values for the metered items of this Metric.",
+                    "items": {
+                        "anyOf": [
+                            {
+                                "$ref": "#/definitions/MetricValue"
+                            },
+                            {
+                                "type": "null"
+                            }
+                        ]
+                    },
+                    "longDescription": "The values shall be metric values for this MetricReport.",
+                    "type": "array"
+                },
+                "Name": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
+                    "readonly": true
+                },
+                "Oem": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.",
+                    "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
+                },
+                "ReportSequence": {
+                    "description": "The current sequence identifier for this metric report.",
+                    "longDescription": "The value shall be the current sequence identifier for this metric report.",
+                    "readonly": true,
+                    "type": "string"
+                }
+            },
+            "required": [
+                "ReportSequence",
+                "@odata.id",
+                "@odata.type",
+                "Id",
+                "Name"
+            ],
+            "type": "object"
+        },
+        "MetricValue": {
+            "additionalProperties": false,
+            "description": "A metric Value.",
+            "longDescription": "A metric value in the context of a Metric.",
+            "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": {
+                "MetricDefinition": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/MetricDefinition.json#/definitions/MetricDefinition",
+                    "description": "A link to the Metric Definition.",
+                    "longDescription": "The value shall be reference to the Metric Definition resource that describes what this Metric Report is capturing.",
+                    "readonly": true
+                },
+                "MetricId": {
+                    "description": "The metric definitions identifier for this metric.",
+                    "longDescription": "The value shall be the same as the Id property of the source metric within the associated MetricDefinition.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "MetricProperty": {
+                    "description": "The URI for the property from which this metric is derived.",
+                    "format": "uri",
+                    "longDescription": "The value shall be URI to the a property following the JSON fragment notation, as defined by RFC6901, to identify an individual property in a Redfish resource.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "MetricValue": {
+                    "description": "The value identifies this resource.",
+                    "longDescription": "The value of the metric represented as a string.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "Timestamp": {
+                    "description": "The time when the value of the metric is obtained.",
+                    "format": "date-time",
+                    "longDescription": "The value shall time when the metric value was obtained.  Note that this may be different from the time when this instance is created.  If Volatile is true for a given metric value instance, the Timestamp changes whenever a new measurement snapshot is taken.  A management application may establish a time series of metric data by retrieving the instances of metric value and sorting them according to their Timestamp.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                }
+            },
+            "type": "object"
+        },
+        "OemActions": {
+            "additionalProperties": true,
+            "description": "The available OEM specific actions for this resource.",
+            "longDescription": "This type shall contain any additional OEM actions for this resource.",
+            "patternProperties": {
+                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[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",
+    "title": "#MetricReport.v1_0_0.MetricReport"
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/MetricReport/index.json b/static/redfish/v1/JsonSchemas/MetricReport/index.json
new file mode 100644
index 0000000..6580169
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/MetricReport/index.json
@@ -0,0 +1,21 @@
+{
+    "@odata.context": "/redfish/v1/$metadata#JsonSchemaFile.JsonSchemaFile",
+    "@odata.id": "/redfish/v1/JSONSchemas/MetricReport",
+    "@odata.type": "#JsonSchemaFile.v1_0_2.JsonSchemaFile",
+    "Name": "MetricReport Schema File",
+    "Schema": "#MetricReport.MetricReport",
+    "Description": "MetricReport Schema File Location",
+    "Id": "MetricReport",
+    "Languages": [
+        "en"
+    ],
+    "Languages@odata.count": 1,
+    "Location": [
+        {
+            "Language": "en",
+            "PublicationUri": "http://redfish.dmtf.org/schemas/v1/MetricReport.json",
+            "Uri": "/redfish/v1/JSONSchemas/MetricReport/MetricReport.json"
+        }
+    ],
+    "Location@odata.count": 1
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/MetricReportDefinition/MetricReportDefinition.json b/static/redfish/v1/JsonSchemas/MetricReportDefinition/MetricReportDefinition.json
new file mode 100644
index 0000000..7391baa
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/MetricReportDefinition/MetricReportDefinition.json
@@ -0,0 +1,430 @@
+{
+    "$ref": "#/definitions/MetricReportDefinition",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 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": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
+                }
+            },
+            "type": "object"
+        },
+        "CalculationAlgorithmEnum": {
+            "description": "Specifies the function to apply to the list of metric properties.",
+            "enum": [
+                "Average",
+                "Maximum",
+                "Minimum",
+                "Summation"
+            ],
+            "enumDescriptions": {
+                "Average": "The metric is calculated as the average of a metric reading over a sliding time interval.",
+                "Maximum": "The metric is calculated as the maximum value of a metric reading over during a time interval.",
+                "Minimum": "The metric is calculated as the minimum value of a metric reading over a sliding time interval.",
+                "Summation": "The metric is calculated as the sum of the values over a sliding time interval."
+            },
+            "enumLongDescriptions": {
+                "Average": "The metric shall be calculated as the average of a metric reading over a sliding time interval.  The time interval shall be the value of the CalculationTimeInterval property.",
+                "Maximum": "The metric shall be calculated as the maximum of a metric reading over a sliding time interval.  The time interval shall be the value of the CalculationTimeInterval property.",
+                "Minimum": "The metric shall be calculated as the minimum of a  metric reading over a sliding time interval.  The time interval shall be the value of the CalculationTimeInterval property.",
+                "Summation": "The metric shall be calculated as the sum of the the specified metric reading over a sliding time interval.  The time interval shall be the value of the CalculationTimeInterval property."
+            },
+            "longDescription": "The value shall specify the function to apply to the list of metric properties.",
+            "type": "string"
+        },
+        "CollectionTimeScope": {
+            "description": "The time scope of the related metric values.",
+            "enum": [
+                "Point",
+                "Interval",
+                "StartupInterval"
+            ],
+            "enumDescriptions": {
+                "Interval": "The corresponding metric values apply to a time interval.  On the corresponding metric value instances, the value of Timestamp shall specify the end of the time interval and Duration shall specify its duration.",
+                "Point": "The corresponding metric values apply to a point in time.  On the corresponding metric value instances, the value of Timestamp shall specify the point in time.",
+                "StartupInterval": "The corresponding metric values apply to a time interval that began at the startup of the measured resource (i.e. the Resources associated by Links.MetricDefinitionForResources).  On the corresponding metric value instances, the value of Timestamp shall specify the end of the time interval.  The value of Duration shall specifies the duration between startup of the resource and TimeStamp."
+            },
+            "longDescription": "The value of the property shall specify the time scope of the corresponding metric values.",
+            "type": "string"
+        },
+        "Metric": {
+            "additionalProperties": false,
+            "description": "Specifies a metric to include in the metric report. The metrics are derived by applying a calculation on each of the listed metric properties.",
+            "longDescription": "The properties shall specify a metric to include in the metric report. The metrics shall be derived by applying the algorithm specified in CollectionnFunction property to each of the metric properties listed in the MetricProperties property.",
+            "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": {
+                "CollectionDuration": {
+                    "description": "Specifies the duration over which the function is computed.",
+                    "longDescription": "The value shall specify the duration over which the function is computed.  The value shall conform to the Duration format.",
+                    "pattern": "-?P(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+(.\\d+)?S)?)?",
+                    "readonly": false,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "CollectionFunction": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/CalculationAlgorithmEnum"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "Specified the function to perform on each of the metric properties listed in the MetricProperties property.",
+                    "longDescription": "The property shall specify the function to perform on each of the metric properties listed in the MetricProperties property.",
+                    "readonly": false
+                },
+                "CollectionTimeScope": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/CollectionTimeScope"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "Specifies the scope of time scope over which the function is applied.",
+                    "longDescription": "The value shall specify the scope of time over which the function is applied.",
+                    "readonly": false
+                },
+                "MetricId": {
+                    "description": "Specifies the label for the metric definition which is derived by applying the CollectionFunction to the metric property.",
+                    "longDescription": "This property shall specify a label for use in the metric report for the metric which is derived metrics by applying the CollectionFunction to the metric property.  This property shall match the Id property of the corresponding metric definition resource.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "MetricProperties": {
+                    "description": "A collection of URI for the properties on which this metric is collected.",
+                    "format": "uri",
+                    "items": {
+                        "type": [
+                            "string",
+                            "null"
+                        ]
+                    },
+                    "longDescription": "Each value may contain one or more Wildcard names enclosed in curly braces.  Wildcard value entries shall be substituted for each Wildcard name found.  If two or more wild names are found, the same Wildcard index is used for each in one substitution pass.  After substituting the WildCard values entries, each value shall be a URI for a property in a resource that matches a property declaration in the corresponding MetricDefinition.",
+                    "readonly": false,
+                    "type": "array"
+                }
+            },
+            "type": "object"
+        },
+        "MetricReportDefinition": {
+            "additionalProperties": false,
+            "description": "A set of metrics that are collected into a metric report.",
+            "longDescription": "This resource specifies a set of metrics that shall be collected into a metric report.",
+            "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_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
+                },
+                "@odata.id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
+                },
+                "@odata.type": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
+                },
+                "Actions": {
+                    "$ref": "#/definitions/Actions",
+                    "description": "The available actions for this resource.",
+                    "longDescription": "The Actions property shall contain the available actions for this resource."
+                },
+                "AppendLimit": {
+                    "description": "Indicates the maximum number of entries that can be appended to a metric report.  When the metric report reaches its limit, its behavior is dictated by the ReportUpdates property.",
+                    "longDescription": "This property shall be a number that indicates the maximum number of entries that can be appended to a metric report.  When the metric report reaches its limit, its behavior shall be dictated by the ReportUpdates property.  This property shall be required if ReportUpdates is either AppendWrapsWhenFull or AppendStopsWhenFull.",
+                    "minimum": 0,
+                    "readonly": true,
+                    "type": "integer"
+                },
+                "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
+                },
+                "MetricProperties": {
+                    "description": "Specifies a list of metric properties to include in the metric report.",
+                    "format": "uri",
+                    "items": {
+                        "type": [
+                            "string",
+                            "null"
+                        ]
+                    },
+                    "longDescription": "This property shall specify the metric properties to include in the metric report.  Each entry shall be a URI, and may contain wildcards.  The wildcards shall be enclosed by curly braces.  The list of metric properties to include shall be constructed by replacing wildcards with the value in the Wildcard property.  Property identifiers in the URI shall follow JSON fragment notation rules defined by RFC6901.",
+                    "readonly": false,
+                    "type": "array"
+                },
+                "MetricReport": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/MetricReport.json#/definitions/MetricReport",
+                    "description": "Specifies the location where the resultant metric report is placed.",
+                    "longDescription": "This property shall be a reference to the resource where the resultant metric report is placed.",
+                    "readonly": true
+                },
+                "MetricReportDefinitionType": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/MetricReportDefinitionType"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "Specifies when the metric report is generated.",
+                    "longDescription": "The value shall specify when the metric report is generated.  If the value of the property is 'Periodic', then the Schedule property shall be present.",
+                    "readonly": false
+                },
+                "Metrics": {
+                    "description": "Specifies a list of metrics to include in the metric report.  The metrics may include metric properties or calculations applied to a metric property.",
+                    "items": {
+                        "anyOf": [
+                            {
+                                "$ref": "#/definitions/Metric"
+                            },
+                            {
+                                "type": "null"
+                            }
+                        ]
+                    },
+                    "longDescription": "The property shall specify a list of metrics to include in the metric report.  The metrics may include metric properties or calculations applied to a metric property.",
+                    "type": "array"
+                },
+                "Name": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
+                    "readonly": true
+                },
+                "Oem": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.",
+                    "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
+                },
+                "ReportActions": {
+                    "description": "Specifies the actions to perform when a metric report is generated.",
+                    "items": {
+                        "$ref": "#/definitions/ReportActionsEnum"
+                    },
+                    "longDescription": "The value of this property shall specify the actions to perform when the metric report is generated.  The options are transmit an event or create a metric report resource.",
+                    "readonly": true,
+                    "type": "array"
+                },
+                "ReportUpdates": {
+                    "$ref": "#/definitions/ReportUpdatesEnum",
+                    "description": "When logging metric reports, specifies how subsequent metric reports are handled in relationship to an existing metric report created from the metric report definition.  Namely, whether to overwrite, append, or create new report resource.",
+                    "longDescription": "The value of this property shall specify how subsequent metric reports are handled in relationship to an existing metric report created from the metric report definition.",
+                    "readonly": true
+                },
+                "Schedule": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Schedule.json#/definitions/Schedule",
+                    "description": "Specifies the schedule for generating the metric report.",
+                    "longDescription": "If the schedule present, the metric report is generated at an interval specified by Schedule.RecurrenceInterval property.  If Schedule.MaxOccurrences is specified, the metric report will no longer be generated after the specified number of occurances."
+                },
+                "Status": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
+                },
+                "Wildcards": {
+                    "description": "Specifies the strings used to replace wildcards in the paths in MetricProperties array property.",
+                    "items": {
+                        "anyOf": [
+                            {
+                                "$ref": "#/definitions/Wildcard"
+                            },
+                            {
+                                "type": "null"
+                            }
+                        ]
+                    },
+                    "longDescription": "The property shall specify an array of strings used to replace wildcards in the paths in the MetricProperties array property.",
+                    "type": "array"
+                }
+            },
+            "required": [
+                "@odata.id",
+                "@odata.type",
+                "Id",
+                "Name"
+            ],
+            "type": "object"
+        },
+        "MetricReportDefinitionType": {
+            "description": "Indicates when the metric report is generated.",
+            "enum": [
+                "Periodic",
+                "OnChange",
+                "OnRequest"
+            ],
+            "enumDescriptions": {
+                "OnChange": "The metric report is generated when any of the metric values change.",
+                "OnRequest": "The metric report is generated when a HTTP GET is performed on the specified metric report.",
+                "Periodic": "The metric report is generated at a periodic time interval, specified in the Schedule property."
+            },
+            "longDescription": "The value shall specify when the metric report is generated.",
+            "type": "string"
+        },
+        "OemActions": {
+            "additionalProperties": true,
+            "description": "The available OEM specific actions for this resource.",
+            "longDescription": "This type shall contain any additional OEM actions for this resource.",
+            "patternProperties": {
+                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[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"
+        },
+        "ReportActionsEnum": {
+            "description": "Actions to perform when a metric report is generated.",
+            "enum": [
+                "LogToMetricReportsCollection",
+                "RedfishEvent"
+            ],
+            "enumDescriptions": {
+                "LogToMetricReportsCollection": "When a metric report is scheduled to be generated, record the occurrence to the Metric Report Collection.",
+                "RedfishEvent": "When a metric report is scheduled to be generated, send a Redfish Event message of type MetricReport."
+            },
+            "enumLongDescriptions": {
+                "LogToMetricReportsCollection": "When a metric report is scheduled to be generated, the service shall record the occurrence to the Metric Report Collection found under the Telemetry Service.  The service shall update the Metric Report Collection based on the setting of the ReportUpdates property.",
+                "RedfishEvent": "When a metric report is scheduled to be generated, the service shall produce a Redfish Event of type MetricReport to matching subscribers indicated in the EventSubscription collection found on the EventService."
+            },
+            "longDescription": "The value shall specify the actions to perform when a metric report is generated.",
+            "type": "string"
+        },
+        "ReportUpdatesEnum": {
+            "description": "How to what to do with subsequent metric reports when a metric report already exists.",
+            "enum": [
+                "Overwrite",
+                "AppendWrapsWhenFull",
+                "AppendStopsWhenFull",
+                "NewReport"
+            ],
+            "enumDescriptions": {
+                "AppendStopsWhenFull": "When a metric report is updated, append to the specified metric report resource.  This also indicates that the metric report stops adding entries when the metric report has reached its maximum capacity.",
+                "AppendWrapsWhenFull": "When a metric report is updated, append to the specified metric report resource.  This also indicates that the metric report overwrites its entries with new entries when the metric report has reached its maximum capacity.",
+                "NewReport": "When a metric report is updated, create a new metric report resource, whose resource name is the metric report resource name concatenated with the timestamp.",
+                "Overwrite": "When a metric report is updated, overwrite the specified metric report resource."
+            },
+            "longDescription": "The value shall specify what to do with subsequent metric reports when a metric report already exists.",
+            "type": "string"
+        },
+        "Wildcard": {
+            "additionalProperties": false,
+            "description": "Contains a list of wildcards and their substitution values.",
+            "longDescription": "Each wildcard shall have a corresponding entry in this list element.  Each entry shall specified the wildcard and its substitution values.",
+            "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": {
+                "Keys": {
+                    "description": "An array of Key values to substitute for the wildcard.",
+                    "items": {
+                        "type": [
+                            "string",
+                            "null"
+                        ]
+                    },
+                    "longDescription": "If the value is an empty string, then the server shall substitute every current key.  Each not empty key value shall be substituted for the wildcard.",
+                    "readonly": true,
+                    "type": "array"
+                },
+                "Name": {
+                    "description": "The name of Wildcard.",
+                    "longDescription": "This property shall contain a name for a Wildcard for a key.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                }
+            },
+            "type": "object"
+        }
+    },
+    "owningEntity": "DMTF",
+    "title": "#MetricReportDefinition.v1_0_0.MetricReportDefinition"
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/MetricReportDefinition/index.json b/static/redfish/v1/JsonSchemas/MetricReportDefinition/index.json
new file mode 100644
index 0000000..9e8796d
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/MetricReportDefinition/index.json
@@ -0,0 +1,21 @@
+{
+    "@odata.context": "/redfish/v1/$metadata#JsonSchemaFile.JsonSchemaFile",
+    "@odata.id": "/redfish/v1/JSONSchemas/MetricReportDefinition",
+    "@odata.type": "#JsonSchemaFile.v1_0_2.JsonSchemaFile",
+    "Name": "MetricReportDefinition Schema File",
+    "Schema": "#MetricReportDefinition.MetricReportDefinition",
+    "Description": "MetricReportDefinition Schema File Location",
+    "Id": "MetricReportDefinition",
+    "Languages": [
+        "en"
+    ],
+    "Languages@odata.count": 1,
+    "Location": [
+        {
+            "Language": "en",
+            "PublicationUri": "http://redfish.dmtf.org/schemas/v1/MetricReportDefinition.json",
+            "Uri": "/redfish/v1/JSONSchemas/MetricReportDefinition/MetricReportDefinition.json"
+        }
+    ],
+    "Location@odata.count": 1
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/NetworkAdapter/NetworkAdapter.json b/static/redfish/v1/JsonSchemas/NetworkAdapter/NetworkAdapter.json
index 0e1252a..efe704d 100644
--- a/static/redfish/v1/JsonSchemas/NetworkAdapter/NetworkAdapter.json
+++ b/static/redfish/v1/JsonSchemas/NetworkAdapter/NetworkAdapter.json
@@ -1,18 +1,19 @@
 {
     "$ref": "#/definitions/NetworkAdapter",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_3_0.json",
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
             "description": "The available actions for this resource.",
             "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -25,7 +26,9 @@
                     "$ref": "#/definitions/ResetSettingsToDefault"
                 },
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -35,11 +38,12 @@
             "description": "The capabilities of a controller.",
             "longDescription": "This type shall describe the capabilities of a controller.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -60,6 +64,18 @@
                     "description": "Data Center Bridging (DCB) for this controller.",
                     "longDescription": "This object shall contain capability, status, and configuration values related to Data Center Bridging (DCB) for this controller."
                 },
+                "NPAR": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/NicPartitioning"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "NIC Partitioning (NPAR) capabilities for this controller.",
+                    "longDescription": "This object shall contain capability, status, and configuration values related to NIC partitioning for this controller."
+                },
                 "NPIV": {
                     "anyOf": [
                         {
@@ -77,7 +93,7 @@
                     "longDescription": "The value of this property shall be the number of physical functions available on this controller.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -86,7 +102,7 @@
                     "longDescription": "The value of this property shall be the number of physical ports on this controller.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -110,11 +126,12 @@
             "description": "Contains references to other resources that are related to this resource.",
             "longDescription": "This type, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -124,26 +141,28 @@
             },
             "properties": {
                 "NetworkDeviceFunctions": {
-                    "description": "Contains the members of this collection.",
+                    "description": "An array of references to the NetworkDeviceFunctions associated with this Network Controller.",
                     "items": {
                         "$ref": "http://redfish.dmtf.org/schemas/v1/NetworkDeviceFunction.json#/definitions/NetworkDeviceFunction"
                     },
+                    "longDescription": "The value of this property shall be an array of references of type NetworkDeviceFunction that represent the Network Device Functions associated with this Network Controller.",
                     "readonly": true,
                     "type": "array"
                 },
                 "NetworkDeviceFunctions@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "NetworkPorts": {
-                    "description": "Contains the members of this collection.",
+                    "description": "An array of references to the NetworkPorts associated with this Network Controller.",
                     "items": {
                         "$ref": "http://redfish.dmtf.org/schemas/v1/NetworkPort.json#/definitions/NetworkPort"
                     },
+                    "longDescription": "The value of this property shall be an array of references of type NetworkPort that represent the Network Ports associated with this Network Controller.",
                     "readonly": true,
                     "type": "array"
                 },
                 "NetworkPorts@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "Oem": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
@@ -151,15 +170,16 @@
                     "longDescription": "This object represents the Oem property.  All values for resources described by this schema shall comply to the requirements as described in the Redfish specification."
                 },
                 "PCIeDevices": {
-                    "description": "Contains the members of this collection.",
+                    "description": "An array of references to the PCIeDevices associated with this Network Controller.",
                     "items": {
                         "$ref": "http://redfish.dmtf.org/schemas/v1/PCIeDevice.json#/definitions/PCIeDevice"
                     },
+                    "longDescription": "The value of this property shall be an array of references of type PCIeDevice that represent the PCI-e Devices associated with this Network Controller.",
                     "readonly": true,
                     "type": "array"
                 },
                 "PCIeDevices@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 }
             },
             "type": "object"
@@ -169,11 +189,12 @@
             "description": "A network controller ASIC that makes up part of a NetworkAdapter.",
             "longDescription": "This type shall describe a network controller ASIC that makes up part of a NetworkAdapter.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -209,7 +230,21 @@
                     "longDescription": "Links for this controller."
                 },
                 "Location": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location",
+                    "description": "The Location of the network adapter controller.",
+                    "longDescription": "This property shall contain location information of the associated network adapter controller."
+                },
+                "PCIeInterface": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/PCIeDevice.json#/definitions/PCIeInterface"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The PCIe interface details for this controller.",
+                    "longDescription": "This object shall contain details on the PCIe interface used to connect this PCIe-based controller to its host."
                 }
             },
             "type": "object"
@@ -219,11 +254,12 @@
             "description": "Data Center Bridging (DCB) for capabilities of a controller.",
             "longDescription": "This type shall describe the capability, status, and configuration values related to Data Center Bridging (DCB) for a controller.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -249,11 +285,12 @@
             "description": "N_Port ID Virtualization (NPIV) capabilties for a controller.",
             "longDescription": "This type shall contain N_Port ID Virtualization (NPIV) capabilties for a controller.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -267,7 +304,7 @@
                     "longDescription": "The value of this property shall be the maximum number of N_Port ID Virtualization (NPIV) logins allowed simultaneously from all ports on this controller.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -276,7 +313,7 @@
                     "longDescription": "The value of this property shall be the maximum number of N_Port ID Virtualization (NPIV) logins allowed per physical port on this controller.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 }
@@ -288,11 +325,12 @@
             "description": "A NetworkAdapter represents the physical network adapter capable of connecting to a computer network.  Examples include but are not limited to Ethernet, Fibre Channel, and converged network adapters.",
             "longDescription": "A NetworkAdapter represents the physical network adapter capable of connecting to a computer network.  Examples include but are not limited to Ethernet, Fibre Channel, and converged network adapters.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -302,13 +340,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
@@ -375,12 +416,14 @@
                 },
                 "NetworkDeviceFunctions": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/NetworkDeviceFunctionCollection.json#/definitions/NetworkDeviceFunctionCollection",
-                    "description": "Contains the members of this collection.",
+                    "description": "A reference to the collection of NetworkDeviceFunctions associated with this NetworkAdapter.",
+                    "longDescription": "The value of this property shall be a link to a collection of type NetworkDeviceFunctionCollection.",
                     "readonly": true
                 },
                 "NetworkPorts": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/NetworkPortCollection.json#/definitions/NetworkPortCollection",
-                    "description": "Contains the members of this collection.",
+                    "description": "A reference to the collection of NetworkPorts associated with this NetworkAdapter.",
+                    "longDescription": "The value of this property shall be a link to a collection of type NetworkPortCollection.",
                     "readonly": true
                 },
                 "Oem": {
@@ -416,32 +459,70 @@
                     ]
                 },
                 "Status": {
-                    "anyOf": [
-                        {
-                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
-                        },
-                        {
-                            "type": "null"
-                        }
-                    ]
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
             "type": "object"
         },
+        "NicPartitioning": {
+            "additionalProperties": false,
+            "description": "NIC Partitioning capability, status, and configuration for a controller.",
+            "longDescription": "This type shall contain the capability, status, and configuration values for a controller.",
+            "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": {
+                "NparCapable": {
+                    "description": "Indicates whether or not NIC function partitioning is supported by a controller.",
+                    "longDescription": "This property shall indicate the ability of a controller to support NIC function partitioning.",
+                    "readonly": true,
+                    "type": [
+                        "boolean",
+                        "null"
+                    ]
+                },
+                "NparEnabled": {
+                    "description": "When true, NIC function partitioning is active on this controller.",
+                    "longDescription": "This property shall indicate whether or not NIC function partitioning is active on this controller.",
+                    "readonly": false,
+                    "type": [
+                        "boolean",
+                        "null"
+                    ]
+                }
+            },
+            "type": "object"
+        },
         "OemActions": {
             "additionalProperties": true,
             "description": "The available OEM specific actions for this resource.",
             "longDescription": "This type shall contain any additional OEM actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -458,11 +539,12 @@
             "longDescription": "This action shall perform a reset of all active and pending settings back to factory default settings upon reset of the network adapter.",
             "parameters": {},
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -488,11 +570,12 @@
             "description": "Single-Root Input/Output Virtualization (SR-IOV) capabilities.",
             "longDescription": "This type shall contain Single-Root Input/Output Virtualization (SR-IOV) capabilities.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -518,11 +601,12 @@
             "description": "A virtual function of a controller.",
             "longDescription": "This type shall describe the capability, status, and configuration values related to a virtual function for a controller.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -536,7 +620,7 @@
                     "longDescription": "The value of this property shall be the maximum number of Virtual Functions (VFs) supported by this controller.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -545,7 +629,7 @@
                     "longDescription": "The value of this property shall be the minimum number of Virtual Functions (VFs) that can be allocated or moved between physical functions for this controller.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -554,7 +638,7 @@
                     "longDescription": "The value of this property shall be the maximum number of Virtual Functions (VFs) supported per network port for this controller.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 }
@@ -566,11 +650,12 @@
             "description": "A Virtualization offload capability of a controller.",
             "longDescription": "This type shall describe the capability, status, and configuration values related to a virtualization offload for a controller.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -599,11 +684,14 @@
                         {
                             "type": "null"
                         }
-                    ]
+                    ],
+                    "description": "The virtual function of the controller.",
+                    "longDescription": "This property shall describe the capability, status, and configuration values related to the virtual function for this controller."
                 }
             },
             "type": "object"
         }
     },
-    "title": "#NetworkAdapter.v1_1_0.NetworkAdapter"
+    "owningEntity": "DMTF",
+    "title": "#NetworkAdapter.v1_2_0.NetworkAdapter"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/NetworkDeviceFunction/NetworkDeviceFunction.json b/static/redfish/v1/JsonSchemas/NetworkDeviceFunction/NetworkDeviceFunction.json
index f942f51..39539a3 100644
--- a/static/redfish/v1/JsonSchemas/NetworkDeviceFunction/NetworkDeviceFunction.json
+++ b/static/redfish/v1/JsonSchemas/NetworkDeviceFunction/NetworkDeviceFunction.json
@@ -1,7 +1,7 @@
 {
     "$ref": "#/definitions/NetworkDeviceFunction",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_4_0.json",
-    "copyright": "Copyright 2014-2018 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
@@ -13,6 +13,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -22,7 +23,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -67,6 +70,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -80,7 +84,7 @@
                     "longDescription": "The value of this property shall be the relative priority for this entry in the boot targets array.  Lower numbers shall represent higher priority, with zero being the highest priority.  The BootPriority shall be unique for all entries of the BootTargets array.",
                     "readonly": false,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -115,6 +119,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -137,7 +142,7 @@
                     "longDescription": "The Maximum Transmission Unit (MTU) configured for this Network Device Function.  This value serves as a default for the OS driver when booting.  The value only takes-effect on boot.",
                     "readonly": false,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -149,6 +154,24 @@
                         "string",
                         "null"
                     ]
+                },
+                "VLAN": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/VLanNetworkInterface.json#/definitions/VLAN"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "If this Network Interface supports more than one VLAN, this property is not present. VLANs collections appear in the Link section of this resource.",
+                    "longDescription": "The value of this property shall be the VLAN for this interface.  If this interface supports more than one VLAN, the VLAN property shall not be present and the VLANS collection link shall be present instead."
+                },
+                "VLANs": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/VLanNetworkInterfaceCollection.json#/definitions/VLanNetworkInterfaceCollection",
+                    "description": "This is a reference to a collection of VLANs and is only used if the interface supports more than one VLANs.",
+                    "longDescription": "The value of this property shall reference a collection of VLAN resources. If this property is used, the VLANEnabled and VLANId property shall not be used.",
+                    "readonly": true
                 }
             },
             "type": "object"
@@ -163,6 +186,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -202,7 +226,7 @@
                     "minimum": 0,
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -213,7 +237,16 @@
                     "minimum": 0,
                     "readonly": false,
                     "type": [
-                        "number",
+                        "integer",
+                        "null"
+                    ]
+                },
+                "FibreChannelId": {
+                    "description": "The Fibre Channel Id assigned by the switch for this interface.",
+                    "longDescription": "This property shall indicate the Fibre Channel Id assigned by the switch for this interface.",
+                    "readonly": true,
+                    "type": [
+                        "string",
                         "null"
                     ]
                 },
@@ -290,6 +323,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -308,12 +342,18 @@
                     "type": "array"
                 },
                 "Endpoints@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "PCIeFunction": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/PCIeFunction.json#/definitions/PCIeFunction",
-                    "description": "Contains the members of this collection.",
+                    "description": "A reference to the PCIeFunction associated with this Network Device Function.",
+                    "longDescription": "The value of this property shall be a references of type PCIeFunction that represents the PCI-e Function associated with this Network Device Function.",
                     "readonly": true
+                },
+                "PhysicalPortAssignment": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/NetworkPort.json#/definitions/NetworkPort",
+                    "description": "The physical port that this network device function is currently assigned to.",
+                    "longDescription": "The value of this property shall be the physical port that this network device function is currently assigned to. This value shall be one of the AssignablePhysicalPorts array members."
                 }
             },
             "type": "object"
@@ -328,6 +368,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -337,16 +378,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
                 },
                 "@odata.etag": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/etag"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
@@ -363,7 +404,7 @@
                     "type": "array"
                 },
                 "AssignablePhysicalPorts@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "BootMode": {
                     "anyOf": [
@@ -436,7 +477,7 @@
                     "longDescription": "The value of this property shall be the number of virtual functions (VFs) that are available for this Network Device Function.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -480,19 +521,15 @@
                 },
                 "PhysicalPortAssignment": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/NetworkPort.json#/definitions/NetworkPort",
+                    "deprecated": "This property has been deprecated and moved to the Links section to avoid loops on expand.",
                     "description": "The physical port that this network device function is currently assigned to.",
                     "longDescription": "The value of this property shall be the physical port that this network device function is currently assigned to. This value shall be one of the AssignablePhysicalPorts array members.",
                     "readonly": true
                 },
                 "Status": {
-                    "anyOf": [
-                        {
-                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
-                        },
-                        {
-                            "type": "null"
-                        }
-                    ]
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 },
                 "VirtualFunctionsEnabled": {
                     "description": "Whether Single Root I/O Virtualization (SR-IOV) Virual Functions (VFs) are enabled for this Network Device Function.",
@@ -517,6 +554,8 @@
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -549,6 +588,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -580,6 +620,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -709,7 +750,7 @@
                     "longDescription": "The value of this property shall be the logical unit number (LUN) for the primary iSCSI boot target.",
                     "readonly": false,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -736,7 +777,7 @@
                     "longDescription": "The value of this property shall be the TCP port for the primary iSCSI boot target.",
                     "readonly": false,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -756,7 +797,7 @@
                     "minimum": 0,
                     "readonly": false,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -783,7 +824,7 @@
                     "longDescription": "The value of this property shall be the logical unit number (LUN) for the secondary iSCSI boot target.",
                     "readonly": false,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -810,7 +851,7 @@
                     "longDescription": "The value of this property shall be the TCP port for the secondary iSCSI boot target.",
                     "readonly": false,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -830,7 +871,7 @@
                     "minimum": 0,
                     "readonly": false,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -848,5 +889,5 @@
         }
     },
     "owningEntity": "DMTF",
-    "title": "#NetworkDeviceFunction.v1_2_1.NetworkDeviceFunction"
+    "title": "#NetworkDeviceFunction.v1_3_0.NetworkDeviceFunction"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/NetworkInterface/NetworkInterface.json b/static/redfish/v1/JsonSchemas/NetworkInterface/NetworkInterface.json
index 6b2d54c..7300c01 100644
--- a/static/redfish/v1/JsonSchemas/NetworkInterface/NetworkInterface.json
+++ b/static/redfish/v1/JsonSchemas/NetworkInterface/NetworkInterface.json
@@ -1,150 +1,181 @@
 {
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_2_0.json",
-    "title": "#NetworkInterface.v1_1_0.NetworkInterface",
     "$ref": "#/definitions/NetworkInterface",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
-        "NetworkInterface": {
-            "type": "object",
+        "Actions": {
+            "additionalProperties": false,
+            "description": "The available actions for this resource.",
+            "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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"
-                    ],
-                    "description": "This property shall specify a valid odata or Redfish property."
+                    ]
                 }
             },
+            "properties": {
+                "Oem": {
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
+                }
+            },
+            "type": "object"
+        },
+        "Links": {
             "additionalProperties": false,
+            "description": "Contains references to other resources that are related to this resource.",
+            "longDescription": "This type, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (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": {
+                "NetworkAdapter": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/NetworkAdapter.json#/definitions/NetworkAdapter",
+                    "description": "A reference to the NetworkAdapter which contains this NetworkInterface.",
+                    "longDescription": "The value of this property shall be a reference to a resource of type NetworkAdapter that represents the physical container associated with this NetworkInterface.",
+                    "readonly": true
+                },
+                "Oem": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "Oem extension object.",
+                    "longDescription": "This object represents the Oem property.  All values for resources described by this schema shall comply to the requirements as described in the Redfish specification."
+                }
+            },
+            "type": "object"
+        },
+        "NetworkInterface": {
+            "additionalProperties": false,
+            "description": "A NetworkInterface contains references linking NetworkAdapter, NetworkPort, and NetworkDeviceFunction resources and represents the functionality available to the containing system.",
+            "longDescription": "A NetworkInterface contains references linking NetworkAdapter, NetworkPort, and NetworkDeviceFunction resources and represents the functionality available to the containing system.",
+            "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.4.0.0.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
+                },
+                "Actions": {
+                    "$ref": "#/definitions/Actions",
+                    "description": "The available actions for this resource.",
+                    "longDescription": "The Actions property shall contain the available actions for this resource."
+                },
+                "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": "Links.",
+                    "longDescription": "Links for this controller."
+                },
+                "Name": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
+                    "readonly": true
+                },
+                "NetworkDeviceFunctions": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/NetworkDeviceFunctionCollection.json#/definitions/NetworkDeviceFunctionCollection",
+                    "description": "A reference to the collection of NetworkDeviceFunctions associated with this NetworkInterface.",
+                    "longDescription": "The value of this property shall be a link to a collection of type NetworkDeviceFunctionCollection.",
+                    "readonly": true
+                },
+                "NetworkPorts": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/NetworkPortCollection.json#/definitions/NetworkPortCollection",
+                    "description": "A reference to the collection of NetworkPorts associated with this NetworkInterface.",
+                    "longDescription": "The value of this property shall be a link to a collection of type NetworkPortCollection.",
+                    "readonly": true
                 },
                 "Oem": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
                     "description": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.",
                     "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
                 },
-                "Id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
-                    "readonly": true
-                },
-                "Description": {
-                    "anyOf": [
-                        {"$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"},
-                        {"type": "null"}
-                    ],
-                    "readonly": true
-                },
-                "Name": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
-                    "readonly": true
-                },
                 "Status": {
-                    "anyOf": [
-                        {"$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"},
-                        {"type": "null"}
-                    ]
-                },
-                "Links": {
-                    "type": "object",
-                    "patternProperties": {
-                        "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
-                            "type": [
-                                "array",
-                                "boolean",
-                                "number",
-                                "null",
-                                "object",
-                                "string"
-                            ],
-                            "description": "This property shall specify a valid odata or Redfish property."
-                        }
-                    },
-                    "additionalProperties": false,
-                    "properties": {
-                        "Oem": {
-                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
-                            "description": "Oem extension object.",
-                            "longDescription": "This object represents the Oem property.  All values for resources described by this schema shall comply to the requirements as described in the Redfish specification."
-                        },
-                        "NetworkAdapter": {
-                            "$ref": "http://redfish.dmtf.org/schemas/v1/NetworkAdapter.json#/definitions/NetworkAdapter",
-                            "readonly": true,
-                            "description": "Contains the members of this collection."
-                        }
-                    },
-                    "description": "Links.",
-                    "longDescription": "Links for this controller."
-                },
-                "NetworkPorts": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/NetworkPortCollection.json#/definitions/NetworkPortCollection",
-                    "readonly": true,
-                    "description": "Contains the members of this collection."
-                },
-                "NetworkDeviceFunctions": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/NetworkDeviceFunctionCollection.json#/definitions/NetworkDeviceFunctionCollection",
-                    "readonly": true,
-                    "description": "Contains the members of this collection."
-                },
-                "Actions": {
-                    "type": "object",
-                    "patternProperties": {
-                        "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
-                            "type": [
-                                "array",
-                                "boolean",
-                                "number",
-                                "null",
-                                "object",
-                                "string"
-                            ],
-                            "description": "This property shall specify a valid odata or Redfish property."
-                        }
-                    },
-                    "additionalProperties": false,
-                    "properties": {
-                        "Oem": {
-                            "type": "object",
-                            "patternProperties": {
-                                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
-                                    "type": [
-                                        "array",
-                                        "boolean",
-                                        "number",
-                                        "null",
-                                        "object",
-                                        "string"
-                                    ],
-                                    "description": "This property shall specify a valid odata or Redfish property."
-                                }
-                            },
-                            "additionalProperties": true,
-                            "properties": {},
-                            "description": "The available OEM specific actions for this resource.",
-                            "longDescription": "This type shall contain any additional OEM actions for this resource."
-                        }
-                    },
-                    "description": "The available actions for this resource.",
-                    "longDescription": "The Actions property shall contain the available actions for this resource."
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
-            "description": "A NetworkInterface contains references linking NetworkAdapter, NetworkPort, and NetworkDeviceFunction resources and represents the functionality available to the containing system.",
-            "longDescription": "A NetworkInterface contains references linking NetworkAdapter, NetworkPort, and NetworkDeviceFunction resources and represents the functionality available to the containing system."
+            "type": "object"
+        },
+        "OemActions": {
+            "additionalProperties": true,
+            "description": "The available OEM specific actions for this resource.",
+            "longDescription": "This type shall contain any additional OEM actions for this resource.",
+            "patternProperties": {
+                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[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"
         }
     },
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright"
-}
+    "owningEntity": "DMTF",
+    "title": "#NetworkInterface.v1_1_1.NetworkInterface"
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/NetworkPort/NetworkPort.json b/static/redfish/v1/JsonSchemas/NetworkPort/NetworkPort.json
index b6743ac..15059ac 100644
--- a/static/redfish/v1/JsonSchemas/NetworkPort/NetworkPort.json
+++ b/static/redfish/v1/JsonSchemas/NetworkPort/NetworkPort.json
@@ -1,10 +1,36 @@
 {
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_2_0.json",
-    "title": "#NetworkPort.v1_1_0.NetworkPort",
     "$ref": "#/definitions/NetworkPort",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 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": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
+                }
+            },
+            "type": "object"
+        },
         "FlowControl": {
-            "type": "string",
             "enum": [
                 "None",
                 "TX",
@@ -13,13 +39,13 @@
             ],
             "enumDescriptions": {
                 "None": "No IEEE 802.3x flow control is enabled on this port.",
-                "TX": "IEEE 802.3x flow control may be initiated by this station.",
                 "RX": "IEEE 802.3x flow control may be initiated by the link partner.",
+                "TX": "IEEE 802.3x flow control may be initiated by this station.",
                 "TX_RX": "IEEE 802.3x flow control may be initiated by this station or the link partner."
-            }
+            },
+            "type": "string"
         },
         "LinkNetworkTechnology": {
-            "type": "string",
             "enum": [
                 "Ethernet",
                 "InfiniBand",
@@ -27,12 +53,12 @@
             ],
             "enumDescriptions": {
                 "Ethernet": "The port is capable of connecting to an Ethernet network.",
-                "InfiniBand": "The port is capable of connecting to an InfiniBand network.",
-                "FibreChannel": "The port is capable of connecting to a Fibre Channel network."
-            }
+                "FibreChannel": "The port is capable of connecting to a Fibre Channel network.",
+                "InfiniBand": "The port is capable of connecting to an InfiniBand network."
+            },
+            "type": "string"
         },
         "LinkStatus": {
-            "type": "string",
             "enum": [
                 "Down",
                 "Up"
@@ -40,367 +66,510 @@
             "enumDescriptions": {
                 "Down": "The port is enabled but link is down.",
                 "Up": "The port is enabled and link is good (up)."
-            }
+            },
+            "type": "string"
         },
         "NetDevFuncMaxBWAlloc": {
-            "type": "object",
+            "additionalProperties": false,
+            "description": "A maximum bandwidth allocation percentage for a Network Device Functions associated a port.",
+            "longDescription": "This type shall describe a maximum bandwidth percentage allocation for a network device function associated with a port.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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"
-                    ],
-                    "description": "This property shall specify a valid odata or Redfish property."
+                    ]
                 }
             },
-            "additionalProperties": true,
             "properties": {
                 "MaxBWAllocPercent": {
+                    "description": "The maximum bandwidth allocation percentage allocated to the corresponding network device function instance.",
+                    "longDescription": "The value of this property shall be the maximum bandwidth percentage allocation for the associated network device function.",
+                    "readonly": false,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ],
-                    "readonly": false,
-                    "description": "The maximum bandwidth allocation percentage allocated to the corresponding network device function instance.",
-                    "longDescription": "The value of this property shall be the maximum bandwidth percentage allocation for the associated network device function."
+                    "units": "%"
                 },
                 "NetworkDeviceFunction": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/NetworkDeviceFunction.json#/definitions/NetworkDeviceFunction",
-                    "readonly": true,
-                    "description": "Contains the members of this collection."
+                    "description": "A reference to the NetworkDeviceFunction associated with this bandwidth setting of this Network Port.",
+                    "longDescription": "The value of this property shall be a reference of type NetworkDeviceFunction that represents the Network Device Function associated with this bandwidth setting of this Network Port.",
+                    "readonly": true
                 }
             },
-            "description": "A maximum bandwidth allocation percentage for a Network Device Functions associated a port.",
-            "longDescription": "This type shall describe a maximum bandwidth percentage allocation for a network device function associated with a port."
+            "type": "object"
         },
         "NetDevFuncMinBWAlloc": {
-            "type": "object",
+            "additionalProperties": false,
+            "description": "A minimum bandwidth allocation percentage for a Network Device Functions associated a port.",
+            "longDescription": "This type shall describe a minimum bandwidth percentage allocation for a network device function associated with a port.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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"
-                    ],
-                    "description": "This property shall specify a valid odata or Redfish property."
+                    ]
                 }
             },
-            "additionalProperties": true,
             "properties": {
                 "MinBWAllocPercent": {
+                    "description": "The minimum bandwidth allocation percentage allocated to the corresponding network device function instance.",
+                    "longDescription": "The value of this property shall be the minimum bandwidth percentage allocation for the associated network device function.  The sum total of all minimum percentages shall not exceed 100.",
+                    "readonly": false,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ],
-                    "readonly": false,
-                    "description": "The minimum bandwidth allocation percentage allocated to the corresponding network device function instance.",
-                    "longDescription": "The value of this property shall be the minimum bandwidth percentage allocation for the associated network device function.  The sum total of all minimum percentages shall not exceed 100."
+                    "units": "%"
                 },
                 "NetworkDeviceFunction": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/NetworkDeviceFunction.json#/definitions/NetworkDeviceFunction",
-                    "readonly": true,
-                    "description": "Contains the members of this collection."
+                    "description": "A reference to the NetworkDeviceFunction associated with this bandwidth setting of this Network Port.",
+                    "longDescription": "The value of this property shall be a reference of type NetworkDeviceFunction that represents the Network Device Function associated with this bandwidth setting of this Network Port.",
+                    "readonly": true
                 }
             },
-            "description": "A minimum bandwidth allocation percentage for a Network Device Functions associated a port.",
-            "longDescription": "This type shall describe a minimum bandwidth percentage allocation for a network device function associated with a port."
-        },
-        "SupportedEthernetCapabilities": {
-            "type": "string",
-            "enum": [
-                "WakeOnLAN",
-                "EEE"
-            ],
-            "enumDescriptions": {
-                "WakeOnLAN": "Wake on LAN (WoL) is supported on this port.",
-                "EEE": "IEEE 802.3az Energy Efficient Ethernet (EEE) is supported on this port."
-            }
-        },
-        "SupportedLinkCapabilities": {
-            "type": "object",
-            "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
-                    "type": [
-                        "array",
-                        "boolean",
-                        "number",
-                        "null",
-                        "object",
-                        "string"
-                    ],
-                    "description": "This property shall specify a valid odata or Redfish property."
-                }
-            },
-            "additionalProperties": true,
-            "properties": {
-                "LinkNetworkTechnology": {
-                    "anyOf": [
-                        {"$ref": "#/definitions/LinkNetworkTechnology"},
-                        {"type": "null"}
-                    ],
-                    "readonly": true,
-                    "description": "The self-described link network technology capabilities of this port.",
-                    "longDescription": "The value of this property shall be a network technology capability of this port."
-                },
-                "LinkSpeedMbps": {
-                    "type": [
-                        "number",
-                        "null"
-                    ],
-                    "readonly": true,
-                    "description": "The speed of the link in Mbps when this link network technology is active.",
-                    "longDescription": "The value of this property shall be the speed of the link in megabits per second (Mbps) for this port when this link network technology is active."
-                }
-            },
-            "description": "The self-described link capabilities of an assocaited port.",
-            "longDescription": "This type shall describe the static capabilities of an associated port, irrespective of transient conditions such as cabling, interface module presence, or remote link parter status or configuration."
+            "type": "object"
         },
         "NetworkPort": {
-            "type": "object",
+            "additionalProperties": false,
+            "description": "A Network Port represents a discrete physical port capable of connecting to a network.",
+            "longDescription": "A Network Port represents a discrete physical port capable of connecting to a network.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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"
-                    ],
-                    "description": "This property shall specify a valid odata or Redfish property."
+                    ]
                 }
             },
-            "additionalProperties": false,
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
-                "Oem": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
-                    "description": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.",
-                    "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
-                },
-                "Id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
-                    "readonly": true
-                },
-                "Description": {
-                    "anyOf": [
-                        {"$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"},
-                        {"type": "null"}
-                    ],
-                    "readonly": true
-                },
-                "Name": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
-                    "readonly": true
-                },
-                "Status": {
-                    "anyOf": [
-                        {"$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"},
-                        {"type": "null"}
-                    ]
-                },
-                "PhysicalPortNumber": {
-                    "type": [
-                        "string",
-                        "null"
-                    ],
-                    "readonly": true,
-                    "description": "The physical port number label for this port.",
-                    "longDescription": "The value of this property shall be the physical port number on the network adapter hardware that this Network Port corresponds to.  This value should match a value visible on the hardware.  When HostPortEnabled and ManagementPortEnabled are both \"false\", the port shall not establish physical link."
-                },
-                "LinkStatus": {
-                    "anyOf": [
-                        {"$ref": "#/definitions/LinkStatus"},
-                        {"type": "null"}
-                    ],
-                    "readonly": true,
-                    "description": "The status of the link between this port and its link partner.",
-                    "longDescription": "The value of this property shall be the link status between this port and its link partner."
-                },
-                "SupportedLinkCapabilities": {
-                    "type": "array",
-                    "items": {
-                        "anyOf": [
-                            {"$ref": "#/definitions/SupportedLinkCapabilities"},
-                            {"type": "null"}
-                        ]
-                    },
-                    "description": "The self-described link capabilities of this port.",
-                    "longDescription": "This object shall describe the static capabilities of the port, irrespective of transient conditions such as cabling, interface module presence, or remote link parter status or configuration."
+                "Actions": {
+                    "$ref": "#/definitions/Actions",
+                    "description": "The available actions for this resource.",
+                    "longDescription": "The Actions property shall contain the available actions for this resource."
                 },
                 "ActiveLinkTechnology": {
                     "anyOf": [
-                        {"$ref": "#/definitions/LinkNetworkTechnology"},
-                        {"type": "null"}
+                        {
+                            "$ref": "#/definitions/LinkNetworkTechnology"
+                        },
+                        {
+                            "type": "null"
+                        }
                     ],
-                    "readonly": false,
                     "description": "Network Port Active Link Technology.",
-                    "longDescription": "The value of this property shall be the configured link technology of this port."
-                },
-                "SupportedEthernetCapabilities": {
-                    "type": "array",
-                    "items": {
-                        "anyOf": [
-                            {"$ref": "#/definitions/SupportedEthernetCapabilities"},
-                            {"type": "null"}
-                        ]
-                    },
-                    "readonly": true,
-                    "description": "The set of Ethernet capabilities that this port supports.",
-                    "longDescription": "The value of this property shall be an array of zero or more Ethernet capabilities supported by this port."
-                },
-                "NetDevFuncMinBWAlloc": {
-                    "type": "array",
-                    "items": {
-                        "anyOf": [
-                            {"$ref": "#/definitions/NetDevFuncMinBWAlloc"},
-                            {"type": "null"}
-                        ]
-                    },
-                    "description": "The array of minimum bandwidth allocation percentages for the Network Device Functions associated with this port.",
-                    "longDescription": "The value of this property shall be an array of minimum bandwidth percentage allocations for each of the network device functions associated with this port."
-                },
-                "NetDevFuncMaxBWAlloc": {
-                    "type": "array",
-                    "items": {
-                        "anyOf": [
-                            {"$ref": "#/definitions/NetDevFuncMaxBWAlloc"},
-                            {"type": "null"}
-                        ]
-                    },
-                    "description": "The array of maximum bandwidth allocation percentages for the Network Device Functions associated with this port.",
-                    "longDescription": "The value of this property shall be an array of maximum bandwidth allocation percentages for the Network Device Functions associated with this port."
+                    "longDescription": "The value of this property shall be the configured link technology of this port.",
+                    "readonly": false
                 },
                 "AssociatedNetworkAddresses": {
-                    "type": "array",
+                    "description": "The array of configured network addresses (MAC or WWN) that are associated with this Network Port, including the programmed address of the lowest numbered Network Device Function, the configured but not active address if applicable, the address for hardware port teaming, or other network addresses.",
                     "items": {
                         "type": [
                             "string",
                             "null"
                         ]
                     },
+                    "longDescription": "The value of this property shall be an array of configured network addresses that are associated with this network port, including the programmed address of the lowest numbered network device function, the configured but not active address if applicable, the address for hardware port teaming, or other network addresses.",
                     "readonly": true,
-                    "description": "The array of configured network addresses (MAC or WWN) that are associated with this Network Port, including the programmed address of the lowest numbered Network Device Function, the configured but not active address if applicable, the address for hardware port teaming, or other network addresses.",
-                    "longDescription": "The value of this property shall be an array of configured network addresses that are associated with this network port, including the programmed address of the lowest numbered network device function, the configured but not active address if applicable, the address for hardware port teaming, or other network addresses."
+                    "type": "array"
+                },
+                "CurrentLinkSpeedMbps": {
+                    "description": "Network Port Current Link Speed.",
+                    "longDescription": "The value of this property shall be the current configured link speed of this port.",
+                    "readonly": false,
+                    "type": [
+                        "integer",
+                        "null"
+                    ],
+                    "units": "Mbit/s"
+                },
+                "Description": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "readonly": true
                 },
                 "EEEEnabled": {
-                    "type": [
-                        "boolean",
-                        "null"
-                    ],
-                    "readonly": false,
                     "description": "Whether IEEE 802.3az Energy Efficient Ethernet (EEE) is enabled for this network port.",
-                    "longDescription": "The value of this property shall be a boolean indicating whether IEEE 802.3az Energy Efficient Ethernet (EEE) is enabled for this network port."
-                },
-                "WakeOnLANEnabled": {
+                    "longDescription": "The value of this property shall be a boolean indicating whether IEEE 802.3az Energy Efficient Ethernet (EEE) is enabled for this network port.",
+                    "readonly": false,
                     "type": [
                         "boolean",
                         "null"
-                    ],
-                    "readonly": false,
-                    "description": "Whether Wake on LAN (WoL) is enabled for this network port.",
-                    "longDescription": "The value of this property shall be a boolean indicating whether Wake on LAN (WoL) is enabled for this network port."
+                    ]
                 },
-                "PortMaximumMTU": {
+                "FCFabricName": {
+                    "description": "The FC Fabric Name provided by the switch.",
+                    "longDescription": "This property shall indicate the FC Fabric Name provided by the switch.",
+                    "readonly": true,
                     "type": [
-                        "number",
+                        "string",
                         "null"
-                    ],
-                    "readonly": true,
-                    "description": "The largest maximum transmission unit (MTU) that can be configured for this network port.",
-                    "longDescription": "The value of this property shall be the largest maximum transmission unit (MTU) that can be configured for this network port."
+                    ]
                 },
-                "FlowControlStatus": {
+                "FCPortConnectionType": {
                     "anyOf": [
-                        {"$ref": "#/definitions/FlowControl"},
-                        {"type": "null"}
+                        {
+                            "$ref": "#/definitions/PortConnectionType"
+                        },
+                        {
+                            "type": "null"
+                        }
                     ],
-                    "readonly": true,
-                    "description": "The 802.3x flow control behavior negotiated with the link partner for this network port (Ethernet-only).",
-                    "longDescription": "The value of this property shall be the 802.3x flow control behavior negotiated with the link partner for this network port (Ethernet-only)."
+                    "description": "This is the connection type of this port.",
+                    "longDescription": "The value of this property shall be the connection type for this port.",
+                    "readonly": true
                 },
                 "FlowControlConfiguration": {
                     "anyOf": [
-                        {"$ref": "#/definitions/FlowControl"},
-                        {"type": "null"}
+                        {
+                            "$ref": "#/definitions/FlowControl"
+                        },
+                        {
+                            "type": "null"
+                        }
                     ],
-                    "readonly": false,
                     "description": "The locally configured 802.3x flow control setting for this network port.",
-                    "longDescription": "The value of this property shall be the locally configured 802.3x flow control setting for this network port."
+                    "longDescription": "The value of this property shall be the locally configured 802.3x flow control setting for this network port.",
+                    "readonly": false
+                },
+                "FlowControlStatus": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/FlowControl"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The 802.3x flow control behavior negotiated with the link partner for this network port (Ethernet-only).",
+                    "longDescription": "The value of this property shall be the 802.3x flow control behavior negotiated with the link partner for this network port (Ethernet-only).",
+                    "readonly": true
+                },
+                "Id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
+                    "readonly": true
+                },
+                "LinkStatus": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/LinkStatus"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The status of the link between this port and its link partner.",
+                    "longDescription": "The value of this property shall be the link status between this port and its link partner.",
+                    "readonly": true
+                },
+                "MaxFrameSize": {
+                    "description": "The maximum frame size supported by the port.",
+                    "longDescription": "The value of this property shall be the maximum frame size supported by the port.",
+                    "readonly": true,
+                    "type": [
+                        "integer",
+                        "null"
+                    ],
+                    "units": "By"
+                },
+                "Name": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
+                    "readonly": true
+                },
+                "NetDevFuncMaxBWAlloc": {
+                    "description": "The array of maximum bandwidth allocation percentages for the Network Device Functions associated with this port.",
+                    "items": {
+                        "anyOf": [
+                            {
+                                "$ref": "#/definitions/NetDevFuncMaxBWAlloc"
+                            },
+                            {
+                                "type": "null"
+                            }
+                        ]
+                    },
+                    "longDescription": "The value of this property shall be an array of maximum bandwidth allocation percentages for the Network Device Functions associated with this port.",
+                    "type": "array"
+                },
+                "NetDevFuncMinBWAlloc": {
+                    "description": "The array of minimum bandwidth allocation percentages for the Network Device Functions associated with this port.",
+                    "items": {
+                        "anyOf": [
+                            {
+                                "$ref": "#/definitions/NetDevFuncMinBWAlloc"
+                            },
+                            {
+                                "type": "null"
+                            }
+                        ]
+                    },
+                    "longDescription": "The value of this property shall be an array of minimum bandwidth percentage allocations for each of the network device functions associated with this port.",
+                    "type": "array"
+                },
+                "NumberDiscoveredRemotePorts": {
+                    "description": "The number of ports not on this adapter that this port has discovered.",
+                    "longDescription": "The value of this property shall be the number of ports not on this adapter that this port has discovered.",
+                    "readonly": true,
+                    "type": [
+                        "integer",
+                        "null"
+                    ]
+                },
+                "Oem": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.",
+                    "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
+                },
+                "PhysicalPortNumber": {
+                    "description": "The physical port number label for this port.",
+                    "longDescription": "The value of this property shall be the physical port number on the network adapter hardware that this Network Port corresponds to.  This value should match a value visible on the hardware.  When HostPortEnabled and ManagementPortEnabled are both \"false\", the port shall not establish physical link.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "PortMaximumMTU": {
+                    "description": "The largest maximum transmission unit (MTU) that can be configured for this network port.",
+                    "longDescription": "The value of this property shall be the largest maximum transmission unit (MTU) that can be configured for this network port.",
+                    "readonly": true,
+                    "type": [
+                        "integer",
+                        "null"
+                    ]
                 },
                 "SignalDetected": {
+                    "description": "Whether or not the port has detected enough signal on enough lanes to establish link.",
+                    "longDescription": "The value of this property shall be a boolean indicating whether the port has detected enough signal on enough lanes to establish link.",
+                    "readonly": true,
                     "type": [
                         "boolean",
                         "null"
-                    ],
-                    "readonly": true,
-                    "description": "Whether or not the port has detected enough signal on enough lanes to establish link.",
-                    "longDescription": "The value of this property shall be a boolean indicating whether the port has detected enough signal on enough lanes to establish link."
+                    ]
                 },
-                "Actions": {
-                    "type": "object",
-                    "patternProperties": {
-                        "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
-                            "type": [
-                                "array",
-                                "boolean",
-                                "number",
-                                "null",
-                                "object",
-                                "string"
-                            ],
-                            "description": "This property shall specify a valid odata or Redfish property."
-                        }
-                    },
-                    "additionalProperties": false,
-                    "properties": {
-                        "Oem": {
-                            "type": "object",
-                            "patternProperties": {
-                                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
-                                    "type": [
-                                        "array",
-                                        "boolean",
-                                        "number",
-                                        "null",
-                                        "object",
-                                        "string"
-                                    ],
-                                    "description": "This property shall specify a valid odata or Redfish property."
-                                }
+                "Status": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
+                },
+                "SupportedEthernetCapabilities": {
+                    "description": "The set of Ethernet capabilities that this port supports.",
+                    "items": {
+                        "anyOf": [
+                            {
+                                "$ref": "#/definitions/SupportedEthernetCapabilities"
                             },
-                            "additionalProperties": true,
-                            "properties": {},
-                            "description": "The available OEM specific actions for this resource.",
-                            "longDescription": "This type shall contain any additional OEM actions for this resource."
-                        }
+                            {
+                                "type": "null"
+                            }
+                        ]
                     },
-                    "description": "The available actions for this resource.",
-                    "longDescription": "The Actions property shall contain the available actions for this resource."
+                    "longDescription": "The value of this property shall be an array of zero or more Ethernet capabilities supported by this port.",
+                    "readonly": true,
+                    "type": "array"
+                },
+                "SupportedLinkCapabilities": {
+                    "description": "The self-described link capabilities of this port.",
+                    "items": {
+                        "anyOf": [
+                            {
+                                "$ref": "#/definitions/SupportedLinkCapabilities"
+                            },
+                            {
+                                "type": "null"
+                            }
+                        ]
+                    },
+                    "longDescription": "This object shall describe the static capabilities of the port, irrespective of transient conditions such as cabling, interface module presence, or remote link parter status or configuration.",
+                    "type": "array"
+                },
+                "VendorId": {
+                    "description": "The Vendor Identification for this port.",
+                    "longDescription": "This property shall indicate the Vendor Identification string information as provided by the manufacturer of this port.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "WakeOnLANEnabled": {
+                    "description": "Whether Wake on LAN (WoL) is enabled for this network port.",
+                    "longDescription": "The value of this property shall be a boolean indicating whether Wake on LAN (WoL) is enabled for this network port.",
+                    "readonly": false,
+                    "type": [
+                        "boolean",
+                        "null"
+                    ]
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
-            "description": "A Network Port represents a discrete physical port capable of connecting to a network.",
-            "longDescription": "A Network Port represents a discrete physical port capable of connecting to a network."
+            "type": "object"
+        },
+        "OemActions": {
+            "additionalProperties": true,
+            "description": "The available OEM specific actions for this resource.",
+            "longDescription": "This type shall contain any additional OEM actions for this resource.",
+            "patternProperties": {
+                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[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"
+        },
+        "PortConnectionType": {
+            "enum": [
+                "NotConnected",
+                "NPort",
+                "PointToPoint",
+                "PrivateLoop",
+                "PublicLoop",
+                "Generic",
+                "ExtenderFabric"
+            ],
+            "enumDescriptions": {
+                "ExtenderFabric": "This port connection type is an extender fabric port.",
+                "Generic": "This port connection type is a generic fabric port.",
+                "NPort": "This port connects via an N-Port to a switch.",
+                "NotConnected": "This port is not connected.",
+                "PointToPoint": "This port connects in a Point-to-point configuration.",
+                "PrivateLoop": "This port connects in a private loop configuration.",
+                "PublicLoop": "This port connects in a public configuration."
+            },
+            "type": "string"
+        },
+        "SupportedEthernetCapabilities": {
+            "enum": [
+                "WakeOnLAN",
+                "EEE"
+            ],
+            "enumDescriptions": {
+                "EEE": "IEEE 802.3az Energy Efficient Ethernet (EEE) is supported on this port.",
+                "WakeOnLAN": "Wake on LAN (WoL) is supported on this port."
+            },
+            "type": "string"
+        },
+        "SupportedLinkCapabilities": {
+            "additionalProperties": false,
+            "description": "The self-described link capabilities of an assocaited port.",
+            "longDescription": "This type shall describe the static capabilities of an associated port, irrespective of transient conditions such as cabling, interface module presence, or remote link parter status or configuration.",
+            "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": {
+                "AutoSpeedNegotiation": {
+                    "description": "Indicates whether the port has the capability to auto negotiate speed.",
+                    "longDescription": "The value of this property shall be indicate whether the port is capable of auto-negotiating speed.",
+                    "readonly": true,
+                    "type": [
+                        "boolean",
+                        "null"
+                    ]
+                },
+                "CapableLinkSpeedMbps": {
+                    "description": "The self-described link network speed capabilities of this port. Note: Should this be a new enumerated type of link speeds?.",
+                    "items": {
+                        "type": [
+                            "integer",
+                            "null"
+                        ]
+                    },
+                    "longDescription": "The value of this property shall be all of the possible network link speed capabilities of this port.",
+                    "readonly": true,
+                    "type": "array"
+                },
+                "LinkNetworkTechnology": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/LinkNetworkTechnology"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The self-described link network technology capabilities of this port.",
+                    "longDescription": "The value of this property shall be a network technology capability of this port.",
+                    "readonly": true
+                },
+                "LinkSpeedMbps": {
+                    "deprecated": "This property has been Deprecated in favor of the CapableLinkSpeedMbps collection found in NetworkPort.v1_2_0.",
+                    "description": "The speed of the link in Mbps when this link network technology is active.",
+                    "longDescription": "The value of this property shall be the speed of the link in megabits per second (Mbps) for this port when this link network technology is active.",
+                    "readonly": true,
+                    "type": [
+                        "integer",
+                        "null"
+                    ],
+                    "units": "Mbit/s"
+                }
+            },
+            "type": "object"
         }
     },
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright"
-}
+    "owningEntity": "DMTF",
+    "title": "#NetworkPort.v1_2_0.NetworkPort"
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/PCIeDevice/PCIeDevice.json b/static/redfish/v1/JsonSchemas/PCIeDevice/PCIeDevice.json
index 824a52a..4f7c224 100644
--- a/static/redfish/v1/JsonSchemas/PCIeDevice/PCIeDevice.json
+++ b/static/redfish/v1/JsonSchemas/PCIeDevice/PCIeDevice.json
@@ -1,18 +1,19 @@
 {
     "$ref": "#/definitions/PCIeDevice",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_3_0.json",
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
             "description": "The available actions for this resource.",
             "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -22,7 +23,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -45,11 +48,12 @@
             "description": "Contains references to other resources that are related to this resource.",
             "longDescription": "This type, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -68,7 +72,7 @@
                     "type": "array"
                 },
                 "Chassis@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "Oem": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
@@ -85,7 +89,7 @@
                     "type": "array"
                 },
                 "PCIeFunctions@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 }
             },
             "type": "object"
@@ -95,11 +99,12 @@
             "description": "The available OEM specific actions for this resource.",
             "longDescription": "This type shall contain any additional OEM actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -113,12 +118,14 @@
         "PCIeDevice": {
             "additionalProperties": false,
             "description": "This is the schema definition for the PCIeDevice resource.  It represents the properties of a PCIeDevice attached to a System.",
+            "longDescription": "This resource shall be used to represent a PCIeDevice attached to a System.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -128,13 +135,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
@@ -188,7 +198,8 @@
                 },
                 "Links": {
                     "$ref": "#/definitions/Links",
-                    "description": "The links object contains the links to other resources that are related to this resource."
+                    "description": "The links object contains the links to other resources that are related to this resource.",
+                    "longDescription": "The Links property, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource."
                 },
                 "Manufacturer": {
                     "description": "This is the manufacturer of this PCIe device.",
@@ -217,6 +228,18 @@
                     "description": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.",
                     "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
                 },
+                "PCIeInterface": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/PCIeInterface"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The PCIe interface details for this PCIe device.",
+                    "longDescription": "This object shall contain details on the PCIe interface used to connect this PCIe Device to its host or upstream switch."
+                },
                 "PartNumber": {
                     "description": "The part number for this PCIe device.",
                     "longDescription": "The value of this property shall be a part number assigned by the organization that is responsible for producing or manufacturing the PCIe device.",
@@ -245,22 +268,110 @@
                     ]
                 },
                 "Status": {
-                    "anyOf": [
-                        {
-                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
-                        },
-                        {
-                            "type": "null"
-                        }
-                    ]
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
             "type": "object"
+        },
+        "PCIeInterface": {
+            "additionalProperties": false,
+            "description": "This is the definition for a PCI Interface object.",
+            "longDescription": "These properties shall be the definition for a PCIe Interface 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": {
+                "LanesInUse": {
+                    "description": "This is the number of PCIe lanes in use by this device.",
+                    "longDescription": "The value of this property shall be the number of PCIe lanes in use by this device, which shall be equal or less than the value of MaxLanes.",
+                    "maximum": 32,
+                    "readonly": true,
+                    "type": [
+                        "integer",
+                        "null"
+                    ]
+                },
+                "MaxLanes": {
+                    "description": "This is the number of PCIe lanes supported by this device.",
+                    "longDescription": "The value of this property shall be the maximum number of PCIe lanes supported by this device.",
+                    "maximum": 32,
+                    "readonly": true,
+                    "type": [
+                        "integer",
+                        "null"
+                    ]
+                },
+                "MaxPCIeType": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/PCIeDevice.json#/definitions/PCIeTypes"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The highest version of the PCIe specification supported by this device.",
+                    "longDescription": "The value of this property shall be the maximum PCIe specification that this device supports.",
+                    "readonly": true
+                },
+                "Oem": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "Oem extension object.",
+                    "longDescription": "This object represents the Oem property.  All values for resources described by this schema shall comply to the requirements as described in the Redfish specification."
+                },
+                "PCIeType": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/PCIeDevice.json#/definitions/PCIeTypes"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The version of the PCIe specification in use by this device.",
+                    "longDescription": "The value of this property shall be the negotiated PCIe interface version in use by this device.",
+                    "readonly": true
+                }
+            },
+            "type": "object"
+        },
+        "PCIeTypes": {
+            "enum": [
+                "Gen1",
+                "Gen2",
+                "Gen3",
+                "Gen4",
+                "Gen5"
+            ],
+            "enumDescriptions": {
+                "Gen1": "A PCIe v1.0 slot.",
+                "Gen2": "A PCIe v2.0 slot.",
+                "Gen3": "A PCIe v3.0 slot.",
+                "Gen4": "A PCIe v4.0 slot.",
+                "Gen5": "A PCIe v5.0 slot."
+            },
+            "type": "string"
         }
     },
-    "title": "#PCIeDevice.v1_2_0.PCIeDevice"
+    "owningEntity": "DMTF",
+    "title": "#PCIeDevice.v1_3_0.PCIeDevice"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/PCIeFunction/PCIeFunction.json b/static/redfish/v1/JsonSchemas/PCIeFunction/PCIeFunction.json
index 1ba6eb8..94e628c 100644
--- a/static/redfish/v1/JsonSchemas/PCIeFunction/PCIeFunction.json
+++ b/static/redfish/v1/JsonSchemas/PCIeFunction/PCIeFunction.json
@@ -1,7 +1,7 @@
 {
     "$ref": "#/definitions/PCIeFunction",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_4_0.json",
-    "copyright": "Copyright 2014-2018 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
@@ -13,6 +13,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -22,7 +23,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -101,6 +104,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -119,7 +123,7 @@
                     "type": "array"
                 },
                 "Drives@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "EthernetInterfaces": {
                     "description": "An array of references to the ethernet interfaces which the PCIe device produces.",
@@ -131,7 +135,7 @@
                     "type": "array"
                 },
                 "EthernetInterfaces@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "NetworkDeviceFunctions": {
                     "description": "An array of references to the Network Device Functions which the PCIe device produces.",
@@ -143,7 +147,7 @@
                     "type": "array"
                 },
                 "NetworkDeviceFunctions@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "Oem": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
@@ -173,7 +177,7 @@
                     "type": "array"
                 },
                 "StorageControllers@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 }
             },
             "type": "object"
@@ -188,6 +192,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -201,12 +206,14 @@
         "PCIeFunction": {
             "additionalProperties": false,
             "description": "This is the schema definition for the PCIeFunction resource.  It represents the properties of a PCIeFunction attached to a System.",
+            "longDescription": "This resource shall be used to represent a PCIeFunction attached to a System.",
             "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",
@@ -216,16 +223,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
                 },
                 "@odata.etag": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/etag"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
@@ -274,7 +281,7 @@
                     "longDescription": "The value of this property shall the PCIe device function number within a given PCIe device.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -290,7 +297,8 @@
                 },
                 "Links": {
                     "$ref": "#/definitions/Links",
-                    "description": "The links object contains the links to other resources that are related to this resource."
+                    "description": "The links object contains the links to other resources that are related to this resource.",
+                    "longDescription": "The Links property, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource."
                 },
                 "Name": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
@@ -312,14 +320,9 @@
                     ]
                 },
                 "Status": {
-                    "anyOf": [
-                        {
-                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
-                        },
-                        {
-                            "type": "null"
-                        }
-                    ]
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 },
                 "SubsystemId": {
                     "description": "The Subsystem ID of this PCIe function.",
@@ -353,6 +356,8 @@
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -360,5 +365,5 @@
         }
     },
     "owningEntity": "DMTF",
-    "title": "#PCIeFunction.v1_2_0.PCIeFunction"
+    "title": "#PCIeFunction.v1_2_1.PCIeFunction"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/PCIeSlots/PCIeSlots.json b/static/redfish/v1/JsonSchemas/PCIeSlots/PCIeSlots.json
new file mode 100644
index 0000000..d854d75
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/PCIeSlots/PCIeSlots.json
@@ -0,0 +1,284 @@
+{
+    "$ref": "#/definitions/PCIeSlots",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 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": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
+                }
+            },
+            "type": "object"
+        },
+        "OemActions": {
+            "additionalProperties": true,
+            "description": "The available OEM specific actions for this resource.",
+            "longDescription": "This type shall contain any additional OEM actions for this resource.",
+            "patternProperties": {
+                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[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"
+        },
+        "PCIeLinks": {
+            "additionalProperties": false,
+            "description": "Contains references to other resources that are related to this resource.",
+            "longDescription": "This type, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (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": "Oem extension object.",
+                    "longDescription": "This object represents the Oem property.  All values for resources described by this schema shall comply to the requirements as described in the Redfish specification."
+                },
+                "PCIeDevice": {
+                    "description": "An array of references to the PCIe Devices contained in this slot.",
+                    "items": {
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/PCIeDevice.json#/definitions/PCIeDevice"
+                    },
+                    "longDescription": "The value of this property shall be an array of references to the resources that this physical slot is associated with and shall reference resources of type PCIeDevice. If the Status.State of this slot has a value of Absent, this property shall not appear in the resource.",
+                    "readonly": true,
+                    "type": "array"
+                },
+                "PCIeDevice@odata.count": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
+                }
+            },
+            "type": "object"
+        },
+        "PCIeSlot": {
+            "additionalProperties": false,
+            "description": "This is the definition for a PCI slot information object.",
+            "longDescription": "These properties shall be the definition for a PCIe Slot 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": {
+                "Lanes": {
+                    "description": "This is the number of PCIe lanes supported by this slot.",
+                    "longDescription": "The value of this property shall be the maximum number of PCIe lanes supported by the slot.",
+                    "maximum": 32,
+                    "readonly": true,
+                    "type": [
+                        "integer",
+                        "null"
+                    ]
+                },
+                "Links": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/PCIeLinks"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "Contains references to other resources that are related to this resource.",
+                    "longDescription": "This type, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource."
+                },
+                "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."
+                },
+                "Oem": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "Oem extension object.",
+                    "longDescription": "This object represents the Oem property.  All values for resources described by this schema shall comply to the requirements as described in the Redfish specification."
+                },
+                "PCIeType": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/PCIeDevice.json#/definitions/PCIeTypes"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "This is the PCIe specification supported by this slot.",
+                    "longDescription": "The value of this property shall be the maximum PCIe specification that this slot supports.",
+                    "readonly": true
+                },
+                "SlotType": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/SlotTypes"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "This is the PCIe slot type for this slot.",
+                    "longDescription": "The value of this property shall be the slot type as specified by the PCIe specification.",
+                    "readonly": true
+                },
+                "Status": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
+                }
+            },
+            "type": "object"
+        },
+        "PCIeSlots": {
+            "additionalProperties": false,
+            "description": "This is the schema definition for the PCIe Slot properties.",
+            "longDescription": "This resource shall be used to represent an set of PCIe slot  information 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_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
+                },
+                "@odata.id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
+                },
+                "@odata.type": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
+                },
+                "Actions": {
+                    "$ref": "#/definitions/Actions",
+                    "description": "The available actions for this resource.",
+                    "longDescription": "The Actions property shall contain the available actions for this resource."
+                },
+                "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": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.",
+                    "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
+                },
+                "Slots": {
+                    "description": "An array of PCI Slot information.",
+                    "items": {
+                        "anyOf": [
+                            {
+                                "$ref": "#/definitions/PCIeSlot"
+                            },
+                            {
+                                "type": "null"
+                            }
+                        ]
+                    },
+                    "longDescription": "This array shall contain an entry for each PCIe slot, including empty slots (with no device or card installed).",
+                    "type": "array"
+                }
+            },
+            "required": [
+                "@odata.id",
+                "@odata.type",
+                "Id",
+                "Name"
+            ],
+            "type": "object"
+        },
+        "SlotTypes": {
+            "enum": [
+                "FullLength",
+                "HalfLength",
+                "LowProfile",
+                "Mini",
+                "M2",
+                "OEM"
+            ],
+            "enumDescriptions": {
+                "FullLength": "Full-Length PCIe slot.",
+                "HalfLength": "Half-Length PCIe slot.",
+                "LowProfile": "Low-Profile or Slim PCIe slot.",
+                "M2": "PCIe M.2 slot.",
+                "Mini": "Mini PCIe slot.",
+                "OEM": "And OEM-specific slot."
+            },
+            "type": "string"
+        }
+    },
+    "owningEntity": "DMTF",
+    "title": "#PCIeSlots.v1_0_0.PCIeSlots"
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/PCIeSlots/index.json b/static/redfish/v1/JsonSchemas/PCIeSlots/index.json
new file mode 100644
index 0000000..3e743a7
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/PCIeSlots/index.json
@@ -0,0 +1,21 @@
+{
+    "@odata.context": "/redfish/v1/$metadata#JsonSchemaFile.JsonSchemaFile",
+    "@odata.id": "/redfish/v1/JSONSchemas/PCIeSlots",
+    "@odata.type": "#JsonSchemaFile.v1_0_2.JsonSchemaFile",
+    "Name": "PCIeSlots Schema File",
+    "Schema": "#PCIeSlots.PCIeSlots",
+    "Description": "PCIeSlots Schema File Location",
+    "Id": "PCIeSlots",
+    "Languages": [
+        "en"
+    ],
+    "Languages@odata.count": 1,
+    "Location": [
+        {
+            "Language": "en",
+            "PublicationUri": "http://redfish.dmtf.org/schemas/v1/PCIeSlots.json",
+            "Uri": "/redfish/v1/JSONSchemas/PCIeSlots/PCIeSlots.json"
+        }
+    ],
+    "Location@odata.count": 1
+}
\ 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 47eed75..3004546 100644
--- a/static/redfish/v1/JsonSchemas/Port/Port.json
+++ b/static/redfish/v1/JsonSchemas/Port/Port.json
@@ -1,18 +1,19 @@
 {
     "$ref": "#/definitions/Port",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_3_0.json",
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
             "description": "The available actions for this resource.",
             "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -25,7 +26,9 @@
                     "$ref": "#/definitions/Reset"
                 },
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -35,11 +38,12 @@
             "description": "Contains references to other resources that are related to this resource.",
             "longDescription": "This type, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -58,7 +62,7 @@
                     "type": "array"
                 },
                 "AssociatedEndpoints@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "ConnectedSwitchPorts": {
                     "description": "An array of references to the ports that connect to the switch through this port.",
@@ -70,7 +74,7 @@
                     "type": "array"
                 },
                 "ConnectedSwitchPorts@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "ConnectedSwitches": {
                     "description": "An array of references to the switches that connect to the switch through this port.",
@@ -82,7 +86,7 @@
                     "type": "array"
                 },
                 "ConnectedSwitches@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "Oem": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
@@ -97,11 +101,12 @@
             "description": "The available OEM specific actions for this resource.",
             "longDescription": "This type shall contain any additional OEM actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -117,11 +122,12 @@
             "description": "Port contains properties describing a port of a switch.",
             "longDescription": "This resource shall be used to represent a simple switch port for a Redfish implementation.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -131,13 +137,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
@@ -175,7 +184,9 @@
                     "longDescription": "The Links property, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource."
                 },
                 "Location": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location",
+                    "description": "The Location of the port.",
+                    "longDescription": "This property shall contain location information of the associated port."
                 },
                 "MaxSpeedGbps": {
                     "description": "The maximum speed of this port as currently configured.",
@@ -232,19 +243,23 @@
                     "readonly": true
                 },
                 "Status": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 },
                 "Width": {
                     "description": "The number of lanes, phys, or other physical transport links that this port contains.",
                     "longDescription": "The value of this property shall be the number of physical transport links that this port contains.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -281,11 +296,12 @@
                 }
             },
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -307,5 +323,6 @@
             "type": "object"
         }
     },
-    "title": "#Port.v1_1_0.Port"
+    "owningEntity": "DMTF",
+    "title": "#Port.v1_1_1.Port"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/Power/Power.json b/static/redfish/v1/JsonSchemas/Power/Power.json
index 8634c7c..c2263f9 100644
--- a/static/redfish/v1/JsonSchemas/Power/Power.json
+++ b/static/redfish/v1/JsonSchemas/Power/Power.json
@@ -1,18 +1,19 @@
 {
     "$ref": "#/definitions/Power",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_3_0.json",
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
             "description": "The available actions for this resource.",
             "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -22,7 +23,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -32,11 +35,12 @@
             "description": "This type describes an input range for a power supply.",
             "longDescription": "This type shall describe an input range that the associated power supply is able to utilize.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -101,7 +105,9 @@
                     "units": "V"
                 },
                 "Oem": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "Oem extension object.",
+                    "longDescription": "This object represents the Oem property.  All values for resources described by this schema shall comply to the requirements as described in the Redfish specification."
                 },
                 "OutputWattage": {
                     "description": "The maximum capacity of this Power Supply when operating in this input range.",
@@ -169,11 +175,12 @@
             "description": "The available OEM specific actions for this resource.",
             "longDescription": "This type shall contain any additional OEM actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -189,11 +196,12 @@
             "description": "This is the schema definition for the Power Metrics.  It represents the properties for Power Consumption and Power Limiting.",
             "longDescription": "This resource shall be used to represent a power metrics resource for a Redfish implementation.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -203,13 +211,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
@@ -241,6 +252,7 @@
                     "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
                 },
                 "PowerControl": {
+                    "autoExpand": true,
                     "description": "This is the definition for power control function (power reading/limiting).",
                     "items": {
                         "$ref": "#/definitions/PowerControl"
@@ -249,9 +261,10 @@
                     "type": "array"
                 },
                 "PowerControl@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "PowerSupplies": {
+                    "autoExpand": true,
                     "description": "Details of the power supplies associated with this system or device.",
                     "items": {
                         "$ref": "#/definitions/PowerSupply"
@@ -260,19 +273,22 @@
                     "type": "array"
                 },
                 "PowerSupplies@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "Redundancy": {
+                    "autoExpand": true,
                     "description": "Redundancy information for the power subsystem of this system or device.",
                     "items": {
                         "$ref": "http://redfish.dmtf.org/schemas/v1/Redundancy.json#/definitions/Redundancy"
                     },
+                    "longDescription": "This property shall contain redundancy information for the power subsystem of this system or device.",
                     "type": "array"
                 },
                 "Redundancy@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "Voltages": {
+                    "autoExpand": true,
                     "description": "This is the definition for voltage sensors.",
                     "items": {
                         "$ref": "#/definitions/Voltage"
@@ -281,10 +297,12 @@
                     "type": "array"
                 },
                 "Voltages@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -293,11 +311,12 @@
         "PowerControl": {
             "additionalProperties": false,
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -306,6 +325,9 @@
                 }
             },
             "properties": {
+                "@odata.id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
+                },
                 "Actions": {
                     "$ref": "#/definitions/PowerControlActions",
                     "description": "The available actions for this resource.",
@@ -405,19 +427,25 @@
                 "RelatedItem": {
                     "description": "The ID(s) of the resources associated with this Power Limit.",
                     "items": {
-                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/idRef"
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/idRef"
                     },
                     "longDescription": "The value of this property shall be an array of IDs containing pointers consistent with JSON pointer syntax to the resource that is being limited.",
                     "readonly": true,
                     "type": "array"
                 },
                 "RelatedItem@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "Status": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 }
             },
+            "required": [
+                "@odata.id",
+                "MemberId"
+            ],
             "type": "object"
         },
         "PowerControlActions": {
@@ -425,11 +453,12 @@
             "description": "The available actions for this resource.",
             "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -439,7 +468,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "#/definitions/PowerControlOemActions"
+                    "$ref": "#/definitions/PowerControlOemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -449,11 +480,12 @@
             "description": "The available OEM specific actions for this resource.",
             "longDescription": "This type shall contain any additional OEM actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -469,11 +501,12 @@
             "description": "This object contains power limit status and configuration information for the chassis.",
             "longDescription": "This type shall contain power limit status and configuration information for this chassis.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -487,7 +520,7 @@
                     "longDescription": "The value of this property shall represent the time interval in ms required for the limiting process to react and reduce the power consumption below the limit.",
                     "readonly": false,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ],
                     "units": "ms"
@@ -539,11 +572,12 @@
             "description": "This type describe the power metrics for a resource.",
             "longDescription": "This type shall contain power metrics for power readings (interval, min/max/ave power consumption) for a resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -569,7 +603,7 @@
                     "minimum": 0,
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ],
                     "units": "min"
@@ -603,11 +637,12 @@
             "additionalProperties": false,
             "description": "Details of a power supplies associated with this system or device.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -616,6 +651,9 @@
                 }
             },
             "properties": {
+                "@odata.id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
+                },
                 "Actions": {
                     "$ref": "#/definitions/PowerSupplyActions",
                     "description": "The available actions for this resource.",
@@ -713,7 +751,9 @@
                     "readonly": true
                 },
                 "Location": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location",
+                    "description": "The Location of the power supply.",
+                    "longDescription": "This property shall contain location information of the associated power supply."
                 },
                 "Manufacturer": {
                     "description": "This is the manufacturer of this power supply.",
@@ -817,18 +857,18 @@
                     "type": "array"
                 },
                 "Redundancy@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "RelatedItem": {
                     "description": "The ID(s) of the resources associated with this Power Limit.",
                     "items": {
-                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/idRef"
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/idRef"
                     },
                     "longDescription": "The value of this property shall be an array of IDs containing pointers consistent with JSON pointer syntax to the resource that is being limited.",
                     "type": "array"
                 },
                 "RelatedItem@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "SerialNumber": {
                     "description": "The serial number for this Power Supply.",
@@ -849,9 +889,15 @@
                     ]
                 },
                 "Status": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 }
             },
+            "required": [
+                "@odata.id",
+                "MemberId"
+            ],
             "type": "object"
         },
         "PowerSupplyActions": {
@@ -859,11 +905,12 @@
             "description": "The available actions for this resource.",
             "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -873,7 +920,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "#/definitions/PowerSupplyOemActions"
+                    "$ref": "#/definitions/PowerSupplyOemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -883,11 +932,12 @@
             "description": "The available OEM specific actions for this resource.",
             "longDescription": "This type shall contain any additional OEM actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -916,11 +966,12 @@
         "Voltage": {
             "additionalProperties": false,
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -929,6 +980,9 @@
                 }
             },
             "properties": {
+                "@odata.id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
+                },
                 "Actions": {
                     "$ref": "#/definitions/VoltageActions",
                     "description": "The available actions for this resource.",
@@ -1023,26 +1077,28 @@
                 "RelatedItem": {
                     "description": "Describes the areas or devices to which this voltage measurement applies.",
                     "items": {
-                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/idRef"
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/idRef"
                     },
                     "longDescription": "The value of this property shall be an array of IDs containing pointers consistent with JSON pointer syntax to the areas or devices to which this voltage measurement applies.",
                     "readonly": true,
                     "type": "array"
                 },
                 "RelatedItem@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "SensorNumber": {
                     "description": "A numerical identifier to represent the voltage sensor.",
                     "longDescription": "The value of this property shall be a numerical identifier for this voltage sensor that is unique within this resource.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
                 "Status": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 },
                 "UpperThresholdCritical": {
                     "description": "Above normal range but not yet fatal.",
@@ -1075,6 +1131,10 @@
                     "units": "V"
                 }
             },
+            "required": [
+                "@odata.id",
+                "MemberId"
+            ],
             "type": "object"
         },
         "VoltageActions": {
@@ -1082,11 +1142,12 @@
             "description": "The available actions for this resource.",
             "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -1096,7 +1157,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "#/definitions/VoltageOemActions"
+                    "$ref": "#/definitions/VoltageOemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -1106,11 +1169,12 @@
             "description": "The available OEM specific actions for this resource.",
             "longDescription": "This type shall contain any additional OEM actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -1122,5 +1186,6 @@
             "type": "object"
         }
     },
-    "title": "#Power.v1_5_0.Power"
+    "owningEntity": "DMTF",
+    "title": "#Power.v1_5_1.Power"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/PrivilegeRegistry/PrivilegeRegistry.json b/static/redfish/v1/JsonSchemas/PrivilegeRegistry/PrivilegeRegistry.json
index b285361..596100f 100644
--- a/static/redfish/v1/JsonSchemas/PrivilegeRegistry/PrivilegeRegistry.json
+++ b/static/redfish/v1/JsonSchemas/PrivilegeRegistry/PrivilegeRegistry.json
@@ -1,18 +1,19 @@
 {
     "$ref": "#/definitions/PrivilegeRegistry",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_3_0.json",
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
             "description": "The available actions for this resource.",
             "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -22,7 +23,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -32,11 +35,12 @@
             "description": "This type describes a mapping between an entity and the relevant privileges used to access it.",
             "longDescription": "This type shall describe a mapping between an entity and the relevant privileges used to access it.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -109,11 +113,12 @@
             "description": "The available OEM specific actions for this resource.",
             "longDescription": "This type shall contain any additional OEM actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -129,11 +134,12 @@
             "description": "Used for describing the specific privileges for a set of HTTP operations.",
             "longDescription": "This type shall describe the specific privileges required for a set of HTTP operations.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -198,11 +204,12 @@
             "description": "Used for describing the specific privileges for a given type of HTTP operation.",
             "longDescription": "This type shall describe the specific privileges required for a given type of HTTP operation.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -228,11 +235,12 @@
             "description": "This is the schema definition for Operation to Privilege mapping.",
             "longDescription": "This resource shall be used to represent operation to privilege mappings.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -242,13 +250,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
@@ -271,9 +282,11 @@
                     "readonly": true
                 },
                 "Mappings": {
+                    "description": "This property describes the mappings between entities and the relevant privileges used to access them.",
                     "items": {
                         "$ref": "#/definitions/Mapping"
                     },
+                    "longDescription": "This property shall describe the mappings between entities and the relevant privileges used to access them.",
                     "type": "array"
                 },
                 "Name": {
@@ -285,6 +298,7 @@
                     "items": {
                         "type": "string"
                     },
+                    "longDescription": "This property shall be an array that contains the set of OEM Priviliges used in building this mapping.",
                     "readonly": true,
                     "type": "array"
                 },
@@ -298,11 +312,14 @@
                     "items": {
                         "$ref": "http://redfish.dmtf.org/schemas/v1/Privileges.json#/definitions/PrivilegeType"
                     },
+                    "longDescription": "This property shall be an array that contains the set of Redfish standard priviliges used in building this mapping.",
                     "readonly": true,
                     "type": "array"
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -313,11 +330,12 @@
             "description": "This type describes a mapping between one or more targets and the HTTP operations associated with them.",
             "longDescription": "This type shall describe a mapping between one or more targets and the HTTP operations associated with them.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -354,5 +372,6 @@
             "type": "object"
         }
     },
-    "title": "#PrivilegeRegistry.v1_1_1.PrivilegeRegistry"
+    "owningEntity": "DMTF",
+    "title": "#PrivilegeRegistry.v1_1_2.PrivilegeRegistry"
 }
\ 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 64c3bc8..c88ee11 100644
--- a/static/redfish/v1/JsonSchemas/Processor/Processor.json
+++ b/static/redfish/v1/JsonSchemas/Processor/Processor.json
@@ -1,7 +1,7 @@
 {
     "$ref": "#/definitions/Processor",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_4_0.json",
-    "copyright": "Copyright 2014-2018 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
@@ -13,6 +13,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -22,7 +23,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -60,6 +63,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -92,6 +96,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -105,12 +110,14 @@
         "Processor": {
             "additionalProperties": false,
             "description": "This is the schema definition for the Processor resource.  It represents the properties of a processor attached to a System.",
+            "longDescription": "This resource shall be used to represent a single processor contained within a system.",
             "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",
@@ -120,16 +127,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
                 },
                 "@odata.etag": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/etag"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
@@ -176,7 +183,9 @@
                     "longDescription": "The Links property, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource."
                 },
                 "Location": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location",
+                    "description": "The Location of the processor.",
+                    "longDescription": "This property shall contain location information of the associated processor."
                 },
                 "Manufacturer": {
                     "description": "The processor manufacturer.",
@@ -192,9 +201,10 @@
                     "longDescription": "This property shall indicate the maximum rated clock speed of the processor in MHz.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
-                    ]
+                    ],
+                    "units": "MHz"
                 },
                 "Model": {
                     "description": "The product model number of this device.",
@@ -255,7 +265,9 @@
                     ]
                 },
                 "Status": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 },
                 "SubProcessors": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/ProcessorCollection.json#/definitions/ProcessorCollection",
@@ -268,7 +280,7 @@
                     "longDescription": "This property shall indicate the total count of independent processor cores contained within this processor.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -277,12 +289,14 @@
                     "longDescription": "This property shall indicate the total count of independent execution threads supported by this processor.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -315,6 +329,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -405,5 +420,5 @@
         }
     },
     "owningEntity": "DMTF",
-    "title": "#Processor.v1_3_0.Processor"
+    "title": "#Processor.v1_3_1.Processor"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/Redundancy/Redundancy.json b/static/redfish/v1/JsonSchemas/Redundancy/Redundancy.json
index 4085619..aff1efc 100644
--- a/static/redfish/v1/JsonSchemas/Redundancy/Redundancy.json
+++ b/static/redfish/v1/JsonSchemas/Redundancy/Redundancy.json
@@ -1,17 +1,18 @@
 {
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_3_0.json",
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
             "description": "The available actions for this resource.",
             "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -21,7 +22,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -31,11 +34,12 @@
             "description": "The available OEM specific actions for this resource.",
             "longDescription": "This type shall contain any additional OEM actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -51,11 +55,12 @@
             "description": "This is the redundancy definition to be used in other resource schemas.",
             "longDescription": "This object represents the Redundancy element property.  All values for resources described by this schema shall comply to the requirements as described in the Redfish specification.  The value of this string shall be of the format for the reserved word *Redundancy*.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -64,6 +69,9 @@
                 }
             },
             "properties": {
+                "@odata.id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
+                },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
                     "description": "The available actions for this resource.",
@@ -74,7 +82,7 @@
                     "longDescription": "The value of this property shall contain the maximum number of members allowed in the redundancy group.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -89,7 +97,7 @@
                     "longDescription": "The value of this property shall contain the minimum number of members allowed in the redundancy group for the current redundancy mode to still be fault tolerant.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -129,17 +137,19 @@
                 "RedundancySet": {
                     "description": "Contains any ids that represent components of this redundancy set.",
                     "items": {
-                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/idRef"
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/idRef"
                     },
                     "longDescription": "The value of this property shall contain the ids of components that are part of this redundancy set. The id values may or may not be dereferenceable.",
                     "readonly": true,
                     "type": "array"
                 },
                 "RedundancySet@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "Status": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 }
             },
             "required": [
@@ -148,7 +158,9 @@
                 "MaxNumSupported",
                 "MinNumNeeded",
                 "Status",
-                "RedundancySet"
+                "RedundancySet",
+                "@odata.id",
+                "MemberId"
             ],
             "type": "object"
         },
@@ -170,5 +182,6 @@
             "type": "string"
         }
     },
-    "title": "#Redundancy.v1_3_0"
+    "owningEntity": "DMTF",
+    "title": "#Redundancy.v1_3_1"
 }
\ 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 45064cb..bab4af6 100644
--- a/static/redfish/v1/JsonSchemas/Resource/Resource.json
+++ b/static/redfish/v1/JsonSchemas/Resource/Resource.json
@@ -1,7 +1,56 @@
 {
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_3_0.json",
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
+        "ContactInfo": {
+            "additionalProperties": false,
+            "description": "Contact information for this resource.",
+            "longDescription": "This object shall contain contact information used to obtain more information from an individual or organization responsible 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": {
+                "ContactName": {
+                    "description": "Name of this contact.",
+                    "longDescription": "The value shall contain the name of a person or organization to contact for information about this resource.",
+                    "readonly": false,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "EmailAddress": {
+                    "description": "Email address for this contact.",
+                    "longDescription": "The value shall contain the email address for a person or organization to contact for information about this resource.",
+                    "readonly": false,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "PhoneNumber": {
+                    "description": "Phone number for this contact.",
+                    "longDescription": "The value shall contain the phone number for a person or organization to contact for information about this resource.",
+                    "readonly": false,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                }
+            },
+            "type": "object"
+        },
         "DurableNameFormat": {
             "enum": [
                 "NAA",
@@ -32,16 +81,30 @@
             },
             "type": "string"
         },
+        "Health": {
+            "enum": [
+                "OK",
+                "Warning",
+                "Critical"
+            ],
+            "enumDescriptions": {
+                "Critical": "A critical condition exists that requires immediate attention.",
+                "OK": "Normal.",
+                "Warning": "A condition exists that requires attention."
+            },
+            "type": "string"
+        },
         "Identifier": {
             "additionalProperties": false,
             "description": "This type describes any additional identifiers for a resource.",
             "longDescription": "This type shall contain any additional identifiers of a resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -99,11 +162,12 @@
             "description": "This type describes the location of a resource.",
             "longDescription": "This type shall describe the location of a resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -115,13 +179,28 @@
                 "AltitudeMeters": {
                     "description": "The altitude of the resource in meters.",
                     "longDescription": "The altitude of the resource in meters.",
-                    "readonly": true,
+                    "readonly": false,
                     "type": [
                         "number",
                         "null"
                     ],
                     "units": "m"
                 },
+                "Contacts": {
+                    "description": "Array of contact information.",
+                    "items": {
+                        "anyOf": [
+                            {
+                                "$ref": "#/definitions/ContactInfo"
+                            },
+                            {
+                                "type": "null"
+                            }
+                        ]
+                    },
+                    "longDescription": "The value shall contain contact information used to obtain more information from an individual or organization responsible for this resource.",
+                    "type": "array"
+                },
                 "Info": {
                     "deprecated": "This property has been Deprecated in favor of new properties defined in Resource.v1_3_0.Location and Resource.v1_5_0.Location.",
                     "description": "This indicates the location of the resource.",
@@ -145,7 +224,7 @@
                 "Latitude": {
                     "description": "The latitude resource.",
                     "longDescription": "The value shall be the latitude of the resource specified in degrees using a decimal format and not minutes or seconds.",
-                    "readonly": true,
+                    "readonly": false,
                     "type": [
                         "number",
                         "null"
@@ -155,7 +234,7 @@
                 "Longitude": {
                     "description": "The longitude resource in degrees.",
                     "longDescription": "The value shall be the longitude of the resource specified in degrees using a decimal format and not minutes or seconds.",
-                    "readonly": true,
+                    "readonly": false,
                     "type": [
                         "number",
                         "null"
@@ -163,7 +242,9 @@
                     "units": "deg"
                 },
                 "Oem": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "Oem extension object.",
+                    "longDescription": "This object represents the Oem property.  All values for resources described by this schema shall comply to the requirements as described in the Redfish specification."
                 },
                 "PartLocation": {
                     "anyOf": [
@@ -174,8 +255,8 @@
                             "type": "null"
                         }
                     ],
-                    "description": "Postal address of the addressed resource.",
-                    "longDescription": "The value shall be a postal address of the resource."
+                    "description": "The part location within the placement.",
+                    "longDescription": "The value shall describe a location within a resource.  This representation shall be used to indicate the location within the Placement."
                 },
                 "Placement": {
                     "anyOf": [
@@ -261,11 +342,12 @@
             "description": "The part location within the placement.",
             "longDescription": "The value shall describe a location within a resource.  This representation shall be used to indicate the location within the Placement.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -279,7 +361,7 @@
                     "longDescription": "The value shall be the number that represents the location of the part based on the LocationType.  LocationOrdinalValue shall be measured based on the Orientation value starting with 0.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -339,11 +421,12 @@
             "description": "The placement within the addressed location.",
             "longDescription": "The value shall describe a location within a resource.  Examples include a shelf in a rack.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -352,6 +435,15 @@
                 }
             },
             "properties": {
+                "AdditionalInfo": {
+                    "description": "Area designation or other additional info.",
+                    "longDescription": "The value shall contain additional information, such as Tile, Column (Post), Wall, or other designation used to describe a location that cannot be conveyed with other properties defined for the Placement object.",
+                    "readonly": false,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
                 "Rack": {
                     "description": "Name of a rack location within a row.",
                     "longDescription": "The value shall be the name of the rack within a row.",
@@ -366,7 +458,7 @@
                     "longDescription": "Vertical location of the item in the rack. Rack offset units shall be measured from bottom to top starting with 0.",
                     "readonly": false,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -400,11 +492,12 @@
             "description": "The PostalAddress for a resource.",
             "longDescription": "Instances shall describe a postal address for a resource. For more information see RFC5139. Depending on use, the instance may represent a past, current, or future location.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -422,6 +515,15 @@
                         "null"
                     ]
                 },
+                "AdditionalInfo": {
+                    "description": "Room designation or other additional info.",
+                    "longDescription": "The value shall conform the requirements of the LOC field as defined in RFC5139.  It is used to provide additional information.",
+                    "readonly": false,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
                 "Building": {
                     "description": "Name of the building.",
                     "longDescription": "The value shall conform the requirements of the BLD field as defined in RFC5139.  The value shall be name a building used to locate the resource.",
@@ -500,7 +602,7 @@
                     "longDescription": "The value shall conform the requirements of the HNO field as defined in RFC5139.  It is the numeric portion of the house number.",
                     "readonly": false,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -532,6 +634,7 @@
                     ]
                 },
                 "Location": {
+                    "deprecated": "This property has been Deprecated in favor of the property AdditionalInfo found in the 1.7.0 definition of PostalAddress.",
                     "description": "Room designation or other additional info.",
                     "longDescription": "The value shall conform the requirements of the LOC field as defined in RFC5139.  It is used to provide additional information.",
                     "readonly": false,
@@ -775,11 +878,12 @@
             "description": "This is the base type for addressable members of an array.",
             "longDescription": "Array members can be referenced using the value returned in the @odata.id property which may or may not be a dereferenceable URL. The @odata.id of this entity shall be the location of this element within an Item.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -788,6 +892,9 @@
                 }
             },
             "properties": {
+                "@odata.id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
+                },
                 "MemberId": {
                     "description": "This is the identifier for the member within the collection.",
                     "longDescription": "The value of this string shall uniquely identify the member within the collection.",
@@ -800,17 +907,47 @@
                     "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
                 }
             },
+            "required": [
+                "MemberId",
+                "@odata.id"
+            ],
             "type": "object"
         },
+        "ResetType": {
+            "enum": [
+                "On",
+                "ForceOff",
+                "GracefulShutdown",
+                "GracefulRestart",
+                "ForceRestart",
+                "Nmi",
+                "ForceOn",
+                "PushPowerButton",
+                "PowerCycle"
+            ],
+            "enumDescriptions": {
+                "ForceOff": "Turn the unit off immediately (non-graceful shutdown).",
+                "ForceOn": "Turn the unit on immediately.",
+                "ForceRestart": "Perform an immediate (non-graceful) shutdown, followed by a restart.",
+                "GracefulRestart": "Perform a graceful shutdown followed by a restart of the system.",
+                "GracefulShutdown": "Perform a graceful shutdown and power off.",
+                "Nmi": "Generate a Diagnostic Interrupt (usually an NMI on x86 systems) to cease normal operations, perform diagnostic actions and typically halt the system.",
+                "On": "Turn the unit on.",
+                "PowerCycle": "Perform a power cycle of the unit.",
+                "PushPowerButton": "Simulate the pressing of the physical power button on this unit."
+            },
+            "type": "string"
+        },
         "Resource": {
             "additionalProperties": false,
             "description": "This is the base type for resources and referenceable members.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -820,13 +957,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Description": {
                     "anyOf": [
@@ -855,18 +995,21 @@
             },
             "required": [
                 "Id",
-                "Name"
+                "Name",
+                "@odata.id",
+                "@odata.type"
             ],
             "type": "object"
         },
         "ResourceCollection": {
             "additionalProperties": false,
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -876,13 +1019,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Description": {
                     "anyOf": [
@@ -905,8 +1051,43 @@
                     "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
                 }
             },
+            "required": [
+                "Name",
+                "@odata.id",
+                "@odata.type"
+            ],
             "type": "object"
+        },
+        "State": {
+            "enum": [
+                "Enabled",
+                "Disabled",
+                "StandbyOffline",
+                "StandbySpare",
+                "InTest",
+                "Starting",
+                "Absent",
+                "UnavailableOffline",
+                "Deferring",
+                "Quiesced",
+                "Updating"
+            ],
+            "enumDescriptions": {
+                "Absent": "This function or resource is not present or not detected.",
+                "Deferring": "The element will not process any commands but will queue new requests.",
+                "Disabled": "This function or resource has been disabled.",
+                "Enabled": "This function or resource has been enabled.",
+                "InTest": "This function or resource is undergoing testing.",
+                "Quiesced": "The element is enabled but only processes a restricted set of commands.",
+                "StandbyOffline": "This function or resource is enabled, but awaiting an external action to activate it.",
+                "StandbySpare": "This function or resource is part of a redundancy set and is awaiting a failover or other external action to activate it.",
+                "Starting": "This function or resource is starting.",
+                "UnavailableOffline": "This function or resource is present but cannot be used.",
+                "Updating": "The element is updating and may be unavailable or degraded."
+            },
+            "type": "string"
         }
     },
-    "title": "#Resource.v1_6_0"
+    "owningEntity": "DMTF",
+    "title": "#Resource.v1_7_0"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/ResourceBlock/ResourceBlock.json b/static/redfish/v1/JsonSchemas/ResourceBlock/ResourceBlock.json
index 5c10443..3ce34d6 100644
--- a/static/redfish/v1/JsonSchemas/ResourceBlock/ResourceBlock.json
+++ b/static/redfish/v1/JsonSchemas/ResourceBlock/ResourceBlock.json
@@ -1,7 +1,7 @@
 {
     "$ref": "#/definitions/ResourceBlock",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_4_0.json",
-    "copyright": "Copyright 2014-2018 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
@@ -13,6 +13,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -22,7 +23,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -33,13 +36,15 @@
                 "ComposedAndAvailable",
                 "Composed",
                 "Unused",
-                "Failed"
+                "Failed",
+                "Unavailable"
             ],
             "enumDescriptions": {
                 "Composed": "Final successful state of a Resource Block which has participated in composition.",
                 "ComposedAndAvailable": "Indicates the Resource Block is currently participating in one or more compositions, and is available to be used in more compositions.",
                 "Composing": "Intermediate state indicating composition is in progress.",
                 "Failed": "The final composition resulted in failure and manual intervention may be required to fix it.",
+                "Unavailable": "Indicates the Resource Block has been made unavailable by the service, such as due to maintenance being performed on the Resource Block.",
                 "Unused": "Indicates the Resource Block is free and can participate in composition."
             },
             "type": "string"
@@ -54,6 +59,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -81,7 +87,7 @@
                     "minimum": 1,
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -91,7 +97,7 @@
                     "minimum": 0,
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -138,6 +144,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -156,7 +163,7 @@
                     "type": "array"
                 },
                 "Chassis@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "ComputerSystems": {
                     "description": "An array of references to the Computer Systems that are composed from this Resource Block.",
@@ -168,7 +175,7 @@
                     "type": "array"
                 },
                 "ComputerSystems@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "Oem": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
@@ -185,7 +192,7 @@
                     "type": "array"
                 },
                 "Zones@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 }
             },
             "type": "object"
@@ -200,6 +207,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -220,6 +228,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -229,16 +238,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
                 },
                 "@odata.etag": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/etag"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
@@ -260,7 +269,7 @@
                     "type": "array"
                 },
                 "ComputerSystems@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "Description": {
                     "anyOf": [
@@ -283,7 +292,7 @@
                     "type": "array"
                 },
                 "EthernetInterfaces@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "Id": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
@@ -304,7 +313,7 @@
                     "type": "array"
                 },
                 "Memory@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "Name": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
@@ -320,7 +329,7 @@
                     "type": "array"
                 },
                 "NetworkInterfaces@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "Oem": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
@@ -337,7 +346,7 @@
                     "type": "array"
                 },
                 "Processors@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "ResourceBlockType": {
                     "description": "This property represents the types of resources available on this Resource Block.",
@@ -358,10 +367,12 @@
                     "type": "array"
                 },
                 "SimpleStorage@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "Status": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 },
                 "Storage": {
                     "description": "An array of references to the Storage available in this Resource Block.",
@@ -373,12 +384,14 @@
                     "type": "array"
                 },
                 "Storage@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 }
             },
             "required": [
                 "CompositionStatus",
                 "ResourceBlockType",
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -391,11 +404,13 @@
                 "Memory",
                 "Network",
                 "Storage",
-                "ComputerSystem"
+                "ComputerSystem",
+                "Expansion"
             ],
             "enumDescriptions": {
                 "Compute": "This Resource Block contains both Processor and Memory resources in a manner that creates a compute complex.",
                 "ComputerSystem": "This Resource Block contains ComputerSystem resources.",
+                "Expansion": "This Resource Block is capable of changing over time based on its configuration.  Different types of devices within this Resource Block can be added and removed over time.",
                 "Memory": "This Resource Block contains Memory resources.",
                 "Network": "This Resource Block contains Network resources, such as Ethernet Interfaces.",
                 "Processor": "This Resource Block contains Processor resources.",
@@ -405,5 +420,5 @@
         }
     },
     "owningEntity": "DMTF",
-    "title": "#ResourceBlock.v1_1_0.ResourceBlock"
+    "title": "#ResourceBlock.v1_2_0.ResourceBlock"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/Role/Role.json b/static/redfish/v1/JsonSchemas/Role/Role.json
index 721c65b..bb045c8 100644
--- a/static/redfish/v1/JsonSchemas/Role/Role.json
+++ b/static/redfish/v1/JsonSchemas/Role/Role.json
@@ -1,18 +1,19 @@
 {
     "$ref": "#/definitions/Role",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_3_0.json",
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
             "description": "The available actions for this resource.",
             "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -22,7 +23,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -32,11 +35,12 @@
             "description": "The available OEM specific actions for this resource.",
             "longDescription": "This type shall contain any additional OEM actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -52,11 +56,12 @@
             "description": "This resource defines a user role to be used in conjunction with a Manager Account.",
             "longDescription": "This resource shall be used to represent resources that represent the user role for the user account.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -66,13 +71,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
@@ -135,6 +143,8 @@
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -144,5 +154,6 @@
             "type": "object"
         }
     },
-    "title": "#Role.v1_2_1.Role"
+    "owningEntity": "DMTF",
+    "title": "#Role.v1_2_2.Role"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/Schedule/Schedule.json b/static/redfish/v1/JsonSchemas/Schedule/Schedule.json
new file mode 100644
index 0000000..81fee7a
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/Schedule/Schedule.json
@@ -0,0 +1,202 @@
+{
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "definitions": {
+        "DayOfWeek": {
+            "description": "Days of the Week.",
+            "enum": [
+                "Monday",
+                "Tuesday",
+                "Wednesday",
+                "Thursday",
+                "Friday",
+                "Saturday",
+                "Sunday",
+                "Every"
+            ],
+            "enumDescriptions": {
+                "Every": "Every day of the week.",
+                "Friday": "Friday.",
+                "Monday": "Monday.",
+                "Saturday": "Saturday.",
+                "Sunday": "Sunday.",
+                "Thursday": "Thursday.",
+                "Tuesday": "Tuesday.",
+                "Wednesday": "Wednesday."
+            },
+            "enumLongDescriptions": {
+                "Every": "This value indicates that every day of the week has been selected. When used in array properties (such as for enabling a function on certain days) it shall be the only member in the array."
+            },
+            "longDescription": "Days of the Week.",
+            "type": "string"
+        },
+        "MonthOfYear": {
+            "description": "Months of the year.",
+            "enum": [
+                "January",
+                "February",
+                "March",
+                "April",
+                "May",
+                "June",
+                "July",
+                "August",
+                "September",
+                "October",
+                "November",
+                "December",
+                "Every"
+            ],
+            "enumDescriptions": {
+                "April": "April.",
+                "August": "August.",
+                "December": "December.",
+                "Every": "Every month of the year.",
+                "February": "February.",
+                "January": "January.",
+                "July": "July.",
+                "June": "June.",
+                "March": "March.",
+                "May": "May.",
+                "November": "November.",
+                "October": "October.",
+                "September": "September."
+            },
+            "enumLongDescriptions": {
+                "Every": "This value indicates that every month of the year has been selected. When used in array properties (such as for enabling a function for certain months) it shall be the only member in the array."
+            },
+            "longDescription": "Months of the year.",
+            "type": "string"
+        },
+        "Schedule": {
+            "additionalProperties": false,
+            "description": "Schedule a series of occurrences.",
+            "longDescription": "The properties of this type shall be used to Schedule a series of occurrences.",
+            "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": {
+                "EnabledDaysOfMonth": {
+                    "description": "Days of month when scheduled occurrences are enabled. Zero indicates that every day of the month is enabled.",
+                    "items": {
+                        "type": [
+                            "integer",
+                            "null"
+                        ]
+                    },
+                    "longDescription": "Days of month when scheduled occurrences are enabled, for enabled days of week and months of year. If the array contains a single value of zero, or if the property is not present, all days of the month shall be enabled.",
+                    "maximum": 31,
+                    "minimum": 0,
+                    "readonly": false,
+                    "type": "array"
+                },
+                "EnabledDaysOfWeek": {
+                    "description": "Days of the week when scheduled occurrences are enabled, for enabled days of month and months of year.",
+                    "items": {
+                        "anyOf": [
+                            {
+                                "$ref": "#/definitions/DayOfWeek"
+                            },
+                            {
+                                "type": "null"
+                            }
+                        ]
+                    },
+                    "longDescription": "Days of the week when scheduled occurrences are enabled. If not present, all days of the week shall be enabled.",
+                    "readonly": false,
+                    "type": "array"
+                },
+                "EnabledIntervals": {
+                    "description": "Intervals when scheduled occurrences are enabled.",
+                    "items": {
+                        "type": [
+                            "string",
+                            "null"
+                        ]
+                    },
+                    "longDescription": "Each value shall be an ISO 8601 conformant interval specifying when occurences are enabled.",
+                    "readonly": false,
+                    "type": "array"
+                },
+                "EnabledMonthsOfYear": {
+                    "description": "Months of year when scheduled occurrences are enabled.",
+                    "items": {
+                        "anyOf": [
+                            {
+                                "$ref": "#/definitions/MonthOfYear"
+                            },
+                            {
+                                "type": "null"
+                            }
+                        ]
+                    },
+                    "longDescription": "Months of year when scheduled occurrences are enabled, for enabled days of week and days of month. If not present, all months of the year shall be enabled.",
+                    "readonly": false,
+                    "type": "array"
+                },
+                "InitialStartTime": {
+                    "description": "Time for initial occurrence.",
+                    "format": "date-time",
+                    "longDescription": "The value shall be a date and time of day on which the initial occurrence is scheduled to occur.",
+                    "readonly": false,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "Lifetime": {
+                    "description": "The time after provisioning when the schedule as a whole expires.",
+                    "longDescription": "The value shall be a Redfish Duration describing the time after provisioning when the schedule expires.",
+                    "pattern": "-?P(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+(.\\d+)?S)?)?",
+                    "readonly": false,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "MaxOccurrences": {
+                    "description": "Maximum number of scheduled occurrences.",
+                    "longDescription": "Maximum number of scheduled occurrences.",
+                    "readonly": false,
+                    "type": [
+                        "integer",
+                        "null"
+                    ]
+                },
+                "Name": {
+                    "description": "The Schedule name.",
+                    "longDescription": "The name of the Schedule. It should be constructed as OrgID:ScheduleName. Examples: ACME:Daily, ACME:Weekly, ACME:FirstTuesday.",
+                    "readonly": false,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "RecurrenceInterval": {
+                    "description": "Distance until the next occurrences.",
+                    "longDescription": "The value shall be a Redfish Duration describing the time until the next occurrence.",
+                    "pattern": "-?P(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+(.\\d+)?S)?)?",
+                    "readonly": false,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                }
+            },
+            "type": "object"
+        }
+    },
+    "owningEntity": "DMTF",
+    "title": "#Schedule.v1_2_0"
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/Schedule/index.json b/static/redfish/v1/JsonSchemas/Schedule/index.json
new file mode 100644
index 0000000..b3eb6b8
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/Schedule/index.json
@@ -0,0 +1,21 @@
+{
+    "@odata.context": "/redfish/v1/$metadata#JsonSchemaFile.JsonSchemaFile",
+    "@odata.id": "/redfish/v1/JSONSchemas/Schedule",
+    "@odata.type": "#JsonSchemaFile.v1_0_2.JsonSchemaFile",
+    "Name": "Schedule Schema File",
+    "Schema": "#Schedule.Schedule",
+    "Description": "Schedule Schema File Location",
+    "Id": "Schedule",
+    "Languages": [
+        "en"
+    ],
+    "Languages@odata.count": 1,
+    "Location": [
+        {
+            "Language": "en",
+            "PublicationUri": "http://redfish.dmtf.org/schemas/v1/Schedule.json",
+            "Uri": "/redfish/v1/JSONSchemas/Schedule/Schedule.json"
+        }
+    ],
+    "Location@odata.count": 1
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/SecureBoot/SecureBoot.json b/static/redfish/v1/JsonSchemas/SecureBoot/SecureBoot.json
index 1d0e697..ebc037a 100644
--- a/static/redfish/v1/JsonSchemas/SecureBoot/SecureBoot.json
+++ b/static/redfish/v1/JsonSchemas/SecureBoot/SecureBoot.json
@@ -1,18 +1,19 @@
 {
     "$ref": "#/definitions/SecureBoot",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_3_0.json",
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
             "description": "The available actions for this resource.",
             "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -25,7 +26,9 @@
                     "$ref": "#/definitions/ResetKeys"
                 },
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -35,11 +38,12 @@
             "description": "The available OEM specific actions for this resource.",
             "longDescription": "This type shall contain any additional OEM actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -63,11 +67,12 @@
                 }
             },
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -106,11 +111,12 @@
             "description": "This resource contains UEFI Secure Boot information. It represents properties for managing the UEFI Secure Boot functionality of a system.",
             "longDescription": "This resource shall be used to represent a UEFI Secure Boot resource for a Redfish implementation.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -120,13 +126,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
@@ -194,6 +203,8 @@
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -226,5 +237,6 @@
             "type": "string"
         }
     },
-    "title": "#SecureBoot.v1_0_3.SecureBoot"
+    "owningEntity": "DMTF",
+    "title": "#SecureBoot.v1_0_4.SecureBoot"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/SerialInterface/SerialInterface.json b/static/redfish/v1/JsonSchemas/SerialInterface/SerialInterface.json
index 3c4658c..58810c4 100644
--- a/static/redfish/v1/JsonSchemas/SerialInterface/SerialInterface.json
+++ b/static/redfish/v1/JsonSchemas/SerialInterface/SerialInterface.json
@@ -1,18 +1,19 @@
 {
     "$ref": "#/definitions/SerialInterface",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_3_0.json",
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
             "description": "The available actions for this resource.",
             "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -22,7 +23,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -110,11 +113,12 @@
             "description": "The available OEM specific actions for this resource.",
             "longDescription": "This type shall contain any additional OEM actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -160,11 +164,12 @@
             "description": "This schema defines an asynchronous serial interface resource.",
             "longDescription": "This resource shall be used to represent serial resources as part of the Redfish specification.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -174,13 +179,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
@@ -277,6 +285,8 @@
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -305,5 +315,6 @@
             "type": "string"
         }
     },
-    "title": "#SerialInterface.v1_1_2.SerialInterface"
+    "owningEntity": "DMTF",
+    "title": "#SerialInterface.v1_1_3.SerialInterface"
 }
\ 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 67a501e..049a4ef 100644
--- a/static/redfish/v1/JsonSchemas/ServiceRoot/ServiceRoot.json
+++ b/static/redfish/v1/JsonSchemas/ServiceRoot/ServiceRoot.json
@@ -1,7 +1,7 @@
 {
     "$ref": "#/definitions/ServiceRoot",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_4_0.json",
-    "copyright": "Copyright 2014-2018 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Expand": {
             "additionalProperties": false,
@@ -13,6 +13,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -22,34 +23,34 @@
             },
             "properties": {
                 "ExpandAll": {
-                    "description": "This indicates whether the expand support of asterisk (expand all entries) is supported.",
-                    "longDescription": "The value of this property shall be a boolean indicating whether this service supports the use of asterisk (expand all entries) as a value for the expand query parameter as described by the specification.",
+                    "description": "This indicates whether the $expand support of asterisk (expand all entries) is supported.",
+                    "longDescription": "The value of this property shall be a boolean indicating whether this service supports the use of asterisk (expand all entries) as a value for the $expand query parameter as described by the specification.",
                     "readonly": true,
                     "type": "boolean"
                 },
                 "Levels": {
                     "description": "This indicates whether the expand support of the $levels qualifier is supported by the service.",
-                    "longDescription": "The value of this property shall be a boolean indicating whether this service supports the use of $levels as a value for the expand query parameter as described by the specification.",
+                    "longDescription": "The value of this property shall be a boolean indicating whether this service supports the use of $levels as a value for the $expand query parameter as described by the specification.",
                     "readonly": true,
                     "type": "boolean"
                 },
                 "Links": {
-                    "description": "This indicates whether the expand support of tilde (expand only entries in the Links section) is supported.",
-                    "longDescription": "The value of this property shall be a boolean indicating whether this service supports the use of tilde (expand only entries in the Links section) as a value for the expand query parameter as described by the specification.",
+                    "description": "This indicates whether the $expand support of tilde (expand only entries in the Links section) is supported.",
+                    "longDescription": "The value of this property shall be a boolean indicating whether this service supports the use of tilde (expand only entries in the Links section) as a value for the $expand query parameter as described by the specification.",
                     "readonly": true,
                     "type": "boolean"
                 },
                 "MaxLevels": {
-                    "description": "This indicates the maximum number value of the $levels qualifier in expand operations.",
+                    "description": "This indicates the maximum number value of the $levels qualifier in $expand operations.",
                     "longDescription": "The value of this property shall be the maximum value of the $levels qualifier supported by the service and shall only be included if the value of the Levels property is true.",
                     "maximum": 6,
                     "minimum": 1,
                     "readonly": true,
-                    "type": "number"
+                    "type": "integer"
                 },
                 "NoLinks": {
-                    "description": "This indicates whether the expand support of period (expand only entries not in the Links section) is supported.",
-                    "longDescription": "The value of this property shall be a boolean indicating whether this service supports the use of period (expand only entries not in the Links section) as a value for the expand query parameter as described by the specification.",
+                    "description": "This indicates whether the $expand support of period (expand only entries not in the Links section) is supported.",
+                    "longDescription": "The value of this property shall be a boolean indicating whether this service supports the use of period (expand only entries not in the Links section) as a value for the $expand query parameter as described by the specification.",
                     "readonly": true,
                     "type": "boolean"
                 }
@@ -66,6 +67,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -101,6 +103,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -109,20 +112,32 @@
                 }
             },
             "properties": {
+                "ExcerptQuery": {
+                    "description": "This indicates whether the 'excerpt' query parameter is supported.",
+                    "longDescription": "The value of this property shall be a boolean indicating whether this service supports the use of the 'excerpt' query parameter as described by the specification.",
+                    "readonly": true,
+                    "type": "boolean"
+                },
                 "ExpandQuery": {
                     "$ref": "#/definitions/Expand",
                     "description": "Contains information about the use of $expand in the service.",
                     "longDescription": "This type, as described by the Redfish Specification, shall contain information about the support of the $expand query parameter by the service."
                 },
                 "FilterQuery": {
-                    "description": "This indicates whether the filter query parameter is supported.",
-                    "longDescription": "The value of this property shall be a boolean indicating whether this service supports the use of th filter query parameter as described by the specification.",
+                    "description": "This indicates whether the $filter query parameter is supported.",
+                    "longDescription": "The value of this property shall be a boolean indicating whether this service supports the use of the $filter query parameter as described by the specification.",
+                    "readonly": true,
+                    "type": "boolean"
+                },
+                "OnlyMemberQuery": {
+                    "description": "This indicates whether the 'only' query parameter is supported.",
+                    "longDescription": "The value of this property shall be a boolean indicating whether this service supports the use of the 'only' query parameter as described by the specification.",
                     "readonly": true,
                     "type": "boolean"
                 },
                 "SelectQuery": {
-                    "description": "This indicates whether the select query parameter is supported.",
-                    "longDescription": "The value of this property shall be a boolean indicating whether this service supports the use of th select query parameter as described by the specification.",
+                    "description": "This indicates whether the $select query parameter is supported.",
+                    "longDescription": "The value of this property shall be a boolean indicating whether this service supports the use of the $select query parameter as described by the specification.",
                     "readonly": true,
                     "type": "boolean"
                 }
@@ -139,6 +154,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -148,16 +164,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
                 },
                 "@odata.etag": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/etag"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "AccountService": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/AccountService.json#/definitions/AccountService",
@@ -204,6 +220,12 @@
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
                     "readonly": true
                 },
+                "JobService": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/JobService.json#/definitions/JobService",
+                    "description": "This is a link to the JobService.",
+                    "longDescription": "The classes structure shall only contain a reference to a resource that conforms to the JobService schema.",
+                    "readonly": true
+                },
                 "JsonSchemas": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/JsonSchemaFileCollection.json#/definitions/JsonSchemaFileCollection",
                     "description": "This is a link to a collection of Json-Schema files.",
@@ -284,6 +306,12 @@
                     "longDescription": "The classes structure shall only contain a reference to a resource that complies to the TaskService schema.",
                     "readonly": true
                 },
+                "TelemetryService": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/TelemetryService.json#/definitions/TelemetryService",
+                    "description": "This is a link to the TelemetryService.",
+                    "longDescription": "The value shall be a link to the TelemetryService.",
+                    "readonly": true
+                },
                 "UUID": {
                     "anyOf": [
                         {
@@ -306,6 +334,8 @@
             },
             "required": [
                 "Links",
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -313,5 +343,5 @@
         }
     },
     "owningEntity": "DMTF",
-    "title": "#ServiceRoot.v1_3_1.ServiceRoot"
+    "title": "#ServiceRoot.v1_4_0.ServiceRoot"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/Session/Session.json b/static/redfish/v1/JsonSchemas/Session/Session.json
index cdc5942..85a7276 100644
--- a/static/redfish/v1/JsonSchemas/Session/Session.json
+++ b/static/redfish/v1/JsonSchemas/Session/Session.json
@@ -1,115 +1,138 @@
 {
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_2_0.json",
-    "title": "#Session.v1_1_0.Session",
     "$ref": "#/definitions/Session",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
-        "Session": {
-            "type": "object",
+        "Actions": {
+            "additionalProperties": false,
+            "description": "The available actions for this resource.",
+            "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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"
-                    ],
-                    "description": "This property shall specify a valid odata or Redfish property."
+                    ]
                 }
             },
+            "properties": {
+                "Oem": {
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
+                }
+            },
+            "type": "object"
+        },
+        "OemActions": {
+            "additionalProperties": true,
+            "description": "The available OEM specific actions for this resource.",
+            "longDescription": "This type shall contain any additional OEM actions for this resource.",
+            "patternProperties": {
+                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[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"
+        },
+        "Session": {
             "additionalProperties": false,
+            "description": "The Session resource describes a single connection (session) between a client and a Redfish service instance.",
+            "longDescription": "This resource shall be used to represent a session 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.4.0.0.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
-                "Oem": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
-                    "description": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.",
-                    "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
-                },
-                "Id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
-                    "readonly": true
+                "Actions": {
+                    "$ref": "#/definitions/Actions",
+                    "description": "The available actions for this resource.",
+                    "longDescription": "The Actions property shall contain the available actions for this resource."
                 },
                 "Description": {
                     "anyOf": [
-                        {"$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"},
-                        {"type": "null"}
+                        {
+                            "$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
                 },
-                "UserName": {
-                    "type": [
-                        "string",
-                        "null"
-                    ],
-                    "readonly": true,
-                    "description": "The UserName for the account for this session.",
-                    "longDescription": "The value of this property shall be the UserName that matches a registered account identified by a ManagerAccount resource registered with the Account Service."
+                "Oem": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.",
+                    "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
                 },
                 "Password": {
+                    "description": "This property is used in a POST to specify a password when creating a new session.  This property is null on a GET.",
+                    "longDescription": "The value of this property shall be the password for this session.  The value shall be null for GET requests.",
+                    "readonly": true,
                     "type": [
                         "string",
                         "null"
-                    ],
-                    "readonly": true,
-                    "description": "This property is used in a POST to specify a password when creating a new session.  This property is null on a GET.",
-                    "longDescription": "The value of this property shall be the password for this session.  The value shall be null for GET requests."
+                    ]
                 },
-                "Actions": {
-                    "type": "object",
-                    "patternProperties": {
-                        "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
-                            "type": [
-                                "array",
-                                "boolean",
-                                "number",
-                                "null",
-                                "object",
-                                "string"
-                            ],
-                            "description": "This property shall specify a valid odata or Redfish property."
-                        }
-                    },
-                    "additionalProperties": false,
-                    "properties": {
-                        "Oem": {
-                            "type": "object",
-                            "patternProperties": {
-                                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
-                                    "type": [
-                                        "array",
-                                        "boolean",
-                                        "number",
-                                        "null",
-                                        "object",
-                                        "string"
-                                    ],
-                                    "description": "This property shall specify a valid odata or Redfish property."
-                                }
-                            },
-                            "additionalProperties": true,
-                            "properties": {},
-                            "description": "The available OEM specific actions for this resource.",
-                            "longDescription": "This type shall contain any additional OEM actions for this resource."
-                        }
-                    },
-                    "description": "The available actions for this resource.",
-                    "longDescription": "The Actions property shall contain the available actions for this resource."
+                "UserName": {
+                    "description": "The UserName for the account for this session.",
+                    "longDescription": "The value of this property shall be the UserName that matches a registered account identified by a ManagerAccount resource registered with the Account Service.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -117,9 +140,9 @@
                 "UserName",
                 "Password"
             ],
-            "description": "The Session resource describes a single connection (session) between a client and a Redfish service instance.",
-            "longDescription": "This resource shall be used to represent a session for a Redfish implementation."
+            "type": "object"
         }
     },
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright"
-}
+    "owningEntity": "DMTF",
+    "title": "#Session.v1_1_1.Session"
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/SessionService/SessionService.json b/static/redfish/v1/JsonSchemas/SessionService/SessionService.json
index c0b20dc..488092c 100644
--- a/static/redfish/v1/JsonSchemas/SessionService/SessionService.json
+++ b/static/redfish/v1/JsonSchemas/SessionService/SessionService.json
@@ -1,133 +1,162 @@
 {
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_2_0.json",
-    "title": "#SessionService.v1_1_3.SessionService",
     "$ref": "#/definitions/SessionService",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
-        "SessionService": {
-            "type": "object",
+        "Actions": {
+            "additionalProperties": false,
+            "description": "The available actions for this resource.",
+            "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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"
-                    ],
-                    "description": "This property shall specify a valid odata or Redfish property."
+                    ]
                 }
             },
+            "properties": {
+                "Oem": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/OemActions"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
+                }
+            },
+            "type": "object"
+        },
+        "OemActions": {
+            "additionalProperties": true,
+            "description": "The available OEM specific actions for this resource.",
+            "longDescription": "This type shall contain any additional OEM actions for this resource.",
+            "patternProperties": {
+                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[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"
+        },
+        "SessionService": {
             "additionalProperties": false,
+            "description": "This is the schema definition for the Session Service.  It represents the properties for the service itself and has links to the actual list of sessions.",
+            "longDescription": "This resource shall be used to represent the Session Service Properties 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.4.0.0.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
-                "Oem": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
-                    "description": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.",
-                    "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
-                },
-                "Id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
-                    "readonly": true
+                "Actions": {
+                    "$ref": "#/definitions/Actions",
+                    "description": "The available actions for this resource.",
+                    "longDescription": "The Actions property shall contain the available actions for this resource."
                 },
                 "Description": {
                     "anyOf": [
-                        {"$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"},
-                        {"type": "null"}
+                        {
+                            "$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
                 },
-                "Status": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
+                "Oem": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.",
+                    "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
                 },
                 "ServiceEnabled": {
+                    "description": "This indicates whether this service is enabled.  If set to false, the Session Service is disabled, and new sessions cannot be created, old sessions cannot be deleted, and established sessions may continue operating.",
+                    "longDescription": "The value of this property shall be a boolean indicating whether this service is enabled.  If disabled, new sessions shall not be created, old sessions shall not be deleted, and established sessions may continue operating.",
+                    "readonly": false,
                     "type": [
                         "boolean",
                         "null"
-                    ],
-                    "readonly": false,
-                    "description": "This indicates whether this service is enabled.  If set to false, the Session Service is disabled and any attempt to access it will fail.  This means new sessions cannot be created, old sessions cannot be deleted though established sessions may continue operating.",
-                    "longDescription": "The value of this property shall be a boolean indicating whether this service is enabled.  This means new sessions cannot be created, old sessions cannot be deleted though established sessions may continue operating."
+                    ]
                 },
                 "SessionTimeout": {
-                    "type": "number",
-                    "minimum": 30,
-                    "maximum": 86400,
-                    "units": "s",
-                    "readonly": false,
                     "description": "This is the number of seconds of inactivity that a session may have before the session service closes the session due to inactivity.",
-                    "longDescription": "This property shall reference the threshold of time in seconds between requests on a specific session at which point the session service shall close the session due to inactivity. The session service shall support any value between the Validation.Minimum and Validation.Maximum."
+                    "longDescription": "This property shall reference the threshold of time in seconds between requests on a specific session at which point the session service shall close the session due to inactivity. The session service shall support any value between the Validation.Minimum and Validation.Maximum.",
+                    "maximum": 86400,
+                    "minimum": 30,
+                    "readonly": false,
+                    "type": "integer",
+                    "units": "s"
                 },
                 "Sessions": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/SessionCollection.json#/definitions/SessionCollection",
-                    "readonly": true,
                     "description": "Link to a collection of Sessions.",
-                    "longDescription": "This property shall contain the link to a collection of Sessions."
+                    "longDescription": "This property shall contain the link to a collection of Sessions.",
+                    "readonly": true
                 },
-                "Actions": {
-                    "type": "object",
-                    "patternProperties": {
-                        "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
-                            "type": [
-                                "array",
-                                "boolean",
-                                "number",
-                                "null",
-                                "object",
-                                "string"
-                            ],
-                            "description": "This property shall specify a valid odata or Redfish property."
-                        }
-                    },
-                    "additionalProperties": false,
-                    "properties": {
-                        "Oem": {
-                            "type": [
-                                "object",
-                                "null"
-                            ],
-                            "patternProperties": {
-                                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
-                                    "type": [
-                                        "array",
-                                        "boolean",
-                                        "number",
-                                        "null",
-                                        "object",
-                                        "string"
-                                    ],
-                                    "description": "This property shall specify a valid odata or Redfish property."
-                                }
-                            },
-                            "additionalProperties": true,
-                            "properties": {},
-                            "description": "The available OEM specific actions for this resource.",
-                            "longDescription": "This type shall contain any additional OEM actions for this resource."
-                        }
-                    },
-                    "longDescription": "This type shall contain the available actions for this resource.",
-                    "description": "The Actions object contains the available custom actions on this resource."
+                "Status": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
-            "description": "This is the schema definition for the Session Service.  It represents the properties for the service itself and has links to the actual list of sessions.",
-            "longDescription": "This resource shall be used to represent the Session Service Properties for a Redfish implementation."
+            "type": "object"
         }
     },
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright"
-}
+    "owningEntity": "DMTF",
+    "title": "#SessionService.v1_1_4.SessionService"
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/Settings/Settings.json b/static/redfish/v1/JsonSchemas/Settings/Settings.json
index e02e538..f823060 100644
--- a/static/redfish/v1/JsonSchemas/Settings/Settings.json
+++ b/static/redfish/v1/JsonSchemas/Settings/Settings.json
@@ -1,6 +1,6 @@
 {
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_4_0.json",
-    "copyright": "Copyright 2014-2018 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "ApplyTime": {
             "enum": [
@@ -33,6 +33,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -46,7 +47,7 @@
                     "longDescription": "The value of this property shall indicate the end of the maintenance window as the number of seconds after the time specified by the MaintenanceWindowStartTime property.",
                     "minimum": 0,
                     "readonly": false,
-                    "type": "number",
+                    "type": "integer",
                     "units": "s"
                 },
                 "MaintenanceWindowStartTime": {
@@ -94,6 +95,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -107,11 +109,11 @@
                     "longDescription": "The value of this property shall be the same as the MaintenanceWindowDurationInSeconds property found in the MaintenanceWindow structure on the MaintenanceWindowResource.  This property shall be required if the SupportedValues property contains AtMaintenanceWindowStart or InMaintenanceWindowOnReset.",
                     "minimum": 0,
                     "readonly": true,
-                    "type": "number",
+                    "type": "integer",
                     "units": "s"
                 },
                 "MaintenanceWindowResource": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/idRef",
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/idRef",
                     "description": "The value of this property is used to indicate the location of the maintenance window settings.",
                     "longDescription": "The value of this property shall be a reference to a resource that contains the @Redfish.MaintenanceWindow property which governs this resource.  This property shall be required if the SupportedValues property contains AtMaintenanceWindowStart or InMaintenanceWindowOnReset.",
                     "readonly": true
@@ -148,6 +150,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -167,7 +170,7 @@
                     "longDescription": "The value of this property shall indicate the end of the maintenance window as the number of seconds after the time specified by the MaintenanceWindowStartTime property.  This property shall be required if the ApplyTime property is specified as AtMaintenanceWindowStart or InMaintenanceWindowOnReset.",
                     "minimum": 0,
                     "readonly": false,
-                    "type": "number",
+                    "type": "integer",
                     "units": "s"
                 },
                 "MaintenanceWindowStartTime": {
@@ -190,6 +193,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -208,7 +212,7 @@
                     ]
                 },
                 "MaintenanceWindowResource": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/idRef",
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/idRef",
                     "description": "The value of this property is used to indicate the location of the maintenance window settings.",
                     "longDescription": "The value of this property shall be a reference to a resource that contains the @Redfish.MaintenanceWindow property which governs this resource.  This property should be supported if the SupportedApplyTimes property contains AtMaintenanceWindowStart or InMaintenanceWindowOnReset.",
                     "readonly": true
@@ -222,7 +226,7 @@
                     "type": "array"
                 },
                 "SettingsObject": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/idRef",
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/idRef",
                     "description": "Reference to the resource the client may PUT/PATCH to in order to change this resource.",
                     "longDescription": "The value of this property shall be the URI of the resource to which a client must do a PUT or PATCH in order to modify this resource.",
                     "readonly": true
@@ -251,5 +255,5 @@
         }
     },
     "owningEntity": "DMTF",
-    "title": "#Settings.v1_2_0"
+    "title": "#Settings.v1_2_1"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/SimpleStorage/SimpleStorage.json b/static/redfish/v1/JsonSchemas/SimpleStorage/SimpleStorage.json
index 5a9c302..d14dade 100644
--- a/static/redfish/v1/JsonSchemas/SimpleStorage/SimpleStorage.json
+++ b/static/redfish/v1/JsonSchemas/SimpleStorage/SimpleStorage.json
@@ -1,219 +1,256 @@
 {
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_2_0.json",
-    "title": "#SimpleStorage.v1_2_0.SimpleStorage",
     "$ref": "#/definitions/SimpleStorage",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
-        "Device": {
-            "type": "object",
+        "Actions": {
+            "additionalProperties": false,
+            "description": "The available actions for this resource.",
+            "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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"
-                    ],
-                    "description": "This property shall specify a valid odata or Redfish property."
+                    ]
                 }
             },
-            "additionalProperties": false,
             "properties": {
                 "Oem": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem"
-                },
-                "Name": {
-                    "type": "string",
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
+                }
+            },
+            "type": "object"
+        },
+        "Device": {
+            "additionalProperties": false,
+            "description": "A storage device such as a disk drive or optical media device.",
+            "longDescription": "This type shall describe a storage device visible to SimpleStorage.",
+            "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": {
+                "CapacityBytes": {
+                    "description": "The size of the storage device.",
+                    "longDescription": "The value of this property shall represent the size (in bytes) of the Storage Device.",
+                    "minimum": 0,
                     "readonly": true,
-                    "description": "The name of the resource or array element.",
-                    "longDescription": "This object represents the Name property.  All values for resources described by this schema shall comply to the requirements as described in the Redfish specification. The value of this string shall be of the format for the reserved word *Name*."
-                },
-                "Status": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
+                    "type": [
+                        "integer",
+                        "null"
+                    ],
+                    "units": "By"
                 },
                 "Manufacturer": {
+                    "description": "The name of the manufacturer of this device.",
+                    "longDescription": "This property shall indicate the name of the manufacturer of this storage device.",
+                    "readonly": true,
                     "type": [
                         "string",
                         "null"
-                    ],
-                    "readonly": true,
-                    "description": "The name of the manufacturer of this device.",
-                    "longDescription": "This property shall indicate the name of the manufacturer of this storage device."
+                    ]
                 },
                 "Model": {
+                    "description": "The product model number of this device.",
+                    "longDescription": "This property shall indicate the model information as provided by the manufacturer of this storage device.",
+                    "readonly": true,
                     "type": [
                         "string",
                         "null"
-                    ],
-                    "readonly": true,
-                    "description": "The product model number of this device.",
-                    "longDescription": "This property shall indicate the model information as provided by the manufacturer of this storage device."
+                    ]
                 },
-                "CapacityBytes": {
-                    "type": [
-                        "number",
-                        "null"
-                    ],
-                    "minimum": 0,
-                    "units": "By",
+                "Name": {
+                    "description": "The name of the resource or array element.",
+                    "longDescription": "This object represents the Name property.  All values for resources described by this schema shall comply to the requirements as described in the Redfish specification. The value of this string shall be of the format for the reserved word *Name*.",
                     "readonly": true,
-                    "description": "The size of the storage device.",
-                    "longDescription": "The value of this property shall represent the size (in bytes) of the Storage Device."
+                    "type": "string"
+                },
+                "Oem": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "Oem extension object.",
+                    "longDescription": "This object represents the Oem property.  All values for resources described by this schema shall comply to the requirements as described in the Redfish specification."
+                },
+                "Status": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 }
             },
             "required": [
                 "Name"
             ],
-            "description": "A storage device such as a disk drive or optical media device.",
-            "longDescription": "This type shall describe a storage device visible to SimpleStorage."
+            "type": "object"
         },
-        "SimpleStorage": {
-            "type": "object",
+        "Links": {
+            "additionalProperties": false,
+            "description": "Contains references to other resources that are related to this resource.",
+            "longDescription": "This type, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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"
-                    ],
-                    "description": "This property shall specify a valid odata or Redfish property."
+                    ]
                 }
             },
+            "properties": {
+                "Chassis": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Chassis.json#/definitions/Chassis",
+                    "description": "A reference to the Chassis which contains this Simple Storage.",
+                    "longDescription": "The value of this property shall be a reference to a resource of type Chassis that represent the physical container associated with this Simple Storage.",
+                    "readonly": true
+                },
+                "Oem": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "Oem extension object.",
+                    "longDescription": "This object represents the Oem property.  All values for resources described by this schema shall comply to the requirements as described in the Redfish specification."
+                }
+            },
+            "type": "object"
+        },
+        "OemActions": {
+            "additionalProperties": true,
+            "description": "The available OEM specific actions for this resource.",
+            "longDescription": "This type shall contain any additional OEM actions for this resource.",
+            "patternProperties": {
+                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[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"
+        },
+        "SimpleStorage": {
             "additionalProperties": false,
+            "description": "This is the schema definition for the Simple Storage resource.  It represents the properties of a storage controller and its directly-attached devices.",
+            "longDescription": "This resource shall be used to represent a storage controller and its directly-attached devices.",
+            "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.4.0.0.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.4.0.0.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
+                },
+                "Actions": {
+                    "$ref": "#/definitions/Actions",
+                    "description": "The available actions for this resource.",
+                    "longDescription": "The Actions property shall contain the available actions for this resource."
+                },
+                "Description": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "readonly": true
+                },
+                "Devices": {
+                    "description": "The storage devices associated with this resource.",
+                    "items": {
+                        "$ref": "#/definitions/Device"
+                    },
+                    "longDescription": "This property shall contain a list of storage devices associated with this resource.",
+                    "type": "array"
+                },
+                "Id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
+                    "readonly": true
+                },
+                "Links": {
+                    "$ref": "#/definitions/Links",
+                    "description": "Contains references to other resources that are related to this resource.",
+                    "longDescription": "The Links property, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (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": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.",
                     "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
                 },
-                "Id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
-                    "readonly": true
-                },
-                "Description": {
-                    "anyOf": [
-                        {"$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"},
-                        {"type": "null"}
-                    ],
-                    "readonly": true
-                },
-                "Name": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
-                    "readonly": true
+                "Status": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 },
                 "UefiDevicePath": {
+                    "description": "The UEFI device path used to access this storage controller.",
+                    "longDescription": "This property shall contain the UEFI device path used to identify and locate the specific storage controller.",
+                    "readonly": true,
                     "type": [
                         "string",
                         "null"
-                    ],
-                    "readonly": true,
-                    "description": "The UEFI device path used to access this storage controller.",
-                    "longDescription": "This property shall contain the UEFI device path used to identify and locate the specific storage controller."
-                },
-                "Devices": {
-                    "type": "array",
-                    "items": {
-                        "$ref": "#/definitions/Device"
-                    },
-                    "description": "The storage devices associated with this resource.",
-                    "longDescription": "This property shall contain a list of storage devices associated with this resource."
-                },
-                "Status": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
-                },
-                "Links": {
-                    "type": "object",
-                    "patternProperties": {
-                        "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
-                            "type": [
-                                "array",
-                                "boolean",
-                                "number",
-                                "null",
-                                "object",
-                                "string"
-                            ],
-                            "description": "This property shall specify a valid odata or Redfish property."
-                        }
-                    },
-                    "additionalProperties": false,
-                    "properties": {
-                        "Oem": {
-                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
-                            "description": "Oem extension object.",
-                            "longDescription": "This object represents the Oem property.  All values for resources described by this schema shall comply to the requirements as described in the Redfish specification."
-                        },
-                        "Chassis": {
-                            "$ref": "http://redfish.dmtf.org/schemas/v1/Chassis.json#/definitions/Chassis",
-                            "readonly": true,
-                            "description": "A reference to the Chassis which contains this Simple Storage.",
-                            "longDescription": "The value of this property shall be a reference to a resource of type Chassis that represent the physical container associated with this Simple Storage."
-                        }
-                    },
-                    "description": "Contains references to other resources that are related to this resource.",
-                    "longDescription": "The Links property, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource."
-                },
-                "Actions": {
-                    "type": "object",
-                    "patternProperties": {
-                        "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
-                            "type": [
-                                "array",
-                                "boolean",
-                                "number",
-                                "null",
-                                "object",
-                                "string"
-                            ],
-                            "description": "This property shall specify a valid odata or Redfish property."
-                        }
-                    },
-                    "additionalProperties": false,
-                    "properties": {
-                        "Oem": {
-                            "type": "object",
-                            "patternProperties": {
-                                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
-                                    "type": [
-                                        "array",
-                                        "boolean",
-                                        "number",
-                                        "null",
-                                        "object",
-                                        "string"
-                                    ],
-                                    "description": "This property shall specify a valid odata or Redfish property."
-                                }
-                            },
-                            "additionalProperties": true,
-                            "properties": {},
-                            "description": "The available OEM specific actions for this resource.",
-                            "longDescription": "This type shall contain any additional OEM actions for this resource."
-                        }
-                    },
-                    "description": "The available actions for this resource.",
-                    "longDescription": "The Actions property shall contain the available actions for this resource."
+                    ]
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
-            "description": "This is the schema definition for the Simple Storage resource.  It represents the properties of a storage controller and its directly-attached devices."
+            "type": "object"
         }
     },
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright"
-}
+    "owningEntity": "DMTF",
+    "title": "#SimpleStorage.v1_2_1.SimpleStorage"
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/SoftwareInventory/SoftwareInventory.json b/static/redfish/v1/JsonSchemas/SoftwareInventory/SoftwareInventory.json
index 812eb64..56c7936 100644
--- a/static/redfish/v1/JsonSchemas/SoftwareInventory/SoftwareInventory.json
+++ b/static/redfish/v1/JsonSchemas/SoftwareInventory/SoftwareInventory.json
@@ -1,7 +1,7 @@
 {
     "$ref": "#/definitions/SoftwareInventory",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_4_0.json",
-    "copyright": "Copyright 2014-2018 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
@@ -13,6 +13,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -22,7 +23,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -37,6 +40,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -57,6 +61,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -66,20 +71,21 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
                 },
                 "@odata.etag": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/etag"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
-                    "description": "The Actions object contains the available custom actions on this resource."
+                    "description": "The available actions for this resource.",
+                    "longDescription": "The Actions property shall contain the available actions for this resource."
                 },
                 "Description": {
                     "anyOf": [
@@ -126,19 +132,19 @@
                 "RelatedItem": {
                     "description": "The ID(s) of the resources associated with this software inventory item.",
                     "items": {
-                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/idRef"
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/idRef"
                     },
                     "longDescription": "The value of this property shall be an array of IDs containing pointers consistent with JSON pointer syntax to the resource that is associated with this software inventory item.",
                     "readonly": true,
                     "type": "array"
                 },
                 "RelatedItem@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "ReleaseDate": {
                     "description": "Release date of this software.",
                     "format": "date-time",
-                    "longDescription": "The value of this property shall be the date of release or production for this software.",
+                    "longDescription": "The value of this property shall be the date of release or production for this software.  The time of day portion of the property shall be '00:00:00Z' if the time of day is unknown.",
                     "readonly": true,
                     "type": [
                         "string",
@@ -152,14 +158,9 @@
                     "type": "string"
                 },
                 "Status": {
-                    "anyOf": [
-                        {
-                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
-                        },
-                        {
-                            "type": "null"
-                        }
-                    ]
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 },
                 "UefiDevicePaths": {
                     "description": "A list of strings representing the UEFI Device Path(s) of the component(s) associated with this software inventory item.",
@@ -193,6 +194,8 @@
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -200,5 +203,5 @@
         }
     },
     "owningEntity": "DMTF",
-    "title": "#SoftwareInventory.v1_2_0.SoftwareInventory"
+    "title": "#SoftwareInventory.v1_2_1.SoftwareInventory"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/Storage/Storage.json b/static/redfish/v1/JsonSchemas/Storage/Storage.json
index 9d32548..a2e0647 100644
--- a/static/redfish/v1/JsonSchemas/Storage/Storage.json
+++ b/static/redfish/v1/JsonSchemas/Storage/Storage.json
@@ -1,18 +1,19 @@
 {
     "$ref": "#/definitions/Storage",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_3_0.json",
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
             "description": "The available actions for this resource.",
             "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -25,21 +26,76 @@
                     "$ref": "#/definitions/SetEncryptionKey"
                 },
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
         },
+        "CacheSummary": {
+            "additionalProperties": false,
+            "description": "This object describes the cache memory of the storage controller in general detail.",
+            "longDescription": "This type shall contain properties which describe the cache memory for a storage controller.",
+            "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": {
+                "PersistentCacheSizeMiB": {
+                    "description": "The portion of the cache memory that is persistent, measured in MiB.",
+                    "longDescription": "This property shall contain the amount of cache memory that is persistent as measured in mebibytes. This size shall be less than or equal to the TotalCacheSizeMib.",
+                    "minimum": 0,
+                    "readonly": true,
+                    "type": [
+                        "integer",
+                        "null"
+                    ],
+                    "units": "MiBy"
+                },
+                "Status": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
+                },
+                "TotalCacheSizeMiB": {
+                    "description": "The total configured cache memory, measured in MiB.",
+                    "longDescription": "This property shall contain the amount of configured cache memory as measured in mebibytes.",
+                    "minimum": 0,
+                    "readonly": true,
+                    "type": [
+                        "integer",
+                        "null"
+                    ],
+                    "units": "MiBy"
+                }
+            },
+            "required": [
+                "TotalCacheSizeMiB"
+            ],
+            "type": "object"
+        },
         "Links": {
             "additionalProperties": false,
             "description": "Contains references to other resources that are related to this resource.",
             "longDescription": "This type, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -58,7 +114,7 @@
                     "type": "array"
                 },
                 "Enclosures@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "Oem": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
@@ -73,11 +129,12 @@
             "description": "The available OEM specific actions for this resource.",
             "longDescription": "This type shall contain any additional OEM actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -171,11 +228,12 @@
                 }
             },
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -201,11 +259,12 @@
             "description": "This schema defines a storage subsystem and its respective properties.  A storage subsystem represents a set of storage controllers (physical or virtual) and the resources such as volumes that can be accessed from that subsystem.",
             "longDescription": "This resource shall be used to represent resources that represent a storage subsystem in the Redfish specification.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -215,13 +274,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
@@ -249,7 +311,7 @@
                     "type": "array"
                 },
                 "Drives@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "Id": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
@@ -270,29 +332,34 @@
                     "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
                 },
                 "Redundancy": {
+                    "autoExpand": true,
                     "description": "Redundancy information for the storage subsystem.",
                     "items": {
                         "$ref": "http://redfish.dmtf.org/schemas/v1/Redundancy.json#/definitions/Redundancy"
                     },
+                    "longDescription": "This property shall contain redundancy information for the storage subsystem.",
                     "type": "array"
                 },
                 "Redundancy@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "Status": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 },
                 "StorageControllers": {
+                    "autoExpand": true,
                     "description": "The set of storage controllers represented by this resource.",
                     "items": {
-                        "$ref": "http://redfish.dmtf.org/schemas/v1/Storage.json#/definitions/StorageController"
+                        "$ref": "#/definitions/StorageController"
                     },
                     "longDescription": "A collection that indicates all the storage controllers that this resource represents.",
                     "readonly": true,
                     "type": "array"
                 },
                 "StorageControllers@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "Volumes": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/VolumeCollection.json#/definitions/VolumeCollection",
@@ -302,6 +369,8 @@
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -312,11 +381,12 @@
             "description": "This schema defines a storage controller and its respective properties.  A storage controller represents a storage device (physical or virtual) that produces Volumes.",
             "longDescription": "This resource shall be used to represent a resource that represents a storage controller in the Redfish specification.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -325,6 +395,9 @@
                 }
             },
             "properties": {
+                "@odata.id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
+                },
                 "Actions": {
                     "$ref": "#/definitions/StorageControllerActions",
                     "description": "The available actions for this resource.",
@@ -345,6 +418,11 @@
                         "null"
                     ]
                 },
+                "CacheSummary": {
+                    "$ref": "#/definitions/CacheSummary",
+                    "description": "This object describes the cache memory of the storage controller in general detail.",
+                    "longDescription": "This object shall contain properties which describe the cache memory for the current resource."
+                },
                 "FirmwareVersion": {
                     "description": "The firmware version of this storage Controller.",
                     "longDescription": "This property shall contain the firwmare version as defined by the manufacturer for the associated storage controller.",
@@ -368,7 +446,9 @@
                     "longDescription": "The Links property, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource."
                 },
                 "Location": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location",
+                    "description": "The Location of the storage controller.",
+                    "longDescription": "This property shall contain location information of the associated storage controller."
                 },
                 "Manufacturer": {
                     "description": "This is the manufacturer of this storage controller.",
@@ -408,6 +488,18 @@
                     "description": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.",
                     "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
                 },
+                "PCIeInterface": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/PCIeDevice.json#/definitions/PCIeInterface"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The PCIe interface details for this controller.",
+                    "longDescription": "This object shall contain details on the PCIe interface used to connect this PCIe-based controller to its host."
+                },
                 "PartNumber": {
                     "description": "The part number for this storage controller.",
                     "longDescription": "The value of this property shall be a part number assigned by the organization that is responsible for producing or manufacturing the storage controller.",
@@ -436,8 +528,8 @@
                     ]
                 },
                 "SpeedGbps": {
-                    "description": "The speed of the storage controller interface.",
-                    "longDescription": "The value of this property shall represent the speed of the Storage bus interface (in Gigabits per second).",
+                    "description": "The maximum speed of the storage controller's device interface.",
+                    "longDescription": "The value of this property shall represent the maximum supported speed of the Storage bus interface (in Gigabits per second). The interface specified connects the controller to the storage devices, not the controller to a host (e.g. SAS bus, not PCIe host bus).",
                     "minimum": 0,
                     "readonly": true,
                     "type": [
@@ -447,7 +539,9 @@
                     "units": "Gbit/s"
                 },
                 "Status": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 },
                 "SupportedControllerProtocols": {
                     "description": "This represents the protocols by which this storage controller can be communicated to.",
@@ -468,6 +562,10 @@
                     "type": "array"
                 }
             },
+            "required": [
+                "@odata.id",
+                "MemberId"
+            ],
             "type": "object"
         },
         "StorageControllerActions": {
@@ -475,11 +573,12 @@
             "description": "The available actions for this resource.",
             "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -489,7 +588,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "#/definitions/StorageControllerOemActions"
+                    "$ref": "#/definitions/StorageControllerOemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -499,11 +600,12 @@
             "description": "Contains references to other resources that are related to this resource.",
             "longDescription": "This type, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -521,7 +623,7 @@
                     "type": "array"
                 },
                 "Endpoints@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "Oem": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
@@ -537,7 +639,7 @@
                     "type": "array"
                 },
                 "StorageServices@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 }
             },
             "type": "object"
@@ -547,11 +649,12 @@
             "description": "The available OEM specific actions for this resource.",
             "longDescription": "This type shall contain any additional OEM actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -563,5 +666,6 @@
             "type": "object"
         }
     },
-    "title": "#Storage.v1_4_0.Storage"
+    "owningEntity": "DMTF",
+    "title": "#Storage.v1_5_0.Storage"
 }
\ 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 53efadd..7783830 100644
--- a/static/redfish/v1/JsonSchemas/Switch/Switch.json
+++ b/static/redfish/v1/JsonSchemas/Switch/Switch.json
@@ -1,18 +1,19 @@
 {
     "$ref": "#/definitions/Switch",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_3_0.json",
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
             "description": "The available actions for this resource.",
             "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -25,7 +26,9 @@
                     "$ref": "#/definitions/Reset"
                 },
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -35,11 +38,12 @@
             "description": "Contains references to other resources that are related to this resource.",
             "longDescription": "This type, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -64,7 +68,7 @@
                     "type": "array"
                 },
                 "ManagedBy@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "Oem": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
@@ -79,11 +83,12 @@
             "description": "The available OEM specific actions for this resource.",
             "longDescription": "This type shall contain any additional OEM actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -106,11 +111,12 @@
                 }
             },
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -136,11 +142,12 @@
             "description": "Switch contains properties describing a simple fabric switch.",
             "longDescription": "This resource shall be used to represent a simple switch for a Redfish implementation.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -150,13 +157,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
@@ -188,7 +198,7 @@
                     "longDescription": "The value of this property shall have a scope of uniqueness within the fabric of which the switch is a member.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -224,7 +234,9 @@
                     "longDescription": "The Links property, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource."
                 },
                 "Location": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location",
+                    "description": "The Location of the switch.",
+                    "longDescription": "This property shall contain location information of the associated switch."
                 },
                 "LogServices": {
                     "anyOf": [
@@ -295,14 +307,16 @@
                     "readonly": true
                 },
                 "Redundancy": {
+                    "autoExpand": true,
                     "description": "Redundancy information for the switches.",
                     "items": {
                         "$ref": "http://redfish.dmtf.org/schemas/v1/Redundancy.json#/definitions/Redundancy"
                     },
+                    "longDescription": "The values of the properties in this array shall be used to show how this switch is grouped with other switches for form redundancy sets.",
                     "type": "array"
                 },
                 "Redundancy@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "SKU": {
                     "description": "This is the SKU for this switch.",
@@ -323,7 +337,9 @@
                     ]
                 },
                 "Status": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 },
                 "SwitchType": {
                     "anyOf": [
@@ -343,17 +359,20 @@
                     "longDescription": "The value of this property shall be the number of physical transport lanes, phys, or other physical transport links that this switch contains. For PCIe, this shall be lane count.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
             "type": "object"
         }
     },
-    "title": "#Switch.v1_1_0.Switch"
+    "owningEntity": "DMTF",
+    "title": "#Switch.v1_1_1.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 7bbea04..a3007d2 100644
--- a/static/redfish/v1/JsonSchemas/Task/Task.json
+++ b/static/redfish/v1/JsonSchemas/Task/Task.json
@@ -1,7 +1,7 @@
 {
     "$ref": "#/definitions/Task",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_4_0.json",
-    "copyright": "Copyright 2014-2018 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
@@ -13,6 +13,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -22,7 +23,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -37,6 +40,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -47,6 +51,56 @@
             "properties": {},
             "type": "object"
         },
+        "Payload": {
+            "additionalProperties": false,
+            "description": "The HTTP and JSON payload details for this Task.",
+            "longDescription": "This object shall contain information detailing the HTTP and JSON payload information for executing this Task.",
+            "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": {
+                "HttpHeaders": {
+                    "description": "This represents the HTTP headers used in the operation of this Task.",
+                    "items": {
+                        "type": "string"
+                    },
+                    "longDescription": "The value of this property shall be an array of HTTP headers used in the execution of this Task.",
+                    "readonly": true,
+                    "type": "array"
+                },
+                "HttpOperation": {
+                    "description": "The HTTP operation to perform to execute this Task.",
+                    "longDescription": "This property shall contain the HTTP operation to execute for this Task.",
+                    "readonly": true,
+                    "type": "string"
+                },
+                "JsonBody": {
+                    "description": "This property contains the JSON payload to use in the execution of this Task.",
+                    "longDescription": "The value of this property shall be JSON formatted payload used for this Task.",
+                    "readonly": true,
+                    "type": "string"
+                },
+                "TargetUri": {
+                    "description": "The URI of the target for this task.",
+                    "format": "uri",
+                    "longDescription": "This property shall contain a URI referencing a location to be used as the target for an HTTP operation.",
+                    "readonly": true,
+                    "type": "string"
+                }
+            },
+            "type": "object"
+        },
         "Task": {
             "additionalProperties": false,
             "description": "This resource contains information about a specific Task scheduled by or being executed by a Redfish service's Task Service.",
@@ -57,6 +111,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -66,16 +121,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
                 },
                 "@odata.etag": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/etag"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
@@ -100,6 +155,12 @@
                     "readonly": true,
                     "type": "string"
                 },
+                "HidePayload": {
+                    "description": "Indicates that the contents of the Payload should be hidden from view after the Task has been created.  When set to True, the Payload object will not be returned on GET.",
+                    "longDescription": "This property shall be set to True if the Payload object shall not be returned on GET operations, and set to False if the contents can be returned normally. If this property is not specified when the Task is created, the default value shall be False.",
+                    "readonly": true,
+                    "type": "boolean"
+                },
                 "Id": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
                     "readonly": true
@@ -121,6 +182,11 @@
                     "description": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.",
                     "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
                 },
+                "Payload": {
+                    "$ref": "#/definitions/Payload",
+                    "description": "The HTTP and JSON payload details for this task.",
+                    "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 set to True."
+                },
                 "StartTime": {
                     "description": "The date-time stamp that the task was last started.",
                     "format": "date-time",
@@ -149,6 +215,8 @@
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -207,5 +275,5 @@
         }
     },
     "owningEntity": "DMTF",
-    "title": "#Task.v1_2_0.Task"
+    "title": "#Task.v1_3_0.Task"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/TaskService/TaskService.json b/static/redfish/v1/JsonSchemas/TaskService/TaskService.json
index 4dc1ea3..c1685f5 100644
--- a/static/redfish/v1/JsonSchemas/TaskService/TaskService.json
+++ b/static/redfish/v1/JsonSchemas/TaskService/TaskService.json
@@ -1,18 +1,19 @@
 {
     "$ref": "#/definitions/TaskService",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_3_0.json",
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
             "description": "The available actions for this resource.",
             "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -22,7 +23,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -32,11 +35,12 @@
             "description": "The available OEM specific actions for this resource.",
             "longDescription": "This type shall contain any additional OEM actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -63,11 +67,12 @@
             "description": "This is the schema definition for the Task Service.  It represents the properties for the service itself and has links to the actual list of tasks.",
             "longDescription": "This resource shall be used to represent a task service for a Redfish implementation.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -77,13 +82,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
@@ -146,7 +154,9 @@
                     ]
                 },
                 "Status": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 },
                 "Tasks": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/TaskCollection.json#/definitions/TaskCollection",
@@ -156,11 +166,14 @@
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
             "type": "object"
         }
     },
-    "title": "#TaskService.v1_1_1.TaskService"
+    "owningEntity": "DMTF",
+    "title": "#TaskService.v1_1_2.TaskService"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/TelemetryService/TelemetryService.json b/static/redfish/v1/JsonSchemas/TelemetryService/TelemetryService.json
new file mode 100644
index 0000000..7727755
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/TelemetryService/TelemetryService.json
@@ -0,0 +1,261 @@
+{
+    "$ref": "#/definitions/TelemetryService",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 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": {
+                "#TelemetryService.SubmitTestMetricReport": {
+                    "$ref": "#/definitions/SubmitTestMetricReport"
+                },
+                "Oem": {
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
+                }
+            },
+            "type": "object"
+        },
+        "CollectionFunction": {
+            "description": "An operation to perform over the sample.",
+            "enum": [
+                "Average",
+                "Maximum",
+                "Minimum",
+                "Summation"
+            ],
+            "enumDescriptions": {
+                "Average": "An averaging function.",
+                "Maximum": "A maximum function.",
+                "Minimum": "A minimum function.",
+                "Summation": "A summation function."
+            },
+            "longDescription": "If present, the metric value shall be computed according to this function.",
+            "type": "string"
+        },
+        "OemActions": {
+            "additionalProperties": true,
+            "description": "The available OEM specific actions for this resource.",
+            "longDescription": "This type shall contain any additional OEM actions for this resource.",
+            "patternProperties": {
+                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[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"
+        },
+        "SubmitTestMetricReport": {
+            "additionalProperties": false,
+            "description": "This action is used to generate a metric report.",
+            "longDescription": "This action shall cause the event service to immediately generate the metric report, as an Alert Event. This message should then be sent to any appropriate ListenerDestination targets.",
+            "parameters": {
+                "MetricReportName": {
+                    "description": "The Name property of the metric report in generated metric report.",
+                    "longDescription": "This parameter shall be the value of the Name property in the generated metric report.",
+                    "requiredParameter": true,
+                    "type": "string"
+                },
+                "MetricReportValues": {
+                    "description": "The content of MetricReportValues array in generated metric report.",
+                    "longDescription": "This parameter shall contain the contents of the MetricReportValues array property in the generated metric report.",
+                    "requiredParameter": true,
+                    "type": "string"
+                }
+            },
+            "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",
+                    "type": "string"
+                },
+                "title": {
+                    "description": "Friendly action name",
+                    "type": "string"
+                }
+            },
+            "type": "object"
+        },
+        "TelemetryService": {
+            "additionalProperties": false,
+            "description": "This is the schema definition for the Metrics Service.  It represents the properties for the service itself and has links to collections of metric definitions and metric report definitions.",
+            "longDescription": "This resource shall be used to represent an Metrics Service for a Redfish implementation.  It represents the properties that affect the service itself.",
+            "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_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
+                },
+                "@odata.id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
+                },
+                "@odata.type": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
+                },
+                "Actions": {
+                    "$ref": "#/definitions/Actions",
+                    "description": "The available actions for this resource.",
+                    "longDescription": "The Actions property shall contain the available actions for this resource."
+                },
+                "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
+                },
+                "LogService": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/LogService.json#/definitions/LogService",
+                    "description": "This is a reference to a Log Service used by the Telemetry Service.",
+                    "longDescription": "The value of this property shall contain a reference to a LogService for the use by this Telemetry Service.",
+                    "readonly": true
+                },
+                "MaxReports": {
+                    "description": "The maximum number of metric reports supported by this service.",
+                    "longDescription": "The value shall be the maximum number of metric reports supported by this service.",
+                    "readonly": true,
+                    "type": [
+                        "integer",
+                        "null"
+                    ]
+                },
+                "MetricDefinitions": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/MetricDefinitionCollection.json#/definitions/MetricDefinitionCollection",
+                    "description": "A link to the collection of Metric Definitions.",
+                    "longDescription": "The entries of shall be resources of type MetricDefinitionCollection.",
+                    "readonly": true
+                },
+                "MetricReportDefinitions": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/MetricReportDefinitionCollection.json#/definitions/MetricReportDefinitionCollection",
+                    "description": "A link to the collection of Metric Report Definitions.",
+                    "longDescription": "The value shall be a link to a resource of type MetricReportDefinitionCollection.",
+                    "readonly": true
+                },
+                "MetricReports": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/MetricReportCollection.json#/definitions/MetricReportCollection",
+                    "description": "A link to the collection of Metric Reports.",
+                    "longDescription": "The value shall be a link to a resource of type MetricReportCollection.",
+                    "readonly": true
+                },
+                "MinCollectionInterval": {
+                    "description": "The minimum time interval between collections supported by this service.",
+                    "longDescription": "The value shall be the minimum time interval between collections supported by this service.  The value shall conform to the Duration format.",
+                    "pattern": "-?P(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+(.\\d+)?S)?)?",
+                    "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": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.",
+                    "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
+                },
+                "Status": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
+                },
+                "SupportedCollectionFunctions": {
+                    "description": "The functions that can be performed over each metric.",
+                    "items": {
+                        "anyOf": [
+                            {
+                                "$ref": "#/definitions/CollectionFunction"
+                            },
+                            {
+                                "type": "null"
+                            }
+                        ]
+                    },
+                    "longDescription": "The value shall define the function to apply over the collection duration.",
+                    "readonly": false,
+                    "type": "array"
+                },
+                "Triggers": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/TriggersCollection.json#/definitions/TriggersCollection",
+                    "description": "A link to the collection of Triggers, which apply to metrics.",
+                    "longDescription": "The value shall be a link to a resource of type TriggersCollection.",
+                    "readonly": true
+                }
+            },
+            "required": [
+                "@odata.id",
+                "@odata.type",
+                "Id",
+                "Name"
+            ],
+            "type": "object"
+        }
+    },
+    "owningEntity": "DMTF",
+    "title": "#TelemetryService.v1_0_0.TelemetryService"
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/TelemetryService/index.json b/static/redfish/v1/JsonSchemas/TelemetryService/index.json
new file mode 100644
index 0000000..6c129e4
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/TelemetryService/index.json
@@ -0,0 +1,21 @@
+{
+    "@odata.context": "/redfish/v1/$metadata#JsonSchemaFile.JsonSchemaFile",
+    "@odata.id": "/redfish/v1/JSONSchemas/TelemetryService",
+    "@odata.type": "#JsonSchemaFile.v1_0_2.JsonSchemaFile",
+    "Name": "TelemetryService Schema File",
+    "Schema": "#TelemetryService.TelemetryService",
+    "Description": "TelemetryService Schema File Location",
+    "Id": "TelemetryService",
+    "Languages": [
+        "en"
+    ],
+    "Languages@odata.count": 1,
+    "Location": [
+        {
+            "Language": "en",
+            "PublicationUri": "http://redfish.dmtf.org/schemas/v1/TelemetryService.json",
+            "Uri": "/redfish/v1/JSONSchemas/TelemetryService/TelemetryService.json"
+        }
+    ],
+    "Location@odata.count": 1
+}
\ 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 790a5cb..5b85899 100644
--- a/static/redfish/v1/JsonSchemas/Thermal/Thermal.json
+++ b/static/redfish/v1/JsonSchemas/Thermal/Thermal.json
@@ -1,16 +1,17 @@
 {
     "$ref": "#/definitions/Thermal",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_3_0.json",
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Fan": {
             "additionalProperties": false,
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -19,6 +20,9 @@
                 }
             },
             "properties": {
+                "@odata.id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
+                },
                 "Actions": {
                     "$ref": "#/definitions/FanActions",
                     "description": "The available actions for this resource.",
@@ -63,14 +67,16 @@
                     "readonly": false
                 },
                 "Location": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location",
+                    "description": "The Location of the fan.",
+                    "longDescription": "This property shall contain location information of the associated fan."
                 },
                 "LowerThresholdCritical": {
                     "description": "Below normal range but not yet fatal.",
                     "longDescription": "The value of this property shall indicate the Reading is below the normal range but is not yet fatal. The units shall be the same units as the related Reading property.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -79,7 +85,7 @@
                     "longDescription": "The value of this property shall indicate the Reading is below the normal range and is fatal. The units shall be the same units as the related Reading property.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -88,7 +94,7 @@
                     "longDescription": "The value of this property shall indicate the Reading is below the normal range but is not critical. The units shall be the same units as the related Reading property.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -106,7 +112,7 @@
                     "longDescription": "The value of this property shall indicate the highest possible value for Reading. The units shall be the same units as the related Reading property.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -121,7 +127,7 @@
                     "longDescription": "The value of this property shall indicate the lowest possible value for Reading. The units shall be the same units as the related Reading property.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -168,7 +174,7 @@
                     "longDescription": "The value of this property shall be the current value of the fan sensor's reading.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -194,19 +200,28 @@
                     "type": "array"
                 },
                 "Redundancy@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "RelatedItem": {
                     "description": "The ID(s) of the resources serviced with this fan.",
                     "items": {
-                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/idRef"
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/idRef"
                     },
                     "longDescription": "The value of this property shall be an array of IDs containing pointers consistent with JSON pointer syntax to the resource that are being serviced by this fan.",
                     "readonly": true,
                     "type": "array"
                 },
                 "RelatedItem@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
+                },
+                "SensorNumber": {
+                    "description": "A numerical identifier to represent the fan speed sensor.",
+                    "longDescription": "The value of this property shall be a numerical identifier for this fan speed sensor that is unique within this resource.",
+                    "readonly": true,
+                    "type": [
+                        "integer",
+                        "null"
+                    ]
                 },
                 "SerialNumber": {
                     "description": "The serial number for this Fan.",
@@ -227,14 +242,16 @@
                     ]
                 },
                 "Status": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 },
                 "UpperThresholdCritical": {
                     "description": "Above normal range but not yet fatal.",
                     "longDescription": "The value of this property shall indicate the Reading is above the normal range but is not yet fatal. The units shall be the same units as the related Reading property.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -243,7 +260,7 @@
                     "longDescription": "The value of this property shall indicate the Reading is above the normal range and is fatal. The units shall be the same units as the related Reading property.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
@@ -252,11 +269,15 @@
                     "longDescription": "The value of this property shall indicate the Reading is above the normal range but is not critical. The units shall be the same units as the related Reading property.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 }
             },
+            "required": [
+                "@odata.id",
+                "MemberId"
+            ],
             "type": "object"
         },
         "FanActions": {
@@ -264,11 +285,12 @@
             "description": "The available actions for this resource.",
             "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -278,7 +300,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "#/definitions/FanOemActions"
+                    "$ref": "#/definitions/FanOemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -288,11 +312,12 @@
             "description": "The available OEM specific actions for this resource.",
             "longDescription": "This type shall contain any additional OEM actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -317,11 +342,12 @@
         "Temperature": {
             "additionalProperties": false,
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -330,6 +356,9 @@
                 }
             },
             "properties": {
+                "@odata.id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
+                },
                 "Actions": {
                     "$ref": "#/definitions/TemperatureActions",
                     "description": "The available actions for this resource.",
@@ -340,7 +369,7 @@
                     "longDescription": "The value of this property shall indicate the adjusted maximum allowable operating temperature for the equipment monitored by this temperature sensor, as specified by a standards body, manufacturer, or a combination, and adjusted based on environmental conditions present. For example, liquid inlet temperature may be adjusted based on the available liquid pressure.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ],
                     "units": "Cel"
@@ -350,7 +379,7 @@
                     "longDescription": "The value of this property shall indicate the adjusted minimum allowable operating temperature for the equipment monitored by this temperature sensor, as specified by a standards body, manufacturer, or a combination, and adjusted based on environmental conditions present. For example, liquid inlet temperature may be adjusted based on the available liquid pressure.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ],
                     "units": "Cel"
@@ -406,7 +435,7 @@
                     "longDescription": "The value of 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.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ],
                     "units": "Cel"
@@ -432,7 +461,7 @@
                     "longDescription": "The value of this property shall indicate the minimum allowable operating temperature for the equipment monitored by this temperature sensor, as specified by a standards body, manufacturer, or a combination.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ],
                     "units": "Cel"
@@ -480,26 +509,28 @@
                 "RelatedItem": {
                     "description": "Describes the areas or devices to which this temperature measurement applies.",
                     "items": {
-                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/idRef"
+                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/idRef"
                     },
                     "longDescription": "The value of this property shall the array of IDs of areas or devices to which this temperature measurement applies.",
                     "readonly": true,
                     "type": "array"
                 },
                 "RelatedItem@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "SensorNumber": {
                     "description": "A numerical identifier to represent the temperature sensor.",
                     "longDescription": "The value of this property shall be a numerical identifier for this temperature sensor that is unique within this resource.",
                     "readonly": true,
                     "type": [
-                        "number",
+                        "integer",
                         "null"
                     ]
                 },
                 "Status": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 },
                 "UpperThresholdCritical": {
                     "description": "Above normal range but not yet fatal.",
@@ -532,6 +563,10 @@
                     "units": "Cel"
                 }
             },
+            "required": [
+                "@odata.id",
+                "MemberId"
+            ],
             "type": "object"
         },
         "TemperatureActions": {
@@ -539,11 +574,12 @@
             "description": "The available actions for this resource.",
             "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -553,7 +589,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "#/definitions/TemperatureOemActions"
+                    "$ref": "#/definitions/TemperatureOemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -563,11 +601,12 @@
             "description": "The available OEM specific actions for this resource.",
             "longDescription": "This type shall contain any additional OEM actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -583,11 +622,12 @@
             "description": "This is the schema definition for the Thermal properties.  It represents the properties for Temperature and Cooling.",
             "longDescription": "This resource shall be used to represent a thermal metrics resource for a Redfish implementation.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -597,13 +637,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/ThermalActions",
@@ -622,6 +665,7 @@
                     "readonly": true
                 },
                 "Fans": {
+                    "autoExpand": true,
                     "description": "This is the definition for fans.",
                     "items": {
                         "$ref": "#/definitions/Fan"
@@ -631,7 +675,7 @@
                     "type": "array"
                 },
                 "Fans@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "Id": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
@@ -647,6 +691,7 @@
                     "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
                 },
                 "Redundancy": {
+                    "autoExpand": true,
                     "description": "This structure is used to show redundancy for fans.  The Component ids will reference the members of the redundancy groups.",
                     "items": {
                         "$ref": "http://redfish.dmtf.org/schemas/v1/Redundancy.json#/definitions/Redundancy"
@@ -655,12 +700,15 @@
                     "type": "array"
                 },
                 "Redundancy@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "Status": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 },
                 "Temperatures": {
+                    "autoExpand": true,
                     "description": "This is the definition for temperature sensors.",
                     "items": {
                         "$ref": "#/definitions/Temperature"
@@ -670,10 +718,12 @@
                     "type": "array"
                 },
                 "Temperatures@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -684,11 +734,12 @@
             "description": "The available actions for this resource.",
             "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -698,7 +749,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "#/definitions/ThermalOemActions"
+                    "$ref": "#/definitions/ThermalOemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -708,11 +761,12 @@
             "description": "The available OEM specific actions for this resource.",
             "longDescription": "This type shall contain any additional OEM actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -724,5 +778,6 @@
             "type": "object"
         }
     },
-    "title": "#Thermal.v1_4_0.Thermal"
+    "owningEntity": "DMTF",
+    "title": "#Thermal.v1_5_0.Thermal"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/Triggers/Triggers.json b/static/redfish/v1/JsonSchemas/Triggers/Triggers.json
new file mode 100644
index 0000000..3464b41
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/Triggers/Triggers.json
@@ -0,0 +1,518 @@
+{
+    "$ref": "#/definitions/Triggers",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 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": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
+                }
+            },
+            "type": "object"
+        },
+        "DirectionOfCrossingEnum": {
+            "description": "The direction of crossing which corresponds to a trigger.",
+            "enum": [
+                "Increasing",
+                "Decreasing"
+            ],
+            "enumDescriptions": {
+                "Decreasing": "A trigger occurs when the metric value crosses the trigger value while decreasing.",
+                "Increasing": "A trigger occurs when the metric value crosses the trigger value while increasing."
+            },
+            "longDescription": "The value shall indicate the direction of crossing which corresponds to a trigger.",
+            "type": "string"
+        },
+        "DiscreteTrigger": {
+            "additionalProperties": false,
+            "description": "The characteristics of the discrete trigger.",
+            "longDescription": "This object shall contain the characteristics of the discrete trigger.",
+            "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": {
+                "DwellTime": {
+                    "description": "This time the trigger occurance persists before a trigger event has occurred.",
+                    "longDescription": "This property shall contain the time that a trigger occurance persists before the MetricAction is performed.",
+                    "pattern": "-?P(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+(.\\d+)?S)?)?",
+                    "readonly": false,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "Name": {
+                    "description": "The name of trigger.",
+                    "longDescription": "This property shall contain a name for the trigger.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "Severity": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Health"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "This property contains the value of the Severity property in the Event message.",
+                    "longDescription": "The value of this property shall be used for the Severity property in the Event message.",
+                    "readonly": false
+                },
+                "Value": {
+                    "description": "The value of the discrete metric that constitutes a trigger occurance.",
+                    "longDescription": "This property shall contain the value discrete metric that constitutes a trigger event.  The DwellTimeMilliSeconds shall be measured from this point in time.",
+                    "readonly": false,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                }
+            },
+            "type": "object"
+        },
+        "DiscreteTriggerConditionEnum": {
+            "description": "Specifies the condition, in relationship to the discrete trigger values, which constitutes a trigger.",
+            "enum": [
+                "Specified",
+                "Changed"
+            ],
+            "enumDescriptions": {
+                "Changed": "A discrete trigger occures whenever the value of the metric changes.",
+                "Specified": "A discrete trigger occurs when the value of the metric becomes one of the values listed in the DiscreteTriggers property."
+            },
+            "longDescription": "The value shall specify the condition, in relationship to the discrete trigger values, which constitutes a trigger.",
+            "type": "string"
+        },
+        "MetricTypeEnum": {
+            "description": "Specifies the type of metric for which the trigger is configured.",
+            "enum": [
+                "Numeric",
+                "Discrete"
+            ],
+            "enumDescriptions": {
+                "Discrete": "The trigger is for a discrete sensor.",
+                "Numeric": "The trigger is for numeric sensor."
+            },
+            "longDescription": "The value shall specify the type of metric for which the trigger is configured.",
+            "type": "string"
+        },
+        "OemActions": {
+            "additionalProperties": true,
+            "description": "The available OEM specific actions for this resource.",
+            "longDescription": "This type shall contain any additional OEM actions for this resource.",
+            "patternProperties": {
+                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[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"
+        },
+        "Threshold": {
+            "additionalProperties": false,
+            "description": "A threshold definition for a sensor.",
+            "longDescription": "This type shall contain the properties for an individual threshold for this sensor.",
+            "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": {
+                "Activation": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/ThresholdActivation"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The direction of crossing that activates this threshold.",
+                    "longDescription": "This property shall indicate the direction of crossing of the Reading value for this Sensor that triggers the threshold.",
+                    "readonly": false
+                },
+                "DwellTime": {
+                    "description": "The time interval over which the sensor reading must have passed through this Threshold value before the threshold is considered to be violated.",
+                    "longDescription": "This property shall indicate the time interval over which the sensor reading must have passed through this Threshold value before the threshold is considered to be violated.",
+                    "pattern": "-?P(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+(.\\d+)?S)?)?",
+                    "readonly": false,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "Reading": {
+                    "description": "The threshold value.",
+                    "longDescription": "This property shall indicate the Reading value of this Sensor that triggers the threshold.  The units of this property shall follow the same units as the property described by MetricProperties.",
+                    "readonly": false,
+                    "type": [
+                        "number",
+                        "null"
+                    ]
+                }
+            },
+            "type": "object"
+        },
+        "ThresholdActivation": {
+            "enum": [
+                "Increasing",
+                "Decreasing",
+                "Either"
+            ],
+            "enumDescriptions": {
+                "Decreasing": "Value decreases below the threshold.",
+                "Either": "Value crosses the threshold in either direction.",
+                "Increasing": "Value increases above the threshold."
+            },
+            "enumLongDescriptions": {
+                "Decreasing": "This threshold is activated when the value of Reading changes from a value higher than the threshold to a value lower than the threshold.",
+                "Either": "This threshold is activated when either the Increasing or Decreasing conditions are met.",
+                "Increasing": "This threshold is activated when the value of Reading changes from a value lower than the threshold to a value higher than the threshold."
+            },
+            "type": "string"
+        },
+        "Thresholds": {
+            "additionalProperties": false,
+            "description": "The set of thresholds defined for a sensor.",
+            "longDescription": "This structure shall contain a set of thresholds defined for a sensor.",
+            "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": {
+                "LowerCritical": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/Threshold"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "Below normal range and requires attention.",
+                    "longDescription": "The value of this property shall indicate the Reading is below the normal range and may require attention.  The units shall be the same units as the Reading."
+                },
+                "LowerWarning": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/Threshold"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "Below normal range.",
+                    "longDescription": "The value of this property shall indicate the Reading is below the normal range.  The units shall be the same units as the Reading."
+                },
+                "UpperCritical": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/Threshold"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "Above normal range and requires attention.",
+                    "longDescription": "The value of this property shall indicate the Reading is above the normal range and may require attention.  The units shall be the same units as the Reading."
+                },
+                "UpperWarning": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/Threshold"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "Above normal range.",
+                    "longDescription": "The value of this property shall indicate the Reading is above the normal range.  The units shall be the same units as the Reading."
+                }
+            },
+            "type": "object"
+        },
+        "TriggerActionEnum": {
+            "description": "Specifies the actions to perform when a trigger occurs.",
+            "enum": [
+                "LogToLogService",
+                "RedfishEvent"
+            ],
+            "enumDescriptions": {
+                "LogToLogService": "Upon a trigger, record in a log.",
+                "RedfishEvent": "Upon a trigger, send a Redfish Event message of type MetricReport."
+            },
+            "enumLongDescriptions": {
+                "LogToLogService": "When a trigger condition is met, the service shall log the occurrence of the condition to the log indicated by the LogService property in the TelemetryService resource.",
+                "RedfishEvent": "When a trigger condition is met, the service shall produce a Redfish Event of type Event to matching subscribers indicated in the EventSubscription collection found on the EventService."
+            },
+            "longDescription": "The value shall specify the actions to perform when a trigger occurs.",
+            "type": "string"
+        },
+        "Triggers": {
+            "additionalProperties": false,
+            "description": "Triggers which apply to a list of metrics.",
+            "longDescription": "This resource shall specify triggers, which apply to a list of 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": {
+                "@odata.context": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
+                },
+                "@odata.id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
+                },
+                "@odata.type": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
+                },
+                "Actions": {
+                    "$ref": "#/definitions/Actions",
+                    "description": "The available actions for this resource.",
+                    "longDescription": "The Actions property shall contain the available actions for this resource."
+                },
+                "Description": {
+                    "anyOf": [
+                        {
+                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "readonly": true
+                },
+                "DiscreteTriggerCondition": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/DiscreteTriggerConditionEnum"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "Specifies the conditions when a discrete metric triggers.",
+                    "longDescription": "The value of this property shall specify the conditions when a discrete metric triggers.",
+                    "readonly": true
+                },
+                "DiscreteTriggers": {
+                    "description": "List of discrete triggers.",
+                    "items": {
+                        "$ref": "#/definitions/DiscreteTrigger"
+                    },
+                    "longDescription": "This property shall contains a list of value to which a metric reading will be compared.  This property shall be present when the DiscreteTriggerCondition property has a value of 'Specified'.",
+                    "type": "array"
+                },
+                "Id": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
+                    "readonly": true
+                },
+                "MetricProperties": {
+                    "description": "A collection of URI for the properties on which this metric definition is defined.",
+                    "format": "uri",
+                    "items": {
+                        "type": [
+                            "string",
+                            "null"
+                        ]
+                    },
+                    "longDescription": "Each value may contain one or more Wildcard names enclosed in curly braces.  Wildcard value entries shall be substituted for each Wildcard name found.  If two or more wild names are found, the same Wildcard index is used for each in one substitution pass.  After substituting the WildCard values entries, each value shall be a URI for a property in a resource that matches a property declaration in the corresponding MetricDefinition.  Property identifiers in the URI shall follow JSON fragment notation rules defined by RFC6901.",
+                    "readonly": false,
+                    "type": "array"
+                },
+                "MetricType": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/MetricTypeEnum"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The type of trigger.",
+                    "longDescription": "The value of this property shall specific the type of trigger.",
+                    "readonly": true
+                },
+                "Name": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
+                    "readonly": true
+                },
+                "NumericThresholds": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/Thresholds"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "Specifies the thresholds when a numeric metric triggers.",
+                    "longDescription": "This property shall contain list of thresholds to which a numeric metric value shall be compared."
+                },
+                "Oem": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
+                    "description": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.",
+                    "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
+                },
+                "Status": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
+                },
+                "TriggerActions": {
+                    "description": "This property specifies the actions to perform when the trigger occurs.",
+                    "items": {
+                        "$ref": "#/definitions/TriggerActionEnum"
+                    },
+                    "longDescription": "The value of this property shall specify the actions to perform when the trigger occurs.",
+                    "readonly": true,
+                    "type": "array"
+                },
+                "Wildcards": {
+                    "description": "Wildcards used to replace values in MetricProperties array property.",
+                    "items": {
+                        "anyOf": [
+                            {
+                                "$ref": "#/definitions/Wildcard"
+                            },
+                            {
+                                "type": "null"
+                            }
+                        ]
+                    },
+                    "longDescription": "The property shall contain an array of wildcards and their replacements strings, which are to appliced to the MetricProperties array.",
+                    "type": "array"
+                }
+            },
+            "required": [
+                "@odata.id",
+                "@odata.type",
+                "Id",
+                "Name"
+            ],
+            "type": "object"
+        },
+        "Wildcard": {
+            "additionalProperties": false,
+            "description": "Contains a list of wildcards and their substitution values.",
+            "longDescription": "Each wildcard shall have a corresponding entry in this list element.  Each entry shall specified the wildcard and its substitution values.",
+            "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": {
+                "Name": {
+                    "description": "The name of Wildcard.",
+                    "longDescription": "This property shall contain a name for a Wildcard.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "Values": {
+                    "description": "An array of values to substitute for the wildcard.",
+                    "items": {
+                        "type": [
+                            "string",
+                            "null"
+                        ]
+                    },
+                    "longDescription": "This property shall contain  then the server shall substitute.  Each not empty value shall be substituted for the wildcard.",
+                    "readonly": true,
+                    "type": "array"
+                }
+            },
+            "type": "object"
+        }
+    },
+    "owningEntity": "DMTF",
+    "title": "#Triggers.v1_0_0.Triggers"
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/Triggers/index.json b/static/redfish/v1/JsonSchemas/Triggers/index.json
new file mode 100644
index 0000000..79ad7d5
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/Triggers/index.json
@@ -0,0 +1,21 @@
+{
+    "@odata.context": "/redfish/v1/$metadata#JsonSchemaFile.JsonSchemaFile",
+    "@odata.id": "/redfish/v1/JSONSchemas/Triggers",
+    "@odata.type": "#JsonSchemaFile.v1_0_2.JsonSchemaFile",
+    "Name": "Triggers Schema File",
+    "Schema": "#Triggers.Triggers",
+    "Description": "Triggers Schema File Location",
+    "Id": "Triggers",
+    "Languages": [
+        "en"
+    ],
+    "Languages@odata.count": 1,
+    "Location": [
+        {
+            "Language": "en",
+            "PublicationUri": "http://redfish.dmtf.org/schemas/v1/Triggers.json",
+            "Uri": "/redfish/v1/JSONSchemas/Triggers/Triggers.json"
+        }
+    ],
+    "Location@odata.count": 1
+}
\ 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 76d6097..8dc6ab2 100644
--- a/static/redfish/v1/JsonSchemas/UpdateService/UpdateService.json
+++ b/static/redfish/v1/JsonSchemas/UpdateService/UpdateService.json
@@ -1,7 +1,7 @@
 {
     "$ref": "#/definitions/UpdateService",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_4_0.json",
-    "copyright": "Copyright 2014-2018 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
@@ -13,6 +13,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -25,7 +26,9 @@
                     "$ref": "#/definitions/SimpleUpdate"
                 },
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -40,6 +43,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -67,7 +71,7 @@
                     "items": {
                         "type": "string"
                     },
-                    "longDescription": "This array property shall contain zero or more URIs indicating where the update image is to be applied.",
+                    "longDescription": "This array property shall contain zero or more URIs indicating where the update image is to be applied. These targets should correspond to SoftwareInventory instances or their RelatedItems. If this property is not present or contains zero targets, the Service shall apply the software image to all applicable targets (as determined by the Service).",
                     "type": "array"
                 },
                 "TransferProtocol": {
@@ -82,6 +86,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -112,13 +117,18 @@
                 "NSF",
                 "SCP",
                 "TFTP",
-                "OEM"
+                "OEM",
+                "NFS"
             ],
+            "enumDeprecated": {
+                "NSF": "This value has been Deprecated in favor of NFS."
+            },
             "enumDescriptions": {
                 "CIFS": "Common Internet File System protocol.",
                 "FTP": "File Transfer Protocol.",
                 "HTTP": "Hypertext Transfer Protocol.",
                 "HTTPS": "HTTP Secure protocol.",
+                "NFS": "Network File System protocol.",
                 "NSF": "Network File System protocol.",
                 "OEM": "A protocol defined by the manufacturer.",
                 "SCP": "Secure File Copy protocol.",
@@ -137,6 +147,7 @@
                     "type": [
                         "array",
                         "boolean",
+                        "integer",
                         "number",
                         "null",
                         "object",
@@ -146,20 +157,21 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
                 },
                 "@odata.etag": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/etag"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
-                    "description": "The Actions object contains the available custom actions on this resource."
+                    "description": "The available actions for this resource.",
+                    "longDescription": "The Actions property shall contain the available actions for this resource."
                 },
                 "Description": {
                     "anyOf": [
@@ -201,13 +213,13 @@
                             "null"
                         ]
                     },
-                    "longDescription": "This property shall contain zero or more URIs indicating the targets for applying the update image when using HttpPushUri to push a software image.  If this property is not present, the Service shall determine where to apply the software image.",
+                    "longDescription": "This property shall contain zero or more URIs indicating the targets for applying the update image when using HttpPushUri to push a software image. These targets should correspond to SoftwareInventory instances or their RelatedItems. If this property is not present or contains zero targets, the Service shall apply the software image to all applicable targets (as determined by the Service).",
                     "readonly": false,
                     "type": "array"
                 },
                 "HttpPushUriTargetsBusy": {
                     "description": "This represents if the HttpPushUriTargets property is reserved by any client.",
-                    "longDescription": "This property shall be a boolean that is set by client when the HttpPushUriTargets property is being used by a client for firmware updates.  It shall provide multiple clients a way to negotiate its ownership.  This will help clients to know if a firmware update using HttpPushUriTargets is used by another client.",
+                    "longDescription": "This property shall be a boolean that determines when the HttpPushUriTargets property is being used by a client for firmware updates. A client should set this property to True when it is using HttpPushUriTargets for firmware update, and should set it to False when it is no longer using HttpPushUriTargets for updates. The property can provide multiple clients a way to negotiate ownership of HttpPushUriTargets. This will help clients to know if a firmware update using HttpPushUriTargets is used by another client. This property has no functional requirements for the Service.",
                     "readonly": false,
                     "type": [
                         "boolean",
@@ -250,17 +262,14 @@
                     "readonly": true
                 },
                 "Status": {
-                    "anyOf": [
-                        {
-                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
-                        },
-                        {
-                            "type": "null"
-                        }
-                    ]
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -268,5 +277,5 @@
         }
     },
     "owningEntity": "DMTF",
-    "title": "#UpdateService.v1_2_1.UpdateService"
+    "title": "#UpdateService.v1_3_0.UpdateService"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/VLanNetworkInterface/VLanNetworkInterface.json b/static/redfish/v1/JsonSchemas/VLanNetworkInterface/VLanNetworkInterface.json
index e51a9ca..b52266f 100644
--- a/static/redfish/v1/JsonSchemas/VLanNetworkInterface/VLanNetworkInterface.json
+++ b/static/redfish/v1/JsonSchemas/VLanNetworkInterface/VLanNetworkInterface.json
@@ -1,18 +1,19 @@
 {
     "$ref": "#/definitions/VLanNetworkInterface",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_3_0.json",
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
             "description": "The available actions for this resource.",
             "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -22,7 +23,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -32,11 +35,12 @@
             "description": "The available OEM specific actions for this resource.",
             "longDescription": "This type shall contain any additional OEM actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -52,11 +56,12 @@
             "description": "This type describes the attributes of a Virtual LAN.",
             "longDescription": "This type shall contain any attributes of a Virtual LAN.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -97,18 +102,19 @@
         "VLANId": {
             "maximum": 4094,
             "minimum": 0,
-            "type": "number"
+            "type": "integer"
         },
         "VLanNetworkInterface": {
             "additionalProperties": false,
             "description": "This resource describes the attributes of a Virtual LAN.",
             "longDescription": "This resource shall contain any attributes of a Virtual LAN.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -118,13 +124,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
@@ -179,6 +188,8 @@
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
@@ -189,5 +200,6 @@
             "type": "object"
         }
     },
-    "title": "#VLanNetworkInterface.v1_1_1.VLanNetworkInterface"
+    "owningEntity": "DMTF",
+    "title": "#VLanNetworkInterface.v1_1_2.VLanNetworkInterface"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/VirtualMedia/VirtualMedia.json b/static/redfish/v1/JsonSchemas/VirtualMedia/VirtualMedia.json
index 7bc0416..285bde3 100644
--- a/static/redfish/v1/JsonSchemas/VirtualMedia/VirtualMedia.json
+++ b/static/redfish/v1/JsonSchemas/VirtualMedia/VirtualMedia.json
@@ -1,18 +1,19 @@
 {
     "$ref": "#/definitions/VirtualMedia",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_3_0.json",
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
             "description": "The available actions for this resource.",
             "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -28,7 +29,9 @@
                     "$ref": "#/definitions/InsertMedia"
                 },
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -54,11 +57,12 @@
             "longDescription": "This action shall detach the remote media from the virtual media.  At the completion of the operation, inserted shall be set to false and the image name shall be cleared.",
             "parameters": {},
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -102,11 +106,12 @@
                 }
             },
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -147,11 +152,12 @@
             "description": "The available OEM specific actions for this resource.",
             "longDescription": "This type shall contain any additional OEM actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -167,11 +173,12 @@
             "description": "The VirtualMedia schema contains properties related to monitoring and control of an instance of virtual media such as a remote CD, DVD, or USB device. Virtual media functionality is provided by a Manager for a system or device.",
             "longDescription": "This resource shall be used to represent a virtual media service for a Redfish implementation.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -181,13 +188,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
@@ -279,11 +289,14 @@
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
             "type": "object"
         }
     },
-    "title": "#VirtualMedia.v1_2_0.VirtualMedia"
+    "owningEntity": "DMTF",
+    "title": "#VirtualMedia.v1_2_1.VirtualMedia"
 }
\ 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 c3d30fd..5d419d2 100644
--- a/static/redfish/v1/JsonSchemas/Zone/Zone.json
+++ b/static/redfish/v1/JsonSchemas/Zone/Zone.json
@@ -1,18 +1,19 @@
 {
     "$ref": "#/definitions/Zone",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_3_0.json",
-    "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+    "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
     "definitions": {
         "Actions": {
             "additionalProperties": false,
             "description": "The available actions for this resource.",
             "longDescription": "This type shall contain the available actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -22,7 +23,9 @@
             },
             "properties": {
                 "Oem": {
-                    "$ref": "#/definitions/OemActions"
+                    "$ref": "#/definitions/OemActions",
+                    "description": "This property contains the available OEM specific actions for this resource.",
+                    "longDescription": "This property shall contain any additional OEM actions for this resource."
                 }
             },
             "type": "object"
@@ -32,11 +35,12 @@
             "description": "Contains references to other resources that are related to this resource.",
             "longDescription": "This type, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -55,7 +59,7 @@
                     "type": "array"
                 },
                 "Endpoints@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "InvolvedSwitches": {
                     "description": "Represents an array of references to the switches in this zone.",
@@ -67,7 +71,7 @@
                     "type": "array"
                 },
                 "InvolvedSwitches@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 },
                 "Oem": {
                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
@@ -84,7 +88,7 @@
                     "type": "array"
                 },
                 "ResourceBlocks@odata.count": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/count"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
                 }
             },
             "type": "object"
@@ -94,11 +98,12 @@
             "description": "The available OEM specific actions for this resource.",
             "longDescription": "This type shall contain any additional OEM actions for this resource.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -114,11 +119,12 @@
             "description": "The Zone schema represents a fabric zone.",
             "longDescription": "This resource shall be used to represent a simple zone for a Redfish implementation.",
             "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+                "^([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",
@@ -128,13 +134,16 @@
             },
             "properties": {
                 "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/context"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
+                },
+                "@odata.etag": {
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
                 },
                 "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/id"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
                 },
                 "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/type"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
                 },
                 "Actions": {
                     "$ref": "#/definitions/Actions",
@@ -186,15 +195,20 @@
                     "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
                 },
                 "Status": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
+                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+                    "description": "This property describes the status and health of the resource and its children.",
+                    "longDescription": "This property shall contain any status or health properties of the resource."
                 }
             },
             "required": [
+                "@odata.id",
+                "@odata.type",
                 "Id",
                 "Name"
             ],
             "type": "object"
         }
     },
-    "title": "#Zone.v1_2_0.Zone"
+    "owningEntity": "DMTF",
+    "title": "#Zone.v1_2_1.Zone"
 }
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/index.json b/static/redfish/v1/JsonSchemas/index.json
index 913e471..42db74e 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": 69,
+  "Members@odata.count": 79,
   "Members": [
     {
       "@odata.id": "/redfish/v1/JsonSchemas/AccountService/"
@@ -67,6 +67,12 @@
       "@odata.id": "/redfish/v1/JsonSchemas/IPAddresses/"
     },
     {
+      "@odata.id": "/redfish/v1/JsonSchemas/Job/"
+    },
+    {
+      "@odata.id": "/redfish/v1/JsonSchemas/JobService/"
+    },
+    {
       "@odata.id": "/redfish/v1/JsonSchemas/JsonSchemaFile/"
     },
     {
@@ -106,6 +112,15 @@
       "@odata.id": "/redfish/v1/JsonSchemas/MessageRegistryFile/"
     },
     {
+      "@odata.id": "/redfish/v1/JsonSchemas/MetricDefinition/"
+    },
+    {
+      "@odata.id": "/redfish/v1/JsonSchemas/MetricReport/"
+    },
+    {
+      "@odata.id": "/redfish/v1/JsonSchemas/MetricReportDefinition/"
+    },
+    {
       "@odata.id": "/redfish/v1/JsonSchemas/NetworkAdapter/"
     },
     {
@@ -124,6 +139,9 @@
       "@odata.id": "/redfish/v1/JsonSchemas/PCIeFunction/"
     },
     {
+      "@odata.id": "/redfish/v1/JsonSchemas/PCIeSlots/"
+    },
+    {
       "@odata.id": "/redfish/v1/JsonSchemas/PhysicalContext/"
     },
     {
@@ -154,6 +172,9 @@
       "@odata.id": "/redfish/v1/JsonSchemas/Role/"
     },
     {
+      "@odata.id": "/redfish/v1/JsonSchemas/Schedule/"
+    },
+    {
       "@odata.id": "/redfish/v1/JsonSchemas/SecureBoot/"
     },
     {
@@ -190,9 +211,15 @@
       "@odata.id": "/redfish/v1/JsonSchemas/TaskService/"
     },
     {
+      "@odata.id": "/redfish/v1/JsonSchemas/TelemetryService/"
+    },
+    {
       "@odata.id": "/redfish/v1/JsonSchemas/Thermal/"
     },
     {
+      "@odata.id": "/redfish/v1/JsonSchemas/Triggers/"
+    },
+    {
       "@odata.id": "/redfish/v1/JsonSchemas/UpdateService/"
     },
     {
@@ -211,6 +238,9 @@
       "@odata.id": "/redfish/v1/JsonSchemas/odata/"
     },
     {
+      "@odata.id": "/redfish/v1/JsonSchemas/redfish-payload-annotations/"
+    },
+    {
       "@odata.id": "/redfish/v1/JsonSchemas/redfish-schema/"
     }
   ]
diff --git a/static/redfish/v1/JsonSchemas/odata/odata.json b/static/redfish/v1/JsonSchemas/odata/odata.json
index d2c6e46..a170134 100644
--- a/static/redfish/v1/JsonSchemas/odata/odata.json
+++ b/static/redfish/v1/JsonSchemas/odata/odata.json
@@ -1,5 +1,5 @@
 {
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_3_0.json",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_4_0.json",
     "definitions": {
         "context": {
             "type": "string",
@@ -30,10 +30,10 @@
             "type": "string",
             "readonly": true,
             "description": "The type of a resource.",
-            "longDescription": "The value of this property shall be an absolute URL that specifies the type of the resource and it shall be of the form defined in the Redfish specification."
+            "longDescription": "The value of this property shall be a URI fragment that specifies the type of the resource and it shall be of the form defined in the Redfish specification."
         },
         "count": {
-            "type": "number",
+            "type": "integer",
             "readonly": true,
             "description": "The number of items in a collection.",
             "longDescription": "The value of this property shall be an integer representing the number of items in a collection."
@@ -43,6 +43,13 @@
             "readonly": true,
             "description": "The current ETag of the resource.",
             "longDescription": "The value of this property shall be a string that is defined by the ETag HTTP header definition in RFC7232."
+        },
+        "nextLink": {
+            "type": "string",
+            "format": "uri",
+            "readonly": true,
+            "description": "The URI to the resource containing the next set of partial members.",
+            "longDescription": "The value of this property shall be a URI to a resource, with the same @odata.type, containing the next set of partial members."
         }
     }
 }
diff --git a/static/redfish/v1/JsonSchemas/redfish-payload-annotations/index.json b/static/redfish/v1/JsonSchemas/redfish-payload-annotations/index.json
new file mode 100644
index 0000000..74dcb85
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/redfish-payload-annotations/index.json
@@ -0,0 +1,21 @@
+{
+    "@odata.context": "/redfish/v1/$metadata#JsonSchemaFile.JsonSchemaFile",
+    "@odata.id": "/redfish/v1/JSONSchemas/redfish-payload-annotations",
+    "@odata.type": "#JsonSchemaFile.v1_0_2.JsonSchemaFile",
+    "Name": "redfish-payload-annotations Schema File",
+    "Schema": "#redfish-payload-annotations.redfish-payload-annotations",
+    "Description": "redfish-payload-annotations Schema File Location",
+    "Id": "redfish-payload-annotations",
+    "Languages": [
+        "en"
+    ],
+    "Languages@odata.count": 1,
+    "Location": [
+        {
+            "Language": "en",
+            "PublicationUri": "http://redfish.dmtf.org/schemas/v1/redfish-payload-annotations.json",
+            "Uri": "/redfish/v1/JSONSchemas/redfish-payload-annotations/redfish-payload-annotations.json"
+        }
+    ],
+    "Location@odata.count": 1
+}
\ No newline at end of file
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
new file mode 100644
index 0000000..0bfdb13
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/redfish-payload-annotations/redfish-payload-annotations.json
@@ -0,0 +1,112 @@
+{
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_4_1.json",
+    "copyright": "Copyright 2014-2018 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "properties": {
+        "@Redfish.ActionInfo": {
+            "description": "The term can be applied to an Action to specify a URI to an ActionInfo resource which describes the parameters supported by this instance of the Action.",
+            "type": "string",
+            "format": "uri",
+            "readonly": true
+        },
+        "@Redfish.Settings": {
+            "description": "Reference to the resource that represents the settings to be applied to this object.",
+            "$ref": "http://redfish.dmtf.org/schemas/v1/Settings.json#/definitions/Settings"
+        },
+        "@Redfish.SettingsApplyTime": {
+            "description": "Configuration settings for when the values in the settings object are applied to a given resource.",
+            "$ref": "http://redfish.dmtf.org/schemas/v1/Settings.json#/definitions/PreferredApplyTime"
+        },
+        "@Redfish.OperationApplyTime": {
+            "description": "The requested apply time from a client when performing a Create, Delete, or Action operation.",
+            "$ref": "http://redfish.dmtf.org/schemas/v1/Settings.json#/definitions/OperationApplyTime"
+        },
+        "@Redfish.OperationApplyTimeSupport": {
+            "description": "Indicates if a client is allowed to request for a specific apply time of a Create, Delete, or Action operation of a given resource via the OperationApplyTime term.",
+            "$ref": "http://redfish.dmtf.org/schemas/v1/Settings.json#/definitions/OperationApplyTimeSupport"
+        },
+        "@Redfish.MaintenanceWindow": {
+            "description": "Maintenance window configuration of a resource for when to apply settings or operations.",
+            "$ref": "http://redfish.dmtf.org/schemas/v1/Settings.json#/definitions/MaintenanceWindow"
+        },
+        "@Redfish.CollectionCapabilities": {
+            "description": "Reference to the resource that represents the POST capabilities of a given collection.",
+            "$ref": "http://redfish.dmtf.org/schemas/v1/CollectionCapabilities.json#/definitions/CollectionCapabilities"
+        },
+        "@odata.context": {
+            "type": "string",
+            "format": "uri",
+            "readonly": true,
+            "description": "The OData description of a payload.",
+            "longDescription": "The value of this property shall be the context URL that describes the resource according to OData-Protocol and shall be of the form defined in the Redfish specification."
+        },
+        "@odata.id": {
+            "type": "string",
+            "format": "uri",
+            "readonly": true,
+            "description": "The unique identifier for a resource.",
+            "longDescription": "The value of this property shall be the unique identifier for the resource and it shall be of the form defined in the Redfish specification."
+        },
+        "@odata.type": {
+            "type": "string",
+            "readonly": true,
+            "description": "The type of a resource.",
+            "longDescription": "The value of this property shall be a URI fragment that specifies the type of the resource and it shall be of the form defined in the Redfish specification."
+        },
+        "@odata.etag": {
+            "type": "string",
+            "readonly": true,
+            "description": "The current ETag of the resource.",
+            "longDescription": "The value of this property shall be a string that is defined by the ETag HTTP header definition in RFC7232."
+        }
+    },
+    "patternProperties": {
+        "^([a-zA-Z_][a-zA-Z0-9_]*)?@Redfish.AllowableValues$": {
+            "description": "The set of allowable values for a parameter or property.",
+            "type": "array",
+            "items": {
+                "type": "string"
+            },
+            "readonly": true
+        },
+        "^([a-zA-Z_][a-zA-Z0-9_]*)?@Redfish.RequiredOnCreate$": {
+            "description": "The term specifies that a property is required to be specified in the body of a POST request to create the resource.",
+            "type": "boolean",
+            "readonly": true
+        },
+        "^([a-zA-Z_][a-zA-Z0-9_]*)?@Redfish.SetOnlyOnCreate$": {
+            "description": "The term specifies that a property can only be set when a client is creating a new instance of a resource via POST.",
+            "type": "boolean",
+            "readonly": true
+        },
+        "^([a-zA-Z_][a-zA-Z0-9_]*)?@Redfish.OptionalOnCreate$": {
+            "description": "The term specifies that a property may be set when a client is creating a new instance of a resource via POST.",
+            "type": "boolean",
+            "readonly": true
+        },
+        "^([a-zA-Z_][a-zA-Z0-9_]*)?@Redfish.UpdatableAfterCreate$": {
+            "description": "The term specifies that a property may be set by a client using PATCH after creating a new instance of a resource via POST.",
+            "type": "boolean",
+            "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",
+            "items": {
+                "$ref": "http://redfish.dmtf.org/schemas/v1/Message.json#/definitions/Message"
+            }
+        },
+        "^([a-zA-Z_][a-zA-Z0-9_]*)?@odata.count$": {
+            "type": "integer",
+            "readonly": true,
+            "description": "The number of items in a collection.",
+            "longDescription": "The value of this property shall be an integer representing the number of items in a collection."
+        },
+        "^([a-zA-Z_][a-zA-Z0-9_]*)?@odata.nextLink$": {
+            "type": "string",
+            "format": "uri",
+            "readonly": true,
+            "description": "The URI to the resource containing the next set of partial members.",
+            "longDescription": "The value of this property shall be a URI to a resource, with the same @odata.type, containing the next set of partial members."
+        }
+    }
+}
diff --git a/static/redfish/v1/JsonSchemas/redfish-schema/redfish-schema.json b/static/redfish/v1/JsonSchemas/redfish-schema/redfish-schema.json
index 7308bf7..7a7e967 100644
--- a/static/redfish/v1/JsonSchemas/redfish-schema/redfish-schema.json
+++ b/static/redfish/v1/JsonSchemas/redfish-schema/redfish-schema.json
@@ -1,101 +1,155 @@
-{
-    "id": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_4_0",
-    "type": "object",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_4_0",
-    "title": "Redfish Schema Extension",
-    "description": "The properties defined in this schema shall adhere to the requirements of the Redfish Specification and the semantics of the descriptions in this file.",
-    "allOf": [
-        {
-            "$ref": "http://json-schema.org/draft-04/schema"
-        }
-    ],
-    "definitions": {
-        "readonly": {
-            "type": "boolean",
-            "description": "This property shall designate a property to be readonly when set to true."
-        },
-        "requiredOnCreate": {
-            "type": "array",
-            "items": {
-                "type": "boolean"
-            },
-            "description": "This property is required to be specified in the body of a POST request to create the resource."
-        },
-        "requiredParameter": {
-            "type": "boolean",
-            "description": "This property specifies that an action parameter is required to be provided by the client as part of the action request when set to true.  Parameters not containing this property with the value of true can be left out of the client's action request."
-        },
-        "longDescription": {
-            "type": "string",
-            "description": "This attribute shall contain normative language relating to the Redfish Specification and documentation."
-        },
-        "copyright": {
-            "type": "string",
-            "description": "This attribute shall contain the copyright notice for the schema."
-        },
-        "deprecated": {
-            "type": "string",
-            "description": "The term shall be applied to a property in order to specify that the property is deprecated.  The value of the string should explain the deprecation, including new property or properties to be used. The property can be supported in new and existing implementations, but usage in new implementations is discouraged.  Deprecated properties are likely to be removed in a future major version of the schema."
-        },
-        "enumDescriptions": {
-            "type": "object",
-            "description": "This attribute shall contain informative language related to the enumeration values of the property."
-        },
-        "enumLongDescriptions": {
-            "type": "object",
-            "description": "This attribute shall contain normative language relating to the enumeration values of the property."
-        },
-        "enumDeprecated": {
-            "type": "object",
-            "description": "The term shall be applied to a value in order to specify that the value is deprecated.  The value of the string should explain the deprecation, including new value to be used.  The value can be supported in new and existing implementations, but usage in new implementations is discouraged.  Deprecated values are likely to be removed in a future major version of the schema."
-        },
-        "units": {
-            "type": "string",
-            "description": "This attribute shall contain the units of measure used by the value of the property."
-        },
-        "owningEntity": {
-            "type": "string",
-            "description": "Indicates the name of the entity responsible for development, publication and maintenance of a given schema.  Possible values include DMTF, SNIA or an OEM label such as is used in a Redfish OEM extension section."
-        }
-    },
-    "properties": {
-        "readonly": {
-            "$ref": "#/definitions/readonly"
-        },
-        "requiredOnCreate": {
-            "$ref": "#/definitions/requiredOnCreate"
-        },
-        "requiredParameter": {
-            "$ref": "#/definitions/requiredParameter"
-        },
-        "longDescription": {
-            "$ref": "#/definitions/longDescription"
-        },
-        "copyright": {
-            "$ref": "#/definitions/copyright"
-        },
-        "deprecated": {
-            "$ref": "#/definitions/deprecated"
-        },
-        "enumDescriptions": {
-            "$ref": "#/definitions/enumDescriptions"
-        },
-        "enumLongDescriptions": {
-            "$ref": "#/definitions/enumLongDescriptions"
-        },
-        "enumDeprecated": {
-            "$ref": "#/definitions/enumDeprecated"
-        },
-        "units": {
-            "$ref": "#/definitions/units"
-        },
-        "parameters": {
-            "type": "object",
-            "description": "This term shall contain parameter definitions for a given action.",
-            "additionalProperties": { "$ref": "#" }
-        },
-        "owningEntity": {
-            "$ref": "#/definitions/owningEntity"
-        }
-    }
-}
+{

+    "id": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_5_0",

+    "type": "object",

+    "$schema": "http://json-schema.org/draft-04/schema#",

+    "title": "Redfish Schema Extension",

+    "description": "The properties defined in this schema shall adhere to the requirements of the Redfish Specification and the semantics of the descriptions in this file.",

+    "definitions": {

+        "readonly": {

+            "type": "boolean",

+            "description": "This property shall designate a property to be readonly when set to true."

+        },

+        "requiredOnCreate": {

+            "type": "array",

+            "items": {

+                "type": "boolean"

+            },

+            "description": "This property is required to be specified in the body of a POST request to create the resource."

+        },

+        "requiredParameter": {

+            "type": "boolean",

+            "description": "This property specifies that an action parameter is required to be provided by the client as part of the action request when set to true.  Parameters not containing this property with the value of true can be left out of the client's action request."

+        },

+        "longDescription": {

+            "type": "string",

+            "description": "This attribute shall contain normative language relating to the Redfish Specification and documentation."

+        },

+        "copyright": {

+            "type": "string",

+            "description": "This attribute shall contain the copyright notice for the schema."

+        },

+        "deprecated": {

+            "type": "string",

+            "description": "The term shall be applied to a property in order to specify that the property is deprecated.  The value of the string should explain the deprecation, including new property or properties to be used. The property can be supported in new and existing implementations, but usage in new implementations is discouraged.  Deprecated properties are likely to be removed in a future major version of the schema."

+        },

+        "enumDescriptions": {

+            "type": "object",

+            "description": "This attribute shall contain informative language related to the enumeration values of the property."

+        },

+        "enumLongDescriptions": {

+            "type": "object",

+            "description": "This attribute shall contain normative language relating to the enumeration values of the property."

+        },

+        "enumDeprecated": {

+            "type": "object",

+            "description": "The term shall be applied to a value in order to specify that the value is deprecated.  The value of the string should explain the deprecation, including new value to be used.  The value can be supported in new and existing implementations, but usage in new implementations is discouraged.  Deprecated values are likely to be removed in a future major version of the schema."

+        },

+        "units": {

+            "type": "string",

+            "description": "This attribute shall contain the units of measure used by the value of the property."

+        },

+        "owningEntity": {

+            "type": "string",

+            "description": "Indicates the name of the entity responsible for development, publication and maintenance of a given schema.  Possible values include DMTF, SNIA or an OEM label such as is used in a Redfish OEM extension section."

+        },

+        "excerpt": {

+            "type": "string",

+            "description": "The term specifies that the property is a Excerpt data element that shall appear in objects marked as a Excerpt Copy when the value of the term matches the type specified by the ExcerptCopy term. If the value of the term is unspecified, the property shall appear in all ExcerptCopy instances."

+        },

+        "excerptCopy": {

+            "type": "string",

+            "description": "The term specifies that the object or property definition is a copy of data from a source elsewhere in the data model, and that only properties marked as Excerpt in that referenced definition shall be included. The value of the term shall contain the name and value of a key property used to construct the Excerpt subset of properties from the referenced definition. If the value of the term is not defined, then all Excerpt properties shall be copied from the referenced definition."

+        },

+        "excerptCopyOnly": {

+            "type": "string",

+            "description": "The term specifies that the property is a data element that shall appear only when the resource definition is used as a copy (using the ExcerptCopy term), and shall not appear in the original data resource."

+        },

+        "insertable": {

+            "type": "boolean",

+            "description": "The term specifies if new members can be added to the resource using the POST method."

+        },

+        "updatable": {

+            "type": "boolean",

+            "description": "The term specifies whether or not the resource is able to be updated using the PATCH or PUT methods."

+        },

+        "deletable": {

+            "type": "boolean",

+            "description": "The term specifies whether or not the resource is able to be removed using the DELETE methods."

+        },

+        "uris": {

+            "type": "array",

+            "items": {

+                "type": "string"

+            },

+            "description": "The term specifies the URIs a service is allowed to use for the given resource."

+        },

+        "autoExpand": {

+            "type": "boolean",

+            "description": "The term specifies if the resource referenced by the hyperlink shall be expanded in the response body as specified in the 'Expanded resources' clause of the Redfish Specification."

+        }

+    },

+    "properties": {

+        "readonly": {

+            "$ref": "#/definitions/readonly"

+        },

+        "requiredOnCreate": {

+            "$ref": "#/definitions/requiredOnCreate"

+        },

+        "requiredParameter": {

+            "$ref": "#/definitions/requiredParameter"

+        },

+        "longDescription": {

+            "$ref": "#/definitions/longDescription"

+        },

+        "copyright": {

+            "$ref": "#/definitions/copyright"

+        },

+        "deprecated": {

+            "$ref": "#/definitions/deprecated"

+        },

+        "enumDescriptions": {

+            "$ref": "#/definitions/enumDescriptions"

+        },

+        "enumLongDescriptions": {

+            "$ref": "#/definitions/enumLongDescriptions"

+        },

+        "enumDeprecated": {

+            "$ref": "#/definitions/enumDeprecated"

+        },

+        "units": {

+            "$ref": "#/definitions/units"

+        },

+        "parameters": {

+            "type": "object",

+            "description": "This term shall contain parameter definitions for a given action.",

+            "additionalProperties": { "$ref": "#" }

+        },

+        "owningEntity": {

+            "$ref": "#/definitions/owningEntity"

+        },

+        "excerpt": {

+            "$ref": "#/definitions/excerpt"

+        },

+        "excerptCopy": {

+            "$ref": "#/definitions/excerptCopy"

+        },

+        "excerptCopyOnly": {

+            "$ref": "#/definitions/excerptCopyOnly"

+        },

+        "insertable": {

+            "$ref": "#/definitions/insertable"

+        },

+        "updatable": {

+            "$ref": "#/definitions/updatable"

+        },

+        "deletable": {

+            "$ref": "#/definitions/deletable"

+        },

+        "uris": {

+            "$ref": "#/definitions/uris"

+        },

+        "autoExpand": {

+            "$ref": "#/definitions/autoExpand"

+        }

+    }

+}