pub struct ProfileSpec {
pub profile_version: ProfileSpec_ProfileVersion,
pub profile_id: String,
pub label: String,
pub description: Option<String>,
pub must: Vec<Feature>,
pub should: Vec<Feature>,
pub must_not: Option<Vec<Feature>>,
pub min_enforcement_level: Option<ProfileSpec_MinEnforcementLevel>,
pub min_proof_level: Option<ProofLevel>,
pub required_bridges: Option<Vec<String>>,
pub required_anchors: Option<Vec<ProfileSpec_RequiredAnchors_Item>>,
}Expand description
Declarative profile specification (TF-0010 conformance label + TF-0001 ‘profiles control complexity’). A profile lists the MUST and SHOULD features a deployment claiming the label has to satisfy. The runtime FeatureGate consults this so daemons can refuse to start when a claimed profile demands a feature that isn’t enabled.
Fields§
§profile_version: ProfileSpec_ProfileVersionVersion of the profile-spec schema.
profile_id: StringConformance-label identifier, e.g. tf-home-compatible.
label: StringHuman-readable profile label.
description: Option<String>Free-text description of when this profile applies.
must: Vec<Feature>Mandatory features. A daemon claiming this profile MUST satisfy every entry.
should: Vec<Feature>Recommended features.
must_not: Option<Vec<Feature>>Features the profile forbids (e.g. constrained profile MUST NOT enable WebSocket-only listener).
min_enforcement_level: Option<ProfileSpec_MinEnforcementLevel>Minimum EnforcementLevel the daemon must run at when claiming this profile.
min_proof_level: Option<ProofLevel>Minimum proof level for actions emitted under this profile.
required_bridges: Option<Vec<String>>Bridge kinds the profile requires (e.g. [‘spiffe’, ‘webauthn’]).
required_anchors: Option<Vec<ProfileSpec_RequiredAnchors_Item>>Transparency anchor kinds the profile requires.
Trait Implementations§
Source§impl Clone for ProfileSpec
impl Clone for ProfileSpec
Source§fn clone(&self) -> ProfileSpec
fn clone(&self) -> ProfileSpec
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ProfileSpec
impl Debug for ProfileSpec
Source§impl<'de> Deserialize<'de> for ProfileSpec
impl<'de> Deserialize<'de> for ProfileSpec
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for ProfileSpec
Source§impl PartialEq for ProfileSpec
impl PartialEq for ProfileSpec
Source§fn eq(&self, other: &ProfileSpec) -> bool
fn eq(&self, other: &ProfileSpec) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for ProfileSpec
impl Serialize for ProfileSpec
impl StructuralPartialEq for ProfileSpec
Auto Trait Implementations§
impl Freeze for ProfileSpec
impl RefUnwindSafe for ProfileSpec
impl Send for ProfileSpec
impl Sync for ProfileSpec
impl Unpin for ProfileSpec
impl UnsafeUnpin for ProfileSpec
impl UnwindSafe for ProfileSpec
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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§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
key and return true if they are equal.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>
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>
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