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/Role/Role.json b/static/redfish/v1/JsonSchemas/Role/Role.json
new file mode 100644
index 0000000..721c65b
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/Role/Role.json
@@ -0,0 +1,148 @@
+{
+ "$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",
+ "definitions": {
+ "Actions": {
+ "additionalProperties": false,
+ "description": "The available actions for this resource.",
+ "longDescription": "This type shall contain the available actions for this resource.",
+ "patternProperties": {
+ "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+ "description": "This property shall specify a valid odata or Redfish property.",
+ "type": [
+ "array",
+ "boolean",
+ "number",
+ "null",
+ "object",
+ "string"
+ ]
+ }
+ },
+ "properties": {
+ "Oem": {
+ "$ref": "#/definitions/OemActions"
+ }
+ },
+ "type": "object"
+ },
+ "OemActions": {
+ "additionalProperties": true,
+ "description": "The available OEM specific actions for this resource.",
+ "longDescription": "This type shall contain any additional OEM actions for this resource.",
+ "patternProperties": {
+ "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
+ "description": "This property shall specify a valid odata or Redfish property.",
+ "type": [
+ "array",
+ "boolean",
+ "number",
+ "null",
+ "object",
+ "string"
+ ]
+ }
+ },
+ "properties": {},
+ "type": "object"
+ },
+ "Role": {
+ "additionalProperties": false,
+ "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_.]+$": {
+ "description": "This property shall specify a valid odata or Redfish property.",
+ "type": [
+ "array",
+ "boolean",
+ "number",
+ "null",
+ "object",
+ "string"
+ ]
+ }
+ },
+ "properties": {
+ "@odata.context": {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/context"
+ },
+ "@odata.id": {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/id"
+ },
+ "@odata.type": {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/type"
+ },
+ "Actions": {
+ "$ref": "#/definitions/Actions",
+ "description": "The available actions for this resource.",
+ "longDescription": "The Actions property shall contain the available actions for this resource."
+ },
+ "AssignedPrivileges": {
+ "description": "The redfish privileges that this role includes.",
+ "items": {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/Privileges.json#/definitions/PrivilegeType"
+ },
+ "longDescription": "The value of this property shall be the redfish privileges that the role includes. For pre-defined roles, this property shall be readOnly. For custom roles some implementations may not allow writing this property.",
+ "readonly": false,
+ "type": "array"
+ },
+ "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
+ },
+ "IsPredefined": {
+ "description": "This property is used to indicate if the Role is one of the Redfish Predefined Roles vs a Custom role.",
+ "longDescription": "The value of this property shall indicate if the role is a predefined role. .",
+ "readonly": true,
+ "type": "boolean"
+ },
+ "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*."
+ },
+ "OemPrivileges": {
+ "description": "The OEM privileges that this role includes.",
+ "items": {
+ "type": "string"
+ },
+ "longDescription": "The value of this property shall be the OEM privileges that this role includes. For pre-defined roles, this property shall be readOnly. For custom roles some implementations may not allow writing this property.",
+ "readonly": false,
+ "type": "array"
+ },
+ "RoleId": {
+ "description": "This property contains the name of the Role.",
+ "longDescription": "This property shall contain the string name of the Role. This property shall contain the same value as the Id property.",
+ "readonly": true,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Id",
+ "Name"
+ ],
+ "requiredOnCreate": [
+ "RoleId"
+ ],
+ "type": "object"
+ }
+ },
+ "title": "#Role.v1_2_1.Role"
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/Role/index.json b/static/redfish/v1/JsonSchemas/Role/index.json
index 721c65b..321e783 100644
--- a/static/redfish/v1/JsonSchemas/Role/index.json
+++ b/static/redfish/v1/JsonSchemas/Role/index.json
@@ -1,148 +1,21 @@
{
- "$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",
- "definitions": {
- "Actions": {
- "additionalProperties": false,
- "description": "The available actions for this resource.",
- "longDescription": "This type shall contain the available actions for this resource.",
- "patternProperties": {
- "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
- "description": "This property shall specify a valid odata or Redfish property.",
- "type": [
- "array",
- "boolean",
- "number",
- "null",
- "object",
- "string"
- ]
- }
- },
- "properties": {
- "Oem": {
- "$ref": "#/definitions/OemActions"
- }
- },
- "type": "object"
- },
- "OemActions": {
- "additionalProperties": true,
- "description": "The available OEM specific actions for this resource.",
- "longDescription": "This type shall contain any additional OEM actions for this resource.",
- "patternProperties": {
- "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
- "description": "This property shall specify a valid odata or Redfish property.",
- "type": [
- "array",
- "boolean",
- "number",
- "null",
- "object",
- "string"
- ]
- }
- },
- "properties": {},
- "type": "object"
- },
- "Role": {
- "additionalProperties": false,
- "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_.]+$": {
- "description": "This property shall specify a valid odata or Redfish property.",
- "type": [
- "array",
- "boolean",
- "number",
- "null",
- "object",
- "string"
- ]
- }
- },
- "properties": {
- "@odata.context": {
- "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/context"
- },
- "@odata.id": {
- "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/id"
- },
- "@odata.type": {
- "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/type"
- },
- "Actions": {
- "$ref": "#/definitions/Actions",
- "description": "The available actions for this resource.",
- "longDescription": "The Actions property shall contain the available actions for this resource."
- },
- "AssignedPrivileges": {
- "description": "The redfish privileges that this role includes.",
- "items": {
- "$ref": "http://redfish.dmtf.org/schemas/v1/Privileges.json#/definitions/PrivilegeType"
- },
- "longDescription": "The value of this property shall be the redfish privileges that the role includes. For pre-defined roles, this property shall be readOnly. For custom roles some implementations may not allow writing this property.",
- "readonly": false,
- "type": "array"
- },
- "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
- },
- "IsPredefined": {
- "description": "This property is used to indicate if the Role is one of the Redfish Predefined Roles vs a Custom role.",
- "longDescription": "The value of this property shall indicate if the role is a predefined role. .",
- "readonly": true,
- "type": "boolean"
- },
- "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*."
- },
- "OemPrivileges": {
- "description": "The OEM privileges that this role includes.",
- "items": {
- "type": "string"
- },
- "longDescription": "The value of this property shall be the OEM privileges that this role includes. For pre-defined roles, this property shall be readOnly. For custom roles some implementations may not allow writing this property.",
- "readonly": false,
- "type": "array"
- },
- "RoleId": {
- "description": "This property contains the name of the Role.",
- "longDescription": "This property shall contain the string name of the Role. This property shall contain the same value as the Id property.",
- "readonly": true,
- "type": "string"
- }
- },
- "required": [
- "Id",
- "Name"
- ],
- "requiredOnCreate": [
- "RoleId"
- ],
- "type": "object"
+ "@odata.context": "/redfish/v1/$metadata#JsonSchemaFile.JsonSchemaFile",
+ "@odata.id": "/redfish/v1/JSONSchemas/Role",
+ "@odata.type": "#JsonSchemaFile.v1_0_2.JsonSchemaFile",
+ "Name": "Role Schema File",
+ "Schema": "#Role.Role",
+ "Description": "Role Schema File Location",
+ "Id": "Role",
+ "Languages": [
+ "en"
+ ],
+ "Languages@odata.count": 1,
+ "Location": [
+ {
+ "Language": "en",
+ "PublicationUri": "http://redfish.dmtf.org/schemas/v1/Role.json",
+ "Uri": "/redfish/v1/JSONSchemas/Role/Role.json"
}
- },
- "title": "#Role.v1_2_1.Role"
+ ],
+ "Location@odata.count": 1
}
\ No newline at end of file