You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2019/12/21 14:12:39 UTC

[camel-quarkus] 01/01: Create an AWS common extension

This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch aws-commons
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git

commit 0f16e3faee902dec37a358dad31e16d1f6b08d4c
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Sat Dec 21 15:12:17 2019 +0100

    Create an AWS common extension
---
 .../pages/list-of-camel-quarkus-extensions.adoc    |  4 +-
 .../runtime => aws-commons/deployment}/pom.xml     | 51 +++-------------------
 .../commons/deployment/AwsCommonsProcessor.java    | 38 ++++++++++++++++
 extensions/aws-commons/pom.xml                     | 39 +++++++++++++++++
 .../{aws-ec2 => aws-commons}/runtime/pom.xml       | 33 ++------------
 .../main/resources/META-INF/quarkus-extension.yaml | 28 ++++++++++++
 .../aws/ec2/deployment/AwsEc2Processor.java        |  6 ---
 extensions/aws-ec2/runtime/pom.xml                 |  4 ++
 .../aws/ecs/deployment/AwsEcsProcessor.java        |  6 ---
 extensions/aws-ecs/runtime/pom.xml                 |  4 ++
 .../aws/eks/deployment/AwsEKSProcessor.java        |  6 ---
 extensions/aws-eks/runtime/pom.xml                 |  4 ++
 .../aws/iam/deployment/AwsIamProcessor.java        |  6 ---
 extensions/aws-iam/runtime/pom.xml                 |  4 ++
 .../aws/kms/deployment/AwsKmsProcessor.java        |  6 ---
 extensions/aws-kms/runtime/pom.xml                 |  4 ++
 .../aws/s3/deployment/AwsS3Processor.java          |  6 ---
 extensions/aws-s3/runtime/pom.xml                  |  6 ++-
 .../aws/sns/deployment/AwsSNSProcessor.java        |  6 ---
 extensions/aws-sns/runtime/pom.xml                 |  4 ++
 .../aws/sqs/deployment/AwsSQSProcessor.java        |  6 ---
 extensions/aws-sqs/runtime/pom.xml                 |  4 ++
 extensions/pom.xml                                 |  1 +
 extensions/readme.adoc                             |  4 +-
 integration-tests/aws/pom.xml                      |  4 ++
 poms/bom-deployment/pom.xml                        |  5 +++
 poms/bom/pom.xml                                   |  5 +++
 .../quarkus/maven/PrepareCatalogQuarkusMojo.java   |  1 +
 28 files changed, 171 insertions(+), 124 deletions(-)

diff --git a/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc b/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc
index c3be748..7b5a80e 100644
--- a/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc
+++ b/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc
@@ -232,7 +232,7 @@ Number of Camel languages: 8 in 2 JAR artifacts (0 deprecated)
 == Miscellaneous Extensions
 
 // others: START
