pub trait ChaosPlugin: Send + Sync {
// Required methods
fn metadata(&self) -> &PluginMetadata;
fn capabilities(&self) -> Vec<PluginCapability>;
fn initialize<'life0, 'async_trait>(
&'life0 mut self,
config: PluginConfig,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn execute<'life0, 'async_trait>(
&'life0 self,
context: PluginContext,
) -> Pin<Box<dyn Future<Output = Result<PluginResult>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn cleanup<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
// Provided methods
fn validate_config(&self, config: &PluginConfig) -> Result<()> { ... }
fn config_schema(&self) -> Option<JsonValue> { ... }
}Expand description
Chaos plugin trait
Required Methods§
Sourcefn metadata(&self) -> &PluginMetadata
fn metadata(&self) -> &PluginMetadata
Get plugin metadata
Sourcefn capabilities(&self) -> Vec<PluginCapability>
fn capabilities(&self) -> Vec<PluginCapability>
Get plugin capabilities
Sourcefn initialize<'life0, 'async_trait>(
&'life0 mut self,
config: PluginConfig,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn initialize<'life0, 'async_trait>(
&'life0 mut self,
config: PluginConfig,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Initialize plugin with configuration
Sourcefn execute<'life0, 'async_trait>(
&'life0 self,
context: PluginContext,
) -> Pin<Box<dyn Future<Output = Result<PluginResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn execute<'life0, 'async_trait>(
&'life0 self,
context: PluginContext,
) -> Pin<Box<dyn Future<Output = Result<PluginResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Execute plugin action
Provided Methods§
Sourcefn validate_config(&self, config: &PluginConfig) -> Result<()>
fn validate_config(&self, config: &PluginConfig) -> Result<()>
Validate configuration
Sourcefn config_schema(&self) -> Option<JsonValue>
fn config_schema(&self) -> Option<JsonValue>
Get configuration schema (JSON Schema)