Redfish: Changes in Oem schemas for dump

Implemented Oem schemas for extending LogService and
LogEntry

Signed-off-by: Asmitha Karunanithi <asmitk01@in.ibm.com>
Change-Id: I37d56b33403700ee65cd6ec7dee06395525d335c
diff --git a/static/redfish/v1/JsonSchemas/OemLogEntry/index.json b/static/redfish/v1/JsonSchemas/OemLogEntry/index.json
index e3ae704..31756d0 100644
--- a/static/redfish/v1/JsonSchemas/OemLogEntry/index.json
+++ b/static/redfish/v1/JsonSchemas/OemLogEntry/index.json
@@ -1,12 +1,26 @@
 {
     "$id": "http://redfish.dmtf.org/schemas/v1/OemLogEntry.v1_0_0.json",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
-    "copyright": "Copyright 2014-2019 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_2_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": {
+        "DiagnosticDataType": {
+            "enum": [
+                "Manager",
+                "PreOS",
+                "OS",
+                "OEM"
+            ],
+            "enumDescriptions": {
+                "Manager": "Indicates Manager diagnostic data.",
+                "OEM": "Indicates OEM diagnostic data.",
+                "OS": "Indicates Operation system(OS) diagnostic data.",
+                "PreOS": "Indicates Pre-OS diagnostic data."
+            },
+            "type": "string"
+        },
         "OpenBmc": {
-            "additionalProperties": false,
-            "description": "OEM Extension for LogEntry",
-            "longDescription": "OEM Extension for LogEntry for dump.",
+            "additionalProperties": true,
+            "description": "Oem properties for OpenBmc.",
             "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.",
@@ -21,59 +35,46 @@
                     ]
                 }
             },
-            "Actions": {
-              "additionalProperties": false,
-              "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": {
-                "#LogEntry.DownloadLog": {
-                    "$ref": "#/definitions/DownloadLog"
-                }
-            },
-            "type": "object"
-           },
-           "DownloadLog": {
-            "additionalProperties": false,
-            "description": "This action is used to download dump.",
-            "longDescription": "This action is used to download dump.",
-            "parameters": {},
-            "patternProperties": {
-                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
-                    "description": "This property shall specify a valid odata or Redfish property.",
-                    "type": [
-                        "array",
-                        "boolean",
-                        "integer",
-                        "number",
-                        "null",
-                        "object",
-                        "string"
-                    ]
-                }
-            },
-            "type": "object"
-            },
-            "properties": {
-                "SizeInB": {
-                    "description": "Indicates size of dump in bytes",
-                    "longDescription": "The value of this property provides size of this dump entry in bytes",
+                "AdditionalDataSizeBytes": {
+                    "description": "The size of diagnostic data in bytes for the log entry if the entry type is `DUMP`.",
+                    "longDescription": "This property shall contain the size of diagnostic data in bytes for the log entry if the entry if the entry type is `DUMP`.",
                     "readonly": true,
                     "type": [
                         "integer",
                         "null"
                     ]
+                },
+                "AdditionalDataURI": {
+                    "description": "The offload URI of the diagnostic data if the entry type is `DUMP`.",
+                    "longDescription": "This property shall contain the offload URI of the diagnostic data if the entry type is `DUMP`.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
+                },
+                "DiagnosticDataType": {
+                    "anyOf": [
+                        {
+                            "$ref": "#/definitions/DiagnosticDataType"
+                        },
+                        {
+                            "type": "null"
+                        }
+                    ],
+                    "description": "The type of diagnostic data entry",
+                    "longDescription": "This property shall contain the type of diagnostic data entry.",
+                    "readonly": true
+                },
+                "OEMDiagnosticDataType": {
+                    "description": "The OEM type of diagnostic data entry",
+                    "longDescription": "This property shall contain the OEM type of diagnostic data entry.",
+                    "readonly": true,
+                    "type": [
+                        "string",
+                        "null"
+                    ]
                 }
             },
             "type": "object"
@@ -81,5 +82,5 @@
     },
     "owningEntity": "OpenBMC",
     "release": "1.0",
