pub struct ProviderCall {Show 13 fields
pub provider: String,
pub action: String,
pub params: Value,
pub principal: ProviderPrincipal,
pub auth_mode: ProviderAuthMode,
pub surface: ProviderSurface,
pub destructive_confirmed: bool,
pub limits: ProviderRequestLimits,
pub snapshot_id: String,
pub request_id: String,
pub traceparent: Option<String>,
pub tracestate: Option<String>,
pub progress: ProviderProgressReporter,
}Expand description
A fully-resolved provider action invocation, carrying auth, scope, surface, and limit context alongside the action and its parameters.
Fields§
§provider: StringTarget provider name.
action: StringAction to invoke on the provider.
params: ValueAction parameters as JSON.
principal: ProviderPrincipalAuthenticated caller.
auth_mode: ProviderAuthModeAuthentication mode governing scope enforcement.
surface: ProviderSurfaceSurface the call arrived on.
destructive_confirmed: boolWhether the caller confirmed a destructive action.
limits: ProviderRequestLimitsByte-size limits applied to this call.
snapshot_id: StringRegistry snapshot id this call is bound to.
request_id: StringStable request identity propagated into isolated provider runtimes.
traceparent: Option<String>Optional distributed trace parent propagated after authentication.
tracestate: Option<String>Optional distributed trace state propagated after authentication.
progress: ProviderProgressReporterInvocation-scoped progress collector shared with provider adapters.
Implementations§
Source§impl ProviderCall
impl ProviderCall
Sourcepub fn provider_invocation(&self) -> ProviderInvocation
pub fn provider_invocation(&self) -> ProviderInvocation
Strips this call down to the product-neutral core invocation shape.
Sourcepub fn provider_invocation_with_progress(
&self,
progress: ProviderProgressReporter,
) -> ProviderInvocation
pub fn provider_invocation_with_progress( &self, progress: ProviderProgressReporter, ) -> ProviderInvocation
Builds the core invocation with a host-owned progress collector.
Sourcepub fn execution_envelope(&self) -> ProviderExecutionEnvelope
pub fn execution_envelope(&self) -> ProviderExecutionEnvelope
Builds the serializable execution envelope describing this call.
Trait Implementations§
Source§impl Clone for ProviderCall
impl Clone for ProviderCall
Source§fn clone(&self) -> ProviderCall
fn clone(&self) -> ProviderCall
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for ProviderCall
impl RefUnwindSafe for ProviderCall
impl Send for ProviderCall
impl Sync for ProviderCall
impl Unpin for ProviderCall
impl UnsafeUnpin for ProviderCall
impl UnwindSafe for ProviderCall
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