Enum kanidmd_lib::value::Value
source · pub enum Value {
Show 47 variants
Utf8(String),
Iutf8(String),
Iname(String),
Uuid(Uuid),
Bool(bool),
Syntax(SyntaxType),
Index(IndexType),
Refer(Uuid),
JsonFilt(Filter),
Cred(String, Credential),
SshKey(String, PublicKey),
SecretValue(String),
Spn(String, String),
Uint32(u32),
Cid(Cid),
Nsuniqueid(String),
DateTime(OffsetDateTime),
EmailAddress(String, bool),
PhoneNumber(String, bool),
Address(Address),
Url(Url),
OauthScope(String),
OauthScopeMap(Uuid, BTreeSet<String>),
PrivateBinary(Vec<u8>),
PublicBinary(String, Vec<u8>),
RestrictedString(String),
IntentToken(String, IntentTokenState),
Passkey(Uuid, String, Passkey),
AttestedPasskey(Uuid, String, AttestedPasskey),
Session(Uuid, Session),
ApiToken(Uuid, ApiToken),
Oauth2Session(Uuid, Oauth2Session),
JwsKeyEs256(JwsEs256Signer),
JwsKeyRs256(JwsRs256Signer),
UiHint(UiHint),
TotpSecret(String, Totp),
AuditLogString(Cid, String),
EcKeyPrivate(EcKey<Private>),
Image(ImageValue),
CredentialType(CredentialType),
WebauthnAttestationCaList(AttestationCaList),
OauthClaimValue(String, Uuid, BTreeSet<String>),
OauthClaimMap(String, OauthClaimMapJoin),
KeyInternal {
id: String,
usage: KeyUsage,
valid_from: u64,
status: KeyStatus,
status_cid: Cid,
der: Vec<u8>,
},
HexString(String),
Certificate(Box<Certificate>),
ApplicationPassword(ApplicationPassword),
}
Expand description
A value is a complete unit of data for an attribute. It is made up of a PartialValue, which is used for selection, filtering, searching, matching etc. It also contains supplemental data which may be stored inside of the Value, such as credential secrets, blobs etc.
This type is used when you need the “full data” of an attribute. Typically this is in a create or modification operation where you are applying a set of complete values into an entry.
Variants§
Utf8(String)
Iutf8(String)
Case insensitive string
Iname(String)
Case insensitive Name for a thing
Uuid(Uuid)
Bool(bool)
Syntax(SyntaxType)
Index(IndexType)
Refer(Uuid)
JsonFilt(Filter)
Cred(String, Credential)
SshKey(String, PublicKey)
SecretValue(String)
Spn(String, String)
Uint32(u32)
Cid(Cid)
Nsuniqueid(String)
DateTime(OffsetDateTime)
EmailAddress(String, bool)
PhoneNumber(String, bool)
Address(Address)
Url(Url)
OauthScope(String)
OauthScopeMap(Uuid, BTreeSet<String>)
PrivateBinary(Vec<u8>)
PublicBinary(String, Vec<u8>)
RestrictedString(String)
IntentToken(String, IntentTokenState)
Passkey(Uuid, String, Passkey)
AttestedPasskey(Uuid, String, AttestedPasskey)
Session(Uuid, Session)
ApiToken(Uuid, ApiToken)
Oauth2Session(Uuid, Oauth2Session)
JwsKeyEs256(JwsEs256Signer)
JwsKeyRs256(JwsRs256Signer)
UiHint(UiHint)
TotpSecret(String, Totp)
AuditLogString(Cid, String)
EcKeyPrivate(EcKey<Private>)
Image(ImageValue)
CredentialType(CredentialType)
WebauthnAttestationCaList(AttestationCaList)
OauthClaimValue(String, Uuid, BTreeSet<String>)
OauthClaimMap(String, OauthClaimMapJoin)
KeyInternal
HexString(String)
Certificate(Box<Certificate>)
ApplicationPassword(ApplicationPassword)
Implementations§
source§impl Value
impl Value
pub fn new_utf8(s: String) -> Self
pub fn new_utf8s(s: &str) -> Self
pub fn is_utf8(&self) -> bool
pub fn new_iutf8(s: &str) -> Self
pub fn is_iutf8(&self) -> bool
pub fn new_class(s: &str) -> Self
pub fn new_attr(s: &str) -> Self
pub fn is_insensitive_utf8(&self) -> bool
pub fn new_iname(s: &str) -> Self
pub fn is_iname(&self) -> bool
pub fn new_uuid_s(s: &str) -> Option<Self>
pub fn is_uuid(&self) -> bool
pub fn new_bool(b: bool) -> Self
pub fn new_bools(s: &str) -> Option<Self>
pub fn new_audit_log_string(e: (Cid, String)) -> Option<Self>
pub fn is_bool(&self) -> bool
pub fn new_syntaxs(s: &str) -> Option<Self>
pub fn new_syntax(s: SyntaxType) -> Self
pub fn is_syntax(&self) -> bool
pub fn new_indexes(s: &str) -> Option<Self>
pub fn new_index(i: IndexType) -> Self
pub fn is_index(&self) -> bool
pub fn new_refer_s(us: &str) -> Option<Self>
pub fn is_refer(&self) -> bool
pub fn new_json_filter_s(s: &str) -> Option<Self>
pub fn new_json_filter(f: ProtoFilter) -> Self
pub fn is_json_filter(&self) -> bool
pub fn as_json_filter(&self) -> Option<&ProtoFilter>
pub fn new_credential(tag: &str, cred: Credential) -> Self
pub fn is_credential(&self) -> bool
pub fn to_credential(&self) -> Option<&Credential>
pub fn new_hex_string_s(hexstr: &str) -> Option<Self>
pub fn new_certificate_s(cert_str: &str) -> Option<Self>
sourcepub fn new_image(input: &str) -> Result<Self, OperationError>
pub fn new_image(input: &str) -> Result<Self, OperationError>
Want a Value::Image
? use this!
pub fn new_secret_str(cleartext: &str) -> Self
pub fn is_secret_string(&self) -> bool
pub fn get_secret_str(&self) -> Option<&str>
pub fn new_sshkey_str(tag: &str, key: &str) -> Result<Self, OperationError>
pub fn is_sshkey(&self) -> bool
pub fn get_sshkey(&self) -> Option<String>
pub fn new_spn_parse(s: &str) -> Option<Self>
pub fn new_spn_str(n: &str, r: &str) -> Self
pub fn is_spn(&self) -> bool
pub fn new_uint32(u: u32) -> Self
pub fn new_uint32_str(u: &str) -> Option<Self>
pub fn is_uint32(&self) -> bool
pub fn new_cid(c: Cid) -> Self
pub fn is_cid(&self) -> bool
pub fn new_nsuniqueid_s(s: &str) -> Option<Self>
pub fn is_nsuniqueid(&self) -> bool
pub fn new_datetime_epoch(ts: Duration) -> Self
pub fn new_datetime_s(s: &str) -> Option<Self>
pub fn new_datetime(dt: OffsetDateTime) -> Self
pub fn to_datetime(&self) -> Option<OffsetDateTime>
pub fn is_datetime(&self) -> bool
pub fn new_email_address_s(s: &str) -> Option<Self>
pub fn new_email_address_primary_s(s: &str) -> Option<Self>
pub fn is_email_address(&self) -> bool
pub fn new_phonenumber_s(s: &str) -> Self
pub fn new_address(a: Address) -> Self
pub fn new_url_s(s: &str) -> Option<Self>
pub fn new_url(u: Url) -> Self
pub fn is_url(&self) -> bool
pub fn new_oauthscope(s: &str) -> Option<Self>
pub fn is_oauthscope(&self) -> bool
pub fn new_oauthscopemap(u: Uuid, m: BTreeSet<String>) -> Option<Self>
pub fn new_oauthclaimmap( n: String, u: Uuid, c: BTreeSet<String>, ) -> Option<Self>
pub fn is_oauthscopemap(&self) -> bool
pub fn new_privatebinary(der: &[u8]) -> Self
pub fn to_privatebinary(&self) -> Option<&Vec<u8>>
pub fn is_privatebinary(&self) -> bool
pub fn new_publicbinary(tag: String, der: Vec<u8>) -> Self
pub fn new_restrictedstring(s: String) -> Self
pub fn new_webauthn_attestation_ca_list(s: &str) -> Option<Self>
pub fn to_str(&self) -> Option<&str>
pub fn to_url(&self) -> Option<&Url>
pub fn as_string(&self) -> Option<&String>
pub fn to_ref_uuid(&self) -> Option<Uuid>
pub fn to_uuid(&self) -> Option<&Uuid>
pub fn to_indextype(&self) -> Option<&IndexType>
pub fn to_syntaxtype(&self) -> Option<&SyntaxType>
pub fn to_bool(&self) -> Option<bool>
pub fn to_uint32(&self) -> Option<u32>
pub fn to_utf8(self) -> Option<String>
pub fn to_iutf8(self) -> Option<String>
pub fn to_iname(self) -> Option<String>
pub fn to_jsonfilt(self) -> Option<ProtoFilter>
pub fn to_cred(self) -> Option<(String, Credential)>
pub fn to_spn(self) -> Option<(String, String)>
pub fn to_cid(self) -> Option<Cid>
pub fn to_nsuniqueid(self) -> Option<String>
pub fn to_emailaddress(self) -> Option<String>
pub fn to_oauthscope(self) -> Option<String>
pub fn to_oauthscopemap(self) -> Option<(Uuid, BTreeSet<String>)>
pub fn to_restrictedstring(self) -> Option<String>
pub fn to_phonenumber(self) -> Option<String>
pub fn to_publicbinary(self) -> Option<(String, Vec<u8>)>
pub fn to_address(self) -> Option<Address>
pub fn to_intenttoken(self) -> Option<(String, IntentTokenState)>
pub fn to_session(self) -> Option<(Uuid, Session)>
pub fn migrate_iutf8_iname(self) -> Option<Self>
Trait Implementations§
source§impl From<CredentialType> for Value
impl From<CredentialType> for Value
source§fn from(ct: CredentialType) -> Value
fn from(ct: CredentialType) -> Value
Converts to this type from the input type.
source§impl From<EntryClass> for Value
impl From<EntryClass> for Value
source§fn from(val: EntryClass) -> Self
fn from(val: EntryClass) -> Self
Converts to this type from the input type.
source§impl From<Filter> for Value
impl From<Filter> for Value
source§fn from(i: ProtoFilter) -> Self
fn from(i: ProtoFilter) -> Self
Converts to this type from the input type.
source§impl From<SyntaxType> for Value
impl From<SyntaxType> for Value
source§fn from(s: SyntaxType) -> Self
fn from(s: SyntaxType) -> Self
Converts to this type from the input type.
source§impl PartialEq for Value
impl PartialEq for Value
impl Eq for Value
Auto Trait Implementations§
impl Freeze for Value
impl RefUnwindSafe for Value
impl Send for Value
impl Sync for Value
impl Unpin for Value
impl UnwindSafe for Value
Blanket Implementations§
§impl<'a, T> AsTaggedExplicit<'a> for Twhere
T: 'a,
impl<'a, T> AsTaggedExplicit<'a> for Twhere
T: 'a,
§impl<'a, T> AsTaggedImplicit<'a> for Twhere
T: 'a,
impl<'a, T> AsTaggedImplicit<'a> 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§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§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<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.§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 moresource§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