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/20 16:25:02 UTC

[camel-quarkus] branch aws-ec2 created (now 4d848c6)

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

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


      at 4d848c6  Regen

This branch includes the following new commits:

     new 8b2c4ca  Added AWS EC2 Extension
     new 4d848c6  Regen

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[camel-quarkus] 02/02: Regen

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 4d848c6dc83012e69ed5f6f842d35bb0f982f881
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Fri Dec 20 17:24:24 2019 +0100

    Regen
---
 extensions/pom.xml          |  2 +-
 poms/bom-deployment/pom.xml | 10 +++++-----
 poms/bom/pom.xml            | 18 +++++++++---------
 3 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/extensions/pom.xml b/extensions/pom.xml
index 8181a97..0a2b253 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-ec2</module>
         <module>aws-ecs</module>
         <module>aws-eks</module>
         <module>aws-iam</module>
@@ -99,7 +100,6 @@
         <module>vm</module>
         <module>xslt</module>
         <module>zipfile</module>
-        <module>aws-ec2</module>
     </modules>
 
     <build>
diff --git a/poms/bom-deployment/pom.xml b/poms/bom-deployment/pom.xml
index a355022..692f338 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-ec2-deployment</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
                 <artifactId>camel-quarkus-aws-ecs-deployment</artifactId>
                 <version>${camel-quarkus.version}</version>
             </dependency>
@@ -398,11 +403,6 @@
                 <artifactId>camel-quarkus-zipfile-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>
         </dependencies>
     </dependencyManagement>
 
diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml
index dc49187..ef28d8a 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -63,22 +63,22 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel</groupId>
-                <artifactId>camel-aws-ecs</artifactId>
+                <artifactId>camel-aws-ec2</artifactId>
                 <version>${camel.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.camel</groupId>
-                <artifactId>camel-aws-eks</artifactId>
+                <artifactId>camel-aws-ecs</artifactId>
                 <version>${camel.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.camel</groupId>
-                <artifactId>camel-aws-iam</artifactId>
+                <artifactId>camel-aws-eks</artifactId>
                 <version>${camel.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.camel</groupId>
-                <artifactId>camel-aws-ec2</artifactId>
+                <artifactId>camel-aws-iam</artifactId>
                 <version>${camel.version}</version>
             </dependency>
             <dependency>
@@ -444,6 +444,11 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-aws-ec2</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
                 <artifactId>camel-quarkus-aws-ecs</artifactId>
                 <version>${camel-quarkus.version}</version>
             </dependency>
@@ -814,11 +819,6 @@
                 <artifactId>xalan</artifactId>
                 <version>${xalan.version}</version>
             </dependency>
-            <dependency>
-                <groupId>org.apache.camel.quarkus</groupId>
-                <artifactId>camel-quarkus-aws-ec2</artifactId>
-                <version>${camel-quarkus.version}</version>
-            </dependency>
         </dependencies>
     </dependencyManagement>
 


[camel-quarkus] 01/02: Added AWS EC2 Extension

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 8b2c4ca711e3cc7653c5070144e0382e06ea52f5
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Fri Dec 20 17:20:02 2019 +0100

    Added AWS EC2 Extension
---
 .../pages/list-of-camel-quarkus-extensions.adoc    |   5 +-
 extensions/aws-ec2/deployment/pom.xml              |  83 +++++++++++++++
 .../aws/ec2/deployment/AwsEc2Processor.java        |  96 ++++++++++++++++++
 extensions/aws-ec2/pom.xml                         |  39 +++++++
 extensions/aws-ec2/runtime/pom.xml                 | 112 +++++++++++++++++++++
 .../main/resources/META-INF/quarkus-extension.yaml |  28 ++++++
 extensions/pom.xml                                 |   1 +
 extensions/readme.adoc                             |   5 +-
 integration-tests/aws/pom.xml                      |   4 +
 .../camel/quarkus/component/aws/CamelRoute.java    |   4 +
 .../aws/src/main/resources/application.properties  |   9 +-
 poms/bom-deployment/pom.xml                        |   5 +
 poms/bom/pom.xml                                   |  10 ++
 13 files changed, 398 insertions(+), 3 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 2cc929e..c3be748 100644
--- a/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc
+++ b/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc
@@ -6,12 +6,15 @@ As of Camel Quarkus {camel-quarkus-last-release} the following Camel artifacts a
 == Camel Components
 
 // components: START
-Number of Camel components: 51 in 43 JAR artifacts (0 deprecated)
+Number of Camel components: 52 in 44 JAR artifacts (0 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
 | Component | Since | Description
 
+| link:https://camel.apache.org/components/latest/aws-ec2-component.html[AWS EC2] (camel-quarkus-aws-ec2) +
+`aws-ec2:label` | 1.2.0 | The aws-ec2 is used for managing Amazon EC2 instances.
+
 | link:https://camel.apache.org/components/latest/aws-ecs-component.html[AWS ECS] (camel-quarkus-aws-ecs) +
 `aws-ecs:label` | 1.0.0-M1 | The aws-ecs is used for managing Amazon ECS
 
diff --git a/extensions/aws-ec2/deployment/pom.xml b/extensions/aws-ec2/deployment/pom.xml
new file mode 100644
index 0000000..139a804
--- /dev/null
+++ b/extensions/aws-ec2/deployment/pom.xml
@@ -0,0 +1,83 @@
+<?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-aws-ec2-parent</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-aws-ec2-deployment</artifactId>
+    <name>Camel Quarkus :: AWS EC2 :: Deployment</name>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-bom-deployment</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-core-deployment</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-support-xml-deployment</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-support-commons-logging-deployment</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-aws-ec2</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <annotationProcessorPaths>
+                        <path>
+                            <groupId>io.quarkus</groupId>
+                            <artifactId>quarkus-extension-processor</artifactId>
+                            <version>${quarkus.version}</version>
+                        </path>
+                    </annotationProcessorPaths>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
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
new file mode 100644
index 0000000..76cf188
--- /dev/null
+++ b/extensions/aws-ec2/deployment/src/main/java/org/apache/camel/quarkus/component/aws/ec2/deployment/AwsEc2Processor.java
@@ -0,0 +1,96 @@
+/*
+ * 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.ec2.deployment;
+
+import java.util.Collection;
+import java.util.stream.Collectors;
+
+import org.apache.camel.component.aws.ec2.EC2Configuration;
+import org.jboss.jandex.ClassInfo;
+import org.jboss.jandex.DotName;
+import org.jboss.jandex.IndexView;
+
+import com.amazonaws.partitions.model.CredentialScope;
+import com.amazonaws.partitions.model.Endpoint;
+import com.amazonaws.partitions.model.Partition;
+import com.amazonaws.partitions.model.Partitions;
+import com.amazonaws.partitions.model.Region;
+import com.amazonaws.partitions.model.Service;
+import com.fasterxml.jackson.databind.JsonDeserializer;
+import com.fasterxml.jackson.databind.JsonSerializer;
+
+import io.quarkus.deployment.annotations.BuildProducer;
+import io.quarkus.deployment.annotations.BuildStep;
+import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
+import io.quarkus.deployment.builditem.ExtensionSslNativeSupportBuildItem;
+import io.quarkus.deployment.builditem.FeatureBuildItem;
+import io.quarkus.deployment.builditem.nativeimage.NativeImageProxyDefinitionBuildItem;
+import io.quarkus.deployment.builditem.nativeimage.NativeImageResourceBuildItem;
+import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
+
+class AwsEc2Processor {
+    public static final String AWS_EC2_APPLICATION_ARCHIVE_MARKERS = "com/amazonaws";
+
+    private static final String FEATURE = "camel-aws-ec2";
+
+    @BuildStep
+    FeatureBuildItem feature() {
+        return new FeatureBuildItem(FEATURE);
+    }
+
+    @BuildStep
+    ExtensionSslNativeSupportBuildItem activateSslNativeSupport() {
+        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,
+            BuildProducer<NativeImageResourceBuildItem> resource) {
+
+        IndexView view = combinedIndexBuildItem.getIndex();
+
+        resource.produce(new NativeImageResourceBuildItem("com/amazonaws/partitions/endpoints.json"));
+        for (String s : getImplementations(view, JsonDeserializer.class)) {
+            reflectiveClass.produce(new ReflectiveClassBuildItem(true, false, s));
+        }
+        for (String s : getImplementations(view, JsonSerializer.class)) {
+            reflectiveClass.produce(new ReflectiveClassBuildItem(true, false, s));
+        }
+        reflectiveClass.produce(new ReflectiveClassBuildItem(true, false,
+                Partitions.class.getCanonicalName(),
+                Partition.class.getCanonicalName(),
+                Endpoint.class.getCanonicalName(),
+                Region.class.getCanonicalName(),
+                Service.class.getCanonicalName(),
+                CredentialScope.class.getCanonicalName(),
+                EC2Configuration.class.getCanonicalName()));
+    }
+
+    protected Collection<String> getImplementations(IndexView view, Class<?> type) {
+        return view.getAllKnownImplementors(DotName.createSimple(type.getName())).stream()
+                .map(ClassInfo::toString)
+                .collect(Collectors.toList());
+    }
+
+}
diff --git a/extensions/aws-ec2/pom.xml b/extensions/aws-ec2/pom.xml
new file mode 100644
index 0000000..a8076c3
--- /dev/null
+++ b/extensions/aws-ec2/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-ec2-parent</artifactId>
+    <name>Camel Quarkus :: AWS EC2</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-ec2/runtime/pom.xml
new file mode 100644
index 0000000..d6af763
--- /dev/null
+++ b/extensions/aws-ec2/runtime/pom.xml
@@ -0,0 +1,112 @@
+<?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-aws-ec2-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>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <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>
+        </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>
+        </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>
+                    <annotationProcessorPaths>
+                        <path>
+                            <groupId>io.quarkus</groupId>
+                            <artifactId>quarkus-extension-processor</artifactId>
+                            <version>${quarkus.version}</version>
+                        </path>
+                    </annotationProcessorPaths>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/extensions/aws-ec2/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/extensions/aws-ec2/runtime/src/main/resources/META-INF/quarkus-extension.yaml
new file mode 100644
index 0000000..986da06
--- /dev/null
+++ b/extensions/aws-ec2/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 EC2"
+description: "A Camel Amazon EC2 Web Service Component"
+metadata:
+  keywords:
+  - "camel"
+  - "aws"
+  - "cloud"
+  guide: "https://quarkus.io/guides/camel"
+  categories:
+  - "integration"
diff --git a/extensions/pom.xml b/extensions/pom.xml
index 68c3b82..8181a97 100644
--- a/extensions/pom.xml
+++ b/extensions/pom.xml
@@ -99,6 +99,7 @@
         <module>vm</module>
         <module>xslt</module>
         <module>zipfile</module>
+        <module>aws-ec2</module>
     </modules>
 
     <build>
diff --git a/extensions/readme.adoc b/extensions/readme.adoc
index 79dd319..e00e5b9 100644
--- a/extensions/readme.adoc
+++ b/extensions/readme.adoc
@@ -5,12 +5,15 @@ Apache Camel Quarkus supports the following Camel artifacts as Quarkus Extension
 == Camel Components
 
 // components: START
-Number of Camel components: 51 in 43 JAR artifacts (0 deprecated)
+Number of Camel components: 52 in 44 JAR artifacts (0 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
 | Component | Since | Description
 
+| link:https://camel.apache.org/components/latest/aws-ec2-component.html[AWS EC2] (camel-quarkus-aws-ec2) +
+`aws-ec2:label` | 1.2.0 | The aws-ec2 is used for managing Amazon EC2 instances.
+
 | link:https://camel.apache.org/components/latest/aws-ecs-component.html[AWS ECS] (camel-quarkus-aws-ecs) +
 `aws-ecs:label` | 1.0.0-M1 | The aws-ecs is used for managing Amazon ECS
 
diff --git a/integration-tests/aws/pom.xml b/integration-tests/aws/pom.xml
index 1bf885c..a62973f 100644
--- a/integration-tests/aws/pom.xml
+++ b/integration-tests/aws/pom.xml
@@ -56,6 +56,10 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-aws-ec2</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-aws-kms</artifactId>
         </dependency>
         <dependency>
diff --git a/integration-tests/aws/src/main/java/org/apache/camel/quarkus/component/aws/CamelRoute.java b/integration-tests/aws/src/main/java/org/apache/camel/quarkus/component/aws/CamelRoute.java
index 75d4024..c3a58ed 100644
--- a/integration-tests/aws/src/main/java/org/apache/camel/quarkus/component/aws/CamelRoute.java
+++ b/integration-tests/aws/src/main/java/org/apache/camel/quarkus/component/aws/CamelRoute.java
@@ -57,6 +57,10 @@ public class CamelRoute extends RouteBuilder {
         from("timer:quarkus-iam?repeatCount=1")
                 .to("aws-iam://cluster?operation=listAccessKeys")
                 .to("log:sf?showAll=true");
+
+        from("timer:quarkus-ec2?repeatCount=1")
+                .to("aws-ec2://cluster?operation=describeInstances")
+                .to("log:sf?showAll=true");
     }
 
 }
diff --git a/integration-tests/aws/src/main/resources/application.properties b/integration-tests/aws/src/main/resources/application.properties
index 6c98fc1..8aa80e2 100644
--- a/integration-tests/aws/src/main/resources/application.properties
+++ b/integration-tests/aws/src/main/resources/application.properties
@@ -72,4 +72,11 @@ camel.component.aws-ecs.region={{env:AWS_REGION}}
 #
 camel.component.aws-iam.access-key={{env:AWS_ACCESS_KEY}}
 camel.component.aws-iam.secret-key={{env:AWS_SECRET_KEY}}
-camel.component.aws-iam.region={{env:AWS_REGION}}
\ No newline at end of file
+camel.component.aws-iam.region={{env:AWS_REGION}}
+
+#
+# Camel :: AWS EC2
+#
+camel.component.aws-ec2.access-key={{env:AWS_ACCESS_KEY}}
+camel.component.aws-ec2.secret-key={{env:AWS_SECRET_KEY}}
+camel.component.aws-ec2.region={{env:AWS_REGION}}
\ No newline at end of file
diff --git a/poms/bom-deployment/pom.xml b/poms/bom-deployment/pom.xml
index b469702..a355022 100644
--- a/poms/bom-deployment/pom.xml
+++ b/poms/bom-deployment/pom.xml
@@ -398,6 +398,11 @@
                 <artifactId>camel-quarkus-zipfile-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>
         </dependencies>
     </dependencyManagement>
 
diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml
index 320d5c6..dc49187 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -78,6 +78,11 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel</groupId>
+                <artifactId>camel-aws-ec2</artifactId>
+                <version>${camel.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel</groupId>
                 <artifactId>camel-aws-kms</artifactId>
                 <version>${camel.version}</version>
             </dependency>
@@ -809,6 +814,11 @@
                 <artifactId>xalan</artifactId>
                 <version>${xalan.version}</version>
             </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-aws-ec2</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
         </dependencies>
     </dependencyManagement>