1# Entity-example
2
3If your platform requires the entity container map, you can provide a json file
4of the format:
5
6```json
7[
8  {
9    "id": 1,
10    "containerEntityId": 2,
11    "containerEntityInstance": 3,
12    "isList": false,
13    "isLinked": false,
14    "entities": [
15      { "id": 1, "instance": 2 },
16      { "id": 1, "instance": 3 },
17      { "id": 1, "instance": 4 },
18      { "id": 1, "instance": 5 }
19    ]
20  }
21]
22```
23
24as part of your `phosphor-ipmi-config`
25
26The above json is identical to the original YAML documented below:
27
28```text
29# This record has:
30# Container Entity Id and Container Entity Instance = (0x13, 0x81)
31# Contained Entity Id and Contained Entity Instance = (0x0A, 0x1),
32# (0x0A, 0x3), (0x0A, 0x5), (0x0A, 0x7)
33# Entity Record id is the key
340x01:
35  # Container entity contains other entities
36  # Entity Id and entity Instance for the container entity
37  containerEntityId: 0x13
38  containerEntityInstance: 0x81
39  # A record can have contained entities as a four entry list or as upto
40  # two ranges of entity instances; this record has contained entities
41  # as a four entry list
42  isList: "true"
43  # Records can be linked if necessary to extend the number of contained
44  # entities within a container entity; this record is not linked
45  isLinked: "false"
46  entityId1: 0x0A
47  entityInstance1: 0x1
48  entityId2: 0x0A
49  entityInstance2: 0x3
50  entityId3: 0x0A
51  entityInstance3: 0x5
52  entityId4: 0x0A
53  entityInstance4: 0x7
54
55# The below two records have:
56# Container Entity Id and Container Entity Instance = (0x18, 0x2)
57# Contained Entity Id and Contained Entity Instance = (0x1D, 0x1),
58# (0x1D, 0x4), (0x1D, 0x6), (0x2B, 0x1), (0x2B, 0x3), (0x0F, 0x1),
59# (0x0F, 0x3), (0x10, 0x5)
600x02:
61  containerEntityId: 0x18
62  containerEntityInstance: 0x2
63  # This record  has contained entities as a four entry list
64  isList: "true"
65  # This record is linked with the below record; this record and the
66  # below record have the same container entity Id and container entity
67  # instance;
68  isLinked: "true"
69  entityId1: 0x1D
70  entityInstance1: 0x1
71  entityId2: 0x1D
72  entityInstance2: 0x4
73  entityId3: 0x1D
74  entityInstance3: 0x6
75  entityId4: 0x2B
76  entityInstance4: 0x1
77
780x03:
79  containerEntityId: 0x18
80  containerEntityInstance: 0x2
81  # This record  has contained entities as a four entry list
82  isList: "true"
83  # This record is linked with the above record; this record and the
84  # above record have the same container entity Id and container entity
85  # instance
86  isLinked: "true"
87  entityId1: 0x2B
88  entityInstance1: 0x3
89  entityId2: 0x0F
90  entityInstance2: 0x1
91  entityId3: 0x0F
92  entityInstance3: 0x3
93  entityId4: 0x10
94  entityInstance4: 0x5
95
96# This record has:
97# Container Entity Id and Container Entity Instance = (0x1E, 0x1)
98# Contained Entity Id and Contained Entity Instance = (0x20, 0x1),
99# (0x20, 0x2), (0x20, 0x3), (0x20, 0x7), (0x20, 0x8), (0x20, 0x9)
1000x04:
101  containerEntityId: 0x1E
102  containerEntityInstance: 0x1
103  # This record has contained entities as two ranges of entity instances
104  isList: "false"
105  # This record is not linked
106  isLinked: "false"
107  entityId1: 0x20
108  entityInstance1: 0x1
109  entityId2: 0x20
110  entityInstance2: 0x3
111  entityId3: 0x20
112  entityInstance3: 0x7
113  entityId4: 0x20
114  entityInstance4: 0x9
115
116# The below two records have:
117# Container Entity Id and Container Entity Instance = (0x1E, 0x3)
118# Contained Entity Id and Contained Entity Instance = (0x20, 0x1),
119# (0x20, 0x2), (0x20, 0x3), (0x20, 0x6), (0x20, 0x7), (0x20, 0x8),
120# (0x20, 0xA), (0x20, 0xB), (0x20, 0xD), (0x20, 0xE), (0x20, 0xF)
1210x05:
122  containerEntityId: 0x1E
123  containerEntityInstance: 0x03
124  # This record has contained entities as two ranges of entity instances
125  isList: "false"
126  # This record is linked with the below record; this record and the
127  # below record have the same container entity Id and container entity
128  # instance;
129  isLinked: "true"
130  entityId1: 0x20
131  entityInstance1: 0x1
132  entityId2: 0x20
133  entityInstance2: 0x3
134  entityId3: 0x20
135  entityInstance3: 0x6
136  entityId4: 0x20
137  entityInstance4: 0x8
138
1390x06:
140  containerEntityId: 0x1E
141  containerEntityInstance: 0x03
142  # This record has contained entities as two ranges of entity instances
143  isList: "false"
144  # This record is linked with the above record; this record and the
145  # above record have the same container entity Id and container entity
146  # instance;
147  isLinked: "true"
148  entityId1: 0x20
149  entityInstance1: 0xA
150  entityId2: 0x20
151  entityInstance2: 0xB
152  entityId3: 0x20
153  entityInstance3: 0xD
154  entityId4: 0x20
155  entityInstance4: 0xF
156```
157