<!DOCTYPE html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><metaname="generator"content="rustdoc"><metaname="description"content="Entry is the core data storage type of the server. Almost every aspect of the server is designed to read, handle and manipulate entries."><metaname="keywords"content="rust, rustlang, rust-lang, Entry"><title>Entry in kanidmd_lib::entry - Rust</title><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceSerif4-Regular.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../FiraSans-Regular.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../FiraSans-Medium.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceCodePro-Regular.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceSerif4-Bold.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceCodePro-Semibold.ttf.woff2"><linkrel="stylesheet"href="../../normalize.css"><linkrel="stylesheet"href="../../rustdoc.css"id="mainThemeStyle"><linkrel="stylesheet"href="../../ayu.css"disabled><linkrel="stylesheet"href="../../dark.css"disabled><linkrel="stylesheet"href="../../light.css"id="themeStyle"><scriptid="default-settings"></script><scriptsrc="../../storage.js"></script><scriptdefersrc="sidebar-items.js"></script><scriptdefersrc="../../main.js"></script><noscript><linkrel="stylesheet"href="../../noscript.css"></noscript><linkrel="alternate icon"type="image/png"href="../../favicon-16x16.png"><linkrel="alternate icon"type="image/png"href="../../favicon-32x32.png"><linkrel="icon"type="image/svg+xml"href="../../favicon.svg"></head><bodyclass="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><navclass="mobile-topbar"><buttonclass="sidebar-menu-toggle">☰</button><aclass="sidebar-logo"href="../../kanidmd_lib/index.html"><divclass="logo-container"><imgclass="rust-logo"src="../../rust-logo.svg"alt="logo"></div></a><h2></h2></nav><navclass="sidebar"><aclass="sidebar-logo"href="../../kanidmd_lib/index.html"><divclass="logo-container"><imgclass="rust-logo"src="../../rust-logo.svg"alt="logo"></div></a><h2class="location"><ahref="#">Entry</a></h2><divclass="sidebar-elems"><section><h3><ahref="#implementations">Methods</a></h3><ulclass="block"><li><ahref="#method.add_ava">add_ava</a></li><li><ahref="#method.add_ava-1">add_ava</a></li><li><ahref="#method.apply_modlist">apply_modlist</a></li><li><ahref="#method.assign_cid">assign_cid</a></li><li><ahref="#method.attribute_equality">attribute_equality</a></li><li><ahref="#method.attribute_lessthan">attribute_lessthan</a></li><li><ahref="#method.attribute_pres">attribute_pres</a></li><li><ahref="#method.attribute_substring">attribute_substring</a></li><li><ahref="#method.compare">compare</a></li><li><ahref="#method.compare-1">compare</a></li><li><ahref="#method.compare-2">compare</a></li><li><ahref="#method.entry_match_no_index">entry_match_no_index</a></li><li><ahref="#method.filter_from_attrs">filter_from_attrs</a></li><li><ahref="#method.from_dbentry">from_dbentry</a></li><li><ahref="#method.from_proto_entry">from_proto_entry</a></li><li><ahref="#method.from_proto_entry_str">from_proto_entry_str</a></li><li><ahref="#method.gen_modlist_assert">gen_modlist_assert</a></li><li><ahref="#method.get_ava_as_intenttokens">get_ava_as_intenttokens</a></li><li><ahref="#method.get_ava_as_iutf8_iter">get_ava_as_iutf8_iter</a></li><li><ahref="#method.get_ava_as_oauth2session_map">get_ava_as_oauth2session_map</a></li><li><ahref="#method.get_ava_as_oauthscopemaps">get_ava_as_oauthscopemaps</a></li><li><ahref="#method.get_ava_as_oauthscopes">get_ava_as_oauthscopes</a></li><li><ahref="#method.get_ava_as_refuuid">get_ava_as_refuuid</a></li><li><ahref="#method.get_ava_as_session_map">get_ava_as_session_map</a
designed to read, handle and manipulate entries.</p>
<p>Entries store attribute value assertions, or AVA. These are sets of key-values.</p>
<p>Entries have a lifecycle within a single operation, and as part of replication.
The lifecycle for operations is defined through state and valid types. Each entry has a pair
Of these types at anytime. The first is the AVA <ahref="../schema/index.html"><code>schema</code></a> and <ahref="../access/index.html"><code>access</code></a> control assertion
state. This is represented by the type <code>VALID</code> as one of <code>EntryValid</code>, <code>EntryInvalid</code> or
<code>EntryReduced</code>. Every entry starts as <code>EntryInvalid</code>, and when checked by the schema for
correctness, transitions to <code>EntryValid</code>. While an entry is <code>EntryValid</code> it can not be
altered - you must invalidate it to <code>EntryInvalid</code>, then modify, then check again.
An entry that has had access controls applied moves from <code>EntryValid</code> to <code>EntryReduced</code>,
to show that the AVAs have reduced to the valid read set of the current <ahref="../event/index.html"><code>event</code></a> user.</p>
<p>The second type of <code>STATE</code> represents the database commit state and internal db ID’s. A
new entry that has never been committed is <code>EntryNew</code>, but an entry that has been retrieved
from the database is <code>EntryCommitted</code>. This affects the operations you can apply IE modify
or delete.</p>
<p>These types exist to prevent at compile time, mishandling of Entries, to ensure they are always
handled with the correct lifecycles and processes.</p>
</div></details><h2id="implementations"class="small-section-header">Implementations<ahref="#implementations"class="anchor"></a></h2><divid="implementations-list"><detailsclass="rustdoc-toggle implementors-toggle"open><summary><sectionid="impl-Entry%3CEntryInit%2C%20EntryNew%3E"class="impl has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#267-609">source</a><ahref="#impl-Entry%3CEntryInit%2C%20EntryNew%3E"class="anchor"></a><h3class="code-header">impl <aclass="struct"href="struct.Entry.html"title="struct kanidmd_lib::entry::Entry">Entry</a><<aclass="struct"href="struct.EntryInit.html"title="struct kanidmd_lib::entry::EntryInit">EntryInit</a>, <aclass="struct"href="struct.EntryNew.html"title="struct kanidmd_lib::entry::EntryNew">EntryNew</a>></h3></section></summary><divclass="impl-items"><sectionid="method.new"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#268-276">source</a><h4class="code-header">pub fn <ahref="#method.new"class="fnname">new</a>() -> Self</h4></section><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.from_proto_entry"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#280-315">source</a><h4class="code-header">pub fn <ahref="#method.from_proto_entry"class="fnname">from_proto_entry</a>(<br> e: &ProtoEntry,<br> qs: &<aclass="struct"href="../server/struct.QueryServerWriteTransaction.html"title="struct kanidmd_lib::server::QueryServerWriteTransaction">QueryServerWriteTransaction</a><'_><br>) -><aclass="enum"href="https://doc.rust-lang.org/1.66.0/core/result/enum.Result.html"title="enum core::result::Result">Result</a><Self, <aclass="enum"href="../prelude/enum.OperationError.html"title="enum kanidmd_lib::prelude::OperationError">OperationError</a>></h4></section></summary><divclass="docblock"><p>Consume a Protocol Entry from JSON, and validate and process the data into an internal
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.from_proto_entry_str"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#319">source</a><h4class="code-header">pub fn <ahref="#method.from_proto_entry_str"class="fnname">from_proto_entry_str</a>(<br> es: &<aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.str.html">str</a>,<br> qs: &<aclass="struct"href="../server/struct.QueryServerWriteTransaction.html"title="struct kanidmd_lib::server::QueryServerWriteTransaction">QueryServerWriteTransaction</a><'_><br>) -><aclass="enum"href="https://doc.rust-lang.org/1.66.0/core/result/enum.Result.html"title="enum core::result::Result">Result</a><Self, <aclass="enum"href="../prelude/enum.OperationError.html"title="enum kanidmd_lib::prelude::OperationError">OperationError</a>></h4></section></summary><divclass="docblock"><p>Given a proto entry in JSON formed as a serialised string, processed that string
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.assign_cid"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#499-519">source</a><h4class="code-header">pub fn <ahref="#method.assign_cid"class="fnname">assign_cid</a>(<br> self,<br> cid: Cid,<br> schema: &dyn <aclass="trait"href="../schema/trait.SchemaTransaction.html"title="trait kanidmd_lib::schema::SchemaTransaction">SchemaTransaction</a><br>) -><aclass="struct"href="struct.Entry.html"title="struct kanidmd_lib::entry::Entry">Entry</a><<aclass="struct"href="struct.EntryInvalid.html"title="struct kanidmd_lib::entry::EntryInvalid">EntryInvalid</a>, <aclass="struct"href="struct.EntryNew.html"title="struct kanidmd_lib::entry::EntryNew">EntryNew</a>></h4></section></summary><divclass="docblock"><p>Assign the Change Identifier to this Entry, allowing it to be modified and then
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.compare"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#522-524">source</a><h4class="code-header">pub fn <ahref="#method.compare"class="fnname">compare</a>(&self, rhs: &<aclass="struct"href="struct.Entry.html"title="struct kanidmd_lib::entry::Entry">Entry</a><<aclass="struct"href="struct.EntrySealed.html"title="struct kanidmd_lib::entry::EntrySealed">EntrySealed</a>, <aclass="struct"href="struct.EntryCommitted.html"title="struct kanidmd_lib::entry::EntryCommitted">EntryCommitted</a>>) -><aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.bool.html">bool</a></h4></section></summary><divclass="docblock"><p>Compare this entry to another.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.add_ava"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#594-596">source</a><h4class="code-header">pub fn <ahref="#method.add_ava"class="fnname">add_ava</a>(&mut self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.str.html">str</a>, value: <aclass="enum"href="../value/enum.Value.html"title="enum kanidmd_lib::value::Value">Value</a>)</h4></section></summary><divclass="docblock"><p>Add an attribute-value-assertion to this Entry.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.set_ava"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#599-604">source</a><h4class="code-header">pub fn <ahref="#method.set_ava"class="fnname">set_ava</a><T>(&mut self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.str.html">str</a>, iter: T)<spanclass="where fmt-newline">where<br> T: <aclass="trait"href="https://doc.rust-lang.org/1.66.0/core/iter/traits/collect/trait.IntoIterator.html"title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = <aclass="enum"href="../value/enum.Value.html"title="enum kanidmd_lib::value::Value">Value</a>>,</span></h4></section></summary><divclass="docblock"><p>Replace the existing content of an attribute set of this Entry, with a new set of Values.</p>
</div></details></div></details><detailsclass="rustdoc-toggle implementors-toggle"open><summary><sectionid="impl-Entry%3CEntryInvalid%2C%20EntryCommitted%3E"class="impl has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#890-934">source</a><ahref="#impl-Entry%3CEntryInvalid%2C%20EntryCommitted%3E"class="anchor"></a><h3class="code-header">impl <aclass="struct"href="struct.Entry.html"title="struct kanidmd_lib::entry::Entry">Entry</a><<aclass="struct"href="struct.EntryInvalid.html"title="struct kanidmd_lib::entry::EntryInvalid">EntryInvalid</a>, <aclass="struct"href="struct.EntryCommitted.html"title="struct kanidmd_lib::entry::EntryCommitted">EntryCommitted</a>></h3></section></summary><divclass="impl-items"><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.to_recycled"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#906-918">source</a><h4class="code-header">pub fn <ahref="#method.to_recycled"class="fnname">to_recycled</a>(self) -> Self</h4></section></summary><divclass="docblock"><p>Convert this entry into a recycled entry, that is “in the recycle bin”.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.to_revived"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#921-933">source</a><h4class="code-header">pub fn <ahref="#method.to_revived"class="fnname">to_revived</a>(self) -> Self</h4></section></summary><divclass="docblock"><p>Convert this entry into a recycled entry, that is “in the recycle bin”.</p>
</div></details></div></details><detailsclass="rustdoc-toggle implementors-toggle"open><summary><sectionid="impl-Entry%3CEntrySealed%2C%20EntryNew%3E"class="impl has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#1022-1045">source</a><ahref="#impl-Entry%3CEntrySealed%2C%20EntryNew%3E"class="anchor"></a><h3class="code-header">impl <aclass="struct"href="struct.Entry.html"title="struct kanidmd_lib::entry::Entry">Entry</a><<aclass="struct"href="struct.EntrySealed.html"title="struct kanidmd_lib::entry::EntrySealed">EntrySealed</a>, <aclass="struct"href="struct.EntryNew.html"title="struct kanidmd_lib::entry::EntryNew">EntryNew</a>></h3></section></summary><divclass="impl-items"><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.into_sealed_committed_id"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#1034-1040">source</a><h4class="code-header">pub fn <ahref="#method.into_sealed_committed_id"class="fnname">into_sealed_committed_id</a>(<br> self,<br> id: <aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.u64.html">u64</a><br>) -><aclass="struct"href="struct.Entry.html"title="struct kanidmd_lib::entry::Entry">Entry</a><<aclass="struct"href="struct.EntrySealed.html"title="struct kanidmd_lib::entry::EntrySealed">EntrySealed</a>, <aclass="struct"href="struct.EntryCommitted.html"title="struct kanidmd_lib::entry::EntryCommitted">EntryCommitted</a>></h4></section></summary><divclass="docblock"><p>Given this validated and sealed entry, process it with a <code>Backend</code> ID number so that it
</div></details><sectionid="method.compare-1"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#1042-1044">source</a><h4class="code-header">pub fn <ahref="#method.compare-1"class="fnname">compare</a>(&self, rhs: &<aclass="struct"href="struct.Entry.html"title="struct kanidmd_lib::entry::Entry">Entry</a><<aclass="struct"href="struct.EntrySealed.html"title="struct kanidmd_lib::entry::EntrySealed">EntrySealed</a>, <aclass="struct"href="struct.EntryNew.html"title="struct kanidmd_lib::entry::EntryNew">EntryNew</a>>) -><aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.bool.html">bool</a></h4></section></div></details><detailsclass="rustdoc-toggle implementors-toggle"open><summary><sectionid="impl-Entry%3CVALID%2C%20EntryCommitted%3E"class="impl has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#1050-1055">source</a><ahref="#impl-Entry%3CVALID%2C%20EntryCommitted%3E"class="anchor"></a><h3class="code-header">impl<VALID><aclass="struct"href="struct.Entry.html"title="struct kanidmd_lib::entry::Entry">Entry</a><VALID, <aclass="struct"href="struct.EntryCommitted.html"title="struct kanidmd_lib::entry::EntryCommitted">EntryCommitted</a>></h3></section></summary><divclass="impl-items"><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.get_id"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#1052-1054">source</a><h4class="code-header">pub fn <ahref="#method.get_id"class="fnname">get_id</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.u64.html">u64</a></h4></section></summary><divclass="docblock"><p>If this entry has ever been commited to disk, retrieve it’s database id number.</p>
</div></details></div></details><detailsclass="rustdoc-toggle implementors-toggle"open><summary><sectionid="impl-Entry%3CEntrySealed%2C%20STATE%3E"class="impl has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#1057-1065">source</a><ahref="#impl-Entry%3CEntrySealed%2C%20STATE%3E"class="anchor"></a><h3class="code-header">impl<STATE><aclass="struct"href="struct.Entry.html"title="struct kanidmd_lib::entry::Entry">Entry</a><<aclass="struct"href="struct.EntrySealed.html"title="struct kanidmd_lib::entry::EntrySealed">EntrySealed</a>, STATE></h3></section></summary><divclass="impl-items"><sectionid="method.into_init"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#1058-1064">source</a><h4class="code-header">pub fn <ahref="#method.into_init"class="fnname">into_init</a>(self) -><aclass="struct"href="struct.Entry.html"title="struct kanidmd_lib::entry::Entry">Entry</a><<aclass="struct"href="struct.EntryInit.html"title="struct kanidmd_lib::entry::EntryInit">EntryInit</a>, STATE></h4></section></div></details><detailsclass="rustdoc-toggle implementors-toggle"open><summary><sectionid="impl-Entry%3CEntrySealed%2C%20EntryCommitted%3E"class="impl has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#1067-1651">source</a><ahref="#impl-Entry%3CEntrySealed%2C%20EntryCommitted%3E"class="anchor"></a><h3class="code-header">impl <aclass="struct"href="struct.Entry.html"title="struct kanidmd_lib::entry::Entry">Entry</a><<aclass="struct"href="struct.EntrySealed.html"title="struct kanidmd_lib::entry::EntrySealed">EntrySealed</a>, <aclass="struct"href="struct.EntryCommitted.html"title="struct kanidmd_lib::entry::EntryCommitted">EntryCommitted</a>></h3></section></summary><divclass="impl-items"><sectionid="method.get_changelog_mut"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#1074-1076">source</a><h4class="code-header">pub fn <ahref="#method.get_changelog_mut"class="fnname">get_changelog_mut</a>(&mut self) ->&mut EntryChangelog</h4></section><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.insert_claim"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#1080-1082">source</a><h4class="code-header">pub fn <ahref="#method.insert_claim"class="fnname">insert_claim</a>(&mut self, value: &<aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.str.html">str</a>)</h4></section></summary><divclass="docblock"><p>Insert a claim to this entry. This claim can NOT be persisted to disk, this is only
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.reduce_attributes"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#1577-1604">source</a><h4class="code-header">pub fn <ahref="#method.reduce_attributes"class="fnname">reduce_attributes</a>(<br> &self,<br> allowed_attrs: &<aclass="struct"href="../idm/authsession/struct.Set.html"title="struct kanidmd_lib::idm::authsession::Set">BTreeSet</a><&<aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.str.html">str</a>><br>) -><aclass="struct"href="struct.Entry.html"title="struct kanidmd_lib::entry::Entry">Entry</a><<aclass="struct"href="struct.EntryReduced.html"title="struct kanidmd_lib::entry::EntryReduced">EntryReduced</a>, <aclass="struct"href="struct.EntryCommitted.html"title="struct kanidmd_lib::entry::EntryCommitted">EntryCommitted</a>></h4></section></summary><divclass="docblock"><p>Given a set of attributes that are allowed to be seen on this entry, process and remove
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.to_tombstone"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#1607-1627">source</a><h4class="code-header">pub fn <ahref="#method.to_tombstone"class="fnname">to_tombstone</a>(&self, cid: Cid) -><aclass="struct"href="struct.Entry.html"title="struct kanidmd_lib::entry::Entry">Entry</a><<aclass="struct"href="struct.EntryInvalid.html"title="struct kanidmd_lib::entry::EntryInvalid">EntryInvalid</a>, <aclass="struct"href="struct.EntryCommitted.html"title="struct kanidmd_lib::entry::EntryCommitted">EntryCommitted</a>></h4></section></summary><divclass="docblock"><p>Convert this recycled entry, into a tombstone ready for reaping.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.into_valid"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#1630-1640">source</a><h4class="code-header">pub fn <ahref="#method.into_valid"class="fnname">into_valid</a>(<br> self,<br> cid: Cid,<br> eclog: EntryChangelog<br>) -><aclass="struct"href="struct.Entry.html"title="struct kanidmd_lib::entry::Entry">Entry</a><<aclass="struct"href="struct.EntryValid.html"title="struct kanidmd_lib::entry::EntryValid">EntryValid</a>, <aclass="struct"href="struct.EntryCommitted.html"title="struct kanidmd_lib::entry::EntryCommitted">EntryCommitted</a>></h4></section></summary><divclass="docblock"><p>Given a current transaction change identifier, mark this entry as valid and committed.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.to_ldap"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#1739-1825">source</a><h4class="code-header">pub fn <ahref="#method.to_ldap"class="fnname">to_ldap</a>(<br> &self,<br> qs: &<aclass="struct"href="../server/struct.QueryServerReadTransaction.html"title="struct kanidmd_lib::server::QueryServerReadTransaction">QueryServerReadTransaction</a><'_>,<br> basedn: &<aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.str.html">str</a>,<br> all_attrs: <aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.bool.html">bool</a>,<br> l_attrs: &[<aclass="struct"href="https://doc.rust-lang.org/1.66.0/alloc/string/struct.String.html"title="struct alloc::string::String">String</a>]<br>) -><aclass="enum"href="https://doc.rust-lang.org/1.66.0/core/result/enum.Result.html"title="enum core::result::Result">Result</a><LdapSearchResultEntry, <aclass="enum"href="../prelude/enum.OperationError.html"title="enum kanidmd_lib::prelude::OperationError">OperationError</a>></h4></section></summary><divclass="docblock"><p>Transform this reduced entry into an LDAP form that can be sent to clients.</p>
</div></details></div></details><detailsclass="rustdoc-toggle implementors-toggle"open><summary><sectionid="impl-Entry%3CVALID%2C%20STATE%3E"class="impl has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#1829-2348">source</a><ahref="#impl-Entry%3CVALID%2C%20STATE%3E"class="anchor"></a><h3class="code-header">impl<VALID, STATE><aclass="struct"href="struct.Entry.html"title="struct kanidmd_lib::entry::Entry">Entry</a><VALID, STATE></h3></section></summary><divclass="impl-items"><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.get_ava_names"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#1876-1879">source</a><h4class="code-header">pub fn <ahref="#method.get_ava_names"class="fnname">get_ava_names</a>(&self) -> impl <aclass="trait"href="https://doc.rust-lang.org/1.66.0/core/iter/traits/iterator/trait.Iterator.html"title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = &<aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.str.html">str</a>></h4></section></summary><divclass="docblock"><p>Get an iterator over the current set of attribute names that this entry contains.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.get_ava_set"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#1891-1893">source</a><h4class="code-header">pub fn <ahref="#method.get_ava_set"class="fnname">get_ava_set</a>(&self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.str.html">str</a>) -><aclass="enum"href="https://doc.rust-lang.org/1.66.0/core/option/enum.Option.html"title="enum core::option::Option">Option</a><&<aclass="type"href="../valueset/type.ValueSet.html"title="type kanidmd_lib::valueset::ValueSet">ValueSet</a>></h4></section></summary><divclass="docblock"><p>Return a reference to the current set of values that are associated to this attribute.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.get_ava_iter_iutf8"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#1951-1953">source</a><h4class="code-header">pub fn <ahref="#method.get_ava_iter_iutf8"class="fnname">get_ava_iter_iutf8</a>(<br> &self,<br> attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.str.html">str</a><br>) -><aclass="enum"href="https://doc.rust-lang.org/1.66.0/core/option/enum.Option.html"title="enum core::option::Option">Option</a><impl <aclass="trait"href="https://doc.rust-lang.org/1.66.0/core/iter/traits/iterator/trait.Iterator.html"title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = &<aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.str.html">str</a>>></h4></section></summary><divclass="docblock"><p>If possible, return an iterator over the set of values transformed into a <code>&str</code>.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.get_ava_as_refuuid"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#1957-1960">source</a><h4class="code-header">pub fn <ahref="#method.get_ava_as_refuuid"class="fnname">get_ava_as_refuuid</a>(<br> &self,<br> attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.str.html">str</a><br>) -><aclass="enum"href="https://doc.rust-lang.org/1.66.0/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="struct"href="https://doc.rust-lang.org/1.66.0/alloc/boxed/struct.Box.html"title="struct alloc::boxed::Box">Box</a><dyn <aclass="trait"href="https://doc.rust-lang.org/1.66.0/core/iter/traits/iterator/trait.Iterator.html"title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = <aclass="struct"href="../prelude/struct.Uuid.html"title="struct kanidmd_lib::prelude::Uuid">Uuid</a>> + '_>></h4></section></summary><divclass="docblock"><p>If possible, return an iterator over the set of values transformed into a <code>Uuid</code>.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.get_ava_iter_sshpubkeys"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#1964-1967">source</a><h4class="code-header">pub fn <ahref="#method.get_ava_iter_sshpubkeys"class="fnname">get_ava_iter_sshpubkeys</a>(<br> &self,<br> attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.str.html">str</a><br>) -><aclass="enum"href="https://doc.rust-lang.org/1.66.0/core/option/enum.Option.html"title="enum core::option::Option">Option</a><impl <aclass="trait"href="https://doc.rust-lang.org/1.66.0/core/iter/traits/iterator/trait.Iterator.html"title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = &<aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.str.html">str</a>>></h4></section></summary><divclass="docblock"><p>If possible, return an iterator over the set of ssh key values transformed into a <code>&str</code>.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.get_ava_single"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#1991-1993">source</a><h4class="code-header">pub fn <ahref="#method.get_ava_single"class="fnname">get_ava_single</a>(&self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.str.html">str</a>) -><aclass="enum"href="https://doc.rust-lang.org/1.66.0/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="enum"href="../value/enum.Value.html"title="enum kanidmd_lib::value::Value">Value</a>></h4></section></summary><divclass="docblock"><p>Return a single value of this attributes name, or <code>None</code> if it is NOT present, or
</div></details><sectionid="method.get_ava_single_proto_string"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#1995-1999">source</a><h4class="code-header">pub fn <ahref="#method.get_ava_single_proto_string"class="fnname">get_ava_single_proto_string</a>(&self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.str.html">str</a>) -><aclass="enum"href="https://doc.rust-lang.org/1.66.0/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="struct"href="https://doc.rust-lang.org/1.66.0/alloc/string/struct.String.html"title="struct alloc::string::String">String</a>></h4></section><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.get_ava_single_bool"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2003-2005">source</a><h4class="code-header">pub fn <ahref="#method.get_ava_single_bool"class="fnname">get_ava_single_bool</a>(&self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.str.html">str</a>) -><aclass="enum"href="https://doc.rust-lang.org/1.66.0/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.bool.html">bool</a>></h4></section></summary><divclass="docblock"><p>Return a single bool, if valid to transform this value into a boolean.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.get_ava_single_uint32"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2009-2011">source</a><h4class="code-header">pub fn <ahref="#method.get_ava_single_uint32"class="fnname">get_ava_single_uint32</a>(&self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.str.html">str</a>) -><aclass="enum"href="https://doc.rust-lang.org/1.66.0/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.u32.html">u32</a>></h4></section></summary><divclass="docblock"><p>Return a single uint32, if valid to transform this value.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.get_ava_single_syntax"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2015-2019">source</a><h4class="code-header">pub fn <ahref="#method.get_ava_single_syntax"class="fnname">get_ava_single_syntax</a>(&self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.str.html">str</a>) -><aclass="enum"href="https://doc.rust-lang.org/1.66.0/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="enum"href="../value/enum.SyntaxType.html"title="enum kanidmd_lib::value::SyntaxType">SyntaxType</a>></h4></section></summary><divclass="docblock"><p>Return a single syntax type, if valid to transform this value.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.get_ava_single_credential"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2023-2027">source</a><h4class="code-header">pub fn <ahref="#method.get_ava_single_credential"class="fnname">get_ava_single_credential</a>(&self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.str.html">str</a>) -><aclass="enum"href="https://doc.rust-lang.org/1.66.0/core/option/enum.Option.html"title="enum core::option::Option">Option</a><&<aclass="struct"href="../credential/struct.Credential.html"title="struct kanidmd_lib::credential::Credential">Credential</a>></h4></section></summary><divclass="docblock"><p>Return a single credential, if valid to transform this value.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.get_ava_passkeys"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2031-2033">source</a><h4class="code-header">pub fn <ahref="#method.get_ava_passkeys"class="fnname">get_ava_passkeys</a>(<br> &self,<br> attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.str.html">str</a><br>) -><aclass="enum"href="https://doc.rust-lang.org/1.66.0/core/option/enum.Option.html"title="enum core::option::Option">Option</a><&<aclass="struct"href="https://doc.rust-lang.org/1.66.0/alloc/collections/btree/map/struct.BTreeMap.html"title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a><<aclass="struct"href="../prelude/struct.Uuid.html"title="struct kanidmd_lib::prelude::Uuid">Uuid</a>, (<aclass="struct"href="https://doc.rust-lang.org/1.66.0/alloc/string/struct.String.html"title="struct alloc::string::String">String</a>, PasskeyV4)>></h4></section></summary><divclass="docblock"><p>Get the set of passkeys on this account, if any are present.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.get_ava_devicekeys"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2037-2039">source</a><h4class="code-header">pub fn <ahref="#method.get_ava_devicekeys"class="fnname">get_ava_devicekeys</a>(<br> &self,<br> attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.str.html">str</a><br>) -><aclass="enum"href="https://doc.rust-lang.org/1.66.0/core/option/enum.Option.html"title="enum core::option::Option">Option</a><&<aclass="struct"href="https://doc.rust-lang.org/1.66.0/alloc/collections/btree/map/struct.BTreeMap.html"title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a><<aclass="struct"href="../prelude/struct.Uuid.html"title="struct kanidmd_lib::prelude::Uuid">Uuid</a>, (<aclass="struct"href="https://doc.rust-lang.org/1.66.0/alloc/string/struct.String.html"title="struct alloc::string::String">String</a>, DeviceKeyV4)>></h4></section></summary><divclass="docblock"><p>Get the set of devicekeys on this account, if any are present.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.get_ava_uihint"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2043-2045">source</a><h4class="code-header">pub fn <ahref="#method.get_ava_uihint"class="fnname">get_ava_uihint</a>(&self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.str.html">str</a>) -><aclass="enum"href="https://doc.rust-lang.org/1.66.0/core/option/enum.Option.html"title="enum core::option::Option">Option</a><&<aclass="struct"href="../idm/authsession/struct.Set.html"title="struct kanidmd_lib::idm::authsession::Set">BTreeSet</a><UiHint>></h4></section></summary><divclass="docblock"><p>Get the set of uihints on this account, if any are present.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.get_ava_single_secret"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2049-2051">source</a><h4class="code-header">pub fn <ahref="#method.get_ava_single_secret"class="fnname">get_ava_single_secret</a>(&self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.str.html">str</a>) -><aclass="enum"href="https://doc.rust-lang.org/1.66.0/core/option/enum.Option.html"title="enum core::option::Option">Option</a><&<aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.str.html">str</a>></h4></section></summary><divclass="docblock"><p>Return a single secret value, if valid to transform this value.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.get_ava_single_datetime"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2055-2057">source</a><h4class="code-header">pub fn <ahref="#method.get_ava_single_datetime"class="fnname">get_ava_single_datetime</a>(&self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.str.html">str</a>) -><aclass="enum"href="https://doc.rust-lang.org/1.66.0/core/option/enum.Option.html"title="enum core::option::Option">Option</a><OffsetDateTime></h4></section></summary><divclass="docblock"><p>Return a single datetime, if valid to transform this value.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.get_ava_single_url"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2079-2081">source</a><h4class="code-header">pub fn <ahref="#method.get_ava_single_url"class="fnname">get_ava_single_url</a>(&self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.str.html">str</a>) -><aclass="enum"href="https://doc.rust-lang.org/1.66.0/core/option/enum.Option.html"title="enum core::option::Option">Option</a><&<aclass="struct"href="../prelude/struct.Url.html"title="struct kanidmd_lib::prelude::Url">Url</a>></h4></section></summary><divclass="docblock"><p>Return a single <code>&Url</code>, if valid to transform this value.</p>
</div></details><sectionid="method.get_ava_single_private_binary"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2109-2113">source</a><h4class="code-header">pub fn <ahref="#method.get_ava_single_private_binary"class="fnname">get_ava_single_private_binary</a>(&self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.str.html">str</a>) -><aclass="enum"href="https://doc.rust-lang.org/1.66.0/core/option/enum.Option.html"title="enum core::option::Option">Option</a><&[<aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.u8.html">u8</a>]></h4></section><sectionid="method.get_ava_single_jws_key_es256"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2115-2119">source</a><h4class="code-header">pub fn <ahref="#method.get_ava_single_jws_key_es256"class="fnname">get_ava_single_jws_key_es256</a>(&self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.str.html">str</a>) -><aclass="enum"href="https://doc.rust-lang.org/1.66.0/core/option/enum.Option.html"title="enum core::option::Option">Option</a><&JwsSigner></h4></section><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.attribute_pres"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2130-2132">source</a><h4class="code-header">pub fn <ahref="#method.attribute_pres"class="fnname">attribute_pres</a>(&self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.str.html">str</a>) -><aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.bool.html">bool</a></h4></section></summary><divclass="docblock"><p>Assert if an attribute of this name is present on this entry.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.attribute_equality"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2137-2146">source</a><h4class="code-header">pub fn <ahref="#method.attribute_equality"class="fnname">attribute_equality</a>(&self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.str.html">str</a>, value: &<aclass="enum"href="../value/enum.PartialValue.html"title="enum kanidmd_lib::value::PartialValue">PartialValue</a>) -><aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.bool.html">bool</a></h4></section></summary><divclass="docblock"><p>Assert if an attribute of this name is present, and one of it’s values contains
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.attribute_substring"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2151-2156">source</a><h4class="code-header">pub fn <ahref="#method.attribute_substring"class="fnname">attribute_substring</a>(&self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.str.html">str</a>, subvalue: &<aclass="enum"href="../value/enum.PartialValue.html"title="enum kanidmd_lib::value::PartialValue">PartialValue</a>) -><aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.bool.html">bool</a></h4></section></summary><divclass="docblock"><p>Assert if an attribute of this name is present, and one of it’s values contains
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.attribute_lessthan"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2161-2166">source</a><h4class="code-header">pub fn <ahref="#method.attribute_lessthan"class="fnname">attribute_lessthan</a>(&self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.str.html">str</a>, subvalue: &<aclass="enum"href="../value/enum.PartialValue.html"title="enum kanidmd_lib::value::PartialValue">PartialValue</a>) -><aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.bool.html">bool</a></h4></section></summary><divclass="docblock"><p>Assert if an attribute of this name is present, and one of it’s values is less than
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.entry_match_no_index"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2174-2177">source</a><h4class="code-header">pub fn <ahref="#method.entry_match_no_index"class="fnname">entry_match_no_index</a>(&self, filter: &<aclass="struct"href="../filter/struct.Filter.html"title="struct kanidmd_lib::filter::Filter">Filter</a><<aclass="struct"href="../filter/struct.FilterValidResolved.html"title="struct kanidmd_lib::filter::FilterValidResolved">FilterValidResolved</a>>) -><aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.bool.html">bool</a></h4></section></summary><divclass="docblock"><p>Test if the following filter applies to and matches this entry.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.filter_from_attrs"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2213-2245">source</a><h4class="code-header">pub fn <ahref="#method.filter_from_attrs"class="fnname">filter_from_attrs</a>(<br> &self,<br> attrs: &[<aclass="type"href="../prelude/type.AttrString.html"title="type kanidmd_lib::prelude::AttrString">AttrString</a>]<br>) -><aclass="enum"href="https://doc.rust-lang.org/1.66.0/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="struct"href="../filter/struct.Filter.html"title="struct kanidmd_lib::filter::Filter">Filter</a><<aclass="struct"href="../filter/struct.FilterInvalid.html"title="struct kanidmd_lib::filter::FilterInvalid">FilterInvalid</a>>></h4></section></summary><divclass="docblock"><p>Given this entry, generate a filter containing the requested attributes strings as
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.gen_modlist_assert"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2249-2297">source</a><h4class="code-header">pub fn <ahref="#method.gen_modlist_assert"class="fnname">gen_modlist_assert</a>(<br> &self,<br> schema: &dyn <aclass="trait"href="../schema/trait.SchemaTransaction.html"title="trait kanidmd_lib::schema::SchemaTransaction">SchemaTransaction</a><br>) -><aclass="enum"href="https://doc.rust-lang.org/1.66.0/core/result/enum.Result.html"title="enum core::result::Result">Result</a><<aclass="struct"href="../modify/struct.ModifyList.html"title="struct kanidmd_lib::modify::ModifyList">ModifyList</a><<aclass="struct"href="../modify/struct.ModifyInvalid.html"title="struct kanidmd_lib::modify::ModifyInvalid">ModifyInvalid</a>>, SchemaError></h4></section></summary><divclass="docblock"><p>Given this entry, generate a modification list that would “assert”
</div></details></div></details><detailsclass="rustdoc-toggle implementors-toggle"open><summary><sectionid="impl-Entry%3CEntryInvalid%2C%20STATE%3E-1"class="impl has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2350-2472">source</a><ahref="#impl-Entry%3CEntryInvalid%2C%20STATE%3E-1"class="anchor"></a><h3class="code-header">impl<STATE><aclass="struct"href="struct.Entry.html"title="struct kanidmd_lib::entry::Entry">Entry</a><<aclass="struct"href="struct.EntryInvalid.html"title="struct kanidmd_lib::entry::EntryInvalid">EntryInvalid</a>, STATE><spanclass="where fmt-newline">where<br> STATE: <aclass="trait"href="https://doc.rust-lang.org/1.66.0/core/clone/trait.Clone.html"title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><divclass="impl-items"><sectionid="method.add_ava-1"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2358-2363">source</a><h4class="code-header">pub fn <ahref="#method.add_ava-1"class="fnname">add_ava</a>(&mut self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.str.html">str</a>, value: <aclass="enum"href="../value/enum.Value.html"title="enum kanidmd_lib::value::Value">Value</a>)</h4></section><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.pop_ava"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2420-2423">source</a><h4class="code-header">pub fn <ahref="#method.pop_ava"class="fnname">pop_ava</a>(&mut self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.str.html">str</a>) -><aclass="enum"href="https://doc.rust-lang.org/1.66.0/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="type"href="../valueset/type.ValueSet.html"title="type kanidmd_lib::valueset::ValueSet">ValueSet</a>></h4></section></summary><divclass="docblock"><p>Remove all values of this attribute from the entry, and return their content.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.set_ava-1"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2427-2436">source</a><h4class="code-header">pub fn <ahref="#method.set_ava-1"class="fnname">set_ava</a><T>(&mut self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.str.html">str</a>, iter: T)<spanclass="where fmt-newline">where<br> T: <aclass="trait"href="https://doc.rust-lang.org/1.66.0/core/clone/trait.Clone.html"title="trait core::clone::Clone">Clone</a> + <aclass="trait"href="https://doc.rust-lang.org/1.66.0/core/iter/traits/collect/trait.IntoIterator.html"title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = <aclass="enum"href="../value/enum.Value.html"title="enum kanidmd_lib::value::Value">Value</a>>,</span></h4></section></summary><divclass="docblock"><p>Replace the content of this attribute with a new value set. Effectively this is
by <code>==</code>. <ahref="https://doc.rust-lang.org/1.66.0/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.ne"class="method trait-impl has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.0.0">1.0.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.66.0/src/core/cmp.rs.html#227">source</a></span><ahref="#method.ne"class="anchor"></a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.66.0/core/cmp/trait.PartialEq.html#method.ne"class="fnname">ne</a>(&self, other: <aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.reference.html">&</a>Rhs) -><aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.bool.html">bool</a></h4></section></summary><divclass='docblock'>This method tests for <code>!=</code>. The default implementation is almost always
</div></details></div></details><detailsclass="rustdoc-toggle implementors-toggle"><summary><sectionid="impl-Instrument-for-Entry%3CVALID%2C%20STATE%3E"class="impl has-srclink"><aclass="srclink rightside"href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#276">source</a><ahref="#impl-Instrument-for-Entry%3CVALID%2C%20STATE%3E"class="anchor"></a><h3class="code-header">impl<T><aclass="trait"href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.Instrument.html"title="trait tracing::instrument::Instrument">Instrument</a> for T</h3></section></summary><divclass="impl-items"><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.instrument"class="method trait-impl has-srclink"><aclass="srclink rightside"href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#82">source</a><ahref="#method.instrument"class="anchor"></a><h4class="code-header">fn <ahref="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.Instrument.html#method.instrument"class="fnname">instrument</a>(self, span: <aclass="struct"href="https://docs.rs/tracing/0.1.37/tracing/span/struct.Span.html"title="struct tracing::span::Span">Span</a>) -><aclass="struct"href="https://docs.rs/tracing/0.1.37/tracing/instrument/struct.Instrumented.html"title="struct tracing::instrument::Instrumented">Instrumented</a><Self></h4></section></summary><divclass='docblock'>Instruments this type with the provided <ahref="https://docs.rs/tracing/0.1.37/tracing/span/struct.Span.html"title="Span"><code>Span</code></a>, returning an
<code>Instrumented</code> wrapper. <ahref="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.in_current_span"class="method trait-impl has-srclink"><aclass="srclink rightside"href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#121">source</a><ahref="#method.in_current_span"class="anchor"></a><h4class="code-header">fn <ahref="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.Instrument.html#method.in_current_span"class="fnname">in_current_span</a>(self) -><aclass="struct"href="https://docs.rs/tracing/0.1.37/tracing/instrument/struct.Instrumented.html"title="struct tracing::instrument::Instrumented">Instrumented</a><Self></h4></section></summary><divclass='docblock'>Instruments this type with the <ahref="https://docs.rs/tracing/0.1.37/tracing/span/struct.Span.html#method.current">current</a><ahref="https://docs.rs/tracing/0.1.37/tracing/span/struct.Span.html"><code>Span</code></a>, returning an
<code><ahref="https://doc.rust-lang.org/1.66.0/core/convert/trait.From.html"title="From">From</a><T> for U</code> chooses to do.</p>
</div></details></div></details><detailsclass="rustdoc-toggle implementors-toggle"><summary><sectionid="impl-Pointable-for-Entry%3CVALID%2C%20STATE%3E"class="impl has-srclink"><ahref="#impl-Pointable-for-Entry%3CVALID%2C%20STATE%3E"class="anchor"></a><h3class="code-header">impl<T> Pointable for T</h3></section></summary><divclass="impl-items"><detailsclass="rustdoc-toggle"open><summary><sectionid="associatedconstant.ALIGN"class="associatedconstant trait-impl has-srclink"><ahref="#associatedconstant.ALIGN"class="anchor"></a><h4class="code-header">const <aclass="constant">ALIGN</a>: <aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.usize.html">usize</a> = mem::align_of::<T>()</h4></section></summary><divclass='docblock'>The alignment of pointer.</div></details><detailsclass="rustdoc-toggle"open><summary><sectionid="associatedtype.Init"class="associatedtype trait-impl has-srclink"><ahref="#associatedtype.Init"class="anchor"></a><h4class="code-header">type <aclass="associatedtype">Init</a> = T</h4></section></summary><divclass='docblock'>The type for initializers.</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.init"class="method trait-impl has-srclink"><ahref="#method.init"class="anchor"></a><h4class="code-header">unsafe fn <aclass="fnname">init</a>(init: <T as Pointable>::Init) -><aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.usize.html">usize</a></h4></section></summary><divclass='docblock'>Initializes a with the given initializer. <a>Read more</a></div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.deref"class="method trait-impl has-srclink"><ahref="#method.deref"class="anchor"></a><h4class="code-header">unsafe fn <aclass="fnname">deref</a><'a>(ptr: <aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.usize.html">usize</a>) -><aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.reference.html">&'a </a>T</h4></section></summary><divclass='docblock'>Dereferences the given pointer. <a>Read more</a></div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.deref_mut"class="method trait-impl has-srclink"><ahref="#method.deref_mut"class="anchor"></a><h4class="code-header">unsafe fn <aclass="fnname">deref_mut</a><'a>(ptr: <aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.usize.html">usize</a>) -><aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.reference.html">&'a mut </a>T</h4></section></summary><divclass='docblock'>Mutably dereferences the given pointer. <a>Read more</a></div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.drop"class="method trait-impl has-srclink"><ahref="#method.drop"class="anchor"></a><h4class="code-header">unsafe fn <aclass="fnname">drop</a>(ptr: <aclass="primitive"href="https://doc.rust-lang.org/1.66.0/std/primitive.usize.html">usize</a>)</h4></section></summary><divclass='docblock'>Drops the object pointed to by the given pointer. <a>Read more</a></div></details></div></details><detailsclass="rustdoc-toggle implementors-toggle"><summary><sectionid="impl-Same%3CT%3E-for-Entry%3CVALID%2C%20STATE%3E"class="impl has-srclink"><aclass="srclink rightside"href="https://docs.rs/typenum/1.15.0/src/typenum/type_operators.rs.html#34">source</a><ahref="#impl-Same%3CT%3E-for-Entry%3CVALID%2C%20STATE%3E"class="anchor"></a><h3class="code-header">impl<T><aclass="trait"href="https://docs.rs/typenum/1.15.0/typenum/type_operators/trait.Same.html"title="trait typenum::type_operators::Same">Same</a><T> for T</h3></section></summary><divclass="impl-items"><detailsclass="rustdoc-toggle"open><summary><sectionid="associatedtype.Output"class="associatedtype trait-impl has-srclink"><ahref="#associatedtype.Output"class="anchor"></a><h4class="code-header">type <ahref="https://docs.rs/typenum/1.1
<ahref="https://docs.rs/tracing/0.1.37/tracing/instrument/struct.WithDispatch.html"title="WithDispatch"><code>WithDispatch</code></a> wrapper. <ahref="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.WithSubscriber.html#method.with_subscriber">Read more</a></div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.with_current_subscriber"class="method trait-impl has-srclink"><aclass="srclink rightside"href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#221">source</a><ahref="#method.with_current_subscriber"class="anchor"></a><h4class="code-header">fn <ahref="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.WithSubscriber.html#method.with_current_subscriber"class="fnname">with_current_subscriber</a>(self) -><aclass="struct"href="https://docs.rs/tracing/0.1.37/tracing/instrument/struct.WithDispatch.html"title="struct tracing::instrument::WithDispatch">WithDispatch</a><Self></h4></section></summary><divclass='docblock'>Attaches the current <ahref="https://docs.rs/tracing/0.1.37/tracing/dispatcher/index.html#setting-the-default-subscriber">default</a><ahref="https://docs.rs/tracing-core/0.1.22/tracing_core/subscriber/trait.Subscriber.html"><code>Subscriber</code></a> to this type, returning a