pub struct WorkspaceConfig {
pub root: PathBuf,
pub mode: WorkspaceMode,
pub escape_policy: EscapePolicy,
pub auto_allow: AutoAllowPaths,
pub never_allow: Vec<PathBuf>,
pub allow_create_outside: bool,
pub allow_delete_outside: bool,
}Expand description
Workspace configuration.
Fields§
§root: PathBufRoot directory of the workspace.
mode: WorkspaceModeOperating mode.
escape_policy: EscapePolicyPolicy for escape requests.
auto_allow: AutoAllowPathsPaths that are automatically allowed.
never_allow: Vec<PathBuf>Paths that are never allowed (even with approval).
allow_create_outside: boolWhether to allow creating files outside workspace.
allow_delete_outside: boolWhether to allow deleting files outside workspace.
Implementations§
Source§impl WorkspaceConfig
impl WorkspaceConfig
Sourcepub fn new(root: impl Into<PathBuf>) -> WorkspaceConfig
pub fn new(root: impl Into<PathBuf>) -> WorkspaceConfig
Create a new workspace configuration.
Sourcepub fn with_mode(self, mode: WorkspaceMode) -> WorkspaceConfig
pub fn with_mode(self, mode: WorkspaceMode) -> WorkspaceConfig
Set the operating mode.
Sourcepub fn with_escape_policy(self, policy: EscapePolicy) -> WorkspaceConfig
pub fn with_escape_policy(self, policy: EscapePolicy) -> WorkspaceConfig
Set the escape policy.
Sourcepub fn allow_read(self, path: impl Into<PathBuf>) -> WorkspaceConfig
pub fn allow_read(self, path: impl Into<PathBuf>) -> WorkspaceConfig
Add an auto-allowed read path.
Sourcepub fn allow_write(self, path: impl Into<PathBuf>) -> WorkspaceConfig
pub fn allow_write(self, path: impl Into<PathBuf>) -> WorkspaceConfig
Add an auto-allowed write path.
Sourcepub fn never_allow(self, path: impl Into<PathBuf>) -> WorkspaceConfig
pub fn never_allow(self, path: impl Into<PathBuf>) -> WorkspaceConfig
Add a never-allowed path.
Sourcepub fn is_in_workspace(&self, path: &Path) -> bool
pub fn is_in_workspace(&self, path: &Path) -> bool
Check if a path is in the workspace.
Trait Implementations§
Source§impl Clone for WorkspaceConfig
impl Clone for WorkspaceConfig
Source§fn clone(&self) -> WorkspaceConfig
fn clone(&self) -> WorkspaceConfig
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 WorkspaceConfig
impl Debug for WorkspaceConfig
Source§impl Default for WorkspaceConfig
impl Default for WorkspaceConfig
Source§fn default() -> WorkspaceConfig
fn default() -> WorkspaceConfig
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for WorkspaceConfig
impl<'de> Deserialize<'de> for WorkspaceConfig
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<WorkspaceConfig, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<WorkspaceConfig, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for WorkspaceConfig
impl Serialize for WorkspaceConfig
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
Auto Trait Implementations§
impl Freeze for WorkspaceConfig
impl RefUnwindSafe for WorkspaceConfig
impl Send for WorkspaceConfig
impl Sync for WorkspaceConfig
impl Unpin for WorkspaceConfig
impl UnsafeUnpin for WorkspaceConfig
impl UnwindSafe for WorkspaceConfig
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<T> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
Source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
Query the “status” flags for the
self file descriptor.Source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
Source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
Set the “status” flags for the
self file descriptor. Read moreSource§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 more