1# compare_vpd
2
3## Description
4Compares a VPD (Vital Product Data) keyword value to an expected value.
5
6VPD is information that describes a hardware component.  VPD is typically read
7from an EEPROM on a Field-Replaceable Unit (FRU).  For this reason, VPD is also
8called "FRU data".
9
10The following VPD keywords are currently supported:
11* CCIN
12* Manufacturer
13* Model
14* PartNumber
15
16This action can be used in an [if](if.md) condition to execute actions based on
17a VPD keyword value.  For example, you could set the output voltage only for
18regulators with a specific Model number.
19
20## Properties
21| Name | Required | Type | Description |
22| :--- | :------: | :--- | :---------- |
23| fru | yes | string | Field-Replaceable Unit (FRU) that contains the VPD.  Specify the relative D-Bus inventory path of the FRU.  Full inventory paths begin with the root "/xyz/openbmc_project/inventory".  Specify the relative path below the root, such as "system/chassis/disk_backplane". |
24| keyword | yes | string | VPD keyword.  Specify one of the following: "CCIN", "Manufacturer", "Model", "PartNumber". |
25| value | yes | string | Expected value. |
26
27## Return Value
28Returns true if the keyword value equals the expected value, otherwise returns
29false.
30
31## Example
32```
33{
34  "comments": [ "Check if disk backplane has CCIN value 2D35" ],
35  "compare_vpd": {
36    "fru": "system/chassis/disk_backplane",
37    "keyword": "CCIN",
38    "value": "2D35"
39  }
40}
41```
42