Fix JsonSchema indexes

JsonSchema was throwing errors in the validator, so implement changes to
the update script to add the appropiate indexes.

Tested by:
Schema validator passes on the JsonSchema Fields

Change-Id: I6cb2737901b55c1089aef744d3ce3c3dfe13f17f
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
diff --git a/static/redfish/v1/JsonSchemas/SoftwareInventory/index.json b/static/redfish/v1/JsonSchemas/SoftwareInventory/index.json
index 812eb64..0f3b565 100644
--- a/static/redfish/v1/JsonSchemas/SoftwareInventory/index.json
+++ b/static/redfish/v1/JsonSchemas/SoftwareInventory/index.json
@@ -1,204 +1,21 @@
 {
-    "$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",
-    "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",
-                        "number",
-                        "null",
-                        "object",
-                        "string"
-                    ]
-                }
-            },
-            "properties": {
-                "Oem": {
-                    "$ref": "#/definitions/OemActions"
-                }
-            },
-            "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",
-                        "number",
-                        "null",
-                        "object",
-                        "string"
-                    ]
-                }
-            },
-            "properties": {},
-            "type": "object"
-        },
-        "SoftwareInventory": {
-            "additionalProperties": false,
-            "description": "This schema defines an inventory of software components.",
-            "longDescription": "This resource shall be used to represent a single software component managed by this Redfish Service.",
-            "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
-                    "description": "This property shall specify a valid odata or Redfish property.",
-                    "type": [
-                        "array",
-                        "boolean",
-                        "number",
-                        "null",
-                        "object",
-                        "string"
-                    ]
-                }
-            },
-            "properties": {
-                "@odata.context": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/context"
-                },
-                "@odata.etag": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/etag"
-                },
-                "@odata.id": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/id"
-                },
-                "@odata.type": {
-                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/type"
-                },
-                "Actions": {
-                    "$ref": "#/definitions/Actions",
-                    "description": "The Actions object contains the available custom actions on 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
-                },
-                "LowestSupportedVersion": {
-                    "description": "A string representing the lowest supported version of this software.",
-                    "longDescription": "The value of this property shall be a string representing the lowest supported version of this software. This string is formatted using the same format used for the Version property.",
-                    "readonly": true,
-                    "type": [
-                        "string",
-                        "null"
-                    ]
-                },
-                "Manufacturer": {
-                    "description": "A string representing the manufacturer/producer of this software.",
-                    "longDescription": "The value of this property shall be a string representing the name of the manufacturer/producer of this software.",
-                    "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*."
-                },
-                "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"
-                    },
-                    "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"
-                },
-                "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.",
-                    "readonly": true,
-                    "type": [
-                        "string",
-                        "null"
-                    ]
-                },
-                "SoftwareId": {
-                    "description": "A string representing the implementation-specific ID for identifying this software.",
-                    "longDescription": "The value of this property shall be a string representing an implementation-specific ID for identifying this software. This string is used for correlation to a component repository or database.",
-                    "readonly": true,
-                    "type": "string"
-                },
-                "Status": {
-                    "anyOf": [
-                        {
-                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
-                        },
-                        {
-                            "type": "null"
-                        }
-                    ]
-                },
-                "UefiDevicePaths": {
-                    "description": "A list of strings representing the UEFI Device Path(s) of the component(s) associated with this software inventory item.",
-                    "items": {
-                        "type": [
-                            "string",
-                            "null"
-                        ]
-                    },
-                    "longDescription": "The value of this property shall be a list of strings representing the UEFI Device Path(s) of the component(s) associated with this software inventory item. The UEFI Device Path string(s) shall be formatted as defined by the UEFI Specification.",
-                    "readonly": true,
-                    "type": "array"
-                },
-                "Updateable": {
-                    "description": "Indicates whether this software can be updated by the update service.",
-                    "longDescription": "The value of this property shall be a boolean indicating whether this software can be updated by the update service. If false, this software is for reporting purpose only.",
-                    "readonly": true,
-                    "type": [
-                        "boolean",
-                        "null"
-                    ]
-                },
-                "Version": {
-                    "description": "A string representing the version of this software.",
-                    "longDescription": "The value of this property shall be a string representing the version of this software.",
-                    "readonly": true,
-                    "type": [
-                        "string",
-                        "null"
-                    ]
-                }
-            },
-            "required": [
-                "Id",
-                "Name"
-            ],
-            "type": "object"
+    "@odata.context": "/redfish/v1/$metadata#JsonSchemaFile.JsonSchemaFile",
+    "@odata.id": "/redfish/v1/JSONSchemas/SoftwareInventory",
+    "@odata.type": "#JsonSchemaFile.v1_0_2.JsonSchemaFile",
+    "Name": "SoftwareInventory Schema File",
+    "Schema": "#SoftwareInventory.SoftwareInventory",
+    "Description": "SoftwareInventory Schema File Location",
+    "Id": "SoftwareInventory",
+    "Languages": [
+        "en"
+    ],
+    "Languages@odata.count": 1,
+    "Location": [
+        {
+            "Language": "en",
+            "PublicationUri": "http://redfish.dmtf.org/schemas/v1/SoftwareInventory.json",
+            "Uri": "/redfish/v1/JSONSchemas/SoftwareInventory/SoftwareInventory.json"
         }
-    },
-    "owningEntity": "DMTF",
-    "title": "#SoftwareInventory.v1_2_0.SoftwareInventory"
+    ],
+    "Location@odata.count": 1
 }
\ No newline at end of file