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