31 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| 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
 | |
| }
 |