34 lines
964 B
Go
34 lines
964 B
Go
package common
|
|
|
|
// CPU is a struct that represents a CPU
|
|
type CPU struct {
|
|
Model string `bson:"platform,omitempty" json:"platform,omitempty"`
|
|
FrequencyGhz float64 `bson:"frenquency,omitempty" json:"frenquency,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:"platform,omitempty" json:"platform,omitempty"`
|
|
MemoryGb float64 `bson:"memory,omitempty" json:"memory,omitempty" description:"Units in MB"`
|
|
}
|
|
|
|
type InfrastructureType int
|
|
|
|
const (
|
|
DOCKER InfrastructureType = iota
|
|
KUBERNETES
|
|
SLURM
|
|
HW
|
|
CONDOR
|
|
)
|
|
|
|
func (t InfrastructureType) String() string {
|
|
return [...]string{"DOCKER", "KUBERNETES", "SLURM", "HW", "CONDOR"}[t]
|
|
}
|