Skip to main content

ApiKeyView

Struct ApiKeyView 

Source
pub struct ApiKeyView<'a> {
Show 16 fields pub key_id: &'a str, pub label: &'a str, pub icon: &'a str, pub color: &'a str, pub ip_whitelist: RepeatedView<'a, &'a str>, pub status: EnumValue<ApiKeyStatus>, pub subaccount_id: Option<u64>, pub policy_id: Option<u64>, pub created_at: MessageFieldView<TimestampView<'a>>, pub last_used_at: MessageFieldView<TimestampView<'a>>, pub public_key_ed25519: &'a [u8], pub expires_at: MessageFieldView<TimestampView<'a>>, pub created_by_actor: &'a str, pub updated_at: MessageFieldView<TimestampView<'a>>, pub revision: u64, pub __buffa_unknown_fields: UnknownFieldsView<'a>,
}
Expand description

ApiKey is public API key metadata. It never includes the private key or seed.

Fields§

§key_id: &'a str

Stable opaque identifier used to refer to this key, formatted as “ak_” followed by 32 lowercase hex characters.

Field 2: key_id

§label: &'a str

Human-readable label for the key. Maximum length is 64 characters.

Field 3: label

§icon: &'a str

Optional user-chosen icon/emoji for UI display.

Field 9: icon

§color: &'a str

Optional user-chosen color token for UI display.

Field 10: color

§ip_whitelist: RepeatedView<'a, &'a str>

Optional CIDR whitelist. Empty means no IP restriction. Maximum 32 unique entries.

Field 4: ip_whitelist

§status: EnumValue<ApiKeyStatus>

Current key status.

Field 6: status

§subaccount_id: Option<u64>

Optional sub-account this key is scoped to (opaque ID; empty = root-level).

Field 7: subaccount_id

§policy_id: Option<u64>

Optional API policy attached to this key (opaque ID). Empty means “no per-key policy”, so only the sub-account policy (and roles) apply.

Field 8: policy_id

§created_at: MessageFieldView<TimestampView<'a>>

Time in UTC when this key was created.

Field 20: created_at

§last_used_at: MessageFieldView<TimestampView<'a>>

Last time in UTC when this key authenticated a request. Omitted when the key has not been used.

Field 21: last_used_at

§public_key_ed25519: &'a [u8]

Ed25519 public key bytes associated with this API key. The private key or seed is never returned by the API.

Field 22: public_key_ed25519

§expires_at: MessageFieldView<TimestampView<'a>>

Optional expiry time in UTC. When set, the key cannot authenticate requests after this time, regardless of status.

Field 23: expires_at

§created_by_actor: &'a str

Read-only actor label describing who created this key, such as a username or account label.

Field 24: created_by_actor

§updated_at: MessageFieldView<TimestampView<'a>>

Time in UTC when this key’s configuration was last changed. For the same key, later is fresher, equal is an idempotent replay, and earlier is stale. Equal timestamps with different configuration indicate an invariant failure. This is independent of last_used_at, which tracks authentication activity.

Field 25: updated_at

§revision: u64

Monotonic resource revision used for conditional updates.

Field 26: revision

§__buffa_unknown_fields: UnknownFieldsView<'a>

Trait Implementations§

Source§

impl<'a> Clone for ApiKeyView<'a>

Source§

fn clone(&self) -> ApiKeyView<'a>

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'a> Debug for ApiKeyView<'a>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'a> Default for ApiKeyView<'a>

Source§

fn default() -> ApiKeyView<'a>

Returns the “default value” for a type. Read more
Source§

impl<'v> DefaultViewInstance for ApiKeyView<'v>

Source§

fn default_view_instance<'a>() -> &'a Self
where Self: 'a,

Return a reference to the single default view instance. Read more
Source§

impl<'a> MessageName for ApiKeyView<'a>

Source§

const PACKAGE: &'static str = "auth.v1"

The protobuf package the message is declared in. Read more
Source§

const NAME: &'static str = "ApiKey"

The unqualified message name, with . between nesting levels. Read more
Source§

const FULL_NAME: &'static str = "auth.v1.ApiKey"

The fully-qualified protobuf type name with no leading dot. Read more
Source§

const TYPE_URL: &'static str = "type.googleapis.com/auth.v1.ApiKey"

The google.protobuf.Any.type_url form for this message. Read more
Source§

impl<'a> MessageView<'a> for ApiKeyView<'a>

Source§

type Owned = ApiKey

