Class WorkflowsClient (2.2.1)

public class WorkflowsClient implements BackgroundResource

Service Description: Workflows is used to deploy and execute workflow programs. Workflows makes sure the program executes reliably, despite hardware and networking interruptions.

This class provides the ability to make remote calls to the backing service through method calls that map to API methods. Sample code to get started:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (WorkflowsClient workflowsClient = WorkflowsClient.create()) {
   WorkflowName name = WorkflowName.of("[PROJECT]", "[LOCATION]", "[WORKFLOW]");
   Workflow response = workflowsClient.getWorkflow(name);
 }
 

Note: close() needs to be called on the WorkflowsClient object to clean up resources such as threads. In the example above, try-with-resources is used, which automatically calls close().

The surface of this class includes several types of Java methods for each of the API's methods:

  1. A "flattened" method. With this type of method, the fields of the request type have been converted into function parameters. It may be the case that not all fields are available as parameters, and not every API method will have a flattened method entry point.
  2. A "request object" method. This type of method only takes one parameter, a request object, which must be constructed before the call. Not every API method will have a request object method.
  3. A "callable" method. This type of method takes no parameters and returns an immutable API callable object, which can be used to initiate calls to the service.

See the individual methods for example code.

Many parameters require resource names to be formatted in a particular way. To assist with these names, this class includes a format method for each type of name, and additionally a parse method to extract the individual identifiers contained within names that are returned.

This class can be customized by passing in a custom instance of WorkflowsSettings to create(). For example:

To customize credentials:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 WorkflowsSettings workflowsSettings =
     WorkflowsSettings.newBuilder()
         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
         .build();
 WorkflowsClient workflowsClient = WorkflowsClient.create(workflowsSettings);
 

To customize the endpoint:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 WorkflowsSettings workflowsSettings =
     WorkflowsSettings.newBuilder().setEndpoint(myEndpoint).build();
 WorkflowsClient workflowsClient = WorkflowsClient.create(workflowsSettings);
 

Please refer to the GitHub repository's samples for more quickstart code snippets.

Inheritance

java.lang.Object > WorkflowsClient

Implements

BackgroundResource

Static Methods

create()

public static final WorkflowsClient create()

Constructs an instance of WorkflowsClient with default settings.

Returns
TypeDescription
WorkflowsClient
Exceptions
TypeDescription
IOException

create(WorkflowsSettings settings)

public static final WorkflowsClient create(WorkflowsSettings settings)

Constructs an instance of WorkflowsClient, using the given settings. The channels are created based on the settings passed in, or defaults for any settings that are not set.

Parameter
NameDescription
settingsWorkflowsSettings
Returns
TypeDescription
WorkflowsClient
Exceptions
TypeDescription
IOException

create(WorkflowsStub stub)

public static final WorkflowsClient create(WorkflowsStub stub)

Constructs an instance of WorkflowsClient, using the given stub for making calls. This is for advanced usage - prefer using create(WorkflowsSettings).

Parameter
NameDescription
stubWorkflowsStub
Returns
TypeDescription
WorkflowsClient

Constructors

WorkflowsClient(WorkflowsSettings settings)

protected WorkflowsClient(WorkflowsSettings settings)

Constructs an instance of WorkflowsClient, using the given settings. This is protected so that it is easy to make a subclass, but otherwise, the static factory methods should be preferred.

Parameter
NameDescription
settingsWorkflowsSettings

WorkflowsClient(WorkflowsStub stub)

protected WorkflowsClient(WorkflowsStub stub)
Parameter
NameDescription
stubWorkflowsStub

Methods

awaitTermination(long duration, TimeUnit unit)

public boolean awaitTermination(long duration, TimeUnit unit)
Parameters
NameDescription
durationlong
unitTimeUnit
Returns
TypeDescription
boolean
Exceptions
TypeDescription
InterruptedException

close()

public final void close()

createWorkflowAsync(CreateWorkflowRequest request)

public final OperationFuture<Workflow,OperationMetadata> createWorkflowAsync(CreateWorkflowRequest request)

Creates a new workflow. If a workflow with the specified name already exists in the specified project and location, the long running operation will return ALREADY_EXISTS error.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (WorkflowsClient workflowsClient = WorkflowsClient.create()) {
   CreateWorkflowRequest request =
       CreateWorkflowRequest.newBuilder()
           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
           .setWorkflow(Workflow.newBuilder().build())
           .setWorkflowId("workflowId-360387270")
           .build();
   Workflow response = workflowsClient.createWorkflowAsync(request).get();
 }
 
Parameter
NameDescription
requestCreateWorkflowRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
OperationFuture<Workflow,OperationMetadata>

