pub struct PermissionConfig {
pub tools: ToolPermissionConfig,
pub resources: ResourcePermissionConfig,
pub custom_rules: Vec<PermissionRule>,
pub strict_mode: bool,
pub default_action: PermissionAction,
}
Expand description
Main permission configuration
Fields§
§tools: ToolPermissionConfig
Tool permission configuration
resources: ResourcePermissionConfig
Resource permission configuration
custom_rules: Vec<PermissionRule>
Custom permission rules
strict_mode: bool
Enable strict permission checking
default_action: PermissionAction
Default action when no rule matches
Implementations§
Source§impl PermissionConfig
impl PermissionConfig
Sourcepub fn permissive() -> Self
pub fn permissive() -> Self
Create a permissive configuration (allows most operations)
Sourcepub fn restrictive() -> Self
pub fn restrictive() -> Self
Create a restrictive configuration (denies by default)
Sourcepub fn production() -> Self
pub fn production() -> Self
Create a standard production configuration
Sourcepub fn allow_role_tool(self, role: Role, tool: &str) -> Self
pub fn allow_role_tool(self, role: Role, tool: &str) -> Self
Builder pattern for adding tool permissions
Sourcepub fn allow_role_resource(self, role: Role, resource: &str) -> Self
pub fn allow_role_resource(self, role: Role, resource: &str) -> Self
Builder pattern for adding resource permissions
Sourcepub fn deny_role_resource(self, role: Role, resource: &str) -> Self
pub fn deny_role_resource(self, role: Role, resource: &str) -> Self
Builder pattern for denying resource access
Trait Implementations§
Source§impl Clone for PermissionConfig
impl Clone for PermissionConfig
Source§fn clone(&self) -> PermissionConfig
fn clone(&self) -> PermissionConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for PermissionConfig
impl Debug for PermissionConfig
Source§impl Default for PermissionConfig
impl Default for PermissionConfig
Source§fn default() -> PermissionConfig
fn default() -> PermissionConfig
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for PermissionConfig
impl<'de> Deserialize<'de> for PermissionConfig
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for PermissionConfig
impl RefUnwindSafe for PermissionConfig
impl Send for PermissionConfig
impl Sync for PermissionConfig
impl Unpin for PermissionConfig
impl UnwindSafe for PermissionConfig
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
Mutably borrows from an owned value. Read more