Table of Contents

Class StartWorkflowExecutionRequest

Namespace
Temporalio.Api.WorkflowService.V1
Assembly
Temporalio.dll
public sealed class StartWorkflowExecutionRequest : IMessage<StartWorkflowExecutionRequest>, IEquatable<StartWorkflowExecutionRequest>, IDeepCloneable<StartWorkflowExecutionRequest>, IBufferMessage, IMessage
Inheritance
StartWorkflowExecutionRequest
Implements
IBufferMessage
IMessage
Inherited Members

Constructors

StartWorkflowExecutionRequest()

public StartWorkflowExecutionRequest()

StartWorkflowExecutionRequest(StartWorkflowExecutionRequest)

public StartWorkflowExecutionRequest(StartWorkflowExecutionRequest other)

Parameters

other StartWorkflowExecutionRequest

Fields

CompletionCallbacksFieldNumber

Field number for the "completion_callbacks" field.

public const int CompletionCallbacksFieldNumber = 21

Field Value

int

ContinuedFailureFieldNumber

Field number for the "continued_failure" field.

public const int ContinuedFailureFieldNumber = 18

Field Value

int

CronScheduleFieldNumber

Field number for the "cron_schedule" field.

public const int CronScheduleFieldNumber = 13

Field Value

int

HeaderFieldNumber

Field number for the "header" field.

public const int HeaderFieldNumber = 16

Field Value

int

IdentityFieldNumber

Field number for the "identity" field.

public const int IdentityFieldNumber = 9

Field Value

int

InputFieldNumber

Field number for the "input" field.

public const int InputFieldNumber = 5

Field Value

int

LastCompletionResultFieldNumber

Field number for the "last_completion_result" field.

public const int LastCompletionResultFieldNumber = 19

Field Value

int

LinksFieldNumber

Field number for the "links" field.

public const int LinksFieldNumber = 24

Field Value

int

MemoFieldNumber

Field number for the "memo" field.

public const int MemoFieldNumber = 14

Field Value

int

NamespaceFieldNumber

Field number for the "namespace" field.

public const int NamespaceFieldNumber = 1

Field Value

int

RequestEagerExecutionFieldNumber

Field number for the "request_eager_execution" field.

public const int RequestEagerExecutionFieldNumber = 17

Field Value

int

RequestIdFieldNumber

Field number for the "request_id" field.

public const int RequestIdFieldNumber = 10

Field Value

int

RetryPolicyFieldNumber

Field number for the "retry_policy" field.

public const int RetryPolicyFieldNumber = 12

Field Value

int

SearchAttributesFieldNumber

Field number for the "search_attributes" field.

public const int SearchAttributesFieldNumber = 15

Field Value

int

TaskQueueFieldNumber

Field number for the "task_queue" field.

public const int TaskQueueFieldNumber = 4

Field Value

int

UserMetadataFieldNumber

Field number for the "user_metadata" field.

public const int UserMetadataFieldNumber = 23

Field Value

int

WorkflowExecutionTimeoutFieldNumber

Field number for the "workflow_execution_timeout" field.

public const int WorkflowExecutionTimeoutFieldNumber = 6

Field Value

int

WorkflowIdConflictPolicyFieldNumber

Field number for the "workflow_id_conflict_policy" field.

public const int WorkflowIdConflictPolicyFieldNumber = 22

Field Value

int

WorkflowIdFieldNumber

Field number for the "workflow_id" field.

public const int WorkflowIdFieldNumber = 2

Field Value

int

WorkflowIdReusePolicyFieldNumber

Field number for the "workflow_id_reuse_policy" field.

public const int WorkflowIdReusePolicyFieldNumber = 11

Field Value

int

WorkflowRunTimeoutFieldNumber

Field number for the "workflow_run_timeout" field.

public const int WorkflowRunTimeoutFieldNumber = 7

Field Value

int

WorkflowStartDelayFieldNumber

Field number for the "workflow_start_delay" field.

public const int WorkflowStartDelayFieldNumber = 20

Field Value

int

WorkflowTaskTimeoutFieldNumber

Field number for the "workflow_task_timeout" field.

public const int WorkflowTaskTimeoutFieldNumber = 8

Field Value

int

WorkflowTypeFieldNumber

Field number for the "workflow_type" field.

public const int WorkflowTypeFieldNumber = 3

Field Value

int

Properties

CompletionCallbacks

Callbacks to be called by the server when this workflow reaches a terminal state. If the workflow continues-as-new, these callbacks will be carried over to the new execution. Callback addresses must be whitelisted in the server's dynamic configuration.

public RepeatedField<Callback> CompletionCallbacks { get; }

Property Value

RepeatedField<Callback>

ContinuedFailure

These values will be available as ContinuedFailure and LastCompletionResult in the WorkflowExecutionStarted event and through SDKs. The are currently only used by the server itself (for the schedules feature) and are not intended to be exposed in StartWorkflowExecution.

public Failure ContinuedFailure { get; set; }

Property Value

Failure

CronSchedule

public string CronSchedule { get; set; }

Property Value

string

Descriptor

public static MessageDescriptor Descriptor { get; }

Property Value

MessageDescriptor

Header

public Header Header { get; set; }

Property Value

Header

