public final OperationFuture<Workflow, OperationMetadata> updateWorkflowAsync(
      Workflow workflow, FieldMask updateMask) {
    UpdateWorkflowRequest request =
        UpdateWorkflowRequest.newBuilder().setWorkflow(workflow).setUpdateMask(updateMask).build();
    return updateWorkflowAsync(request);
  }
Updates an existing workflow. Running this method has no impact on already running executions
of the workflow. A new revision of the workflow might be created as a result of a successful
update operation. In that case, the new revision is used in new workflow executions.

<p>Sample code:

<pre>{@code
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (WorkflowsClient workflowsClient = WorkflowsClient.create()) {
  Workflow workflow = Workflow.newBuilder().build();
  FieldMask updateMask = FieldMask.newBuilder().build();
  Workflow response = workflowsClient.updateWorkflowAsync(workflow, updateMask).get();
}
}</pre>

@param workflow Required. Workflow to be updated.
@param updateMask List of fields to be updated. If not present, the entire workflow will be
    updated.
@throws com.google.api.gax.rpc.ApiException if the remote call fails
java-workflows/google-cloud-workflows/src/main/java/com/google/cloud/workflows/v1/WorkflowsClient.java