Trait vector::config::SinkConfig

source ·
pub trait SinkConfig:
    DynClone
    + NamedComponent
    + Debug
    + Send
    + Sync
    + Serialize
    + Deserialize {
    // Required methods
    fn build<'life0, 'async_trait>(
        &'life0 self,
        cx: SinkContext,
    ) -> Pin<Box<dyn Future<Output = Result<(VectorSink, Healthcheck)>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn input(&self) -> Input;
    fn acknowledgements(&self) -> &AcknowledgementsConfig;

    // Provided method
    fn resources(&self) -> Vec<Resource> { ... }
}
Expand description

Generalized interface for describing and building sink components.

Required Methods§

source

fn build<'life0, 'async_trait>( &'life0 self, cx: SinkContext, ) -> Pin<Box<dyn Future<Output = Result<(VectorSink, Healthcheck)>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Builds the sink with the given context.

If the sink is built successfully, Ok(...) is returned containing the sink and the sink’s healthcheck.

§Errors

If an error occurs while building the sink, an error variant explaining the issue is returned.

source

fn input(&self) -> Input

Gets the input configuration for this sink.

source

fn acknowledgements(&self) -> &AcknowledgementsConfig

Gets the acknowledgements configuration for this sink.

Provided Methods§

source

fn resources(&self) -> Vec<Resource>

Gets the list of resources, if any, used by this sink.

Resources represent dependencies – network ports, file descriptors, and so on – that cannot be shared between components at runtime. This ensures that components can not be configured in a way that would deadlock the spawning of a topology, and as well, allows Vector to determine the correct order for rebuilding a topology during configuration reload when resources must first be reclaimed before being reassigned, and so on.

Trait Implementations§

source§

impl<'typetag> Serialize for dyn SinkConfig + 'typetag

source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<'typetag> Serialize for dyn SinkConfig + Send + 'typetag

source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<'typetag> Serialize for dyn SinkConfig + Send + Sync + 'typetag

source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<'typetag> Serialize for dyn SinkConfig + Sync + 'typetag

source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Serialize this value into the given Serde serializer. Read more

Implementors§

source§

impl SinkConfig for AmqpSinkConfig

source§

impl SinkConfig for CloudwatchLogsSinkConfig

source§

impl SinkConfig for CloudWatchMetricsSinkConfig

source§

impl SinkConfig for KinesisFirehoseSinkConfig

source§

impl SinkConfig for KinesisStreamsSinkConfig

source§

impl SinkConfig for S3SinkConfig

source§

impl SinkConfig for AxiomConfig

source§

impl SinkConfig for AzureBlobSinkConfig

source§

impl SinkConfig for AzureMonitorLogsConfig

source§

impl SinkConfig for BlackholeConfig

source§

impl SinkConfig for ClickhouseConfig

source§

impl SinkConfig for ConsoleSinkConfig

source§

impl SinkConfig for DatabendConfig

source§

impl SinkConfig for DatadogEventsConfig

source§

impl SinkConfig for DatadogLogsConfig

source§

impl SinkConfig for DatadogMetricsConfig

source§

impl SinkConfig for DatadogTracesConfig

source§

impl SinkConfig for ElasticsearchConfig

source§

impl SinkConfig for FileSinkConfig

source§

impl SinkConfig for GcsSinkConfig

source§

impl SinkConfig for PubsubConfig

source§

impl SinkConfig for ChronicleUnstructuredConfig

source§

impl SinkConfig for HttpSinkConfig

source§

impl SinkConfig for HumioLogsConfig

source§

impl SinkConfig for HumioMetricsConfig

source§

impl SinkConfig for InfluxDbLogsConfig

source§

impl SinkConfig for InfluxDbConfig

source§

impl SinkConfig for KafkaSinkConfig

source§

impl SinkConfig for LokiConfig

source§

impl SinkConfig for LogdnaConfig

source§

impl SinkConfig for MezmoConfig

source§

impl SinkConfig for MqttSinkConfig

source§

impl SinkConfig for OpenTelemetryConfig

source§

impl SinkConfig for PapertrailConfig

source§

impl SinkConfig for PrometheusExporterConfig

source§

impl SinkConfig for SematextLogsConfig

source§

impl SinkConfig for SematextMetricsConfig

source§

impl SinkConfig for SocketSinkConfig

source§

impl SinkConfig for HecLogsSinkConfig

source§

impl SinkConfig for HecMetricsSinkConfig

source§

impl SinkConfig for StatsdSinkConfig

source§

impl SinkConfig for VectorConfig

source§

impl SinkConfig for WebHdfsConfig

source§

impl SinkConfig for WebSocketSinkConfig

source§

impl SinkConfig for UnitTestSinkConfig

source§

impl SinkConfig for UnitTestStreamSinkConfig