createWorkflowAsync(LocationName parent, Workflow workflow, String workflowId)

public final OperationFuture<Workflow,OperationMetadata> createWorkflowAsync(LocationName parent, Workflow workflow, String workflowId)

Creates a new workflow. If a workflow with the specified name already exists in the specified project and location, the long running operation will return ALREADY_EXISTS error.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (WorkflowsClient workflowsClient = WorkflowsClient.create()) {
   LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
   Workflow workflow = Workflow.newBuilder().build();
   String workflowId = "workflowId-360387270";
   Workflow response = workflowsClient.createWorkflowAsync(parent, workflow, workflowId).get();
 }
 
Parameters
NameDescription
parentLocationName

Required. Project and location in which the workflow should be created. Format: projects/{project}/locations/{location}

workflowWorkflow

Required. Workflow to be created.

workflowIdString

Required. The ID of the workflow to be created. It has to fulfill the following requirements:

  • Must contain only letters, numbers, underscores and hyphens.
  • Must start with a letter.
  • Must be between 1-64 characters.
  • Must end with a number or a letter.
  • Must be unique within the customer project and location.

Returns
TypeDescription
OperationFuture<Workflow,OperationMetadata>

createWorkflowAsync(String parent, Workflow workflow, String workflowId)

public final OperationFuture<Workflow,OperationMetadata> createWorkflowAsync(String parent, Workflow workflow, String workflowId)

Creates a new workflow. If a workflow with the specified name already exists in the specified project and location, the long running operation will return ALREADY_EXISTS error.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (WorkflowsClient workflowsClient = WorkflowsClient.create()) {
   String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString();
   Workflow workflow = Workflow.newBuilder().build();
   String workflowId = "workflowId-360387270";
   Workflow response = workflowsClient.createWorkflowAsync(parent, workflow, workflowId).get();
 }
 
Parameters
NameDescription
parentString

Required. Project and location in which the workflow should be created. Format: projects/{project}/locations/{location}

workflowWorkflow

Required. Workflow to be created.

workflowIdString

Required. The ID of the workflow to be created. It has to fulfill the following requirements:

  • Must contain only letters, numbers, underscores and hyphens.
  • Must start with a letter.
  • Must be between 1-64 characters.
  • Must end with a number or a letter.
  • Must be unique within the customer project and location.

Returns
TypeDescription
OperationFuture<Workflow,OperationMetadata>

createWorkflowCallable()

public final UnaryCallable<CreateWorkflowRequest,Operation> createWorkflowCallable()

