pub struct AclEntry {
pub fab_idx: Option<NonZero<u8>>,
/* private fields */
}Expand description
The ACL entry object
Fields§
§fab_idx: Option<NonZero<u8>>Implementations§
Source§impl AclEntry
impl AclEntry
Sourcepub const fn new(
fab_idx: Option<NonZero<u8>>,
privilege: Privilege,
auth_mode: AuthMode,
) -> AclEntry
pub const fn new( fab_idx: Option<NonZero<u8>>, privilege: Privilege, auth_mode: AuthMode, ) -> AclEntry
Create a new ACL entry object
Sourcepub fn init(
fab_idx: Option<NonZero<u8>>,
privilege: Privilege,
auth_mode: AuthMode,
) -> impl Init<AclEntry>
pub fn init( fab_idx: Option<NonZero<u8>>, privilege: Privilege, auth_mode: AuthMode, ) -> impl Init<AclEntry>
Return an initializer for an ACL entry object using the given fabric index, privilege and auth mode as input
Sourcepub fn init_with<'a>(
fab_idx: NonZero<u8>,
entry: &'a AccessControlEntryStruct<'a>,
) -> impl Init<AclEntry, Error> + 'a
pub fn init_with<'a>( fab_idx: NonZero<u8>, entry: &'a AccessControlEntryStruct<'a>, ) -> impl Init<AclEntry, Error> + 'a
Return an initializer for an ACL entry object using the given fabric index and TLV entry struct as input
Sourcepub fn read_into<P>(
&self,
accessing_fab_idx: u8,
fab_idx: Option<u8>,
builder: AccessControlEntryStructBuilder<P>,
) -> Result<P, Error>where
P: TLVBuilderParent,
pub fn read_into<P>(
&self,
accessing_fab_idx: u8,
fab_idx: Option<u8>,
builder: AccessControlEntryStructBuilder<P>,
) -> Result<P, Error>where
P: TLVBuilderParent,
Return the data of the ACL entry object into the provided TLV builder
Sourcepub fn normalize(&mut self)
pub fn normalize(&mut self)
Normalize the ACL entry by converting non-null but empty subjects/targets to null, as the spec and YAML tests expect
Sourcepub fn subjects(&self) -> Maybe<&[u64], AsNullable>
pub fn subjects(&self) -> Maybe<&[u64], AsNullable>
Return the subjects of the ACL entry
Sourcepub fn targets(&self) -> Maybe<&[Target], AsNullable>
pub fn targets(&self) -> Maybe<&[Target], AsNullable>
Return the targets of the ACL entry
pub fn auxiliary_type(&self) -> Option<AccessControlAuxiliaryTypeEnum>
Sourcepub fn allow(&self, req: &AccessReq<'_>, aux_acl_enabled: bool) -> bool
pub fn allow(&self, req: &AccessReq<'_>, aux_acl_enabled: bool) -> bool
Check if the ACL entry allows access to the given accessor and object
aux_acl_enabled conveys whether the node advertises the Access Control
cluster’s AUXILIARY feature, which changes how wildcard-target
Group-auth entries are evaluated - see Self::match_access_desc.
Sourcepub fn add_subject(&mut self, subject: u64) -> Result<(), Error>
pub fn add_subject(&mut self, subject: u64) -> Result<(), Error>
Add a subject to the ACL entry
Trait Implementations§
Source§impl<'__from_tlv> FromTLV<'__from_tlv> for AclEntry
impl<'__from_tlv> FromTLV<'__from_tlv> for AclEntry
Source§fn from_tlv(element: &TLVElement<'__from_tlv>) -> Result<AclEntry, Error>
fn from_tlv(element: &TLVElement<'__from_tlv>) -> Result<AclEntry, Error>
Source§fn init_from_tlv(element: TLVElement<'__from_tlv>) -> impl Init<AclEntry, Error>
fn init_from_tlv(element: TLVElement<'__from_tlv>) -> impl Init<AclEntry, Error>
Source§fn nullable_from_tlv(element: &TLVElement<'a>) -> Result<Self, Error>
fn nullable_from_tlv(element: &TLVElement<'a>) -> Result<Self, Error>
Source§fn init_nullable_from_tlv(element: TLVElement<'a>) -> impl Init<Self, Error>
fn init_nullable_from_tlv(element: TLVElement<'a>) -> impl Init<Self, Error>
impl StructuralPartialEq for AclEntry
Source§impl ToTLV for AclEntry
impl ToTLV for AclEntry
Source§fn to_tlv<W>(&self, tag: &TLVTag, tw: W) -> Result<(), Error>where
W: TLVWrite,
fn to_tlv<W>(&self, tag: &TLVTag, tw: W) -> Result<(), Error>where
W: TLVWrite,
Source§fn tlv_iter(&self, tag: TLVTag) -> impl Iterator<Item = Result<TLV<'_>, Error>>
fn tlv_iter(&self, tag: TLVTag) -> impl Iterator<Item = Result<TLV<'_>, Error>>
TLV instances by potentially borrowing
data from the type.Source§impl<'__from_tlv> TryFrom<&TLVElement<'__from_tlv>> for AclEntry
impl<'__from_tlv> TryFrom<&TLVElement<'__from_tlv>> for AclEntry
Auto Trait Implementations§
impl Freeze for AclEntry
impl RefUnwindSafe for AclEntry
impl Send for AclEntry
impl Sync for AclEntry
impl Unpin for AclEntry
impl UnsafeUnpin for AclEntry
impl UnwindSafe for AclEntry
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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