vector_config/component/
marker.rs

1/// An API component.
2pub struct ApiComponent;
3/// An enrichment table component.
4pub struct EnrichmentTableComponent;
5
6// A global option component.
7pub struct GlobalOptionComponent;
8
9/// A provider component.
10pub struct ProviderComponent;
11
12/// A secrets component.
13pub struct SecretsComponent;
14
15/// A sink component.
16pub struct SinkComponent;
17
18/// A source component.
19pub struct SourceComponent;
20
21// A transform component.
22pub struct TransformComponent;
23
24// Marker trait representing a component.
25pub trait ComponentMarker: sealed::Sealed {}
26
27impl ComponentMarker for ApiComponent {}
28impl ComponentMarker for EnrichmentTableComponent {}
29impl ComponentMarker for GlobalOptionComponent {}
30impl ComponentMarker for ProviderComponent {}
31impl ComponentMarker for SecretsComponent {}
32impl ComponentMarker for SinkComponent {}
33impl ComponentMarker for SourceComponent {}
34impl ComponentMarker for TransformComponent {}
35
36mod sealed {
37    pub trait Sealed {}
38
39    impl Sealed for super::ApiComponent {}
40    impl Sealed for super::EnrichmentTableComponent {}
41    impl Sealed for super::GlobalOptionComponent {}
42    impl Sealed for super::ProviderComponent {}
43    impl Sealed for super::SecretsComponent {}
44    impl Sealed for super::SinkComponent {}
45    impl Sealed for super::SourceComponent {}
46    impl Sealed for super::TransformComponent {}
47}