pub struct Tenant {Show 14 fields
pub id: Uuid,
pub name: String,
pub slug: String,
pub email: String,
pub status: TenantStatus,
pub plan: String,
pub max_domains: i32,
pub max_routes_per_domain: i32,
pub max_upstreams: i32,
pub max_backends_per_upstream: i32,
pub max_api_keys: i32,
pub settings: Value,
pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>,
}Expand description
A SaaS tenant (customer).
Fields§
§id: UuidPrimary key.
name: StringDisplay name, for humans.
slug: StringShort URL-safe identifier, unique across tenants.
email: StringContact address for this tenant.
status: TenantStatusWhether the tenant may act. A suspended tenant keeps its data.
plan: StringPlan name. Free-form: quotas are the fields below, not this string.
max_domains: i32How many domains this tenant may register.
max_routes_per_domain: i32How many routes each of its domains may have.
max_upstreams: i32How many upstreams this tenant may define.
max_backends_per_upstream: i32How many backends each of its upstreams may have.
max_api_keys: i32How many API keys this tenant may hold, revoked ones included.
settings: ValueArbitrary per-tenant settings, untouched by the proxy.
created_at: DateTime<Utc>When the tenant was created.
updated_at: DateTime<Utc>When it last changed.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Tenant
impl<'de> Deserialize<'de> for Tenant
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 Tenant
impl RefUnwindSafe for Tenant
impl Send for Tenant
impl Sync for Tenant
impl Unpin for Tenant
impl UnsafeUnpin for Tenant
impl UnwindSafe for Tenant
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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,
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 more