pub enum ProvenanceRequest {
GetReferences(Resource),
UpdateProvenance {
source: Resource,
destination: Resource,
},
UpdateProvenanceRaw {
source_prov: HashMap<String, HashSet<Resource>>,
destination: Resource,
},
}
Expand description
Provenance service request types.
Internal API for the provenance service, which tracks data lineage and ancestry relationships across resources and operations. Maintains comprehensive audit trails for compliance and data governance purposes.
Variants§
GetReferences(Resource)
Retrieve the complete provenance lineage for a resource.
Returns all upstream resources and nodes that have contributed data to the specified resource, enabling full traceability analysis.
UpdateProvenance
Record a new data flow relationship between source and destination resources.
Updates the destination’s provenance to include the source resource, maintaining the complete lineage chain for audit and compliance purposes.
Fields
UpdateProvenanceRaw
Update destination provenance with pre-computed source lineage data.
Used for cross-node flows where source provenance has been collected from remote middleware instances and needs to be merged with local records.
Trait Implementations§
Source§impl Clone for ProvenanceRequest
impl Clone for ProvenanceRequest
Source§fn clone(&self) -> ProvenanceRequest
fn clone(&self) -> ProvenanceRequest
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for ProvenanceRequest
impl Debug for ProvenanceRequest
Source§impl Service<ProvenanceRequest> for ProvenanceService
impl Service<ProvenanceRequest> for ProvenanceService
Source§type Response = ProvenanceResponse
type Response = ProvenanceResponse
Source§type Error = TraceabilityError
type Error = TraceabilityError
Source§type Future = Pin<Box<dyn Future<Output = Result<<ProvenanceService as Service<ProvenanceRequest>>::Response, <ProvenanceService as Service<ProvenanceRequest>>::Error>> + Send>>
type Future = Pin<Box<dyn Future<Output = Result<<ProvenanceService as Service<ProvenanceRequest>>::Response, <ProvenanceService as Service<ProvenanceRequest>>::Error>> + Send>>
Source§fn poll_ready(&mut self, _: &mut Context<'_>) -> Poll<Result<(), Self::Error>>
fn poll_ready(&mut self, _: &mut Context<'_>) -> Poll<Result<(), Self::Error>>
Poll::Ready(Ok(()))
when the service is able to process requests. Read moreSource§fn call(&mut self, request: ProvenanceRequest) -> Self::Future
fn call(&mut self, request: ProvenanceRequest) -> Self::Future
Auto Trait Implementations§
impl Freeze for ProvenanceRequest
impl RefUnwindSafe for ProvenanceRequest
impl Send for ProvenanceRequest
impl Sync for ProvenanceRequest
impl Unpin for ProvenanceRequest
impl UnwindSafe for ProvenanceRequest
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request
§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered
].