adjust model
This commit is contained in:
@@ -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"`
|
||||
}
|
||||
|
||||
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user