Zum Hauptinhalt springen

ExecutePipelineOptions

Namespace: Meshmakers.Octo.Sdk.Common.Services

Options for executing a pipeline

public class ExecutePipelineOptions

Inheritance Object → ExecutePipelineOptions

Properties​

TransactionStartedDateTime​

Gets or sets the date and time when the transaction started

public DateTime TransactionStartedDateTime { get; }

Property Value​

DateTime

ExternalReceivedDateTime​

Gets or sets the date and time when the transaction started

public Nullable<DateTime> ExternalReceivedDateTime { get; set; }

Property Value​

Nullable<DateTime>

TriggerType​

Gets or sets the trigger type that initiated this execution

public PipelineTriggerType TriggerType { get; set; }

Property Value​

PipelineTriggerType

InputData​

Gets or sets optional input data for debugging (will be truncated if too long)

public string InputData { get; set; }

Property Value​

String

IsDryRun​

When true, the orchestrator runs the pipeline with IPipelineExecutionMode.IsDryRun=true so retrofitted Load nodes suppress their real sink and record a "would-have-written" intent on the debug stream (M4-B.2). Default false preserves classic semantics.

public bool IsDryRun { get; set; }

Property Value​

Boolean

VerifiedPrincipal​

Gets or sets the authenticated caller of the trigger, verified by the trigger's own authorization (AB#4975). Null for anonymous and internal triggers.

public VerifiedPrincipal VerifiedPrincipal { get; set; }

Property Value​

VerifiedPrincipal

CallerAccessToken​

Gets or sets the raw access token the caller presented to the trigger, for nodes that have to act as the caller against another service — the delegation ("on-behalf-of") grant needs it as subject_token (AB#5026 / AB#5031). Null for anonymous and internal triggers, and for triggers that do not carry a credential.

public string CallerAccessToken { get; set; }

Property Value​

String

Remarks:

Deliberately NOT on . That record is a slim, token-free value object precisely because the trigger writes a projection of it into the pipeline data root, which is echoed back in the HTTP response, persistable by SetPipelineExecutionResult@1 and visible in the Studio debug panel. Putting a bearer token on it would leak the caller's credential into every one of those places.

Deliberately NOT in the data context either, for the same reason, and deliberately not in IEtlContext.Properties: that dictionary is the pipeline registration's own dictionary and is therefore shared across all runs of the pipeline — one user's token would still be sitting there for the next user's request. This property is a per-execution side channel: it travels from the trigger to the ETL context of exactly this execution and nowhere else.

CallerTrust​

Gets or sets the effective trust of the verified caller (AB#5126) — the min(enrollment, message) the trigger's directory resolution produced, or CallerTrustLevel.None for an anonymous / unresolved sender. Carried onto the ETL context so a node can demand a minimum before it acts as the caller.

public CallerTrustLevel CallerTrust { get; set; }

Property Value​

CallerTrustLevel

Constructors​

ExecutePipelineOptions(DateTime)​

Options for executing a pipeline

public ExecutePipelineOptions(DateTime transactionStartedDateTime)

Parameters​

transactionStartedDateTime DateTime