package common // CPU is a struct that represents a CPU type CPU struct { Model string `bson:"model,omitempty" json:"model,omitempty"` FrequencyGhz float64 `bson:"frequency,omitempty" json:"frequency,omitempty"` Cores int `bson:"cores,omitempty" json:"cores,omitempty"` Architecture string `bson:"architecture,omitempty" json:"architecture,omitempty"` } type RAM struct { SizeGb float64 `bson:"size,omitempty" json:"size,omitempty" description:"Units in MB"` Ecc bool `bson:"ecc" json:"ecc" default:"true"` } type GPU struct { Model string `bson:"model,omitempty" json:"model,omitempty"` MemoryGb float64 `bson:"memory,omitempty" json:"memory,omitempty" description:"Units in MB"` Cores map[string]int `bson:"cores,omitempty" json:"cores,omitempty"` } type InfrastructureType int const ( DOCKER InfrastructureType = iota KUBERNETES SLURM HW CONDOR ) func (t InfrastructureType) String() string { return [...]string{"DOCKER", "KUBERNETES", "SLURM", "HW", "CONDOR"}[t] }