Identity

The identity of the client who initiated this request

public string Identity { get; set; }

Property Value

string

Input

Serialized arguments to the workflow. These are passed as arguments to the workflow function.

public Payloads Input { get; set; }

Property Value

Payloads

LastCompletionResult

public Payloads LastCompletionResult { get; set; }

Property Value

Payloads

Links to be associated with the workflow.

public RepeatedField<Link> Links { get; }

Property Value

RepeatedField<Link>

Memo

public Memo Memo { get; set; }

Property Value

Memo

Namespace

public string Namespace { get; set; }

Property Value

string

Parser

public static MessageParser<StartWorkflowExecutionRequest> Parser { get; }

Property Value

MessageParser<StartWorkflowExecutionRequest>

RequestEagerExecution

Request to get the first workflow task inline in the response bypassing matching service and worker polling. If set to true the caller is expected to have a worker available and capable of processing the task. The returned task will be marked as started and is expected to be completed by the specified workflow_task_timeout.

public bool RequestEagerExecution { get; set; }

Property Value

bool

RequestId

A unique identifier for this start request. Typically UUIDv4.

public string RequestId { get; set; }

Property Value

string

RetryPolicy

The retry policy for the workflow. Will never exceed workflow_execution_timeout.

public RetryPolicy RetryPolicy { get; set; }

Property Value

RetryPolicy

SearchAttributes

public SearchAttributes SearchAttributes { get; set; }

Property Value

SearchAttributes

TaskQueue

public TaskQueue TaskQueue { get; set; }

Property Value

TaskQueue

UserMetadata

Metadata on the workflow if it is started. This is carried over to the WorkflowExecutionInfo for use by user interfaces to display the fixed as-of-start summary and details of the workflow.

public UserMetadata UserMetadata { get; set; }

Property Value

UserMetadata

WorkflowExecutionTimeout

Total workflow execution timeout including retries and continue as new.

public Duration WorkflowExecutionTimeout { get; set; }

Property Value

Duration

WorkflowId

public string WorkflowId { get; set; }

Property Value

string

WorkflowIdConflictPolicy

Defines how to resolve a workflow id conflict with a running workflow. The default policy is WORKFLOW_ID_CONFLICT_POLICY_FAIL.

See workflow_id_reuse_policy for handling a workflow id duplication with a closed workflow.

public WorkflowIdConflictPolicy WorkflowIdConflictPolicy { get; set; }

Property Value

WorkflowIdConflictPolicy

WorkflowIdReusePolicy

Defines whether to allow re-using the workflow id from a previously closed workflow. The default policy is WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE.

See workflow_id_conflict_policy for handling a workflow id duplication with a running workflow.

public WorkflowIdReusePolicy WorkflowIdReusePolicy { get; set; }

Property Value

WorkflowIdReusePolicy

WorkflowRunTimeout

Timeout of a single workflow run.

public Duration WorkflowRunTimeout { get; set; }

Property Value

Duration

WorkflowStartDelay

Time to wait before dispatching the first workflow task. Cannot be used with cron_schedule. If the workflow gets a signal before the delay, a workflow task will be dispatched and the rest of the delay will be ignored.

public Duration WorkflowStartDelay { get; set; }

Property Value

Duration

WorkflowTaskTimeout

Timeout of a single workflow task.

public Duration WorkflowTaskTimeout { get; set; }

Property Value

Duration

WorkflowType

public WorkflowType WorkflowType { get; set; }

Property Value

WorkflowType

Methods

CalculateSize()

Calculates the size of this message in Protocol Buffer wire format, in bytes.

public int CalculateSize()

Returns

int

The number of bytes required to write this message to a coded output stream.

Clone()

Creates a deep clone of this object.

public StartWorkflowExecutionRequest Clone()

Returns

StartWorkflowExecutionRequest

A deep clone of this object.

Equals(object)

Determines whether the specified object is equal to the current object.

public override bool Equals(object other)

Parameters

other object

Returns

bool

true if the specified object is equal to the current object; otherwise, false.

Equals(StartWorkflowExecutionRequest)

Indicates whether the current object is equal to another object of the same type.

public bool Equals(StartWorkflowExecutionRequest other)

Parameters

other StartWorkflowExecutionRequest

An object to compare with this object.

Returns

bool

true if the current object is equal to the other parameter; otherwise, false.

GetHashCode()

Serves as the default hash function.

public override int GetHashCode()

Returns

int

A hash code for the current object.

MergeFrom(CodedInputStream)

Merges the data from the specified coded input stream with the current message.

public void MergeFrom(CodedInputStream input)

Parameters

input CodedInputStream

Remarks

See the user guide for precise merge semantics.

MergeFrom(StartWorkflowExecutionRequest)

Merges the given message into this one.

public void MergeFrom(StartWorkflowExecutionRequest other)

Parameters

other StartWorkflowExecutionRequest

Remarks

See the user guide for precise merge semantics.

ToString()

Returns a string that represents the current object.

public override string ToString()

Returns

string

A string that represents the current object.

WriteTo(CodedOutputStream)

Writes the data to the given coded output stream.

public void WriteTo(CodedOutputStream output)

Parameters

output CodedOutputStream

Coded output stream to write the data to. Must not be null.