pub struct PermissionRequest {
pub id: String,
pub target: GrantTarget,
pub required_level: PermissionLevel,
pub description: String,
pub reason: Option<String>,
pub tool_name: Option<String>,
}Expand description
A request for permission to perform an operation.
Permission requests are generated by tools when they need access to resources. The request specifies:
- What target is being accessed
- What level of access is needed
- A human-readable description of the operation
Fields§
§id: StringUnique identifier for this request.
target: GrantTargetThe target being accessed.
required_level: PermissionLevelThe required permission level.
description: StringHuman-readable description of the operation.
reason: Option<String>Optional reason explaining why this access is needed.
tool_name: Option<String>The tool that generated this request.
Implementations§
Source§impl PermissionRequest
impl PermissionRequest
Sourcepub fn new(
id: impl Into<String>,
target: GrantTarget,
required_level: PermissionLevel,
description: impl Into<String>,
) -> PermissionRequest
pub fn new( id: impl Into<String>, target: GrantTarget, required_level: PermissionLevel, description: impl Into<String>, ) -> PermissionRequest
Creates a new permission request.
Sourcepub fn with_reason(self, reason: impl Into<String>) -> PermissionRequest
pub fn with_reason(self, reason: impl Into<String>) -> PermissionRequest
Sets the reason for this request.
Sourcepub fn with_tool(self, tool_name: impl Into<String>) -> PermissionRequest
pub fn with_tool(self, tool_name: impl Into<String>) -> PermissionRequest
Sets the tool name for this request.
Sourcepub fn file_read(
id: impl Into<String>,
path: impl Into<PathBuf>,
) -> PermissionRequest
pub fn file_read( id: impl Into<String>, path: impl Into<PathBuf>, ) -> PermissionRequest
Creates a file read request.
Sourcepub fn file_write(
id: impl Into<String>,
path: impl Into<PathBuf>,
) -> PermissionRequest
pub fn file_write( id: impl Into<String>, path: impl Into<PathBuf>, ) -> PermissionRequest
Creates a file write request.
Sourcepub fn directory_read(
id: impl Into<String>,
path: impl Into<PathBuf>,
recursive: bool,
) -> PermissionRequest
pub fn directory_read( id: impl Into<String>, path: impl Into<PathBuf>, recursive: bool, ) -> PermissionRequest
Creates a directory read request.
Sourcepub fn command_execute(
id: impl Into<String>,
command: impl Into<String>,
) -> PermissionRequest
pub fn command_execute( id: impl Into<String>, command: impl Into<String>, ) -> PermissionRequest
Creates a command execution request.
Sourcepub fn network_access(
id: impl Into<String>,
domain: impl Into<String>,
level: PermissionLevel,
) -> PermissionRequest
pub fn network_access( id: impl Into<String>, domain: impl Into<String>, level: PermissionLevel, ) -> PermissionRequest
Creates a network request.
Trait Implementations§
Source§impl Clone for PermissionRequest
impl Clone for PermissionRequest
Source§fn clone(&self) -> PermissionRequest
fn clone(&self) -> PermissionRequest
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 PermissionRequest
impl Debug for PermissionRequest
Source§impl<'de> Deserialize<'de> for PermissionRequest
impl<'de> Deserialize<'de> for PermissionRequest
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<PermissionRequest, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<PermissionRequest, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for PermissionRequest
impl Display for PermissionRequest
Source§impl PartialEq for PermissionRequest
impl PartialEq for PermissionRequest
Source§impl Serialize for PermissionRequest
impl Serialize for PermissionRequest
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl Eq for PermissionRequest
impl StructuralPartialEq for PermissionRequest
Auto Trait Implementations§
impl Freeze for PermissionRequest
impl RefUnwindSafe for PermissionRequest
impl Send for PermissionRequest
impl Sync for PermissionRequest
impl Unpin for PermissionRequest
impl UnwindSafe for PermissionRequest
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
Converts
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>
Converts
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 moreSource§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
Source§fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
Fallible version of
ToCompactString::to_compact_string() Read moreSource§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
Converts the given value to a
CompactString. Read moreSource§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
Source§fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
Fallible version of
ToCompactString::to_compact_string() Read moreSource§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
Converts the given value to a
CompactString. Read more