pub struct X509BundleSet { /* private fields */ }Expand description
This type contains a set of X509Bundle, keyed by TrustDomain.
Implementations§
Source§impl X509BundleSet
impl X509BundleSet
Sourcepub fn new() -> Self
pub fn new() -> Self
Creates a new empty X509BundleSet.
§Examples
use spiffe::{TrustDomain, X509Bundle, X509BundleSet};
let mut set = X509BundleSet::new();
let trust_domain = TrustDomain::new("example.org")?;
let bundle = X509Bundle::new(trust_domain.clone());
set.add_bundle(bundle);Sourcepub fn add_bundle(&mut self, bundle: X509Bundle)
pub fn add_bundle(&mut self, bundle: X509Bundle)
Adds a new X509Bundle into the set. If a bundle already exists for the
trust domain, the existing bundle is replaced.
Sourcepub fn get(&self, trust_domain: &TrustDomain) -> Option<Arc<X509Bundle>>
pub fn get(&self, trust_domain: &TrustDomain) -> Option<Arc<X509Bundle>>
Returns the bundle for a trust domain.
§Examples
use spiffe::{TrustDomain, X509Bundle, X509BundleSet};
let mut set = X509BundleSet::new();
let trust_domain = TrustDomain::new("example.org")?;
let bundle = X509Bundle::new(trust_domain.clone());
set.add_bundle(bundle);
let retrieved = set.get(&trust_domain);
assert!(retrieved.is_some());Sourcepub fn get_ref(&self, trust_domain: &TrustDomain) -> Option<&Arc<X509Bundle>>
pub fn get_ref(&self, trust_domain: &TrustDomain) -> Option<&Arc<X509Bundle>>
Returns a reference to the bundle for a trust domain.
Sourcepub fn iter(&self) -> impl Iterator<Item = (&TrustDomain, &Arc<X509Bundle>)>
pub fn iter(&self) -> impl Iterator<Item = (&TrustDomain, &Arc<X509Bundle>)>
Returns an iterator over (TrustDomain, X509Bundle) entries.
§Examples
use spiffe::{TrustDomain, X509Bundle, X509BundleSet};
let mut set = X509BundleSet::new();
let td1 = TrustDomain::new("example.org")?;
let td2 = TrustDomain::new("other.org")?;
set.add_bundle(X509Bundle::new(td1.clone()));
set.add_bundle(X509Bundle::new(td2.clone()));
for (trust_domain, bundle) in set.iter() {
println!("Bundle for {}: {} authorities", trust_domain, bundle.authorities().len());
}Sourcepub fn bundle_for(&self, trust_domain: &TrustDomain) -> Option<&Arc<X509Bundle>>
👎Deprecated since 0.9.0: Use X509BundleSet::get instead.
pub fn bundle_for(&self, trust_domain: &TrustDomain) -> Option<&Arc<X509Bundle>>
X509BundleSet::get instead.Returns the X509Bundle associated with the given TrustDomain.
Trait Implementations§
Source§impl BundleSource for X509BundleSet
impl BundleSource for X509BundleSet
Source§type Item = X509Bundle
type Item = X509Bundle
The bundle type provided by the source.
Source§type Error = Infallible
type Error = Infallible
The error type returned by the source.
Source§fn bundle_for_trust_domain(
&self,
trust_domain: &TrustDomain,
) -> Result<Option<Arc<Self::Item>>, Self::Error>
fn bundle_for_trust_domain( &self, trust_domain: &TrustDomain, ) -> Result<Option<Arc<Self::Item>>, Self::Error>
Returns the bundle associated with the given
TrustDomain. Read moreSource§impl Clone for X509BundleSet
impl Clone for X509BundleSet
Source§fn clone(&self) -> X509BundleSet
fn clone(&self) -> X509BundleSet
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for X509BundleSet
impl Debug for X509BundleSet
Source§impl Default for X509BundleSet
impl Default for X509BundleSet
Source§impl Extend<X509Bundle> for X509BundleSet
impl Extend<X509Bundle> for X509BundleSet
Source§fn extend<T: IntoIterator<Item = X509Bundle>>(&mut self, iter: T)
fn extend<T: IntoIterator<Item = X509Bundle>>(&mut self, iter: T)
Extends a collection with the contents of an iterator. Read more
Source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
🔬This is a nightly-only experimental API. (
extend_one)Extends a collection with exactly one element.
Source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
🔬This is a nightly-only experimental API. (
extend_one)Reserves capacity in a collection for the given number of additional elements. Read more
Source§impl FromIterator<X509Bundle> for X509BundleSet
impl FromIterator<X509Bundle> for X509BundleSet
Source§fn from_iter<T: IntoIterator<Item = X509Bundle>>(iter: T) -> Self
fn from_iter<T: IntoIterator<Item = X509Bundle>>(iter: T) -> Self
Creates a value from an iterator. Read more
Source§impl PartialEq for X509BundleSet
impl PartialEq for X509BundleSet
impl Eq for X509BundleSet
impl StructuralPartialEq for X509BundleSet
Auto Trait Implementations§
impl Freeze for X509BundleSet
impl RefUnwindSafe for X509BundleSet
impl Send for X509BundleSet
impl Sync for X509BundleSet
impl Unpin for X509BundleSet
impl UnwindSafe for X509BundleSet
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,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request