This is an automated email from the ASF dual-hosted git repository. acosentino pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
commit 4c857be02d23da8066644e0fd5bd03aed94bf512 Author: Andrea Cosentino <anco...@gmail.com> AuthorDate: Tue Jan 19 08:09:35 2021 +0100 CAMEL-16054 - Camel-AWS2-Kinesis Firehose: Support endpoint override like we have for S3 --- .../firehose/KinesisFirehose2Configuration.java | 29 ++++++++++++++++++---- .../aws2/firehose/KinesisFirehose2Endpoint.java | 3 +++ 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/components/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Configuration.java b/components/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Configuration.java index c4ce939..e5f249f 100644 --- a/components/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Configuration.java +++ b/components/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Configuration.java @@ -40,8 +40,7 @@ public class KinesisFirehose2Configuration implements Cloneable { @UriParam(description = "Amazon Kinesis Firehose client to use for all requests for this endpoint") @Metadata(autowired = true) private FirehoseClient amazonKinesisFirehoseClient; - @UriParam(enums = "HTTP,HTTPS", defaultValue = "HTTPS", - description = "To define a proxy protocol when instantiating the Kinesis Firehose client") + @UriParam(enums = "HTTP,HTTPS", defaultValue = "HTTPS", description = "To define a proxy protocol when instantiating the Kinesis Firehose client") private Protocol proxyProtocol = Protocol.HTTPS; @UriParam(description = "To define a proxy host when instantiating the Kinesis Firehose client") private String proxyHost; @@ -51,9 +50,13 @@ public class KinesisFirehose2Configuration implements Cloneable { private KinesisFirehose2Operations operation; @UriParam(defaultValue = "false", description = "If we want to trust all certificates in case of overriding the endpoint") private boolean trustAllCertificates; - @UriParam(label = "common", defaultValue = "true", - description = "This option will set the CBOR_ENABLED property during the execution") + @UriParam(label = "common", defaultValue = "true", description = "This option will set the CBOR_ENABLED property during the execution") private boolean cborEnabled = true; + @UriParam(label = "common", defaultValue = "false", description = "Set the need for overidding the endpoint. This option needs to be used in combination with uriEndpointOverride" + + " option") + private boolean overrideEndpoint; + @UriParam(label = "common", description = "Set the overriding uri endpoint. This option needs to be used in combination with overrideEndpoint option") + private String uriEndpointOverride; public void setAmazonKinesisFirehoseClient(FirehoseClient client) { this.amazonKinesisFirehoseClient = client; @@ -142,6 +145,22 @@ public class KinesisFirehose2Configuration implements Cloneable { public void setCborEnabled(boolean cborEnabled) { this.cborEnabled = cborEnabled; } + + public boolean isOverrideEndpoint() { + return overrideEndpoint; + } + + public void setOverrideEndpoint(boolean overrideEndpoint) { + this.overrideEndpoint = overrideEndpoint; + } + + public String getUriEndpointOverride() { + return uriEndpointOverride; + } + + public void setUriEndpointOverride(String uriEndpointOverride) { + this.uriEndpointOverride = uriEndpointOverride; + } // ************************************************* // @@ -149,7 +168,7 @@ public class KinesisFirehose2Configuration implements Cloneable { public KinesisFirehose2Configuration copy() { try { - return (KinesisFirehose2Configuration) super.clone(); + return (KinesisFirehose2Configuration)super.clone(); } catch (CloneNotSupportedException e) { throw new RuntimeCamelException(e); } diff --git a/components/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Endpoint.java b/components/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Endpoint.java index 07545be..08bdef0 100644 --- a/components/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Endpoint.java +++ b/components/camel-aws2-kinesis/src/main/java/org/apache/camel/component/aws2/firehose/KinesisFirehose2Endpoint.java @@ -123,6 +123,9 @@ public class KinesisFirehose2Endpoint extends DefaultEndpoint { if (ObjectHelper.isNotEmpty(configuration.getRegion())) { clientBuilder = clientBuilder.region(Region.of(configuration.getRegion())); } + if (configuration.isOverrideEndpoint()) { + clientBuilder.endpointOverride(URI.create(configuration.getUriEndpointOverride())); + } if (configuration.isTrustAllCertificates()) { SdkHttpClient ahc = ApacheHttpClient.builder().buildWithDefaults(AttributeMap .builder()