oc-lib/processing.go

31 lines
1.1 KiB
Go
Raw Normal View History

2024-07-16 10:56:36 +02:00
package oclib
type Processing struct {
Resource
Container string `json:"Container"` // We could create a specific class for container, that could check if the name exists/is available
Repository string `json:"Repository"` // Indicate where to find the container image => Could add a struct handling authentication to the repo
Command string `json:"Command"`
Arguments []string `json:"Arguments"`
Environment []map[string]string `json:"Environment"` // a key/value struct is what ressembles the most a NAME=VALUE struct
ExecutionRequirements ExecutionRequirementsModel `json:"ExecutionRequirements"`
Price uint `json:"Price"`
License string `json:"License"`
}
type ExecutionRequirementsModel struct {
CPUs uint `json:"cpus" required:"true"`
GPUs uint `json:"gpus" description:"Amount of GPUs needed"`
RAM uint `json:"ram" required:"true" description:"Units in MB"`
Parallel bool `json:"parallel"`
ScalingModel uint `json:"scaling_model"`
DiskIO string `json:"disk_io"`
}
func (p *Processing) GetType() ResourceType{
return PROCESSING
}