#[non_exhaustive]pub struct AclEntry {
pub privilege: AclPrivilege,
pub auth_mode: AclAuthMode,
pub subjects: Option<Vec<u64>>,
pub targets: Option<Vec<AclTarget>>,
pub fabric_index: Option<u8>,
}Expand description
One ACL entry (AccessControlEntryStruct, Matter spec §9.10.5.2).
#[non_exhaustive] so additional entry fields from future spec revisions
can be added without a breaking change.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.privilege: AclPrivilegePrivilege granted by this entry.
auth_mode: AclAuthModeAuthentication mode required to use this entry.
subjects: Option<Vec<u64>>Subject list: None ⇒ wildcard (applies to all subjects). Some(v) ⇒
specific node IDs, CAT IDs, or group IDs.
targets: Option<Vec<AclTarget>>Target list: None ⇒ wildcard (all targets). Some(v) ⇒ specific targets.
fabric_index: Option<u8>Fabric index assigned by the device. None on write (the device fills
this in for the accessing fabric); always Some on read.
Implementations§
Source§impl AclEntry
impl AclEntry
Sourcepub fn new(
privilege: AclPrivilege,
auth_mode: AclAuthMode,
subjects: Option<Vec<u64>>,
targets: Option<Vec<AclTarget>>,
) -> Self
pub fn new( privilege: AclPrivilege, auth_mode: AclAuthMode, subjects: Option<Vec<u64>>, targets: Option<Vec<AclTarget>>, ) -> Self
Construct an ACL entry for a write. subjects/targets None ⇒
wildcard. fabric_index is left None — the device fills it in for the
accessing fabric.
Provided because the struct is #[non_exhaustive] and so cannot be
built with a struct literal outside this crate (e.g. when assembling an
ACL to pass to crate::Node::write_acl).