# A YAML similar to this example would have to be generated, for eg with MRW
# inputs and system configuration, to depict IPMI Fru information.
#
# This file maps IPMI properties to phosphor dbus inventory properties
#
# This YAML could help generate C++ code.
# Format of the YAML:
# Fruid:
#   Associated Fru paths
#     d-bus Interfaces
#       d-bus Properties
#         IPMI Fru mapping
0:
  /system:
    entityID: 23
    entityInstance: 1
    interfaces:
      xyz.openbmc_project.Inventory.Item:
        PrettyName:
          IPMIFruProperty: Product Name
          IPMIFruSection: Product
      xyz.openbmc_project.Inventory.Decorator.Asset:
        Manufacturer:
          IPMIFruProperty: Manufacturer
          IPMIFruSection: Product
        PartNumber:
          IPMIFruProperty: Part Number
          IPMIFruSection: Product
        SerialNumber:
          IPMIFruProperty: Serial Number
          IPMIFruSection: Product
        BuildDate:
          IPMIFruProperty: Mfg Date
          IPMIFruSection: Product
      xyz.openbmc_project.Inventory.Decorator.Revision:
        Version:
          IPMIFruProperty: Version
          IPMIFruSection: Product
      xyz.openbmc_project.Inventory.Item.System:
1:
  /system/chassis/motherboard/dimm0:
    entityID: 32
    entityInstance: 1
    interfaces:
      xyz.openbmc_project.Inventory.Item:
        PrettyName:
          IPMIFruProperty: Product Name
          IPMIFruSection: Product
      xyz.openbmc_project.Inventory.Decorator.Asset:
        Manufacturer:
          IPMIFruProperty: Manufacturer
          IPMIFruSection: Product
        BuildDate:
          IPMIFruProperty: Mfg Date
          IPMIFruSection: Product
        SerialNumber:
          IPMIFruProperty: Serial Number
          IPMIFruSection: Product
        PartNumber:
          IPMIFruProperty: Part Number
          IPMIFruSection: Product
      xyz.openbmc_project.Inventory.Decorator.Revision:
        Version:
          IPMIFruProperty: Version
          IPMIFruSection: Product
      xyz.openbmc_project.Inventory.Item.Dimm:
2:
  /system/chassis/motherboard/dimm1:
    entityID: 32
    entityInstance: 2
    interfaces:
      xyz.openbmc_project.Inventory.Item:
        PrettyName:
          IPMIFruProperty: Product Name
          IPMIFruSection: Product
      xyz.openbmc_project.Inventory.Decorator.Asset:
        Manufacturer:
          IPMIFruProperty: Manufacturer
          IPMIFruSection: Product
        BuildDate:
          IPMIFruProperty: Mfg Date
          IPMIFruSection: Product
        SerialNumber:
          IPMIFruProperty: Serial Number
          IPMIFruSection: Product
        PartNumber:
          IPMIFruProperty: Part Number
          IPMIFruSection: Product
      xyz.openbmc_project.Inventory.Decorator.Revision:
        Version:
          IPMIFruProperty: Version
          IPMIFruSection: Product
      xyz.openbmc_project.Inventory.Item.Dimm:
3:
  /system/chassis/motherboard/cpu0:
    entityID: 3
    entityInstance: 1
    interfaces:
      xyz.openbmc_project.Inventory.Item:
        PrettyName:
          IPMIFruProperty: Product Name
          IPMIFruSection: Board
      xyz.openbmc_project.Inventory.Decorator.Asset:
        BuildDate:
          IPMIFruProperty: Mfg Date
          IPMIFruSection: Board
        SerialNumber:
          IPMIFruProperty: Serial Number
          IPMIFruSection: Board
        PartNumber:
          IPMIFruProperty: Part Number
          IPMIFruSection: Board
        Manufacturer:
          IPMIFruProperty: Manufacturer
          IPMIFruSection: Board
      xyz.openbmc_project.Inventory.Item.Cpu:
4:
  /system/chassis/motherboard/cpu1:
    entityID: 3
    entityInstance: 2
    interfaces:
      xyz.openbmc_project.Inventory.Item:
        PrettyName:
          IPMIFruProperty: Product Name
          IPMIFruSection: Board
      xyz.openbmc_project.Inventory.Decorator.Asset:
        BuildDate:
          IPMIFruProperty: Mfg Date
          IPMIFruSection: Board
        SerialNumber:
          IPMIFruProperty: Serial Number
          IPMIFruSection: Board
        PartNumber:
          IPMIFruProperty: Part Number
          IPMIFruSection: Board
        Manufacturer:
          IPMIFruProperty: Manufacturer
          IPMIFruSection: Board
      xyz.openbmc_project.Inventory.Item.Cpu:
