This is an automated email from the ASF dual-hosted git repository. acosentino pushed a commit to branch CAMEL-20798-AWS-complete in repository https://gitbox.apache.org/repos/asf/camel.git
commit b65f3f0dc3aff8362c1fc1542daa4249df101b64 Author: Andrea Cosentino <[email protected]> AuthorDate: Tue Jun 18 10:48:50 2024 +0200 CAMEL-20798: EndpointServiceLocation on components to make it possible to know which remote system Camel connects to to assist for monitoring and observability - AWS Timestream Signed-off-by: Andrea Cosentino <[email protected]> --- .../timestream/Timestream2AbstractEndpoint.java | 1 + .../timestream/query/Timestream2QueryEndpoint.java | 23 +++++++++++++++++++++- .../timestream/write/Timestream2WriteEndpoint.java | 20 ++++++++++++++++++- 3 files changed, 42 insertions(+), 2 deletions(-) diff --git a/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/Timestream2AbstractEndpoint.java b/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/Timestream2AbstractEndpoint.java index 5d3c2d4d039..4a694d33e24 100644 --- a/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/Timestream2AbstractEndpoint.java +++ b/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/Timestream2AbstractEndpoint.java @@ -17,6 +17,7 @@ package org.apache.camel.component.aws2.timestream; import org.apache.camel.*; +import org.apache.camel.spi.EndpointServiceLocation; import org.apache.camel.spi.UriEndpoint; import org.apache.camel.spi.UriParam; import org.apache.camel.support.DefaultEndpoint; diff --git a/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/query/Timestream2QueryEndpoint.java b/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/query/Timestream2QueryEndpoint.java index c31b15ef220..3e31af9e346 100644 --- a/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/query/Timestream2QueryEndpoint.java +++ b/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/query/Timestream2QueryEndpoint.java @@ -20,13 +20,17 @@ import org.apache.camel.*; import org.apache.camel.component.aws2.timestream.Timestream2AbstractEndpoint; import org.apache.camel.component.aws2.timestream.Timestream2Configuration; import org.apache.camel.component.aws2.timestream.client.Timestream2ClientFactory; +import org.apache.camel.spi.EndpointServiceLocation; import org.apache.camel.util.ObjectHelper; import software.amazon.awssdk.services.timestreamquery.TimestreamQueryClient; +import java.util.HashMap; +import java.util.Map; + /** * Manage and invoke AWS Timestream. */ -public class Timestream2QueryEndpoint extends Timestream2AbstractEndpoint { +public class Timestream2QueryEndpoint extends Timestream2AbstractEndpoint implements EndpointServiceLocation { /** AWS TimestreamQueryClient for TimestreamQuery Endpoint **/ private TimestreamQueryClient awsTimestreamQueryClient; @@ -68,4 +72,21 @@ public class Timestream2QueryEndpoint extends Timestream2AbstractEndpoint { return awsTimestreamQueryClient; } + @Override + public String getServiceUrl() { + if (!getConfiguration().isOverrideEndpoint()) { + if (ObjectHelper.isNotEmpty(getConfiguration().getRegion())) { + return getConfiguration().getRegion(); + } + } else if (ObjectHelper.isNotEmpty(getConfiguration().getUriEndpointOverride())) { + return getConfiguration().getUriEndpointOverride(); + } + return null; + } + + @Override + public String getServiceProtocol() { + return "timestream-query"; + } + } diff --git a/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/write/Timestream2WriteEndpoint.java b/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/write/Timestream2WriteEndpoint.java index 56e6482c04e..61f05fa6dc3 100644 --- a/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/write/Timestream2WriteEndpoint.java +++ b/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/write/Timestream2WriteEndpoint.java @@ -20,6 +20,7 @@ import org.apache.camel.*; import org.apache.camel.component.aws2.timestream.Timestream2AbstractEndpoint; import org.apache.camel.component.aws2.timestream.Timestream2Configuration; import org.apache.camel.component.aws2.timestream.client.Timestream2ClientFactory; +import org.apache.camel.spi.EndpointServiceLocation; import org.apache.camel.util.ObjectHelper; import software.amazon.awssdk.services.timestreamwrite.TimestreamWriteClient; @@ -27,7 +28,7 @@ import software.amazon.awssdk.services.timestreamwrite.TimestreamWriteClient; * Manage and invoke AWS Timestream. */ -public class Timestream2WriteEndpoint extends Timestream2AbstractEndpoint { +public class Timestream2WriteEndpoint extends Timestream2AbstractEndpoint implements EndpointServiceLocation { /** AWS TimestreamWriteClient for TimestreamWrite Endpoint **/ private TimestreamWriteClient awsTimestreamWriteClient; @@ -69,4 +70,21 @@ public class Timestream2WriteEndpoint extends Timestream2AbstractEndpoint { return awsTimestreamWriteClient; } + @Override + public String getServiceUrl() { + if (!getConfiguration().isOverrideEndpoint()) { + if (ObjectHelper.isNotEmpty(getConfiguration().getRegion())) { + return getConfiguration().getRegion(); + } + } else if (ObjectHelper.isNotEmpty(getConfiguration().getUriEndpointOverride())) { + return getConfiguration().getUriEndpointOverride(); + } + return null; + } + + @Override + public String getServiceProtocol() { + return "timestream-write"; + } + }