-    "title": "#OemLogEntry.v1_0_0.LogEnry"
-}
+    "title": "#OemLogEntry.v1_0_0"
+}
\ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/OemLogService/index.json b/static/redfish/v1/JsonSchemas/OemLogService/index.json
index 21ff0af..cc2981a 100644
--- a/static/redfish/v1/JsonSchemas/OemLogService/index.json
+++ b/static/redfish/v1/JsonSchemas/OemLogService/index.json
@@ -1,11 +1,10 @@
 {
     "$id": "http://redfish.dmtf.org/schemas/v1/OemLogService.v1_0_0.json",
-    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
-    "copyright": "Copyright 2014-2019 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_2_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": {
-        "OpenBmc": {
-            "additionalProperties": true,
-            "description": "Oem properties for OpenBmc.",
+        "Actions": {
+            "additionalProperties": false,
             "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.",
@@ -20,33 +19,17 @@
                     ]
                 }
             },
-            "Actions": {
-              "additionalProperties": false,
-              "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": {
-                "#LogService.CreateLog": {
-                    "$ref": "#/definitions/CreateLog"
+                "#OemLogService.CollectDiagnosticData": {
+                    "$ref": "#/definitions/CollectDiagnosticData"
                 }
             },
             "type": "object"
-           },
-           "CreateLog": {
+        },
+        "CollectDiagnosticData": {
             "additionalProperties": false,
-            "description": "This action is used to trigger a new system dump.",
-            "longDescription": "This action is used to trigger a new system dump.",
+            "description": "This action is used to trigger the creation of a dump.",
+            "longDescription": "This action is used to trigger the creation of a dump.",
             "parameters": {},
             "patternProperties": {
                 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
@@ -62,51 +45,17 @@
                     ]
                 }
             },
-            "type": "object"
-            },
-
             "properties": {
-                "Type": {
-                    "description": "Indicates type of this oem entry",
-                    "longDescription": "The value of this property represents type of entry",
-                    "readonly": true,
-                    "type": [
-                        "string",
-                        "null"
-                    ]
+                "target": {
+                    "description": "Link to invoke action",
+                    "format": "uri-reference",
+                    "type": "string"
                 },
-                "DumpType": {
-                    "description": "Indicates dump type",
-                    "longDescription": "The value of this property represents type of dump.",
-                    "readonly": true,
-                    "type": [
-                        "string",
-                        "null"
-                    ]
-                }
-
-            },
-            "type": "object"
-        },
-        "LogService": {
-            "additionalProperties": false,
-            "description": "OEM Extension for VirtualMedia",
-            "longDescription": "OEM Extension for VirtualMedia to support Proxy mode.",
-            "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"
-                    ]
+                "title": {
+                    "description": "Friendly action name",
+                    "type": "string"
                 }
             },
-            "properties": {},
             "type": "object"
         }
     },
diff --git a/static/redfish/v1/schema/OemLogEntry_v1.xml b/static/redfish/v1/schema/OemLogEntry_v1.xml
index facfd4f..d149e49 100644
--- a/static/redfish/v1/schema/OemLogEntry_v1.xml
+++ b/static/redfish/v1/schema/OemLogEntry_v1.xml
@@ -17,33 +17,50 @@
 
   <edmx:DataServices>
 
-    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="OemLogEntry">
-      <Annotation Term="Redfish.OwningEntity" String="OpenBMC"/>
-    </Schema>
-
     <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="OemLogEntry.v1_0_0">
       <Annotation Term="Redfish.OwningEntity" String="OpenBMC"/>
       <Annotation Term="Redfish.Release" String="1.0"/>
 
       <ComplexType Name="OpenBmc" BaseType="Resource.OemObject">
         <Annotation Term="OData.AdditionalProperties" Bool="true"/>
-        <Annotation Term="OData.Description" String="Oem properties for OpenBmc." />
-            <Action Name="DownloadLog" IsBound="true">
-                <Parameter Name="LogEntry" Type="LogEntry.v1_2_0.OemActions"/>
-                <Annotation Term="OData.Description" String="The action to download the system dump log entry for this Log Service."/>
-                <Annotation Term="OData.LongDescription" String="This action shall download system dump for this Log Service."/>
-            </Action>
-            <Property Name="SizeInB" Type="Edm.Int64">
+        <Annotation Term="OData.Description" String="Oem properties for OpenBmc."/>
+            <Property Name="AdditionalDataSizeBytes" Type="Edm.Int64">
                 <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
-                <Annotation Term="OData.Description" String="The size of dump in bytes for the log entry if the entry type is `DUMP`."/>
-                <Annotation Term="OData.LongDescription" String="This property shall contain the size in bytes for the log entry if the EntryType is `DUMP`."/>
+                <Annotation Term="OData.Description" String="The size of diagnostic data in bytes for the log entry if the entry type is `DUMP`."/>
+                <Annotation Term="OData.LongDescription" String="This property shall contain the size of diagnostic data in bytes for the log entry if the entry if the entry type is `DUMP`."/>
+            </Property>
+            <Property Name="AdditionalDataURI" Type="Edm.String">
+                <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
+                <Annotation Term="OData.Description" String="The offload URI of the diagnostic data if the entry type is `DUMP`."/>
+                <Annotation Term="OData.LongDescription" String="This property shall contain the offload URI of the diagnostic data if the entry type is `DUMP`."/>
+            </Property>
+            <Property Name="DiagnosticDataType" Type="OemLogEntry.v1_0_0.DiagnosticDataType">
+                <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
+                <Annotation Term="OData.Description" String="The type of diagnostic data entry"/>
+                <Annotation Term="OData.LongDescription" String="This property shall contain the type of diagnostic data entry."/>
+            </Property>
+            <Property Name="OEMDiagnosticDataType" Type="Edm.String">
+                <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
+                <Annotation Term="OData.Description" String="The OEM type of diagnostic data entry"/>
+                <Annotation Term="OData.LongDescription" String="This property shall contain the OEM type of diagnostic data entry."/>
             </Property>
       </ComplexType>
 