-Number of miscellaneous extensions: 9 in 9 JAR artifacts (0 deprecated)
+Number of miscellaneous extensions: 10 in 10 JAR artifacts (0 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
@@ -240,6 +240,8 @@ Number of miscellaneous extensions: 9 in 9 JAR artifacts (0 deprecated)
 
 | (camel-quarkus-attachments) | 0.3.0 | Java Attachments support for Camel Message
 
+| (camel-quarkus-aws-commons) | 1.2.0 | The Camel Quarkus AWS Commons module
+
 | (camel-quarkus-core-cloud) | 0.2.0 | The Camel Quarkus core cloud module
 
 | (camel-quarkus-core-xml) | 0.3.0 | Includes implementations of Java Architecture for XML Binding (JAXB) and Java API for XML Processing (JAXP)
diff --git a/extensions/aws-ec2/runtime/pom.xml b/extensions/aws-commons/deployment/pom.xml
similarity index 58%
copy from extensions/aws-ec2/runtime/pom.xml
copy to extensions/aws-commons/deployment/pom.xml
index d6af763..56885fc 100644
--- a/extensions/aws-ec2/runtime/pom.xml
+++ b/extensions/aws-commons/deployment/pom.xml
@@ -23,23 +23,19 @@
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>org.apache.camel.quarkus</groupId>
-        <artifactId>camel-quarkus-aws-ec2-parent</artifactId>
+        <artifactId>camel-quarkus-aws-commons-parent</artifactId>
         <version>1.1.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
-    <artifactId>camel-quarkus-aws-ec2</artifactId>
-    <name>Camel Quarkus :: AWS EC2 :: Runtime</name>
-
-    <properties>
-        <firstVersion>1.2.0</firstVersion>
-    </properties>
+    <artifactId>camel-quarkus-aws-commons-deployment</artifactId>
+    <name>Camel Quarkus :: AWS Commons :: Deployment</name>
 
     <dependencyManagement>
         <dependencies>
             <dependency>
                 <groupId>org.apache.camel.quarkus</groupId>
-                <artifactId>camel-quarkus-bom</artifactId>
+                <artifactId>camel-quarkus-bom-deployment</artifactId>
                 <version>${project.version}</version>
                 <type>pom</type>
                 <scope>import</scope>
@@ -50,51 +46,17 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-core</artifactId>
-        </dependency>
-       <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-support-xml</artifactId>
+            <artifactId>camel-quarkus-core-deployment</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-support-commons-logging</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-aws-ec2</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>com.fasterxml.jackson.dataformat</groupId>
-                    <artifactId>jackson-dataformat-cbor</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>com.fasterxml.jackson.core</groupId>
-                    <artifactId>jackson-databind</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>commons-logging</groupId>
-                    <artifactId>commons-logging</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.dataformat</groupId>
-            <artifactId>jackson-dataformat-cbor</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
-            <artifactId>jackson-databind</artifactId>
+            <artifactId>camel-quarkus-aws-commons</artifactId>
         </dependency>
     </dependencies>
 
     <build>
         <plugins>
             <plugin>
-                <groupId>io.quarkus</groupId>
-                <artifactId>quarkus-bootstrap-maven-plugin</artifactId>
-            </plugin>
-            <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
                 <configuration>
@@ -109,4 +71,5 @@
             </plugin>
         </plugins>
     </build>
+
 </project>
diff --git a/extensions/aws-commons/deployment/src/main/java/org/apache/camel/quarkus/component/aws/commons/deployment/AwsCommonsProcessor.java b/extensions/aws-commons/deployment/src/main/java/org/apache/camel/quarkus/component/aws/commons/deployment/AwsCommonsProcessor.java
new file mode 100644
index 0000000..3fec083
--- /dev/null
+++ b/extensions/aws-commons/deployment/src/main/java/org/apache/camel/quarkus/component/aws/commons/deployment/AwsCommonsProcessor.java
@@ -0,0 +1,38 @@
+/*
+ * 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.camel.quarkus.component.aws.commons.deployment;
+
+import io.quarkus.deployment.annotations.BuildStep;
+import io.quarkus.deployment.builditem.FeatureBuildItem;
+import io.quarkus.deployment.builditem.nativeimage.NativeImageProxyDefinitionBuildItem;
+
+class AwsCommonsProcessor {
+
+    private static final String FEATURE = "camel-aws-commons";
+
+    @BuildStep
+    FeatureBuildItem feature() {
+        return new FeatureBuildItem(FEATURE);
+    }
+
+    @BuildStep
+    NativeImageProxyDefinitionBuildItem httpProxies() {
+        return new NativeImageProxyDefinitionBuildItem("org.apache.http.conn.HttpClientConnectionManager",
+                "org.apache.http.pool.ConnPoolControl", "com.amazonaws.http.conn.Wrapped");
+    }
+
+}
diff --git a/extensions/aws-commons/pom.xml b/extensions/aws-commons/pom.xml
new file mode 100644
index 0000000..ed700dc
--- /dev/null
+++ b/extensions/aws-commons/pom.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    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.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-build-parent</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+        <relativePath>../../poms/build-parent/pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-aws-commons-parent</artifactId>
+    <name>Camel Quarkus :: AWS Commons</name>
+    <packaging>pom</packaging>
+
+    <modules>
+        <module>deployment</module>
+        <module>runtime</module>
+    </modules>
+</project>
diff --git a/extensions/aws-ec2/runtime/pom.xml b/extensions/aws-commons/runtime/pom.xml
similarity index 71%
copy from extensions/aws-ec2/runtime/pom.xml
copy to extensions/aws-commons/runtime/pom.xml
index d6af763..dfe999b 100644
--- a/extensions/aws-ec2/runtime/pom.xml
+++ b/extensions/aws-commons/runtime/pom.xml
@@ -23,13 +23,14 @@
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>org.apache.camel.quarkus</groupId>
-        <artifactId>camel-quarkus-aws-ec2-parent</artifactId>
+        <artifactId>camel-quarkus-aws-commons-parent</artifactId>
         <version>1.1.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
-    <artifactId>camel-quarkus-aws-ec2</artifactId>
-    <name>Camel Quarkus :: AWS EC2 :: Runtime</name>
+    <artifactId>camel-quarkus-aws-commons</artifactId>
+    <name>Camel Quarkus :: AWS Commons :: Runtime</name>
+    <description>The Camel Quarkus AWS Commons module</description>
 
     <properties>
         <firstVersion>1.2.0</firstVersion>
@@ -60,32 +61,6 @@
             <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-support-commons-logging</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-aws-ec2</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>com.fasterxml.jackson.dataformat</groupId>
-                    <artifactId>jackson-dataformat-cbor</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>com.fasterxml.jackson.core</groupId>
-                    <artifactId>jackson-databind</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>commons-logging</groupId>
-                    <artifactId>commons-logging</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.dataformat</groupId>
-            <artifactId>jackson-dataformat-cbor</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
-            <artifactId>jackson-databind</artifactId>
-        </dependency>
     </dependencies>
 
     <build>
diff --git a/extensions/aws-commons/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/extensions/aws-commons/runtime/src/main/resources/META-INF/quarkus-extension.yaml
new file mode 100644
index 0000000..c577a8c
--- /dev/null
+++ b/extensions/aws-commons/runtime/src/main/resources/META-INF/quarkus-extension.yaml
@@ -0,0 +1,28 @@
+#
+# 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.
+#
+
+---
+name: "Camel Quarkus AWS Commons"
+description: "A Camel Amazon Commons Component"
+metadata:
+  keywords:
+  - "camel"
+  - "aws"
+  - "cloud"
+  guide: "https://quarkus.io/guides/camel"
+  categories:
+  - "integration"
diff --git a/extensions/aws-ec2/deployment/src/main/java/org/apache/camel/quarkus/component/aws/ec2/deployment/AwsEc2Processor.java b/extensions/aws-ec2/deployment/src/main/java/org/apache/camel/quarkus/component/aws/ec2/deployment/AwsEc2Processor.java
index 76cf188..b39f013 100644
--- a/extensions/aws-ec2/deployment/src/main/java/org/apache/camel/quarkus/component/aws/ec2/deployment/AwsEc2Processor.java
+++ b/extensions/aws-ec2/deployment/src/main/java/org/apache/camel/quarkus/component/aws/ec2/deployment/AwsEc2Processor.java
@@ -57,12 +57,6 @@ class AwsEc2Processor {
         return new ExtensionSslNativeSupportBuildItem(FEATURE);
     }
 
-    @BuildStep
-    NativeImageProxyDefinitionBuildItem httpProxies() {
-        return new NativeImageProxyDefinitionBuildItem("org.apache.http.conn.HttpClientConnectionManager",
-                "org.apache.http.pool.ConnPoolControl", "com.amazonaws.http.conn.Wrapped");
-    }
-
     @BuildStep(applicationArchiveMarkers = { AWS_EC2_APPLICATION_ARCHIVE_MARKERS })
     void process(CombinedIndexBuildItem combinedIndexBuildItem,
             BuildProducer<ReflectiveClassBuildItem> reflectiveClass,
diff --git a/extensions/aws-ec2/runtime/pom.xml b/extensions/aws-ec2/runtime/pom.xml
index d6af763..ca551b3 100644
--- a/extensions/aws-ec2/runtime/pom.xml
+++ b/extensions/aws-ec2/runtime/pom.xml
@@ -61,6 +61,10 @@
             <artifactId>camel-quarkus-support-commons-logging</artifactId>
         </dependency>
         <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-aws-commons</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.apache.camel</groupId>
             <artifactId>camel-aws-ec2</artifactId>
             <exclusions>
diff --git a/extensions/aws-ecs/deployment/src/main/java/org/apache/camel/quarkus/component/aws/ecs/deployment/AwsEcsProcessor.java b/extensions/aws-ecs/deployment/src/main/java/org/apache/camel/quarkus/component/aws/ecs/deployment/AwsEcsProcessor.java
index acf5e46..d345470 100644
--- a/extensions/aws-ecs/deployment/src/main/java/org/apache/camel/quarkus/component/aws/ecs/deployment/AwsEcsProcessor.java
+++ b/extensions/aws-ecs/deployment/src/main/java/org/apache/camel/quarkus/component/aws/ecs/deployment/AwsEcsProcessor.java
@@ -58,12 +58,6 @@ class AwsEcsProcessor {
         return new ExtensionSslNativeSupportBuildItem(FEATURE);
     }
 
-    @BuildStep
-    NativeImageProxyDefinitionBuildItem httpProxies() {
-        return new NativeImageProxyDefinitionBuildItem("org.apache.http.conn.HttpClientConnectionManager",
-                "org.apache.http.pool.ConnPoolControl", "com.amazonaws.http.conn.Wrapped");
-    }
-
     @BuildStep(applicationArchiveMarkers = { AWS_ECS_APPLICATION_ARCHIVE_MARKERS })
     void process(CombinedIndexBuildItem combinedIndexBuildItem,
             BuildProducer<ReflectiveClassBuildItem> reflectiveClass,
diff --git a/extensions/aws-ecs/runtime/pom.xml b/extensions/aws-ecs/runtime/pom.xml
index 9714c58..e23c390 100644
--- a/extensions/aws-ecs/runtime/pom.xml
+++ b/extensions/aws-ecs/runtime/pom.xml
@@ -59,6 +59,10 @@
             <artifactId>camel-quarkus-support-commons-logging</artifactId>
         </dependency>
         <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-aws-commons</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.apache.camel</groupId>
             <artifactId>camel-aws-ecs</artifactId>
             <exclusions>
diff --git a/extensions/aws-eks/deployment/src/main/java/org/apache/camel/quarkus/component/aws/eks/deployment/AwsEKSProcessor.java b/extensions/aws-eks/deployment/src/main/java/org/apache/camel/quarkus/component/aws/eks/deployment/AwsEKSProcessor.java
index 0d68bb4..bba4f31 100644
--- a/extensions/aws-eks/deployment/src/main/java/org/apache/camel/quarkus/component/aws/eks/deployment/AwsEKSProcessor.java
+++ b/extensions/aws-eks/deployment/src/main/java/org/apache/camel/quarkus/component/aws/eks/deployment/AwsEKSProcessor.java
@@ -56,12 +56,6 @@ class AwsEKSProcessor {
         return new ExtensionSslNativeSupportBuildItem(FEATURE);
     }
 
-    @BuildStep
-    NativeImageProxyDefinitionBuildItem httpProxies() {
-        return new NativeImageProxyDefinitionBuildItem("org.apache.http.conn.HttpClientConnectionManager",
-                "org.apache.http.pool.ConnPoolControl", "com.amazonaws.http.conn.Wrapped");
-    }
-
     @BuildStep(applicationArchiveMarkers = { AWS_EKS_APPLICATION_ARCHIVE_MARKERS })
     void process(CombinedIndexBuildItem combinedIndexBuildItem,
             BuildProducer<ReflectiveClassBuildItem> reflectiveClass,
diff --git a/extensions/aws-eks/runtime/pom.xml b/extensions/aws-eks/runtime/pom.xml
index 5761989..8f07263 100644
--- a/extensions/aws-eks/runtime/pom.xml
+++ b/extensions/aws-eks/runtime/pom.xml
@@ -51,6 +51,10 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-aws-commons</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-support-xml</artifactId>
         </dependency>
         <dependency>
diff --git a/extensions/aws-iam/deployment/src/main/java/org/apache/camel/quarkus/component/aws/iam/deployment/AwsIamProcessor.java b/extensions/aws-iam/deployment/src/main/java/org/apache/camel/quarkus/component/aws/iam/deployment/AwsIamProcessor.java
index 055d1f4..cb073b3 100644
--- a/extensions/aws-iam/deployment/src/main/java/org/apache/camel/quarkus/component/aws/iam/deployment/AwsIamProcessor.java
+++ b/extensions/aws-iam/deployment/src/main/java/org/apache/camel/quarkus/component/aws/iam/deployment/AwsIamProcessor.java
@@ -58,12 +58,6 @@ class AwsIamProcessor {
         return new ExtensionSslNativeSupportBuildItem(FEATURE);
     }
 
-    @BuildStep
-    NativeImageProxyDefinitionBuildItem httpProxies() {
-        return new NativeImageProxyDefinitionBuildItem("org.apache.http.conn.HttpClientConnectionManager",
-                "org.apache.http.pool.ConnPoolControl", "com.amazonaws.http.conn.Wrapped");
-    }
-
     @BuildStep(applicationArchiveMarkers = { AWS_IAM_APPLICATION_ARCHIVE_MARKERS })
     void process(CombinedIndexBuildItem combinedIndexBuildItem,
             BuildProducer<ReflectiveClassBuildItem> reflectiveClass,
diff --git a/extensions/aws-iam/runtime/pom.xml b/extensions/aws-iam/runtime/pom.xml
index 98e3330..e92520b 100644
--- a/extensions/aws-iam/runtime/pom.xml
+++ b/extensions/aws-iam/runtime/pom.xml
@@ -50,6 +50,10 @@
             <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-core</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-aws-commons</artifactId>
+        </dependency>
        <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-support-xml</artifactId>
diff --git a/extensions/aws-kms/deployment/src/main/java/org/apache/camel/quarkus/component/aws/kms/deployment/AwsKmsProcessor.java b/extensions/aws-kms/deployment/src/main/java/org/apache/camel/quarkus/component/aws/kms/deployment/AwsKmsProcessor.java
index a9808e1..2c0a542 100644
--- a/extensions/aws-kms/deployment/src/main/java/org/apache/camel/quarkus/component/aws/kms/deployment/AwsKmsProcessor.java
+++ b/extensions/aws-kms/deployment/src/main/java/org/apache/camel/quarkus/component/aws/kms/deployment/AwsKmsProcessor.java
@@ -58,12 +58,6 @@ class AwsKmsProcessor {
         return new ExtensionSslNativeSupportBuildItem(FEATURE);
     }
 
-    @BuildStep
-    NativeImageProxyDefinitionBuildItem httpProxies() {
-        return new NativeImageProxyDefinitionBuildItem("org.apache.http.conn.HttpClientConnectionManager",
-                "org.apache.http.pool.ConnPoolControl", "com.amazonaws.http.conn.Wrapped");
-    }
-
     @BuildStep(applicationArchiveMarkers = { AWS_KMS_APPLICATION_ARCHIVE_MARKERS })
     void process(CombinedIndexBuildItem combinedIndexBuildItem,
             BuildProducer<ReflectiveClassBuildItem> reflectiveClass,
diff --git a/extensions/aws-kms/runtime/pom.xml b/extensions/aws-kms/runtime/pom.xml
index ab3ea95..7225479 100644
--- a/extensions/aws-kms/runtime/pom.xml
+++ b/extensions/aws-kms/runtime/pom.xml
@@ -52,6 +52,10 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-aws-commons</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-support-xml</artifactId>
         </dependency>
         <dependency>
diff --git a/extensions/aws-s3/deployment/src/main/java/org/apache/camel/quarkus/component/aws/s3/deployment/AwsS3Processor.java b/extensions/aws-s3/deployment/src/main/java/org/apache/camel/quarkus/component/aws/s3/deployment/AwsS3Processor.java
index b38d30b..d521afe 100644
--- a/extensions/aws-s3/deployment/src/main/java/org/apache/camel/quarkus/component/aws/s3/deployment/AwsS3Processor.java
+++ b/extensions/aws-s3/deployment/src/main/java/org/apache/camel/quarkus/component/aws/s3/deployment/AwsS3Processor.java
@@ -64,12 +64,6 @@ class AwsS3Processor {
         return new RuntimeInitializedClassBuildItem(CryptoConfiguration.class.getCanonicalName());
     }
 
-    @BuildStep
-    NativeImageProxyDefinitionBuildItem httpProxies() {
-        return new NativeImageProxyDefinitionBuildItem("org.apache.http.conn.HttpClientConnectionManager",
-                "org.apache.http.pool.ConnPoolControl", "com.amazonaws.http.conn.Wrapped");
-    }
-
     @BuildStep(applicationArchiveMarkers = { AWS_S3_APPLICATION_ARCHIVE_MARKERS })
     void process(CombinedIndexBuildItem combinedIndexBuildItem,
             BuildProducer<ReflectiveClassBuildItem> reflectiveClass,
diff --git a/extensions/aws-s3/runtime/pom.xml b/extensions/aws-s3/runtime/pom.xml
index 37566ae..b4c4573 100644
--- a/extensions/aws-s3/runtime/pom.xml
+++ b/extensions/aws-s3/runtime/pom.xml
@@ -51,6 +51,10 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-aws-commons</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-support-xml</artifactId>
         </dependency>
         <dependency>
@@ -105,4 +109,4 @@
             </plugin>
         </plugins>
     </build>
-</project>
\ No newline at end of file
+</project>
diff --git a/extensions/aws-sns/deployment/src/main/java/org/apache/camel/quarkus/component/aws/sns/deployment/AwsSNSProcessor.java b/extensions/aws-sns/deployment/src/main/java/org/apache/camel/quarkus/component/aws/sns/deployment/AwsSNSProcessor.java
index c4e79cc..7874eae 100644
--- a/extensions/aws-sns/deployment/src/main/java/org/apache/camel/quarkus/component/aws/sns/deployment/AwsSNSProcessor.java
+++ b/extensions/aws-sns/deployment/src/main/java/org/apache/camel/quarkus/component/aws/sns/deployment/AwsSNSProcessor.java
@@ -57,12 +57,6 @@ class AwsSNSProcessor {
         return new ExtensionSslNativeSupportBuildItem(FEATURE);
     }
 
-    @BuildStep
-    NativeImageProxyDefinitionBuildItem httpProxies() {
-        return new NativeImageProxyDefinitionBuildItem("org.apache.http.conn.HttpClientConnectionManager",
-                "org.apache.http.pool.ConnPoolControl", "com.amazonaws.http.conn.Wrapped");
-    }
-
     @BuildStep(applicationArchiveMarkers = { AWS_SNS_APPLICATION_ARCHIVE_MARKERS })
     void process(CombinedIndexBuildItem combinedIndexBuildItem,
             BuildProducer<ReflectiveClassBuildItem> reflectiveClass,
diff --git a/extensions/aws-sns/runtime/pom.xml b/extensions/aws-sns/runtime/pom.xml
index 00070ec..14b9766 100644
--- a/extensions/aws-sns/runtime/pom.xml
+++ b/extensions/aws-sns/runtime/pom.xml
@@ -51,6 +51,10 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-aws-commons</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-support-xml</artifactId>
         </dependency>
         <dependency>
diff --git a/extensions/aws-sqs/deployment/src/main/java/org/apache/camel/quarkus/component/aws/sqs/deployment/AwsSQSProcessor.java b/extensions/aws-sqs/deployment/src/main/java/org/apache/camel/quarkus/component/aws/sqs/deployment/AwsSQSProcessor.java
index cefc0e7..e5dc64c 100644
--- a/extensions/aws-sqs/deployment/src/main/java/org/apache/camel/quarkus/component/aws/sqs/deployment/AwsSQSProcessor.java
+++ b/extensions/aws-sqs/deployment/src/main/java/org/apache/camel/quarkus/component/aws/sqs/deployment/AwsSQSProcessor.java
@@ -57,12 +57,6 @@ class AwsSQSProcessor {
         return new ExtensionSslNativeSupportBuildItem(FEATURE);
     }
 
-    @BuildStep
-    NativeImageProxyDefinitionBuildItem httpProxies() {
-        return new NativeImageProxyDefinitionBuildItem("org.apache.http.conn.HttpClientConnectionManager",
-                "org.apache.http.pool.ConnPoolControl", "com.amazonaws.http.conn.Wrapped");
-    }
-
     @BuildStep(applicationArchiveMarkers = { AWS_SQS_APPLICATION_ARCHIVE_MARKERS })
     void process(CombinedIndexBuildItem combinedIndexBuildItem,
             BuildProducer<ReflectiveClassBuildItem> reflectiveClass,
diff --git a/extensions/aws-sqs/runtime/pom.xml b/extensions/aws-sqs/runtime/pom.xml
index abf01d8..7318f22 100644
--- a/extensions/aws-sqs/runtime/pom.xml
+++ b/extensions/aws-sqs/runtime/pom.xml
@@ -51,6 +51,10 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-aws-commons</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-support-xml</artifactId>
         </dependency>
         <dependency>
diff --git a/extensions/pom.xml b/extensions/pom.xml
index 0a2b253..8beb9d1 100644
--- a/extensions/pom.xml
+++ b/extensions/pom.xml
@@ -44,6 +44,7 @@
 
         <!-- extensions a..z; do not remove this comment, it is important when sorting via  mvn process-resources -Pformat -->
         <module>attachments</module>
+        <module>aws-commons</module>
         <module>aws-ec2</module>
         <module>aws-ecs</module>
         <module>aws-eks</module>
diff --git a/extensions/readme.adoc b/extensions/readme.adoc
index e00e5b9..228cbf8 100644
--- a/extensions/readme.adoc
+++ b/extensions/readme.adoc
@@ -234,7 +234,7 @@ Number of Camel languages: 8 in 2 JAR artifacts (0 deprecated)
 == Miscellaneous Extensions
 
 // others: START
-Number of miscellaneous extensions: 9 in 9 JAR artifacts (0 deprecated)
+Number of miscellaneous extensions: 10 in 10 JAR artifacts (0 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
@@ -242,6 +242,8 @@ Number of miscellaneous extensions: 9 in 9 JAR artifacts (0 deprecated)
 
 | (camel-quarkus-attachments) | 0.3.0 | Java Attachments support for Camel Message
 
+| (camel-quarkus-aws-commons) | 1.2.0 | The Camel Quarkus AWS Commons module
+
 | (camel-quarkus-core-cloud) | 0.2.0 | The Camel Quarkus core cloud module
 
 | (camel-quarkus-core-xml) | 0.3.0 | Includes implementations of Java Architecture for XML Binding (JAXB) and Java API for XML Processing (JAXP)
diff --git a/integration-tests/aws/pom.xml b/integration-tests/aws/pom.xml
index a62973f..8501ee2 100644
--- a/integration-tests/aws/pom.xml
+++ b/integration-tests/aws/pom.xml
@@ -32,6 +32,10 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-aws-commons</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-aws-s3</artifactId>
         </dependency>
         <dependency>
diff --git a/poms/bom-deployment/pom.xml b/poms/bom-deployment/pom.xml
index 692f338..3d92f52 100644
--- a/poms/bom-deployment/pom.xml
+++ b/poms/bom-deployment/pom.xml
@@ -70,6 +70,11 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-aws-commons-deployment</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
                 <artifactId>camel-quarkus-aws-ec2-deployment</artifactId>
                 <version>${camel-quarkus.version}</version>
             </dependency>
diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml
index ef28d8a..88ba809 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -444,6 +444,11 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-aws-commons</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
                 <artifactId>camel-quarkus-aws-ec2</artifactId>
                 <version>${camel-quarkus.version}</version>
             </dependency>
diff --git a/tooling/package-maven-plugin/src/main/java/org/apache/camel/quarkus/maven/PrepareCatalogQuarkusMojo.java b/tooling/package-maven-plugin/src/main/java/org/apache/camel/quarkus/maven/PrepareCatalogQuarkusMojo.java
index 9dbdaea..ce88735 100644
--- a/tooling/package-maven-plugin/src/main/java/org/apache/camel/quarkus/maven/PrepareCatalogQuarkusMojo.java
+++ b/tooling/package-maven-plugin/src/main/java/org/apache/camel/quarkus/maven/PrepareCatalogQuarkusMojo.java
@@ -215,6 +215,7 @@ public class PrepareCatalogQuarkusMojo extends AbstractMojo {
                 final String title = ext.getName().orElseThrow(() -> new MojoExecutionException(
                         "name is missing in " + ext.getRuntimePomXmlPath()));
                 model.put("title", title);
+                System.err.println("title " + title + " and desc " + ext.getDescription());
                 model.put("description", ext.getDescription().orElseThrow(() -> new MojoExecutionException(
                         "description is missing in " + ext.getRuntimePomXmlPath())));
                 if (title.contains("(deprecated)")) {