@@ -92,6 +92,84 @@ WorkflowHandle<TWorkflow> GetWorkflowHandle<TWorkflow>(
92
92
WorkflowHandle < TWorkflow , TResult > GetWorkflowHandle < TWorkflow , TResult > (
93
93
string id , string ? runId = null , string ? firstExecutionRunId = null ) ;
94
94
95
+ /// <summary>
96
+ /// Start an update via a call to a WorkflowUpdate attributed method, possibly starting the
97
+ /// workflow at the same time. Note that in some cases this call may fail but the workflow
98
+ /// will still be started.
99
+ /// </summary>
100
+ /// <typeparam name="TWorkflow">Workflow class type.</typeparam>
101
+ /// <param name="updateCall">Invocation of workflow update method.</param>
102
+ /// <param name="options">Update options. Currently <c>WaitForStage</c> is required.</param>
103
+ /// <returns>Workflow update handle.</returns>
104
+ /// <exception cref="ArgumentException">Invalid run call or options.</exception>
105
+ /// <exception cref="Exceptions.WorkflowAlreadyStartedException">
106
+ /// Workflow was already started according to ID reuse and conflict policy.
107
+ /// </exception>
108
+ /// <exception cref="Exceptions.RpcException">Server-side error.</exception>
109
+ /// <remarks>WARNING: Workflow update with start is experimental and APIs may change.
110
+ /// </remarks>
111
+ Task < WorkflowUpdateHandle > StartUpdateWithStartWorkflowAsync < TWorkflow > (
112
+ Expression < Func < TWorkflow , Task > > updateCall ,
113
+ WorkflowStartUpdateWithStartOptions options ) ;
114
+
115
+ /// <summary>
116
+ /// Start an update via a call to a WorkflowUpdate attributed method, possibly starting the
117
+ /// workflow at the same time. Note that in some cases this call may fail but the workflow
118
+ /// will still be started.
119
+ /// </summary>
120
+ /// <typeparam name="TWorkflow">Workflow class type.</typeparam>
121
+ /// <typeparam name="TUpdateResult">Update result type.</typeparam>
122
+ /// <param name="updateCall">Invocation of workflow update method.</param>
123
+ /// <param name="options">Update options. Currently <c>WaitForStage</c> is required.</param>
124
+ /// <returns>Workflow update handle.</returns>
125
+ /// <exception cref="ArgumentException">Invalid run call or options.</exception>
126
+ /// <exception cref="Exceptions.WorkflowAlreadyStartedException">
127
+ /// Workflow was already started according to ID reuse and conflict policy.
128
+ /// </exception>
129
+ /// <exception cref="Exceptions.RpcException">Server-side error.</exception>
130
+ /// <remarks>WARNING: Workflow update with start is experimental and APIs may change.
131
+ /// </remarks>
132
+ Task < WorkflowUpdateHandle < TUpdateResult > > StartUpdateWithStartWorkflowAsync < TWorkflow , TUpdateResult > (
133
+ Expression < Func < TWorkflow , Task < TUpdateResult > > > updateCall ,
134
+ WorkflowStartUpdateWithStartOptions options ) ;
135
+
136
+ /// <summary>
137
+ /// Start an update using its name, possibly starting the workflow at the same time. Note
138
+ /// that in some cases this call may fail but the workflow will still be started.
139
+ /// </summary>
140
+ /// <param name="update">Name of the update.</param>
141
+ /// <param name="args">Arguments for the update.</param>
142
+ /// <param name="options">Update options. Currently <c>WaitForStage</c> is required.</param>
143
+ /// <returns>Workflow update handle.</returns>
144
+ /// <exception cref="ArgumentException">Invalid run call or options.</exception>
145
+ /// <exception cref="Exceptions.WorkflowAlreadyStartedException">
146
+ /// Workflow was already started according to ID reuse and conflict policy.
147
+ /// </exception>
148
+ /// <exception cref="Exceptions.RpcException">Server-side error.</exception>
149
+ /// <remarks>WARNING: Workflow update with start is experimental and APIs may change.
150
+ /// </remarks>
151
+ Task < WorkflowUpdateHandle > StartUpdateWithStartWorkflowAsync (
152
+ string update , IReadOnlyCollection < object ? > args , WorkflowStartUpdateWithStartOptions options ) ;
153
+
154
+ /// <summary>
155
+ /// Start an update using its name, possibly starting the workflow at the same time. Note
156
+ /// that in some cases this call may fail but the workflow will still be started.
157
+ /// </summary>
158
+ /// <typeparam name="TUpdateResult">Update result type.</typeparam>
159
+ /// <param name="update">Name of the update.</param>
160
+ /// <param name="args">Arguments for the update.</param>
161
+ /// <param name="options">Update options. Currently <c>WaitForStage</c> is required.</param>
162
+ /// <returns>Workflow update handle.</returns>
163
+ /// <exception cref="ArgumentException">Invalid run call or options.</exception>
164
+ /// <exception cref="Exceptions.WorkflowAlreadyStartedException">
165
+ /// Workflow was already started according to ID reuse and conflict policy.
166
+ /// </exception>
167
+ /// <exception cref="Exceptions.RpcException">Server-side error.</exception>
168
+ /// <remarks>WARNING: Workflow update with start is experimental and APIs may change.
169
+ /// </remarks>
170
+ Task < WorkflowUpdateHandle < TUpdateResult > > StartUpdateWithStartWorkflowAsync < TUpdateResult > (
171
+ string update , IReadOnlyCollection < object ? > args , WorkflowStartUpdateWithStartOptions options ) ;
172
+
95
173
#if NETCOREAPP3_0_OR_GREATER
96
174
/// <summary>
97
175
/// List workflows with the given query.
0 commit comments