adjust model

This commit is contained in:
mr
2024-07-26 15:19:36 +02:00
parent eb1417853a
commit 87b7cda0ce
6 changed files with 43 additions and 39 deletions

View File

@@ -8,31 +8,9 @@ import (
type DatacenterResource struct {
utils.AbstractResource
BookingPrice int `bson:"booking_price,omitempty" json:"booking_price,omitempty"`
CPU *DatacenterCpuModel `bson:"cpu,omitempty" json:"cpu,omitempty"`
RAM *DatacenterMemoryModel `bson:"ram,omitempty" json:"ram,omitempty"`
GPU []DatacenterGpuModel `bson:"gpu,omitempty" json:"gpu,omitempty"`
}
type DatacenterCpuModel struct {
Cores uint `bson:"cores,omitempty" json:"cores,omitempty"` //TODO: validate
Architecture string `bson:"architecture,omitempty" json:"architecture,omitempty"` //TOOD: enum
Shared bool `bson:"shared,omitempty" json:"shared,omitempty"`
MinimumMemory uint `bson:"minimum_memory,omitempty" json:"minimum_memory,omitempty"`
Platform string `bson:"platform,omitempty" json:"platform,omitempty"`
}
type DatacenterMemoryModel struct {
Size uint `bson:"size,omitempty" json:"size,omitempty" description:"Units in MB"`
Ecc bool `bson:"ecc,omitempty" json:"ecc,omitempty"`
}
type DatacenterGpuModel struct {
CudaCores uint `bson:"cuda_cores,omitempty" json:"cuda_cores,omitempty"`
Model string `bson:"model,omitempty" json:"model,omitempty"`
Memory uint `bson:"memory,omitempty" json:"memory,omitempty" description:"Units in MB"`
TensorCores uint `bson:"tensor_cores,omitempty" json:"tensor_cores,omitempty"`
CPUs []*CPU `bson:"cpus,omitempty" json:"cpus,omitempty"`
RAM *RAM `bson:"ram,omitempty" json:"ram,omitempty"`
GPUs []*GPU `bson:"gpus,omitempty" json:"gpus,omitempty"`
}
func (dma *DatacenterResource) Deserialize(j map[string]interface{}) utils.DBObject {
@@ -59,3 +37,23 @@ func (d *DatacenterResource) GetAccessor() utils.Accessor {
data.SetLogger(utils.DATACENTER_RESOURCE)
return data
}
type CPU struct {
Cores uint `bson:"cores,omitempty" json:"cores,omitempty"` //TODO: validate
Architecture string `bson:"architecture,omitempty" json:"architecture,omitempty"` //TOOD: enum
Shared bool `bson:"shared,omitempty" json:"shared,omitempty"`
MinimumMemory uint `bson:"minimum_memory,omitempty" json:"minimum_memory,omitempty"`
Platform string `bson:"platform,omitempty" json:"platform,omitempty"`
}
type RAM struct {
Size uint `bson:"size,omitempty" json:"size,omitempty" description:"Units in MB"`
Ecc bool `bson:"ecc,omitempty" json:"ecc,omitempty"`
}
type GPU struct {
CudaCores uint `bson:"cuda_cores,omitempty" json:"cuda_cores,omitempty"`
Model string `bson:"model,omitempty" json:"model,omitempty"`
Memory uint `bson:"memory,omitempty" json:"memory,omitempty" description:"Units in MB"`
TensorCores uint `bson:"tensor_cores,omitempty" json:"tensor_cores,omitempty"`
}

View File

@@ -9,7 +9,7 @@ import (
)
func TestStoreOneDatacenter(t *testing.T) {
dc := DatacenterResource{BookingPrice: 123,
dc := DatacenterResource{
AbstractResource: utils.AbstractResource{
AbstractObject: utils.AbstractObject{Name: "testDatacenter"},
Description: "Lorem Ipsum",
@@ -27,7 +27,7 @@ func TestStoreOneDatacenter(t *testing.T) {
}
func TestLoadOneDatacenter(t *testing.T) {
dc := DatacenterResource{BookingPrice: 123,
dc := DatacenterResource{
AbstractResource: utils.AbstractResource{
AbstractObject: utils.AbstractObject{Name: "testDatacenter"},
Description: "Lorem Ipsum",