/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You 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 org.apache.nifi.processors.gcp.credentials.factory; import org.apache.nifi.components.PropertyDescriptor; import org.apache.nifi.processor.util.StandardValidators; /** * Shared definitions of properties that specify various GCP credentials. */ public final class CredentialPropertyDescriptors { private CredentialPropertyDescriptors() {} /** * Specifies use of Application Default Credentials * * @see <a href="https://developers.google.com/identity/protocols/application-default-credentials"> * Google Application Default Credentials * </a> */ public static final PropertyDescriptor USE_APPLICATION_DEFAULT_CREDENTIALS = new PropertyDescriptor.Builder() .name("application-default-credentials") .displayName("Use Application Default Credentials") .expressionLanguageSupported(false) .required(false) .addValidator(StandardValidators.BOOLEAN_VALIDATOR) .sensitive(false) .allowableValues("true", "false") .defaultValue("false") .description("If true, uses Google Application Default Credentials, which checks the " + "GOOGLE_APPLICATION_CREDENTIALS environment variable for a filepath to a service account JSON " + "key, the config generated by the gcloud sdk, the App Engine service account, and the Compute" + " Engine service account.") .build(); public static final PropertyDescriptor USE_COMPUTE_ENGINE_CREDENTIALS = new PropertyDescriptor.Builder() .name("compute-engine-credentials") .displayName("Use Compute Engine Credentials") .expressionLanguageSupported(false) .required(false) .addValidator(StandardValidators.BOOLEAN_VALIDATOR) .sensitive(false) .allowableValues("true", "false") .defaultValue("false") .description("If true, uses Google Compute Engine Credentials of the Compute Engine VM Instance " + "which NiFi is running on.") .build(); /** * Specifies use of Service Account Credentials * * @see <a href="https://cloud.google.com/iam/docs/service-accounts"> * Google Service Accounts * </a> */ public static final PropertyDescriptor SERVICE_ACCOUNT_JSON_FILE = new PropertyDescriptor.Builder() .name("service-account-json-file") .displayName("Service Account JSON File") .expressionLanguageSupported(false) .required(false) .addValidator(StandardValidators.FILE_EXISTS_VALIDATOR) .description("Path to a file containing a Service Account key file in JSON format.") .build(); public static final PropertyDescriptor SERVICE_ACCOUNT_JSON = new PropertyDescriptor.Builder() .name("service-account-json") .displayName("Service Account JSON") .expressionLanguageSupported(true) .required(false) .addValidator(StandardValidators.NON_EMPTY_VALIDATOR) .description("The raw JSON containing a Service Account keyfile.") .sensitive(true) .build(); }