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

    - 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