-      <EntityType Name="LogEntry" BaseType="Resource.OemObject" Abstract="true">
-          <Annotation Term="OData.Description" String="OEM Extension for LogEntry"/>
-          <Annotation Term="OData.LongDescription" String="OEM Extension of LogEntry for dump"/>
-      </EntityType>
+      <EnumType Name="DiagnosticDataType">
+        <Member Name="Manager">
+          <Annotation Term="OData.Description" String="Indicates Manager diagnostic data."/>
+        </Member>
+        <Member Name="PreOS">
+          <Annotation Term="OData.Description" String="Indicates Pre-OS diagnostic data."/>
+        </Member>
+        <Member Name="OS">
+          <Annotation Term="OData.Description" String="Indicates Operation system(OS) diagnostic data."/>
+        </Member>
+        <Member Name="OEM">
+          <Annotation Term="OData.Description" String="Indicates OEM diagnostic data."/>
+        </Member>
+      </EnumType>
+
     </Schema>
 
   </edmx:DataServices>
diff --git a/static/redfish/v1/schema/OemLogService_v1.xml b/static/redfish/v1/schema/OemLogService_v1.xml
index 95f5e11..47b9404 100644
--- a/static/redfish/v1/schema/OemLogService_v1.xml
+++ b/static/redfish/v1/schema/OemLogService_v1.xml
@@ -4,51 +4,23 @@
   <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Core.V1.xml">
     <edmx:Include Namespace="Org.OData.Core.V1" Alias="OData"/>
   </edmx:Reference>
-  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Measures.V1.xml">
-    <edmx:Include Namespace="Org.OData.Measures.V1" Alias="Measures"/>
-  </edmx:Reference>
-  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/RedfishExtensions_v1.xml">
-    <edmx:Include Namespace="RedfishExtensions.v1_0_0" Alias="Redfish"/>
-  </edmx:Reference>
-  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Resource_v1.xml">
-    <edmx:Include Namespace="Resource"/>
-    <edmx:Include Namespace="Resource.v1_0_0"/>
+  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/LogService_v1.xml">
+    <edmx:Include Namespace="LogService"/>
+    <edmx:Include Namespace="LogService.v1_0_0"/>
   </edmx:Reference>
 
   <edmx:DataServices>
 
-    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="OemLogService">
-      <Annotation Term="Redfish.OwningEntity" String="OpenBMC"/>
-    </Schema>
-
     <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="OemLogService.v1_0_0">
       <Annotation Term="Redfish.OwningEntity" String="OpenBMC"/>
       <Annotation Term="Redfish.Release" String="1.0"/>
 
-      <ComplexType Name="OpenBmc" BaseType="Resource.OemObject">
-        <Annotation Term="OData.AdditionalProperties" Bool="true"/>
-        <Annotation Term="OData.Description" String="Oem properties for OpenBmc." />
-          <Action Name="CreateLog" IsBound="true">
-            <Parameter Name="LogService" Type="LogService.v1_0_0.OemActions"/>
-            <Annotation Term="OData.Description" String="The action to create the log for this Log Service."/>
-            <Annotation Term="OData.LongDescription" String="This action is used to trigger a new system dump."/>
-          </Action>
-          <Property Name="Type" Type="Edm.String">
-            <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
-            <Annotation Term="OData.Description" String="The entry type"/>
-            <Annotation Term="OData.LongDescription" String="This property shall contain the EntryType is `Dump`."/>
-          </Property>
-          <Property Name="DumpType" Type="Edm.String">
-            <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
-            <Annotation Term="OData.Description" String="The dump entry type"/>
-            <Annotation Term="OData.LongDescription" String="This property shall contain dump entry type."/>
-          </Property>
-      </ComplexType>
+      <Action Name="CollectDiagnosticData" IsBound="true">
+        <Parameter Name="OemLogService" Type="LogService.v1_0_0.OemActions"/>
+        <Annotation Term="OData.Description" String="This action is used to trigger the creation of a dump." />
+        <Annotation Term="OData.LongDescription" String="This action is used to trigger the creation of a dump." />
+      </Action>
 
-      <EntityType Name="LogService" BaseType="Resource.OemObject" Abstract="true">
-          <Annotation Term="OData.Description" String="OEM Extension for LogService"/>
-          <Annotation Term="OData.LongDescription" String="OEM Extension of LogService for dump"/>
-      </EntityType>
     </Schema>
 
   </edmx:DataServices>