pub enum PricingModel {
PerRequest {
cost_per_request: f64,
},
PerVector {
cost_per_1k_vectors: f64,
},
PerStorage {
cost_per_gb: f64,
},
PerComputeUnit {
cost_per_unit: f64,
},
Subscription {
monthly_fee: f64,
included_requests: u64,
overage_cost: f64,
},
Custom {
base_fee: f64,
operation_costs: HashMap<String, f64>,
},
}Expand description
Pricing model for billing
Variants§
PerRequest
Pay per request
PerVector
Pay per vector stored
PerStorage
Pay per storage GB
PerComputeUnit
Pay per compute unit
Subscription
Flat subscription
Fields
Custom
Custom pricing
Implementations§
Source§impl PricingModel
impl PricingModel
Sourcepub fn calculate_cost(&self, operation: TenantOperation, count: u64) -> f64
pub fn calculate_cost(&self, operation: TenantOperation, count: u64) -> f64
Calculate cost for an operation
Trait Implementations§
Source§impl Clone for PricingModel
impl Clone for PricingModel
Source§fn clone(&self) -> PricingModel
fn clone(&self) -> PricingModel
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PricingModel
impl Debug for PricingModel
Source§impl<'de> Deserialize<'de> for PricingModel
impl<'de> Deserialize<'de> for PricingModel
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for PricingModel
impl RefUnwindSafe for PricingModel
impl Send for PricingModel
impl Sync for PricingModel
impl Unpin for PricingModel
impl UnwindSafe for PricingModel
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.