Skip to main content

ProviderMeta

Struct ProviderMeta 

Source
pub struct ProviderMeta {
    pub name: &'static str,
    pub display_name: &'static str,
    pub aliases: &'static [&'static str],
    pub supported_commands: SupportedCommands,
    pub build: ProviderFactory,
    pub check: Option<ProviderCheckFn>,
    pub command_flags: &'static [(StandardCommand, &'static [FlagDescriptor])],
    pub extension_commands: &'static [(&'static str, CommandDescriptor)],
}
Expand description

Static metadata and factory for a single provider.

Stored in the registry; does not hold any live connections or state.

Fields§

§name: &'static str

Canonical name used as the primary --provider value.

§display_name: &'static str

Human-readable display name shown in help and diagnostics.

§aliases: &'static [&'static str]

All accepted --provider aliases, including the canonical name. Insertion order is preserved for deterministic --help output.

§supported_commands: SupportedCommands

Which standard core commands this provider supports. Used to generate provider support tags in --help output.

§build: ProviderFactory

Factory function — instantiates the provider from a ProviderConfig.

§check: Option<ProviderCheckFn>

Optional health check function registered by the provider.

When Some, provider check calls this to verify connectivity and (where possible) authentication. When None, the check is skipped.

§command_flags: &'static [(StandardCommand, &'static [FlagDescriptor])]

Provider-specific flags per standard command. Key is the standard command identifier for the target core command.

§extension_commands: &'static [(&'static str, CommandDescriptor)]

Extension commands registered by this provider.

Each entry is a (signal, descriptor) pair where signal is the signal group the command belongs to (e.g. "trace", "metric"). Unlike command_flags (which uses StandardCommand identifiers), extension commands use a bare signal name because the command name itself lives in the descriptor.

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> 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<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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, 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.