pub enum O2mRequest {
GetPolicies(HashSet<Resource>),
SetPolicy {
resource: Resource,
policy: Policy,
},
SetConfidentiality {
resource: Resource,
confidentiality: ConfidentialityPolicy,
},
SetIntegrity {
resource: Resource,
integrity: u32,
},
SetDeleted(Resource),
SetConsent(Resource),
GetReferences(Resource),
}
Expand description
Operator-to-Middleware (O2M) request types.
Administrative requests from external operators, compliance officers, and organizations for policy management and provenance analysis. These operations typically require elevated privileges and are used for governance and audit purposes.
Variants§
GetPolicies(HashSet<Resource>)
Retrieve current compliance policies for a set of resources.
Enables operators to audit current policy configurations and verify compliance with organizational or regulatory requirements.
SetPolicy
Set a complete compliance policy for a specific resource.
Replaces the existing policy with a new configuration that defines confidentiality, integrity, and access control requirements.
Fields
SetConfidentiality
Set confidentiality requirements for a specific resource.
Updates only the confidentiality aspects of the resource’s policy, leaving other policy components unchanged.
Fields
confidentiality: ConfidentialityPolicy
New confidentiality policy requirements
SetIntegrity
Set integrity level requirements for a specific resource.
Updates the minimum integrity level required for data flows involving this resource, typically on a scale from 0 (lowest) to higher values.
Fields
SetDeleted(Resource)
Mark a resource as deleted for compliance and audit purposes.
Indicates that the resource has been removed from the system while preserving its historical provenance for audit trails.
SetConsent(Resource)
Grant consent for data processing operations on a resource.
Sets the consent flag to allow data flows and processing operations that require explicit permission, typically for privacy compliance.
GetReferences(Resource)
Retrieve the complete provenance lineage for a resource.
Returns all upstream resources and middleware nodes that have contributed data to the specified resource, enabling full traceability analysis.
Trait Implementations§
Source§impl<P, C> Service<O2mRequest> for O2mApiService<P, C>where
P: Service<ProvenanceRequest, Response = ProvenanceResponse, Error = TraceabilityError> + Clone + Send + NodeId + 'static,
P::Future: Send,
C: Service<ComplianceRequest, Response = ComplianceResponse, Error = TraceabilityError> + Clone + Send + 'static,
C::Future: Send,
impl<P, C> Service<O2mRequest> for O2mApiService<P, C>where
P: Service<ProvenanceRequest, Response = ProvenanceResponse, Error = TraceabilityError> + Clone + Send + NodeId + 'static,
P::Future: Send,
C: Service<ComplianceRequest, Response = ComplianceResponse, Error = TraceabilityError> + Clone + Send + 'static,
C::Future: Send,
Source§type Response = O2mResponse
type Response = O2mResponse
Source§type Error = TraceabilityError
type Error = TraceabilityError
Source§type Future = Pin<Box<dyn Future<Output = Result<<O2mApiService<P, C> as Service<O2mRequest>>::Response, <O2mApiService<P, C> as Service<O2mRequest>>::Error>> + Send>>
type Future = Pin<Box<dyn Future<Output = Result<<O2mApiService<P, C> as Service<O2mRequest>>::Response, <O2mApiService<P, C> as Service<O2mRequest>>::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: O2mRequest) -> Self::Future
fn call(&mut self, request: O2mRequest) -> Self::Future
Auto Trait Implementations§
impl Freeze for O2mRequest
impl RefUnwindSafe for O2mRequest
impl Send for O2mRequest
impl Sync for O2mRequest
impl Unpin for O2mRequest
impl UnwindSafe for O2mRequest
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
§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
].