Creates a new workflow. If a workflow with the specified name already exists in the specified project and location, the long running operation will return ALREADY_EXISTS error.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (WorkflowsClient workflowsClient = WorkflowsClient.create()) {
   CreateWorkflowRequest request =
       CreateWorkflowRequest.newBuilder()
           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
           .setWorkflow(Workflow.newBuilder().build())
           .setWorkflowId("workflowId-360387270")
           .build();
   ApiFuture<Operation> future = workflowsClient.createWorkflowCallable().futureCall(request);
   // Do something.
   Operation response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<CreateWorkflowRequest,Operation>

createWorkflowOperationCallable()

public final OperationCallable<CreateWorkflowRequest,Workflow,OperationMetadata> createWorkflowOperationCallable()

Creates a new workflow. If a workflow with the specified name already exists in the specified project and location, the long running operation will return ALREADY_EXISTS error.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (WorkflowsClient workflowsClient = WorkflowsClient.create()) {
   CreateWorkflowRequest request =
       CreateWorkflowRequest.newBuilder()
           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
           .setWorkflow(Workflow.newBuilder().build())
           .setWorkflowId("workflowId-360387270")
           .build();
   OperationFuture<Workflow, OperationMetadata> future =
       workflowsClient.createWorkflowOperationCallable().futureCall(request);
   // Do something.
   Workflow response = future.get();
 }
 
Returns
TypeDescription
OperationCallable<CreateWorkflowRequest,Workflow,OperationMetadata>

deleteWorkflowAsync(DeleteWorkflowRequest request)

public final OperationFuture<Empty,OperationMetadata> deleteWorkflowAsync(DeleteWorkflowRequest request)

Deletes a workflow with the specified name. This method also cancels and deletes all running executions of the workflow.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (WorkflowsClient workflowsClient = WorkflowsClient.create()) {
   DeleteWorkflowRequest request =
       DeleteWorkflowRequest.newBuilder()
           .setName(WorkflowName.of("[PROJECT]", "[LOCATION]", "[WORKFLOW]").toString())
           .build();
   workflowsClient.deleteWorkflowAsync(request).get();
 }
 
Parameter
NameDescription
requestDeleteWorkflowRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
OperationFuture<Empty,OperationMetadata>

deleteWorkflowAsync(WorkflowName name)

public final OperationFuture<Empty,OperationMetadata> deleteWorkflowAsync(WorkflowName name)

Deletes a workflow with the specified name. This method also cancels and deletes all running executions of the workflow.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (WorkflowsClient workflowsClient = WorkflowsClient.create()) {
   WorkflowName name = WorkflowName.of("[PROJECT]", "[LOCATION]", "[WORKFLOW]");
   workflowsClient.deleteWorkflowAsync(name).get();
 }
 
Parameter
NameDescription
nameWorkflowName

Required. Name of the workflow to be deleted. Format: projects/{project}/locations/{location}/workflows/{workflow}

Returns
TypeDescription
OperationFuture<Empty,OperationMetadata>

deleteWorkflowAsync(String name)

public final OperationFuture<Empty,OperationMetadata> deleteWorkflowAsync(String name)

Deletes a workflow with the specified name. This method also cancels and deletes all running executions of the workflow.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (WorkflowsClient workflowsClient = WorkflowsClient.create()) {
   String name = WorkflowName.of("[PROJECT]", "[LOCATION]", "[WORKFLOW]").toString();
   workflowsClient.deleteWorkflowAsync(name).get();
 }
 
Parameter
NameDescription
nameString

Required. Name of the workflow to be deleted. Format: projects/{project}/locations/{location}/workflows/{workflow}

Returns
TypeDescription
OperationFuture<Empty,OperationMetadata>

deleteWorkflowCallable()

public final UnaryCallable<DeleteWorkflowRequest,Operation> deleteWorkflowCallable()

Deletes a workflow with the specified name. This method also cancels and deletes all running executions of the workflow.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (WorkflowsClient workflowsClient = WorkflowsClient.create()) {
   DeleteWorkflowRequest request =
       DeleteWorkflowRequest.newBuilder()
           .setName(WorkflowName.of("[PROJECT]", "[LOCATION]", "[WORKFLOW]").toString())
           .build();
   ApiFuture<Operation> future = workflowsClient.deleteWorkflowCallable().futureCall(request);
   // Do something.
   future.get();
 }
 
Returns
TypeDescription
UnaryCallable<DeleteWorkflowRequest,Operation>

deleteWorkflowOperationCallable()

public final OperationCallable<DeleteWorkflowRequest,Empty,OperationMetadata> deleteWorkflowOperationCallable()

Deletes a workflow with the specified name. This method also cancels and deletes all running executions of the workflow.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (WorkflowsClient workflowsClient = WorkflowsClient.create()) {
   DeleteWorkflowRequest request =
       DeleteWorkflowRequest.newBuilder()
           .setName(WorkflowName.of("[PROJECT]", "[LOCATION]", "[WORKFLOW]").toString())
           .build();
   OperationFuture<Empty, OperationMetadata> future =
       workflowsClient.deleteWorkflowOperationCallable().futureCall(request);
   // Do something.
   future.get();
 }
 
Returns
TypeDescription
OperationCallable<DeleteWorkflowRequest,Empty,OperationMetadata>

getOperationsClient()

public final OperationsClient getOperationsClient()

Returns the OperationsClient that can be used to query the status of a long-running operation returned by another API method call.

Returns
TypeDescription
OperationsClient

getSettings()

public final WorkflowsSettings getSettings()
Returns
TypeDescription
WorkflowsSettings

getStub()

public WorkflowsStub getStub()
Returns
TypeDescription
WorkflowsStub

getWorkflow(GetWorkflowRequest request)

public final Workflow getWorkflow(GetWorkflowRequest request)

Gets details of a single Workflow.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (WorkflowsClient workflowsClient = WorkflowsClient.create()) {
   GetWorkflowRequest request =
       GetWorkflowRequest.newBuilder()
           .setName(WorkflowName.of("[PROJECT]", "[LOCATION]", "[WORKFLOW]").toString())
           .build();
   Workflow response = workflowsClient.getWorkflow(request);
 }
 
Parameter
NameDescription
requestGetWorkflowRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
Workflow

getWorkflow(WorkflowName name)

public final Workflow getWorkflow(WorkflowName name)

Gets details of a single Workflow.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (WorkflowsClient workflowsClient = WorkflowsClient.create()) {
   WorkflowName name = WorkflowName.of("[PROJECT]", "[LOCATION]", "[WORKFLOW]");
   Workflow response = workflowsClient.getWorkflow(name);
 }
 
Parameter
NameDescription
nameWorkflowName

Required. Name of the workflow which information should be retrieved. Format: projects/{project}/locations/{location}/workflows/{workflow}

Returns
TypeDescription
Workflow

getWorkflow(String name)

public final Workflow getWorkflow(String name)

Gets details of a single Workflow.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (WorkflowsClient workflowsClient = WorkflowsClient.create()) {
   String name = WorkflowName.of("[PROJECT]", "[LOCATION]", "[WORKFLOW]").toString();
   Workflow response = workflowsClient.getWorkflow(name);
 }
 
Parameter
NameDescription
nameString

Required. Name of the workflow which information should be retrieved. Format: projects/{project}/locations/{location}/workflows/{workflow}

Returns
TypeDescription
Workflow

getWorkflowCallable()

public final UnaryCallable<GetWorkflowRequest,Workflow> getWorkflowCallable()

Gets details of a single Workflow.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (WorkflowsClient workflowsClient = WorkflowsClient.create()) {
   GetWorkflowRequest request =
       GetWorkflowRequest.newBuilder()
           .setName(WorkflowName.of("[PROJECT]", "[LOCATION]", "[WORKFLOW]").toString())
           .build();
   ApiFuture<Workflow> future = workflowsClient.getWorkflowCallable().futureCall(request);
   // Do something.
   Workflow response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<GetWorkflowRequest,Workflow>

isShutdown()

public boolean isShutdown()
Returns
TypeDescription
boolean

isTerminated()

public boolean isTerminated()
Returns
TypeDescription
boolean

listWorkflows(ListWorkflowsRequest request)

public final WorkflowsClient.ListWorkflowsPagedResponse listWorkflows(ListWorkflowsRequest request)

Lists Workflows in a given project and location. The default order is not specified.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (WorkflowsClient workflowsClient = WorkflowsClient.create()) {
   ListWorkflowsRequest request =
       ListWorkflowsRequest.newBuilder()
           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .setFilter("filter-1274492040")
           .setOrderBy("orderBy-1207110587")
           .build();
   for (Workflow element : workflowsClient.listWorkflows(request).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
NameDescription
requestListWorkflowsRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
WorkflowsClient.ListWorkflowsPagedResponse

listWorkflows(LocationName parent)

public final WorkflowsClient.ListWorkflowsPagedResponse listWorkflows(LocationName parent)

Lists Workflows in a given project and location. The default order is not specified.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (WorkflowsClient workflowsClient = WorkflowsClient.create()) {
   LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
   for (Workflow element : workflowsClient.listWorkflows(parent).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
NameDescription
parentLocationName

Required. Project and location from which the workflows should be listed. Format: projects/{project}/locations/{location}

Returns
TypeDescription
WorkflowsClient.ListWorkflowsPagedResponse

listWorkflows(String parent)

public final WorkflowsClient.ListWorkflowsPagedResponse listWorkflows(String parent)

Lists Workflows in a given project and location. The default order is not specified.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (WorkflowsClient workflowsClient = WorkflowsClient.create()) {
   String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString();
   for (Workflow element : workflowsClient.listWorkflows(parent).iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Parameter
NameDescription
parentString

Required. Project and location from which the workflows should be listed. Format: projects/{project}/locations/{location}

Returns
TypeDescription
WorkflowsClient.ListWorkflowsPagedResponse

listWorkflowsCallable()

public final UnaryCallable<ListWorkflowsRequest,ListWorkflowsResponse> listWorkflowsCallable()

Lists Workflows in a given project and location. The default order is not specified.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (WorkflowsClient workflowsClient = WorkflowsClient.create()) {
   ListWorkflowsRequest request =
       ListWorkflowsRequest.newBuilder()
           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .setFilter("filter-1274492040")
           .setOrderBy("orderBy-1207110587")
           .build();
   while (true) {
     ListWorkflowsResponse response = workflowsClient.listWorkflowsCallable().call(request);
     for (Workflow element : response.getResponsesList()) {
       // doThingsWith(element);
     }
     String nextPageToken = response.getNextPageToken();
     if (!Strings.isNullOrEmpty(nextPageToken)) {
       request = request.toBuilder().setPageToken(nextPageToken).build();
     } else {
       break;
     }
   }
 }
 
Returns
TypeDescription
UnaryCallable<ListWorkflowsRequest,ListWorkflowsResponse>

listWorkflowsPagedCallable()

public final UnaryCallable<ListWorkflowsRequest,WorkflowsClient.ListWorkflowsPagedResponse> listWorkflowsPagedCallable()

Lists Workflows in a given project and location. The default order is not specified.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (WorkflowsClient workflowsClient = WorkflowsClient.create()) {
   ListWorkflowsRequest request =
       ListWorkflowsRequest.newBuilder()
           .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
           .setPageSize(883849137)
           .setPageToken("pageToken873572522")
           .setFilter("filter-1274492040")
           .setOrderBy("orderBy-1207110587")
           .build();
   ApiFuture<Workflow> future = workflowsClient.listWorkflowsPagedCallable().futureCall(request);
   // Do something.
   for (Workflow element : future.get().iterateAll()) {
     // doThingsWith(element);
   }
 }
 
Returns
TypeDescription
UnaryCallable<ListWorkflowsRequest,ListWorkflowsPagedResponse>

shutdown()

public void shutdown()

shutdownNow()

public void shutdownNow()

updateWorkflowAsync(UpdateWorkflowRequest request)

public final OperationFuture<Workflow,OperationMetadata> updateWorkflowAsync(UpdateWorkflowRequest request)

Updates an existing workflow. Running this method has no impact on already running executions of the workflow. A new revision of the workflow may be created as a result of a successful update operation. In that case, such revision will be used in new workflow executions.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (WorkflowsClient workflowsClient = WorkflowsClient.create()) {
   UpdateWorkflowRequest request =
       UpdateWorkflowRequest.newBuilder()
           .setWorkflow(Workflow.newBuilder().build())
           .setUpdateMask(FieldMask.newBuilder().build())
           .build();
   Workflow response = workflowsClient.updateWorkflowAsync(request).get();
 }
 
Parameter
NameDescription
requestUpdateWorkflowRequest

The request object containing all of the parameters for the API call.

Returns
TypeDescription
OperationFuture<Workflow,OperationMetadata>

updateWorkflowAsync(Workflow workflow, FieldMask updateMask)

public final OperationFuture<Workflow,OperationMetadata> updateWorkflowAsync(Workflow workflow, FieldMask updateMask)

Updates an existing workflow. Running this method has no impact on already running executions of the workflow. A new revision of the workflow may be created as a result of a successful update operation. In that case, such revision will be used in new workflow executions.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (WorkflowsClient workflowsClient = WorkflowsClient.create()) {
   Workflow workflow = Workflow.newBuilder().build();
   FieldMask updateMask = FieldMask.newBuilder().build();
   Workflow response = workflowsClient.updateWorkflowAsync(workflow, updateMask).get();
 }
 
Parameters
NameDescription
workflowWorkflow

Required. Workflow to be updated.

updateMaskFieldMask

List of fields to be updated. If not present, the entire workflow will be updated.

Returns
TypeDescription
OperationFuture<Workflow,OperationMetadata>

updateWorkflowCallable()

public final UnaryCallable<UpdateWorkflowRequest,Operation> updateWorkflowCallable()

Updates an existing workflow. Running this method has no impact on already running executions of the workflow. A new revision of the workflow may be created as a result of a successful update operation. In that case, such revision will be used in new workflow executions.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (WorkflowsClient workflowsClient = WorkflowsClient.create()) {
   UpdateWorkflowRequest request =
       UpdateWorkflowRequest.newBuilder()
           .setWorkflow(Workflow.newBuilder().build())
           .setUpdateMask(FieldMask.newBuilder().build())
           .build();
   ApiFuture<Operation> future = workflowsClient.updateWorkflowCallable().futureCall(request);
   // Do something.
   Operation response = future.get();
 }
 
Returns
TypeDescription
UnaryCallable<UpdateWorkflowRequest,Operation>

updateWorkflowOperationCallable()

public final OperationCallable<UpdateWorkflowRequest,Workflow,OperationMetadata> updateWorkflowOperationCallable()

Updates an existing workflow. Running this method has no impact on already running executions of the workflow. A new revision of the workflow may be created as a result of a successful update operation. In that case, such revision will be used in new workflow executions.

Sample code:


 // This snippet has been automatically generated for illustrative purposes only.
 // It may require modifications to work in your environment.
 try (WorkflowsClient workflowsClient = WorkflowsClient.create()) {
   UpdateWorkflowRequest request =
       UpdateWorkflowRequest.newBuilder()
           .setWorkflow(Workflow.newBuilder().build())
           .setUpdateMask(FieldMask.newBuilder().build())
           .build();
   OperationFuture<Workflow, OperationMetadata> future =
       workflowsClient.updateWorkflowOperationCallable().futureCall(request);
   // Do something.
   Workflow response = future.get();
 }
 
Returns
TypeDescription
OperationCallable<UpdateWorkflowRequest,Workflow,OperationMetadata>