Files

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"`
}