48 lines
1.6 KiB
Go
48 lines
1.6 KiB
Go
package models
|
|
|
|
// TopologyEvidence contains static source artifacts which add relationships
|
|
// that the Reanimator inventory schema cannot express. It is deliberately not
|
|
// serialized into reanimator.json.
|
|
type TopologyEvidence struct {
|
|
DIMMType17 string
|
|
StorageMap string
|
|
NVIDIAQueryCSV string
|
|
NVIDIATopology string
|
|
NVLinkStatus string
|
|
NVLinkErrors string
|
|
}
|
|
|
|
// TopologyDocument is the standalone, versioned topology.json contract.
|
|
// Coordinates are presentation details and are intentionally not persisted.
|
|
type TopologyDocument struct {
|
|
Version string `json:"version"`
|
|
Title string `json:"title,omitempty"`
|
|
Nodes []TopologyNode `json:"nodes,omitempty"`
|
|
Edges []TopologyEdge `json:"edges,omitempty"`
|
|
}
|
|
|
|
type TopologyNode struct {
|
|
ID string `json:"id"`
|
|
Kind string `json:"kind"`
|
|
Label string `json:"label"`
|
|
Model string `json:"model,omitempty"`
|
|
Status string `json:"status,omitempty"`
|
|
Socket *int `json:"socket,omitempty"`
|
|
NUMANode *int `json:"numa_node,omitempty"`
|
|
BDF string `json:"bdf,omitempty"`
|
|
Count int `json:"count,omitempty"`
|
|
SizeMB int `json:"size_mb,omitempty"`
|
|
WattageW int `json:"wattage_w,omitempty"`
|
|
LinkSpeed string `json:"link_speed,omitempty"`
|
|
MaxLinkSpeed string `json:"max_link_speed,omitempty"`
|
|
}
|
|
|
|
type TopologyEdge struct {
|
|
From string `json:"from"`
|
|
To string `json:"to"`
|
|
Kind string `json:"kind"`
|
|
Status string `json:"status,omitempty"`
|
|
Label string `json:"label,omitempty"`
|
|
Links int `json:"links,omitempty"`
|
|
}
|