...
This commit is contained in:
@@ -12,6 +12,9 @@ pub mut:
|
|||||||
country string // 2 letter code as specified in lib/data/countries/data/countryInfo.txt, use that library for validation
|
country string // 2 letter code as specified in lib/data/countries/data/countryInfo.txt, use that library for validation
|
||||||
capacity NodeCapacity // Hardware capacity details
|
capacity NodeCapacity // Hardware capacity details
|
||||||
provisiontime u32 // lets keep it simple and compatible
|
provisiontime u32 // lets keep it simple and compatible
|
||||||
|
pubkey string
|
||||||
|
signature_node string //signature done on node to validate pubkey with privkey
|
||||||
|
signature_farmer string //signature as done by farmers to validate their identity
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct DeviceInfo {
|
pub struct DeviceInfo {
|
||||||
|
|||||||
22
lib/threefold/grid4/datamodel/model_reservation.v
Normal file
22
lib/threefold/grid4/datamodel/model_reservation.v
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
module datamodel
|
||||||
|
|
||||||
|
@[heap]
|
||||||
|
pub struct Reservation {
|
||||||
|
pub mut:
|
||||||
|
id u32
|
||||||
|
customer_id u32 //links back to customer for this capacity
|
||||||
|
compute_slices []u32
|
||||||
|
storage_slices []u32
|
||||||
|
status ReservationStatus
|
||||||
|
obligation bool //if obligation then will be charged and money needs to be in escrow, otherwise its an intent
|
||||||
|
start_date u32 //epoch
|
||||||
|
end_date u32
|
||||||
|
}
|
||||||
|
|
||||||
|
pub enum ReservationStatus {
|
||||||
|
pending
|
||||||
|
confirmed
|
||||||
|
assigned
|
||||||
|
cancelled
|
||||||
|
done
|
||||||
|
}
|
||||||
22
lib/threefold/grid4/datamodel/model_slice_compute.v
Normal file
22
lib/threefold/grid4/datamodel/model_slice_compute.v
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
module datamodel
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// typically 1GB of memory, but can be adjusted based based on size of machine
|
||||||
|
@[heap]
|
||||||
|
pub struct ComputeSlice {
|
||||||
|
pub mut:
|
||||||
|
nodeid u32 // the node in the grid, there is an object describing the node
|
||||||
|
id int // the id of the slice in the node
|
||||||
|
mem_gb f64
|
||||||
|
storage_gb f64
|
||||||
|
passmark int
|
||||||
|
vcores int
|
||||||
|
cpu_oversubscription int
|
||||||
|
storage_oversubscription int
|
||||||
|
price_range []f64 = [0.0, 0.0]
|
||||||
|
gpus u8 // nr of GPU's see node to know what GPU's are
|
||||||
|
price_cc f64 // price per slice (even if the grouped one)
|
||||||
|
pricing_policy PricingPolicy
|
||||||
|
sla_policy SLAPolicy
|
||||||
|
}
|
||||||
16
lib/threefold/grid4/datamodel/model_slice_storage.v
Normal file
16
lib/threefold/grid4/datamodel/model_slice_storage.v
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
module datamodel
|
||||||
|
|
||||||
|
|
||||||
|
// 1GB of storage
|
||||||
|
@[heap]
|
||||||
|
pub struct StorageSlice {
|
||||||
|
pub mut:
|
||||||
|
nodeid u32 // the node in the grid
|
||||||
|
id int // the id of the slice in the node, are tracked in the node itself
|
||||||
|
price_cc f64 // price per slice (even if the grouped one)
|
||||||
|
pricing_policy PricingPolicy //copied from node which is part of nodegroup
|
||||||
|
sla_policy SLAPolicy
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user