@@ -46,6 +46,36 @@ import (
46
46
"go.temporal.io/sdk/internal/common/metrics"
47
47
)
48
48
49
+ // DeploymentReachability specifies which category of tasks may reach a worker
50
+ // associated with a deployment, simplifying safe decommission.
51
+ // NOTE: Experimental
52
+ type DeploymentReachability = internal.DeploymentReachability
53
+
54
+ const (
55
+ // DeploymentReachabilityUnspecified - Reachability level not specified.
56
+ // NOTE: Experimental
57
+ DeploymentReachabilityUnspecified = internal .DeploymentReachabilityUnspecified
58
+
59
+ // DeploymentReachabilityReachable - The deployment is reachable by new
60
+ // and/or open workflows. The deployment cannot be decommissioned safely.
61
+ // NOTE: Experimental
62
+ DeploymentReachabilityReachable = internal .DeploymentReachabilityReachable
63
+
64
+ // DeploymentReachabilityClosedWorkflows - The deployment is not reachable
65
+ // by new or open workflows, but might be still needed by
66
+ // Queries sent to closed workflows. The deployment can be decommissioned
67
+ // safely if user does not query closed workflows.
68
+ // NOTE: Experimental
69
+ DeploymentReachabilityClosedWorkflows = internal .DeploymentReachabilityClosedWorkflows
70
+
71
+ // DeploymentReachabilityUnreachable - The deployment is not reachable by
72
+ // any workflow because all the workflows who needed this
73
+ // deployment are out of the retention period. The deployment can be
74
+ // decommissioned safely.
75
+ // NOTE: Experimental
76
+ DeploymentReachabilityUnreachable = internal .DeploymentReachabilityUnreachable
77
+ )
78
+
49
79
// TaskReachability specifies which category of tasks may reach a worker on a versioned task queue.
50
80
// Used both in a reachability query and its response.
51
81
//
@@ -273,6 +303,97 @@ type (
273
303
// NOTE: Experimental
274
304
UpdateWithStartWorkflowOptions = internal.UpdateWithStartWorkflowOptions
275
305
306
+ // Deployment identifies a set of workers. This identifier combines
307
+ // the deployment series name with their Build ID.
308
+ // NOTE: Experimental
309
+ Deployment = internal.Deployment
310
+
311
+ // DeploymentTaskQueueInfo describes properties of the Task Queues involved
312
+ // in a deployment.
313
+ // NOTE: Experimental
314
+ DeploymentTaskQueueInfo = internal.DeploymentTaskQueueInfo
315
+
316
+ // DeploymentInfo holds information associated with
317
+ // workers in this deployment.
318
+ // Workers can poll multiple task queues in a single deployment,
319
+ // which are listed in this message.
320
+ // NOTE: Experimental
321
+ DeploymentInfo = internal.DeploymentInfo
322
+
323
+ // DeploymentListEntry is a subset of fields from DeploymentInfo.
324
+ // NOTE: Experimental
325
+ DeploymentListEntry = internal.DeploymentListEntry
326
+
327
+ // DeploymentListIterator is an iterator for deployments.
328
+ // NOTE: Experimental
329
+ DeploymentListIterator = internal.DeploymentListIterator
330
+
331
+ // DeploymentListOptions are the parameters for configuring listing deployments.
332
+ // NOTE: Experimental
333
+ DeploymentListOptions = internal.DeploymentListOptions
334
+
335
+ // DeploymentReachabilityInfo extends DeploymentInfo with reachability information.
336
+ // NOTE: Experimental
337
+ DeploymentReachabilityInfo = internal.DeploymentReachabilityInfo
338
+
339
+ // DeploymentMetadataUpdate modifies user-defined metadata entries that describe
340
+ // a deployment.
341
+ // NOTE: Experimental
342
+ DeploymentMetadataUpdate = internal.DeploymentMetadataUpdate
343
+
344
+ // DeploymentDescribeOptions provides options for [DeploymentClient.Describe].
345
+ // NOTE: Experimental
346
+ DeploymentDescribeOptions = internal.DeploymentDescribeOptions
347
+
348
+ // DeploymentDescription is the response type for [DeploymentClient.Describe].
349
+ // NOTE: Experimental
350
+ DeploymentDescription = internal.DeploymentDescription
351
+
352
+ // DeploymentGetReachabilityOptions provides options for [DeploymentClient.GetReachability].
353
+ // NOTE: Experimental
354
+ DeploymentGetReachabilityOptions = internal.DeploymentGetReachabilityOptions
355
+
356
+ // DeploymentGetCurrentOptions provides options for [DeploymentClient.GetCurrent].
357
+ // NOTE: Experimental
358
+ DeploymentGetCurrentOptions = internal.DeploymentGetCurrentOptions
359
+
360
+ // DeploymentGetCurrentResponse is the response type for [DeploymentClient.GetCurrent].
361
+ // NOTE: Experimental
362
+ DeploymentGetCurrentResponse = internal.DeploymentGetCurrentResponse
363
+
364
+ // DeploymentSetCurrentOptions provides options for [DeploymentClient.SetCurrent].
365
+ // NOTE: Experimental
366
+ DeploymentSetCurrentOptions = internal.DeploymentSetCurrentOptions
367
+
368
+ // DeploymentSetCurrentResponse is the response type for [DeploymentClient.SetCurrent].
369
+ // NOTE: Experimental
370
+ DeploymentSetCurrentResponse = internal.DeploymentSetCurrentResponse
371
+
372
+ // DeploymentClient is the server interface to manage deployments.
373
+ // NOTE: Experimental
374
+ DeploymentClient = internal.DeploymentClient
375
+
376
+ // UpdateWorkflowExecutionOptionsRequest is a request for [Client.UpdateWorkflowExecutionOptions].
377
+ // NOTE: Experimental
378
+ UpdateWorkflowExecutionOptionsRequest = internal.UpdateWorkflowExecutionOptionsRequest
379
+
380
+ // WorkflowExecutionOptions contains a set of properties of an existing workflow
381
+ // that can be overriden using [UpdateWorkflowExecutionOptions].
382
+ // NOTE: Experimental
383
+ WorkflowExecutionOptions = internal.WorkflowExecutionOptions
384
+
385
+ // WorkflowExecutionOptionsChanges describes changes to [WorkflowExecutionOptions]
386
+ // in the [UpdateWorkflowExecutionOptions] API.
387
+ // NOTE: Experimental
388
+ WorkflowExecutionOptionsChanges = internal.WorkflowExecutionOptionsChanges
389
+
390
+ // VersioningOverride is a property in [WorkflowExecutionOptions] that changes the versioning
391
+ // configuration of a specific workflow execution.
392
+ // If set, it takes precedence over the Versioning Behavior provided with workflow type registration, or
393
+ // default worker options.
394
+ // NOTE: Experimental
395
+ VersioningOverride = internal.VersioningOverride
396
+
276
397
// WorkflowUpdateHandle represents a running or completed workflow
277
398
// execution update and gives the holder access to the outcome of the same.
278
399
WorkflowUpdateHandle = internal.WorkflowUpdateHandle
@@ -837,6 +958,13 @@ type (
837
958
// - WorkflowUpdateServiceTimeoutOrCanceledError
838
959
UpdateWorkflow (ctx context.Context , options UpdateWorkflowOptions ) (WorkflowUpdateHandle , error )
839
960
961
+ // UpdateWorkflowExecutionOptions partially overrides the [WorkflowExecutionOptions] of an existing workflow execution
962
+ // and returns the new [WorkflowExecutionOptions] after applying the changes.
963
+ // It is intended for building tools that can selectively apply ad-hoc workflow configuration changes.
964
+ // Use [DescribeWorkflowExecution] to get similar information without modifying options.
965
+ // NOTE: Experimental
966
+ UpdateWorkflowExecutionOptions (ctx context.Context , options UpdateWorkflowExecutionOptionsRequest ) (WorkflowExecutionOptions , error )
967
+
840
968
// UpdateWithStartWorkflow issues an update-with-start request. A
841
969
// WorkflowIDConflictPolicy must be set in the options. If the specified
842
970
// workflow execution is not running, then a new workflow execution is
@@ -867,6 +995,10 @@ type (
867
995
// Schedule creates a new shedule client with the same gRPC connection as this client.
868
996
ScheduleClient () ScheduleClient
869
997
998
+ // DeploymentClient create a new deployment client with the same gRPC connection as this client.
999
+ // NOTE: Experimental
1000
+ DeploymentClient () DeploymentClient
1001
+
870
1002
// Close client and clean up underlying resources.
871
1003
//
872
1004
// If this client was created via NewClientFromExisting or this client has
0 commit comments