pub struct BudgetMonitor { /* private fields */ }Expand description
Tracks spending for a session and enforces budget limits.
Implementations§
Source§impl BudgetMonitor
impl BudgetMonitor
pub async fn new(limit: f64) -> Result<Self>
Sourcepub async fn check_spend(&self) -> Result<f64>
pub async fn check_spend(&self) -> Result<f64>
Check current estimated spend for today. NOTE: AWS Cost Explorer has a delay of ~8-24 hours, so this is best-effort. For real-time cost tracking, a future version will use CloudWatch billing metrics.
pub fn limit(&self) -> f64
pub fn is_exceeded(&self, spend: f64) -> bool
pub fn is_warning(&self, spend: f64) -> bool
Auto Trait Implementations§
impl Freeze for BudgetMonitor
impl !RefUnwindSafe for BudgetMonitor
impl Send for BudgetMonitor
impl Sync for BudgetMonitor
impl Unpin for BudgetMonitor
impl UnsafeUnpin for BudgetMonitor
impl !UnwindSafe for BudgetMonitor
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> 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 moreCreates a shared type from an unshared type.