pub struct VirtualKey {Show 20 fields
pub key_id: String,
pub key_hash: String,
pub key_alias: Option<String>,
pub user_id: String,
pub team_id: Option<String>,
pub organization_id: Option<String>,
pub models: Vec<String>,
pub max_budget: Option<f64>,
pub spend: f64,
pub budget_duration: Option<String>,
pub budget_reset_at: Option<DateTime<Utc>>,
pub rate_limits: Option<RateLimits>,
pub permissions: Vec<Permission>,
pub metadata: HashMap<String, String>,
pub expires_at: Option<DateTime<Utc>>,
pub is_active: bool,
pub created_at: DateTime<Utc>,
pub last_used_at: Option<DateTime<Utc>>,
pub usage_count: u64,
pub tags: Vec<String>,
}Expand description
Virtual key configuration
Fields§
§key_id: StringUnique key identifier
key_hash: StringThe actual API key (hashed)
key_alias: Option<String>Human-readable key alias
user_id: StringUser ID who owns this key
team_id: Option<String>Team ID (if applicable)
organization_id: Option<String>Organization ID
models: Vec<String>Models this key can access
max_budget: Option<f64>Maximum spend limit
spend: f64Current spend
budget_duration: Option<String>Budget duration (e.g., “1d”, “1w”, “1m”)
budget_reset_at: Option<DateTime<Utc>>Budget reset timestamp
rate_limits: Option<RateLimits>Rate limits
permissions: Vec<Permission>Key permissions
metadata: HashMap<String, String>Key metadata
expires_at: Option<DateTime<Utc>>Key expiration
is_active: boolWhether key is active
created_at: DateTime<Utc>Creation timestamp
last_used_at: Option<DateTime<Utc>>Last used timestamp
usage_count: u64Usage count
Tags for organization
Trait Implementations§
Source§impl Clone for VirtualKey
impl Clone for VirtualKey
Source§impl Debug for VirtualKey
impl Debug for VirtualKey
Source§impl<'de> Deserialize<'de> for VirtualKey
impl<'de> Deserialize<'de> for VirtualKey
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 VirtualKey
impl RefUnwindSafe for VirtualKey
impl Send for VirtualKey
impl Sync for VirtualKey
impl Unpin for VirtualKey
impl UnsafeUnpin for VirtualKey
impl UnwindSafe for VirtualKey
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> BudgetAwareRouting for T
impl<T> BudgetAwareRouting for T
Source§fn filter_by_budget(
&self,
providers: Vec<String>,
budget_router: &BudgetAwareRouter,
) -> Vec<String>
fn filter_by_budget( &self, providers: Vec<String>, budget_router: &BudgetAwareRouter, ) -> Vec<String>
Filter providers based on budget availability
Source§impl<T> CacheValue for T
impl<T> CacheValue for T
Source§fn from_bytes(bytes: &[u8]) -> Result<T, CacheError>
fn from_bytes(bytes: &[u8]) -> Result<T, CacheError>
Deserialize from bytes
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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.