package live import ( "cloud.o-forge.io/core/oc-lib/models/common/enum" "cloud.o-forge.io/core/oc-lib/models/utils" "cloud.o-forge.io/core/oc-lib/tools" ) /* * LiveStorage is a struct that represents a compute units in your datacenters */ type LiveStorage struct { AbstractLive StorageType enum.StorageType `bson:"storage_type" json:"storage_type" default:"-1"` Source string `bson:"source,omitempty" json:"source,omitempty"` // Source is the source of the storage Path string `bson:"path,omitempty" json:"path,omitempty"` // Path is the store folders in the source Local bool `bson:"local" json:"local"` SecurityLevel string `bson:"security_level,omitempty" json:"security_level,omitempty"` SizeType enum.StorageSize `bson:"size_type" json:"size_type" default:"0"` // SizeType is the type of the storage size SizeGB int64 `bson:"size,omitempty" json:"size,omitempty"` // Size is the size of the storage Encryption bool `bson:"encryption,omitempty" json:"encryption,omitempty"` // Encryption is a flag that indicates if the storage is encrypted Redundancy string `bson:"redundancy,omitempty" json:"redundancy,omitempty"` // Redundancy is the redundancy of the storage Throughput string `bson:"throughput,omitempty" json:"throughput,omitempty"` // Throughput is the throughput of the storage } func (r *LiveStorage) IsCompatible(service map[string]interface{}) bool { return service["storage_type"] == r.StorageType } func (d *LiveStorage) GetAccessor(request *tools.APIRequest) utils.Accessor { return NewAccessor[*LiveStorage](tools.LIVE_STORAGE, request) // Create a new instance of the accessor }