The corresponding owned message type.
Source§

fn decode_view(buf: &'a [u8]) -> Result<Self, DecodeError>

Decode a view from a buffer, borrowing string/bytes fields directly. Read more
Source§

fn decode_view_with_ctx( buf: &'a [u8], ctx: DecodeContext<'_>, ) -> Result<Self, DecodeError>

Decode a view under custom decode limits. Read more
Source§

fn merge_view_field( &mut self, tag: Tag, cur: &'a [u8], before_tag: &'a [u8], ctx: DecodeContext<'_>, ) -> Result<&'a [u8], DecodeError>

Decode one field’s payload into this view (generated per message). Read more
Source§

fn to_owned_message(&self) -> Result<ApiKey, DecodeError>

Convert this view to the owned message type. Read more
Source§

fn to_owned_from_source( &self, __buffa_src: Option<&Bytes>, ) -> Result<ApiKey, DecodeError>

Convert this view to the owned message type, optionally slicing bytes::Bytes-typed fields from source instead of copying. Read more
Source§

fn decode_view_ctx( buf: &'a [u8], ctx: DecodeContext<'_>, ) -> Result<Self, DecodeError>
where Self: Default,

Decode a view under an explicit DecodeContext (remaining recursion depth and unknown-field allowance), driving the provided tag loop over merge_view_field. Read more
Source§

fn merge_into_view( &mut self, buf: &'a [u8], ctx: DecodeContext<'_>, ) -> Result<(), DecodeError>

Merge fields from buf into this view (proto merge semantics): repeated fields append, singular fields last-wins, singular message fields merge recursively. Read more
Source§

impl<'__a> Serialize for ApiKeyView<'__a>

Serializes this view as protobuf JSON.

Implicit-presence fields with default values are omitted, required fields are always emitted, explicit-presence (optional) fields are emitted only when set, bytes fields are base64-encoded, and enum values are their proto name strings.

This impl uses serialize_map(None) because the number of emitted fields depends on default-omission rules; serializers that require known map lengths (e.g. bincode) will return a runtime error. Use the owned message type for those formats.

Source§

fn serialize<__S: Serializer>(&self, __s: __S) -> Result<__S::Ok, __S::Error>

Serialize this value into the given Serde serializer. Read more
Source§

impl<'a> ViewEncode<'a> for ApiKeyView<'a>

Source§

fn compute_size(&self, __cache: &mut SizeCache) -> u32

Compute the encoded byte size of this view, recording nested sub-message sizes in cache for write_to to consume. Read more
Source§

fn write_to(&self, __cache: &mut SizeCache, buf: &mut impl BufMut)

Write this view’s encoded bytes to a buffer, consuming nested-message sizes from cache (populated by a prior compute_size call on the same cache). Read more
Source§

fn encode(&self, buf: &mut impl BufMut)

Compute size, then write. Primary view-encode entry point.
Source§

fn encode_with_cache(&self, cache: &mut SizeCache, buf: &mut impl BufMut)

Encode using a caller-supplied SizeCache, for reuse across many encodes in a hot loop. Clears the cache first.
Source§

fn encoded_len(&self) -> u32

Compute the encoded byte size of this view. Read more
Source§

fn encode_length_delimited(&self, buf: &mut impl BufMut)

Encode this view as a length-delimited byte sequence.
Source§

fn encode_to_vec(&self) -> Vec<u8>

Encode this view to a new Vec<u8>.
Source§

fn encode_to_bytes(&self) -> Bytes

Encode this view to a new bytes::Bytes.
Source§

impl ViewReborrow for ApiKeyView<'static>

Source§

type Reborrowed<'b> = ApiKeyView<'b>

The same view type with its lifetime shortened to 'b.
Source§

fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b>

Coerce &'b Self (= &'b FooView<'static>) to &'b Self::Reborrowed<'b> (= &'b FooView<'b>). The canonical body is just this; the compiler accepts it via standard lifetime variance for covariant view types. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for ApiKeyView<'a>

§

impl<'a> RefUnwindSafe for ApiKeyView<'a>

§

impl<'a> Send for ApiKeyView<'a>

§

impl<'a> Sync for ApiKeyView<'a>

§

impl<'a> Unpin for ApiKeyView<'a>

§

impl<'a> UnsafeUnpin for ApiKeyView<'a>

§

impl<'a> UnwindSafe for ApiKeyView<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> JsonSerialize for T
where T: Serialize,

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more