#[non_exhaustive]pub enum Capability {
Show 18 variants
FsRead,
FsWrite,
FsExecute,
NetRequest,
NetListen,
ProcessExec,
EnvRead,
EnvWrite,
TimeRead,
Random,
StdinRead,
StdoutWrite,
StderrWrite,
Metrics,
Logging,
AsyncSpawn,
Crypto,
Serialize,
}Expand description
Individual capability that can be granted to scripts.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
FsRead
Read from the filesystem.
FsWrite
Write to the filesystem.
FsExecute
Execute filesystem operations (list, delete, etc.).
NetRequest
Make network requests.
NetListen
Listen on network ports.
ProcessExec
Execute system processes.
EnvRead
Access environment variables.
EnvWrite
Modify environment variables.
TimeRead
Access system time.
Random
Access random number generation.
StdinRead
Access to standard input.
StdoutWrite
Access to standard output.
StderrWrite
Access to standard error.
Metrics
Access to metrics/observability APIs.
Logging
Access to logging APIs.
AsyncSpawn
Ability to spawn async tasks.
Crypto
Access to cryptographic operations.
Serialize
Access to serialization (JSON, etc.).
Implementations§
Source§impl Capability
impl Capability
Sourcepub fn from_name(name: &str) -> Option<Capability>
pub fn from_name(name: &str) -> Option<Capability>
Parse a capability from a string name.
Sourcepub fn is_dangerous(&self) -> bool
pub fn is_dangerous(&self) -> bool
Returns true if this is a dangerous capability.
Sourcepub fn all() -> &'static [Capability]
pub fn all() -> &'static [Capability]
Get all available capabilities.
Trait Implementations§
Source§impl Clone for Capability
impl Clone for Capability
Source§fn clone(&self) -> Capability
fn clone(&self) -> Capability
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 Capability
impl Debug for Capability
Source§impl FromIterator<Capability> for Capabilities
impl FromIterator<Capability> for Capabilities
Source§fn from_iter<I>(iter: I) -> Capabilitieswhere
I: IntoIterator<Item = Capability>,
fn from_iter<I>(iter: I) -> Capabilitieswhere
I: IntoIterator<Item = Capability>,
Creates a value from an iterator. Read more
Source§impl Hash for Capability
impl Hash for Capability
Source§impl PartialEq for Capability
impl PartialEq for Capability
impl Copy for Capability
impl Eq for Capability
impl StructuralPartialEq for Capability
Auto Trait Implementations§
impl Freeze for Capability
impl RefUnwindSafe for Capability
impl Send for Capability
impl Sync for Capability
impl Unpin for Capability
impl UnwindSafe for Capability
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§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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.