pub struct PermissionUpdate {
pub type_: PermissionUpdateType,
pub rules: Option<Vec<PermissionRuleValue>>,
pub behavior: Option<PermissionBehavior>,
pub mode: Option<PermissionMode>,
pub directories: Option<Vec<String>>,
pub destination: Option<PermissionUpdateDestination>,
}Expand description
Configuration for updating permissions programmatically.
Used to modify permission rules, change modes, or manage directory access during a session.
§Fields
type_— The type of permission update operation.rules— Rules for add/replace/remove operations.behavior— Behavior for rule-based operations ("allow","deny","ask").mode— Mode forSetModeoperations.directories— Directories for add/remove directory operations.destination— Where to apply the permission update.
Fields§
§type_: PermissionUpdateTypeOperation type to apply.
rules: Option<Vec<PermissionRuleValue>>Rule set used by rule-based updates.
behavior: Option<PermissionBehavior>Behavior used by rule-based updates.
mode: Option<PermissionMode>Permission mode used by SetMode.
directories: Option<Vec<String>>Directory paths used by directory updates.
destination: Option<PermissionUpdateDestination>Where this update should be persisted/applied.
Implementations§
Source§impl PermissionUpdate
impl PermissionUpdate
Sourcepub fn to_cli_dict(&self) -> Value
pub fn to_cli_dict(&self) -> Value
Converts this permission update to a JSON value suitable for the CLI protocol.
§Example
use claude_code::{PermissionUpdate};
use claude_code::types::{PermissionBehavior, PermissionRuleValue, PermissionUpdateType};
let update = PermissionUpdate {
type_: PermissionUpdateType::AddRules,
rules: Some(vec![PermissionRuleValue {
tool_name: "Bash".to_string(),
rule_content: Some("git status".to_string()),
}]),
behavior: Some(PermissionBehavior::Allow),
mode: None,
directories: None,
destination: None,
};
let json = update.to_cli_dict();
assert_eq!(json["type"], "addRules");Trait Implementations§
Source§impl Clone for PermissionUpdate
impl Clone for PermissionUpdate
Source§fn clone(&self) -> PermissionUpdate
fn clone(&self) -> PermissionUpdate
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 PermissionUpdate
impl Debug for PermissionUpdate
Source§impl<'de> Deserialize<'de> for PermissionUpdate
impl<'de> Deserialize<'de> for PermissionUpdate
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
Source§impl PartialEq for PermissionUpdate
impl PartialEq for PermissionUpdate
Source§impl Serialize for PermissionUpdate
impl Serialize for PermissionUpdate
impl StructuralPartialEq for PermissionUpdate
Auto Trait Implementations§
impl Freeze for PermissionUpdate
impl RefUnwindSafe for PermissionUpdate
impl Send for PermissionUpdate
impl Sync for PermissionUpdate
impl Unpin for PermissionUpdate
impl UnsafeUnpin for PermissionUpdate
impl UnwindSafe for PermissionUpdate
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