Trait quilkin::filters::prelude::FilterFactory [−][src]
pub trait FilterFactory: Sync + Send {
fn name(&self) -> &'static str;
fn config_schema(&self) -> RootSchema;
fn create_filter(
&self,
args: CreateFilterArgs
) -> Result<FilterInstance, Error>;
fn require_config(
&self,
config: Option<ConfigType>
) -> Result<ConfigType, Error> { ... }
}
Expand description
Provides the name and creation function for a given Filter
.
Required methods
name returns the configuration name for the Filter
The returned string identifies the filter item’s path with the following format:
quilkin.filters.<module>.<version>.<item-name>
where:
v1alpha1
version of the debug filter has the name:
quilkin.filters.debug_filter.v1alpha1.Debug
fn config_schema(&self) -> RootSchema
fn config_schema(&self) -> RootSchema
Returns the schema for the configuration of the Filter
.
fn create_filter(&self, args: CreateFilterArgs) -> Result<FilterInstance, Error>
fn create_filter(&self, args: CreateFilterArgs) -> Result<FilterInstance, Error>
Returns a filter based on the provided arguments.
Provided methods
fn require_config(
&self,
config: Option<ConfigType>
) -> Result<ConfigType, Error>
fn require_config(
&self,
config: Option<ConfigType>
) -> Result<ConfigType, Error>
Returns the ConfigType
from the provided Option, otherwise it returns
Error::MissingConfig if the Option is None.