Entity Manager will create associations between entities in certain cases.
Entity Manager can model the physical topology of how entities plug into
each other when upstream and downstream ports are added as Exposes
elements.
It will then create the 'upstream containing downstream' and 'downstream
contained_by upstream' associations for the connected entities.
For example, taken from the referenced physical topology design:
superchassis.json:
{
"Exposes": [
{
"Name": "MyPort",
"Type": "BackplanePort"
}
],
"Name": "Superchassis"
}
subchassis.json:
{
"Exposes": [
{
"ConnectsToType": "BackplanePort",
"Name": "MyDownstreamPort",
"Type": "DownstreamPort"
}
],
"Name": "Subchassis"
}
Entity Manager will create the 'Superchassis containing Subchassis' and 'Subchassis contained_by Superchassis` associations, putting the associations definition interface on the downstream entity.
In addition to the containing
associations, entity-manager will add
powering
/powered_by
associations between a power supply and its parent when
its downstream port is marked as a PowerPort
.
The below example shows two PSU ports on the motherboard, where the Type
fields for those ports match up with the ConnectsToType
field from the PSUs.
motherboard.json:
{
"Exposes": [
{
"Name": "PSU 1 Port",
"Type": "PSU 1 Port"
},
{
"Name": "PSU 2 Port",
"Type": "PSU 2 Port"
}
]
}
psu.json:
{
"Exposes": [
{
"ConnectsToType": "PSU$ADDRESS % 4 + 1 Port",
"Name": "PSU Port",
"Type": "DownstreamPort",
"PowerPort": true
}
]
}