Skip to main content

ApiKey

Struct ApiKey 

Source
pub struct ApiKey {
Show 15 fields pub key_id: String, pub label: String, pub icon: String, pub color: String, pub ip_whitelist: Vec<String>, pub status: EnumValue<ApiKeyStatus>, pub subaccount_id: Option<u64>, pub policy_id: Option<u64>, pub created_at: MessageField<Timestamp>, pub last_used_at: MessageField<Timestamp>, pub public_key_ed25519: Vec<u8>, pub expires_at: MessageField<Timestamp>, pub created_by_actor: String, pub updated_at: MessageField<Timestamp>, pub revision: u64, /* private fields */
}
Expand description

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

Fields§

§key_id: String

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

Field 2: key_id

§label: String

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

Field 3: label

§icon: String

Optional user-chosen icon/emoji for UI display.

Field 9: icon

§color: String

Optional user-chosen color token for UI display.

Field 10: color

§ip_whitelist: Vec<String>

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: MessageField<Timestamp>

Time in UTC when this key was created.

Field 20: created_at

§last_used_at: MessageField<Timestamp>

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: Vec<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: MessageField<Timestamp>

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: String

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

Field 24: created_by_actor

§updated_at: MessageField<Timestamp>

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

Implementations§

Source§

impl ApiKey

Source

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

Protobuf type URL for this message, for use with Any::pack and Any::unpack_if.

Format: type.googleapis.com/<fully.qualified.TypeName>

Source§

impl ApiKey

Source

pub fn with_subaccount_id(self, value: u64) -> Self

Sets Self::subaccount_id to Some(value), consuming and returning self.

Source

pub fn with_policy_id(self, value: u64) -> Self

Sets Self::policy_id to Some(value), consuming and returning self.

Trait Implementations§

Source§

impl Clone for ApiKey

Source§

fn clone(&self) -> ApiKey

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 Debug for ApiKey

Source§

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

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

impl Default for ApiKey

Source§

fn default() -> ApiKey

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

impl DefaultInstance for ApiKey

Source§

fn default_instance() -> &'static Self

Return a reference to the single default instance of this type.
Source§

impl<'de> Deserialize<'de> for ApiKey
where ApiKey: Default,

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl ExtensionSet for ApiKey

Source§

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

Fully-qualified proto type name of this message (no leading dot), e.g. "google.protobuf.FieldOptions". Read more
Source§

fn unknown_fields(&self) -> &UnknownFields

Immutable access to the extendee’s unknown-field storage.
Source§

fn unknown_fields_mut(&mut self) -> &mut UnknownFields

Mutable access to the extendee’s unknown-field storage.
Source§

fn extension<C>(&self, ext: &Extension<C>) -> <C as ExtensionCodec>::Output
where C: ExtensionCodec,

Read an extension value. Read more
Source§

fn set_extension<C>( &mut self, ext: &Extension<C>, value: <C as ExtensionCodec>::Value, )
where C: ExtensionCodec,

Write an extension value, replacing any prior occurrences. Read more
Source§

fn has_extension<C>(&self, ext: &Extension<C>) -> bool
where C: ExtensionCodec,

Returns true if any record at the extension’s field number is present. Read more
Source§

fn clear_extension<C>(&mut self, ext: &Extension<C>)
where C: ExtensionCodec,

Remove all records at the extension’s field number. Read more
Source§

fn extension_or_default<C>( &self, ext: &Extension<C>, ) -> <C as ExtensionCodec>::Value
where C: ExtensionCodec<Output = Option<<C as ExtensionCodec>::Value>>, <C as ExtensionCodec>::Value: Default,

Read a singular extension value, returning the proto2 [default = ...] value if absent, or the type’s Default if no proto default was declared. Read more
Source§

impl HasMessageView for ApiKey

Source§

type View<'a> = ApiKeyView<'a>

The zero-copy view of Self, borrowing from a buffer with lifetime 'a.
Source§

type ViewHandle = ApiKeyOwnedView

The generated 'static owned-view handle for Self (FooOwnedView).
Source§

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

Decode a borrowed View from a byte slice. Read more
Source§

fn decode_view_with_options<'a>( buf: &'a [u8], opts: &DecodeOptions, ) -> Result<Self::View<'a>, DecodeError>

