pub struct ComponentCapabilities {
pub wasi: Vec<String>,
pub filesystem: Vec<String>,
pub network: Vec<String>,
pub environment: Vec<String>,
pub resources: ComponentResources,
pub security: ComponentSecurity,
}Expand description
Runtime capabilities and environmental requirements of a component.
This struct enables least-privilege sandboxing: the executor grants only what is declared.
All fields are opt-in — an empty ComponentCapabilities means “no special needs”.
Fields§
§wasi: Vec<String>Required WASI preview2 interfaces (e.g., ["wasi:cli/stdio", "wasi:random"]).
filesystem: Vec<String>Filesystem paths the component needs to access (e.g., ["/logs", "/config"]).
Paths are virtualized; actual mapping is runtime-specific.
network: Vec<String>Network access patterns (e.g., ["tcp:localhost:8080", "udp:example.com:53"]).
Format is not yet standardized — currently treated as opaque strings.
environment: Vec<String>Required environment variables (e.g., ["DATABASE_URL", "DEBUG"]).
resources: ComponentResourcesCPU and memory resource limits.
security: ComponentSecuritySecurity and trusted execution requirements.
Trait Implementations§
Source§impl Clone for ComponentCapabilities
impl Clone for ComponentCapabilities
Source§fn clone(&self) -> ComponentCapabilities
fn clone(&self) -> ComponentCapabilities
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 ComponentCapabilities
impl Debug for ComponentCapabilities
Source§impl Default for ComponentCapabilities
impl Default for ComponentCapabilities
Source§fn default() -> ComponentCapabilities
fn default() -> ComponentCapabilities
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for ComponentCapabilities
impl<'de> Deserialize<'de> for ComponentCapabilities
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 ComponentCapabilities
impl PartialEq for ComponentCapabilities
Source§impl Serialize for ComponentCapabilities
impl Serialize for ComponentCapabilities
impl Eq for ComponentCapabilities
impl StructuralPartialEq for ComponentCapabilities
Auto Trait Implementations§
impl Freeze for ComponentCapabilities
impl RefUnwindSafe for ComponentCapabilities
impl Send for ComponentCapabilities
impl Sync for ComponentCapabilities
impl Unpin for ComponentCapabilities
impl UnwindSafe for ComponentCapabilities
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.