![JAR search and dependency download from the Maven repository](/logo.png)
com.google.cloud.genomics.dataflow.utils.GenomicsOptions Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of google-genomics-dataflow Show documentation
Show all versions of google-genomics-dataflow Show documentation
Google Genomics Dataflow pipelines.
/*
* Copyright (C) 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/
package com.google.cloud.genomics.dataflow.utils;
import java.util.Scanner;
import com.google.cloud.dataflow.sdk.options.Default;
import com.google.cloud.dataflow.sdk.options.Description;
import com.google.cloud.dataflow.sdk.options.GcsOptions;
import com.google.cloud.dataflow.sdk.runners.DirectPipelineRunner;
import com.google.cloud.genomics.utils.OfflineAuth;
/**
* Contains pipeline options relevant to the creation of Genomics API clients.
*/
public interface GenomicsOptions extends GcsOptions {
public static class Methods {
public static OfflineAuth getGenomicsAuth(GenomicsOptions options) {
if (DirectPipelineRunner.class != options.getRunner()
&& null != options.getSecretsFile()
&& options.getWarnUserCredential()) {
System.out.println("\nThis pipeline will run on GCE VMs and your user credential will"
+ " be used by all Dataflow worker instances. Your credentials may be visible to"
+ " others with access to the VMs.");
System.out.println("Do you want to continue (Y/n)?");
Scanner kbd = new Scanner(System.in);
String decision;
decision = kbd.nextLine();
switch(decision) {
case "yes": case "Yes": case "YES": case "y": case "Y":
break;
default:
System.exit(0);
}
}
if (null != options.getSecretsFile()) {
// User credential will be available on all Dataflow workers.
return new OfflineAuth(options.getGcpCredential());
}
// This "empty" OfflineAuth will default to the Application
// Default Credential available from whereever it is
// accessed (e.g., locally or on GCE).
return new OfflineAuth();
}
}
@Description("Set this option to 'false' to disable the yes/no prompt when running"
+ " the pipeline with a user credential.")
@Default.Boolean(true)
boolean getWarnUserCredential();
void setWarnUserCredential(boolean warnUserCredential);
@Description("Specifies number of results to return in a single page of results. "
+ "If unspecified, the default page size for the Genomics API is used.")
@Default.Integer(0)
int getPageSize();
void setPageSize(int pageSize);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy