ibm:Yaml for VPD Manager interfaces and errors.

This commit contains yaml file defining interfaces and errors for VPD
Manager.

Interfaces offered are :-
a) Interface to update the value of a given keyword in a VPD file
along with updation of corresponding cache values over D-BUS.

b) Interface to get FRU D-BUS object paths for a given expanded or
un-expanded location code.

c) Interface to get expanded location code corresponding to a given
un-expanded location code.

Signed-off-by: Sunny Srivastava <sunnsr25@in.ibm.com>
Change-Id: I32afd7da22677ed06bb1aad3d39ca577470beeb4
diff --git a/com/ibm/VPD.errors.yaml b/com/ibm/VPD.errors.yaml
new file mode 100644
index 0000000..8f9cdeb
--- /dev/null
+++ b/com/ibm/VPD.errors.yaml
@@ -0,0 +1,10 @@
+- name: LocationNotFound
+  description: Location is not found.
+- name: NodeNotFound
+  description: Node number is not found.
+- name: PathNotFound
+  description: Inventory path is not found.
+- name: RecordNotFound
+  description: Record not found.
+- name: KeywordNotFound
+  description: Keyword is not found.
diff --git a/com/ibm/VPD/Manager.interface.yaml b/com/ibm/VPD/Manager.interface.yaml
new file mode 100644
index 0000000..e3f76c9
--- /dev/null
+++ b/com/ibm/VPD/Manager.interface.yaml
@@ -0,0 +1,98 @@
+description: >
+    Implement to manage VPD data in system.
+methods:
+    - name: WriteKeyword
+      description: >
+          A method to update the keyword value for a given VPD record.
+      parameters:
+        - name: path
+          type: path
+          description: >
+              Path to the D-Bus object that represents the FRU.
+        - name: record
+          type: string
+          description: >
+              Record whose keyword value needs to be modified.
+        - name: keyword
+          type: string
+          description: >
+              Keyword whose value needs to be updated.
+        - name: value
+          type: array[byte]
+          description: >
+              Value to be updated for the keyword.
+      errors:
+        - xyz.openbmc_project.Common.Error.InvalidArgument
+        - com.ibm.VPD.Error.PathNotFound
+        - com.ibm.VPD.Error.RecordNotFound
+        - com.ibm.VPD.Error.KeywordNotFound
+
+    - name: GetFRUsByUnexpandedLocationCode
+      description: >
+          A method to get list of FRU D-BUS object paths for a given
+          unexpanded location code.
+      parameters:
+        - name: locationCode
+          type: string
+          description: >
+              An un-expanded Location code.
+        - name: nodeNumber
+          type: uint16
+          description: >
+              Denotes the node in case of a multi-node configuration,
+              ignored on a single node system.
+      returns:
+        - name: inventoryList
+          type: array[path]
+          description: >
+              List of all the FRUs D-Bus object paths for the given location
+              code.
+      errors:
+        - xyz.openbmc_project.Common.Error.InvalidArgument
+        - com.ibm.VPD.Error.LocationNotFound
+        - com.ibm.VPD.Error.NodeNotFound
+
+    - name: GetFRUsByExpandedLocationCode
+      description: >
+          A method to get list of FRU D-BUS object paths for a given expanded
+          location code.
+      parameters:
+        - name: locationCode
+          type: string
+          description: >
+              Location code in expanded format.
+      returns:
+        - name: inventoryList
+          type: array[path]
+          description: >
+              List of all the FRUs D-Bus object path for the given location
+              code.
+      errors:
+        - xyz.openbmc_project.Common.Error.InvalidArgument
+        - com.ibm.VPD.Error.LocationNotFound
+        - com.ibm.VPD.Error.NodeNotFound
+
+    - name: GetExpandedLocationCode
+      description: >
+          An api to get expanded location code corresponding to a given
+          un-expanded location code.
+          Expanded location codes gives the location of the FRU in the system.
+      parameters:
+        - name: locationCode
+          type: string
+          description: >
+              Location code in un-expanded format.
+        - name: nodeNumber
+          type: uint16
+          description: >
+              Denotes the node in case of multi-node configuration.
+              Ignored in case of single node configuration.
+      returns:
+        - name: locationCode
+          type: string
+          description: >
+              Location code in expanded format.
+      errors:
+        - xyz.openbmc_project.Common.Error.InvalidArgument
+        - com.ibm.VPD.Error.LocationNotFound
+        - com.ibm.VPD.Error.NodeNotFound