#[derive(ConnectorConfig)]
{
// Attributes available to this derive:
#[config]
}
Expand description
Derive configuration parsing for connector config structs.
Generates from_config(), validate(), and config_keys() methods
to eliminate boilerplate in connector configuration parsing.
§Attributes
#[config(key = "...")]— specifies the config key name#[config(required)]— marks the field as required#[config(default = "...")]— provides a default value#[config(env = "...")]— reads from environment variable as fallback#[config(description = "...")]— documentation for the key#[config(duration_ms)]— parses the value asDurationfrom milliseconds
§Example
ⓘ
#[derive(ConnectorConfig)]
struct MyConfig {
#[config(key = "bootstrap.servers", required, description = "Kafka brokers")]
bootstrap_servers: String,
#[config(key = "batch.size", default = "1000")]
batch_size: usize,
#[config(key = "timeout.ms", default = "30000", duration_ms)]
timeout: std::time::Duration,
#[config(key = "api.key", env = "MY_API_KEY")]
api_key: Option<String>,
}
// Generated methods:
// - MyConfig::from_config(&ConnectorConfig) -> Result<Self, ConnectorError>
// - MyConfig::validate(&self) -> Result<(), ConnectorError>
// - MyConfig::config_keys() -> Vec<ConfigKeySpec>