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: object_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[object_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[object_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

    - name: PerformVPDRecollection
      description: >
          An api to check for FRUs replaced and if required, perform
          recollection of VPD data for them.
      errors:
          - xyz.openbmc_project.Common.Error.InvalidArgument