Decode a borrowed View under custom DecodeOptions (recursion limit, max message size, unknown-field limit). Read more
Source§

fn decode_view_handle(bytes: Bytes) -> Result<Self::ViewHandle, DecodeError>

Decode a ViewHandle from a Bytes buffer. Read more
Source§

fn decode_view_handle_with_options( bytes: Bytes, opts: &DecodeOptions, ) -> Result<Self::ViewHandle, DecodeError>

Decode a ViewHandle with custom DecodeOptions (recursion limit, max message size). Read more
Source§

impl Message for ApiKey

Source§

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

Returns the total encoded size in bytes.

The result is a u32; the protobuf specification requires all messages to fit within 2 GiB (2,147,483,647 bytes), so a compliant message will never overflow this type.

Source§

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

Write this message’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 merge_field( &mut self, tag: Tag, buf: &mut impl Buf, ctx: DecodeContext<'_>, ) -> Result<(), DecodeError>

Processes a single already-decoded tag and its associated field data from buf. Read more
Source§

fn clear(&mut self)

Clear all fields to their default values.
Source§

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

Compute size, then write. This is the primary encoding API.
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 message. Read more
Source§

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

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

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

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

fn encode_to_bytes(&self) -> Bytes

Encode this message to a new bytes::Bytes. Read more
Source§

fn decode(buf: &mut impl Buf) -> Result<Self, DecodeError>
where Self: Sized,

Decode a message from a buffer.
Source§

fn decode_from_slice(data: &[u8]) -> Result<Self, DecodeError>
where Self: Sized,

Decode a message from a byte slice. Read more
Source§

fn decode_length_delimited(buf: &mut impl Buf) -> Result<Self, DecodeError>
where Self: Sized,

Decode a length-delimited message from a buffer. Read more
Source§

fn merge_to_limit( &mut self, buf: &mut impl Buf, ctx: DecodeContext<'_>, limit: usize, ) -> Result<(), DecodeError>

Merge fields from a buffer until buf.remaining() reaches limit. Read more
Source§

fn merge_group( &mut self, buf: &mut impl Buf, ctx: DecodeContext<'_>, field_number: u32, ) -> Result<(), DecodeError>

Merges a group-encoded message from buf, reading fields until an EndGroup tag with the given field_number is encountered. Read more
Source§

fn merge( &mut self, buf: &mut impl Buf, ctx: DecodeContext<'_>, ) -> Result<(), DecodeError>

Merge fields from a buffer into this message. Read more
Source§

fn merge_from_slice(&mut self, data: &[u8]) -> Result<(), DecodeError>

Merge fields from a byte slice into this message. Read more
Source§

fn merge_length_delimited( &mut self, buf: &mut impl Buf, ctx: DecodeContext<'_>, ) -> Result<(), DecodeError>

Merge fields from a length-delimited sub-message payload into this message. Read more
Source§

impl MessageName for ApiKey

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 PartialEq for ApiKey

Source§

fn eq(&self, other: &ApiKey) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl ProtoElemJson for ApiKey

Source§

fn serialize_proto_json<S: Serializer>( v: &Self, s: S, ) -> Result<S::Ok, S::Error>

Serialize this value with proto3 JSON semantics.
Source§

fn deserialize_proto_json<'de, D: Deserializer<'de>>( d: D, ) -> Result<Self, D::Error>

Deserialize a value with proto3 JSON semantics.
Source§

impl Serialize for ApiKey

Source§

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

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

impl StructuralPartialEq for ApiKey

Auto Trait Implementations§

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> AnyMessage for T
where T: Message + JsonSerialize + 'static,

Source§

fn as_any(&self) -> &(dyn Any + 'static)

Borrow the message as dyn Any for downcasting.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Mutably borrow the message as dyn Any for downcasting.
Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert the boxed message into a Box<dyn Any> for owned downcasting. Read more
Source§

fn encode(&self, format: CodecFormat) -> Result<Bytes, ConnectError>

Serialize the message to wire bytes in the given format. Read more
Source§

fn type_name(&self) -> &'static str

The concrete type’s name, for diagnostics. The default uses std::any::type_name.
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> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<M> Encodable<M> for M

Source§

fn encode(&self, codec: CodecFormat) -> Result<Bytes, ConnectError>

Encode self as wire bytes for M in the requested format.
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> JsonDeserialize for T

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