From ee24df2830b1d880428f487081c0ea92b0ca0ca1 Mon Sep 17 00:00:00 2001 From: Paul Grey Date: Wed, 12 Apr 2023 23:44:41 -0400 Subject: [PATCH] NIFI-11439 Added Storage API URL property to GCS Processors - Included Host Header override with Storage API URL based on Google Private Service Connect documentation This closes #7172 Signed-off-by: David Handermann --- .../gcp/storage/AbstractGCSProcessor.java | 25 ++++++++++++++++++- .../gcp/storage/AbstractGCSTest.java | 19 ++++++++++++++ 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/nifi-nar-bundles/nifi-gcp-bundle/nifi-gcp-processors/src/main/java/org/apache/nifi/processors/gcp/storage/AbstractGCSProcessor.java b/nifi-nar-bundles/nifi-gcp-bundle/nifi-gcp-processors/src/main/java/org/apache/nifi/processors/gcp/storage/AbstractGCSProcessor.java index 439a2be8ba..bbfaa7e966 100644 --- a/nifi-nar-bundles/nifi-gcp-bundle/nifi-gcp-processors/src/main/java/org/apache/nifi/processors/gcp/storage/AbstractGCSProcessor.java +++ b/nifi-nar-bundles/nifi-gcp-bundle/nifi-gcp-processors/src/main/java/org/apache/nifi/processors/gcp/storage/AbstractGCSProcessor.java @@ -17,18 +17,22 @@ package org.apache.nifi.processors.gcp.storage; import com.google.api.gax.retrying.RetrySettings; +import com.google.api.gax.rpc.FixedHeaderProvider; import com.google.auth.oauth2.GoogleCredentials; import com.google.cloud.BaseServiceException; import com.google.cloud.storage.Storage; import com.google.cloud.storage.StorageOptions; +import com.google.common.collect.ImmutableMap; import org.apache.nifi.components.ConfigVerificationResult; import org.apache.nifi.components.PropertyDescriptor; import org.apache.nifi.components.ValidationContext; import org.apache.nifi.components.ValidationResult; +import org.apache.nifi.expression.ExpressionLanguageScope; import org.apache.nifi.logging.ComponentLog; import org.apache.nifi.processor.ProcessContext; import org.apache.nifi.processor.Relationship; import org.apache.nifi.processor.VerifiableProcessor; +import org.apache.nifi.processor.util.StandardValidators; import org.apache.nifi.processors.gcp.AbstractGCPProcessor; import org.apache.nifi.processors.gcp.ProxyAwareTransportFactory; import org.apache.nifi.proxy.ProxyConfiguration; @@ -65,9 +69,21 @@ public abstract class AbstractGCSProcessor extends AbstractGCPProcessor getSupportedPropertyDescriptors() { - return Collections.unmodifiableList(super.getSupportedPropertyDescriptors()); + final List propertyDescriptors = new ArrayList<>(super.getSupportedPropertyDescriptors()); + propertyDescriptors.add(STORAGE_API_URL); + return Collections.unmodifiableList(propertyDescriptors); } @Override @@ -129,6 +145,7 @@ public abstract class AbstractGCSProcessor extends AbstractGCPProcessor