Currently, DataflowPipelineOptions.stagingLocation default to tempLocation. And, it requires tempLocation to be a gcs path.
Another case is BigQueryIO uses tempLocation and also requires it to be on gcs.
So, users cannot set tempLocation to a non-gcs path with DataflowRunner or BigQueryIO.
However, tempLocation could be on any file system. For example, WordCount defaults to output to tempLocation.
The proposal is to add gcpTempLocation. And, it defaults to tempLocation if tempLocation is a gcs path.
StagingLocation and BigQueryIO will use gcpTempLocation by default.