pub struct LabelRegistryBuilder { /* private fields */ }Expand description
Builder for creating a LabelRegistry with labelers.
This uses a builder pattern to ensure labelers are properly initialized before the registry is used.
§Example
use std::sync::Arc;
use treetop_core::{LabelRegistryBuilder, RegexLabeler};
use regex::Regex;
let registry = LabelRegistryBuilder::new()
.add_labeler(Arc::new(RegexLabeler::new(
"Host",
"name",
"nameLabels",
vec![("prod".to_string(), Regex::new(r"\.prod\.").unwrap())],
)))
.build();Implementations§
Source§impl LabelRegistryBuilder
impl LabelRegistryBuilder
Sourcepub fn add_labeler(self, labeler: Arc<dyn Labeler>) -> Self
pub fn add_labeler(self, labeler: Arc<dyn Labeler>) -> Self
Add a labeler to the registry.
This can be called repeatedly to build up a registry before build().
Sourcepub fn build(self) -> LabelRegistry
pub fn build(self) -> LabelRegistry
Build the label registry.
Consumes the builder and returns an initialized registry ready to use
with PolicyEngine::with_label_registry().
Trait Implementations§
Auto Trait Implementations§
impl Freeze for LabelRegistryBuilder
impl !RefUnwindSafe for LabelRegistryBuilder
impl Send for LabelRegistryBuilder
impl Sync for LabelRegistryBuilder
impl Unpin for LabelRegistryBuilder
impl UnsafeUnpin for LabelRegistryBuilder
impl !UnwindSafe for LabelRegistryBuilder
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> 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