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 2021/02/24 08:52:47 UTC

[camel] branch master updated (4202941 -> 4bc0f96)

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

acosentino pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git.


    from 4202941  Sync deps
     new e2b7efb  CAMEL-16115 - Remove Camel-AWS-* components - AWS-EC2
     new 8208d7b  CAMEL-16115 - Remove Camel-AWS-* components - AWS-EC2
     new 724d7f8  CAMEL-16115 - Remove Camel-AWS-* components - AWS-EC2
     new cd44a01  CAMEL-16115 - Remove Camel-AWS-* components - AWS-EC2
     new 93e0231  CAMEL-16115 - Remove Camel-AWS-* components - AWS-EC2
     new 33f4ee7  CAMEL-16115 - Remove Camel-AWS-* components - AWS-ECS - Added a migration note
     new 4bc0f96  CAMEL-16115 - Remove Camel-AWS-* components - AWS-EC2 - Added a migration note

The 7 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.


Summary of changes:
 bom/camel-bom/pom.xml                              |   5 -
 .../org/apache/camel/catalog/components.properties |   1 -
 .../apache/camel/catalog/components/aws-ec2.json   |  52 --
 .../org/apache/camel/catalog/docs.properties       |   1 -
 .../camel/catalog/docs/aws-ec2-component.adoc      | 195 --------
 components/camel-aws-ec2/pom.xml                   |  77 ---
 .../component/aws/ec2/EC2ComponentConfigurer.java  | 113 -----
 .../component/aws/ec2/EC2EndpointConfigurer.java   |  97 ----
 .../component/aws/ec2/EC2EndpointUriFactory.java   |  74 ---
 .../services/org/apache/camel/component.properties |   7 -
 .../services/org/apache/camel/component/aws-ec2    |   2 -
 .../org/apache/camel/configurer/aws-ec2-component  |   2 -
 .../org/apache/camel/configurer/aws-ec2-endpoint   |   2 -
 .../org/apache/camel/urifactory/aws-ec2-endpoint   |   2 -
 .../apache/camel/component/aws/ec2/aws-ec2.json    |  52 --
 .../src/main/docs/aws-ec2-component.adoc           | 195 --------
 .../camel/component/aws/ec2/EC2Component.java      |  82 ----
 .../aws/ec2/EC2ComponentVerifierExtension.java     |  91 ----
 .../camel/component/aws/ec2/EC2Configuration.java  | 167 -------
 .../camel/component/aws/ec2/EC2Constants.java      |  39 --
 .../camel/component/aws/ec2/EC2Endpoint.java       | 125 -----
 .../camel/component/aws/ec2/EC2Operations.java     |  32 --
 .../camel/component/aws/ec2/EC2Producer.java       | 427 ----------------
 .../component/aws/ec2/AmazonEC2ClientMock.java     | 310 ------------
 .../aws/ec2/EC2ComponentClientRegistryTest.java    |  71 ---
 .../aws/ec2/EC2ComponentConfigurationTest.java     | 133 -----
 .../component/aws/ec2/EC2ComponentSpringTest.java  | 244 ----------
 .../aws/ec2/EC2ComponentVerifierExtensionTest.java |  76 ---
 .../camel/component/aws/ec2/EC2OperationsTest.java |  59 ---
 .../camel/component/aws/ec2/EC2ProducerTest.java   | 536 ---------------------
 .../integration/EC2ComponentIntegrationTest.java   | 237 ---------
 .../src/test/resources/log4j2.properties           |  28 --
 .../aws/ec2/EC2ComponentSpringTest-context.xml     |  66 ---
 components/pom.xml                                 |   1 -
 core/camel-allcomponents/pom.xml                   |   4 -
 .../component/ComponentsBuilderFactory.java        |  14 -
 .../dsl/AwsEc2ComponentBuilderFactory.java         | 295 ------------
 .../src/generated/resources/metadata.json          |  23 -
 .../builder/endpoint/EndpointBuilderFactory.java   |   1 -
 .../camel/builder/endpoint/EndpointBuilders.java   |   1 -
 .../builder/endpoint/StaticEndpointBuilders.java   |  45 --
 .../endpoint/dsl/EC2EndpointBuilderFactory.java    | 388 ---------------
 docs/components/modules/ROOT/nav.adoc              |   1 -
 .../modules/ROOT/pages/aws-ec2-component.adoc      | 197 --------
 .../ROOT/pages/camel-3x-upgrade-guide-3_9.adoc     |   2 +
 parent/pom.xml                                     |   5 -
 46 files changed, 2 insertions(+), 4575 deletions(-)
 delete mode 100644 catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws-ec2.json
 delete mode 100644 catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws-ec2-component.adoc
 delete mode 100644 components/camel-aws-ec2/pom.xml
 delete mode 100644 components/camel-aws-ec2/src/generated/java/org/apache/camel/component/aws/ec2/EC2ComponentConfigurer.java
 delete mode 100644 components/camel-aws-ec2/src/generated/java/org/apache/camel/component/aws/ec2/EC2EndpointConfigurer.java
 delete mode 100644 components/camel-aws-ec2/src/generated/java/org/apache/camel/component/aws/ec2/EC2EndpointUriFactory.java
 delete mode 100644 components/camel-aws-ec2/src/generated/resources/META-INF/services/org/apache/camel/component.properties
 delete mode 100644 components/camel-aws-ec2/src/generated/resources/META-INF/services/org/apache/camel/component/aws-ec2
 delete mode 100644 components/camel-aws-ec2/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws-ec2-component
 delete mode 100644 components/camel-aws-ec2/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws-ec2-endpoint
 delete mode 100644 components/camel-aws-ec2/src/generated/resources/META-INF/services/org/apache/camel/urifactory/aws-ec2-endpoint
 delete mode 100644 components/camel-aws-ec2/src/generated/resources/org/apache/camel/component/aws/ec2/aws-ec2.json
 delete mode 100644 components/camel-aws-ec2/src/main/docs/aws-ec2-component.adoc
 delete mode 100644 components/camel-aws-ec2/src/main/java/org/apache/camel/component/aws/ec2/EC2Component.java
 delete mode 100644 components/camel-aws-ec2/src/main/java/org/apache/camel/component/aws/ec2/EC2ComponentVerifierExtension.java
 delete mode 100644 components/camel-aws-ec2/src/main/java/org/apache/camel/component/aws/ec2/EC2Configuration.java
 delete mode 100644 components/camel-aws-ec2/src/main/java/org/apache/camel/component/aws/ec2/EC2Constants.java
 delete mode 100644 components/camel-aws-ec2/src/main/java/org/apache/camel/component/aws/ec2/EC2Endpoint.java
 delete mode 100644 components/camel-aws-ec2/src/main/java/org/apache/camel/component/aws/ec2/EC2Operations.java
 delete mode 100644 components/camel-aws-ec2/src/main/java/org/apache/camel/component/aws/ec2/EC2Producer.java
 delete mode 100644 components/camel-aws-ec2/src/test/java/org/apache/camel/component/aws/ec2/AmazonEC2ClientMock.java
 delete mode 100644 components/camel-aws-ec2/src/test/java/org/apache/camel/component/aws/ec2/EC2ComponentClientRegistryTest.java
 delete mode 100644 components/camel-aws-ec2/src/test/java/org/apache/camel/component/aws/ec2/EC2ComponentConfigurationTest.java
 delete mode 100644 components/camel-aws-ec2/src/test/java/org/apache/camel/component/aws/ec2/EC2ComponentSpringTest.java
 delete mode 100644 components/camel-aws-ec2/src/test/java/org/apache/camel/component/aws/ec2/EC2ComponentVerifierExtensionTest.java
 delete mode 100644 components/camel-aws-ec2/src/test/java/org/apache/camel/component/aws/ec2/EC2OperationsTest.java
 delete mode 100644 components/camel-aws-ec2/src/test/java/org/apache/camel/component/aws/ec2/EC2ProducerTest.java
 delete mode 100644 components/camel-aws-ec2/src/test/java/org/apache/camel/component/aws/ec2/integration/EC2ComponentIntegrationTest.java
 delete mode 100644 components/camel-aws-ec2/src/test/resources/log4j2.properties
 delete mode 100644 components/camel-aws-ec2/src/test/resources/org/apache/camel/component/aws/ec2/EC2ComponentSpringTest-context.xml
 delete mode 100644 core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AwsEc2ComponentBuilderFactory.java
 delete mode 100644 core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/EC2EndpointBuilderFactory.java
 delete mode 100644 docs/components/modules/ROOT/pages/aws-ec2-component.adoc


[camel] 05/07: CAMEL-16115 - Remove Camel-AWS-* components - AWS-EC2

Posted by ac...@apache.org.
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 93e023161e779d360d25d46ef6ff223e08f7a6e3
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Wed Feb 24 08:38:48 2021 +0100

    CAMEL-16115 - Remove Camel-AWS-* components - AWS-EC2
---
 .../component/ComponentsBuilderFactory.java        |  2 +-
 .../src/generated/resources/metadata.json          | 23 ----------------------
 .../builder/endpoint/EndpointBuilderFactory.java   |  2 +-
 .../camel/builder/endpoint/EndpointBuilders.java   |  1 -
 .../builder/endpoint/StaticEndpointBuilders.java   |  2 +-
 5 files changed, 3 insertions(+), 27 deletions(-)

diff --git a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
index 03f408a..b2ed890 100644
--- a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
+++ b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
@@ -4736,4 +4736,4 @@ public interface ComponentsBuilderFactory {
     static org.apache.camel.builder.component.dsl.ZookeeperMasterComponentBuilderFactory.ZookeeperMasterComponentBuilder zookeeperMaster() {
         return org.apache.camel.builder.component.dsl.ZookeeperMasterComponentBuilderFactory.zookeeperMaster();
     }
-}
+}
\ No newline at end of file
diff --git a/core/camel-componentdsl/src/generated/resources/metadata.json b/core/camel-componentdsl/src/generated/resources/metadata.json
index 5f66643..9a15e8f 100644
--- a/core/camel-componentdsl/src/generated/resources/metadata.json
+++ b/core/camel-componentdsl/src/generated/resources/metadata.json
@@ -975,29 +975,6 @@
     "producerOnly": false,
     "lenientProperties": false
   },
-  "AwsEc2ComponentBuilderFactory": {
-    "kind": "component",
-    "name": "aws-ec2",
-    "title": "AWS Elastic Compute Cloud (EC2)",
-    "description": "Manage AWS EC2 instances.",
-    "deprecated": true,
-    "deprecatedSince": "3.8.0",
-    "firstVersion": "2.16.0",
-    "label": "cloud,management",
-    "javaType": "org.apache.camel.component.aws.ec2.EC2Component",
-    "supportLevel": "Stable",
-    "groupId": "org.apache.camel",
-    "artifactId": "camel-aws-ec2",
-    "version": "3.9.0-SNAPSHOT",
-    "scheme": "aws-ec2",
-    "extendsScheme": "",
-    "syntax": "aws-ec2:label",
-    "async": false,
-    "api": false,
-    "consumerOnly": false,
-    "producerOnly": true,
-    "lenientProperties": false
-  },
   "AwsS3ComponentBuilderFactory": {
     "kind": "component",
     "name": "aws-s3",
diff --git a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
index 7e789f2..8f9d75d 100644
--- a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
@@ -381,4 +381,4 @@ public interface EndpointBuilderFactory
         };
     }
 }
-//CHECKSTYLE:ON
+//CHECKSTYLE:ON
\ No newline at end of file
diff --git a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
index 930be89..d2f21b6 100644
--- a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
+++ b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilders.java
@@ -102,7 +102,6 @@ public interface EndpointBuilders
             org.apache.camel.builder.endpoint.dsl.DozerEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.DrillEndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.DropboxEndpointBuilderFactory,
-            org.apache.camel.builder.endpoint.dsl.EC2EndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.ECS2EndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.EKS2EndpointBuilderFactory,
             org.apache.camel.builder.endpoint.dsl.EhcacheEndpointBuilderFactory,
diff --git a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
index 6ef978c..d35e8c7 100644
--- a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
+++ b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
@@ -16622,4 +16622,4 @@ public class StaticEndpointBuilders {
         return org.apache.camel.builder.endpoint.dsl.ZooKeeperMasterEndpointBuilderFactory.endpointBuilder(componentName, path);
     }
 }
-//CHECKSTYLE:ON
+//CHECKSTYLE:ON
\ No newline at end of file


[camel] 04/07: CAMEL-16115 - Remove Camel-AWS-* components - AWS-EC2

Posted by ac...@apache.org.
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 cd44a0120659ea60e88fbe6c41c6ddd14b8437cd
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Wed Feb 24 07:42:17 2021 +0100

    CAMEL-16115 - Remove Camel-AWS-* components - AWS-EC2
---
 .../org/apache/camel/catalog/components.properties |   1 -
 .../apache/camel/catalog/components/aws-ec2.json   |  52 ------
 .../org/apache/camel/catalog/docs.properties       |   1 -
 .../camel/catalog/docs/aws-ec2-component.adoc      | 195 --------------------
 .../builder/endpoint/EndpointBuilderFactory.java   |   3 +-
 docs/components/modules/ROOT/nav.adoc              |   1 -
 .../modules/ROOT/pages/aws-ec2-component.adoc      | 197 ---------------------
 7 files changed, 1 insertion(+), 449 deletions(-)

diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
index dc0b672..1e6a039 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components.properties
@@ -21,7 +21,6 @@ avro
 aws-cw
 aws-ddb
 aws-ddbstream
-aws-ec2
 aws-s3
 aws-swf
 aws2-athena
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws-ec2.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws-ec2.json
deleted file mode 100644
index 9d17267..0000000
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/aws-ec2.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{
-  "component": {
-    "kind": "component",
-    "name": "aws-ec2",
-    "title": "AWS Elastic Compute Cloud (EC2)",
-    "description": "Manage AWS EC2 instances.",
-    "deprecated": true,
-    "deprecatedSince": "3.8.0",
-    "firstVersion": "2.16.0",
-    "label": "cloud,management",
-    "javaType": "org.apache.camel.component.aws.ec2.EC2Component",
-    "supportLevel": "Stable",
-    "groupId": "org.apache.camel",
-    "artifactId": "camel-aws-ec2",
-    "version": "3.9.0-SNAPSHOT",
-    "scheme": "aws-ec2",
-    "extendsScheme": "",
-    "syntax": "aws-ec2:label",
-    "async": false,
-    "api": false,
-    "consumerOnly": false,
-    "producerOnly": true,
-    "lenientProperties": false
-  },
-  "componentProperties": {
-    "autoDiscoverClient": { "kind": "property", "displayName": "Auto Discover Client", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.aws.ec2.EC2Configuration", "configurationField": "configuration", "description": "Setting the autoDiscoverClient mechanism, if true, the component will look for a client instan [...]
-    "accessKey": { "kind": "property", "displayName": "Access Key", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws.ec2.EC2Configuration", "configurationField": "configuration", "description": "Amazon AWS Access Key" },
-    "amazonEc2Client": { "kind": "property", "displayName": "Amazon Ec2 Client", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.amazonaws.services.ec2.AmazonEC2", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ec2.EC2Configuration", "configurationField": "configuration", "description": "To use a existing configured AmazonEC2Client as client" },
-    "configuration": { "kind": "property", "displayName": "Configuration", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws.ec2.EC2Configuration", "deprecated": false, "autowired": false, "secret": false, "description": "The component configuration" },
-    "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during star [...]
-    "operation": { "kind": "property", "displayName": "Operation", "group": "producer", "label": "producer", "required": true, "type": "object", "javaType": "org.apache.camel.component.aws.ec2.EC2Operations", "enum": [ "createAndRunInstances", "startInstances", "stopInstances", "terminateInstances", "describeInstances", "describeInstancesStatus", "rebootInstances", "monitorInstances", "unmonitorInstances", "createTags", "deleteTags" ], "deprecated": false, "deprecationNote": "", "autowir [...]
-    "proxyHost": { "kind": "property", "displayName": "Proxy Host", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ec2.EC2Configuration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the EC2 client" },
-    "proxyPort": { "kind": "property", "displayName": "Proxy Port", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ec2.EC2Configuration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the EC2 client" },
-    "proxyProtocol": { "kind": "property", "displayName": "Proxy Protocol", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "com.amazonaws.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws.ec2.EC2Configuration", "configurationField": "configuration", "description": "To define a proxy protocol when instantiating the EC2 client" },
-    "region": { "kind": "property", "displayName": "Region", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ec2.EC2Configuration", "configurationField": "configuration", "description": "The region in which ECS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (f [...]
-    "secretKey": { "kind": "property", "displayName": "Secret Key", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws.ec2.EC2Configuration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" },
-    "autowiredEnabled": { "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which t [...]
-  },
-  "properties": {
-    "label": { "kind": "path", "displayName": "Label", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ec2.EC2Configuration", "configurationField": "configuration", "description": "Logical name" },
-    "autoDiscoverClient": { "kind": "parameter", "displayName": "Auto Discover Client", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.aws.ec2.EC2Configuration", "configurationField": "configuration", "description": "Setting the autoDiscoverClient mechanism, if true, the component will look for a client insta [...]
-    "accessKey": { "kind": "parameter", "displayName": "Access Key", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws.ec2.EC2Configuration", "configurationField": "configuration", "description": "Amazon AWS Access Key" },
-    "amazonEc2Client": { "kind": "parameter", "displayName": "Amazon Ec2 Client", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.amazonaws.services.ec2.AmazonEC2", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ec2.EC2Configuration", "configurationField": "configuration", "description": "To use a existing configured AmazonEC2Client as client" },
-    "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during sta [...]
-    "operation": { "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "producer", "required": true, "type": "object", "javaType": "org.apache.camel.component.aws.ec2.EC2Operations", "enum": [ "createAndRunInstances", "startInstances", "stopInstances", "terminateInstances", "describeInstances", "describeInstancesStatus", "rebootInstances", "monitorInstances", "unmonitorInstances", "createTags", "deleteTags" ], "deprecated": false, "deprecationNote": "", "autowi [...]
-    "proxyHost": { "kind": "parameter", "displayName": "Proxy Host", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ec2.EC2Configuration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the EC2 client" },
-    "proxyPort": { "kind": "parameter", "displayName": "Proxy Port", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ec2.EC2Configuration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the EC2 client" },
-    "proxyProtocol": { "kind": "parameter", "displayName": "Proxy Protocol", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "com.amazonaws.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws.ec2.EC2Configuration", "configurationField": "configuration", "description": "To define a proxy protocol when instantiating the EC2 client" },
-    "region": { "kind": "parameter", "displayName": "Region", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ec2.EC2Configuration", "configurationField": "configuration", "description": "The region in which ECS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region ( [...]
-    "secretKey": { "kind": "parameter", "displayName": "Secret Key", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws.ec2.EC2Configuration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" }
-  }
-}
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs.properties b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs.properties
index 9bb9a01..b15a7f5 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs.properties
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs.properties
@@ -25,7 +25,6 @@ avro-dataformat
 aws-cw-component
 aws-ddb-component
 aws-ddbstream-component
-aws-ec2-component
 aws-s3-component
 aws-summary
 aws-swf-component
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws-ec2-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws-ec2-component.adoc
deleted file mode 100644
index c6d0793..0000000
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/aws-ec2-component.adoc
+++ /dev/null
@@ -1,195 +0,0 @@
-[[aws-ec2-component]]
-= AWS Elastic Compute Cloud (EC2) Component (deprecated)
-:docTitle: AWS Elastic Compute Cloud (EC2)
-:artifactId: camel-aws-ec2
-:description: Manage AWS EC2 instances.
-:since: 2.16
-:supportLevel: Stable-deprecated
-:deprecated: *deprecated*
-:component-header: Only producer is supported
-include::{cq-version}@camel-quarkus:ROOT:partial$reference/components/aws-ec2.adoc[opts=optional]
-//Manually maintained attributes
-:group: AWS
-
-*Since Camel {since}*
-
-*{component-header}*
-
-The EC2 component supports the ability to create, run, start, stop and terminate
-https://aws.amazon.com/ec2/[AWS EC2] instances.
-
-Prerequisites
-
-You must have a valid Amazon Web Services developer account, and be
-signed up to use Amazon EC2. More information is available at
-https://aws.amazon.com/ec2/[Amazon EC2].
-
-== URI Format
-
-[source,java]
--------------------------
-aws-ec2://label[?options]
--------------------------
-
-You can append query options to the URI in the following format,
-?options=value&option2=value&...
-
-== URI Options
-
-
-// component options: START
-The AWS Elastic Compute Cloud (EC2) component supports 12 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *autoDiscoverClient* (common) | Setting the autoDiscoverClient mechanism, if true, the component will look for a client instance in the registry automatically otherwise it will skip that checking. | true | boolean
-| *accessKey* (producer) | Amazon AWS Access Key |  | String
-| *amazonEc2Client* (producer) | To use a existing configured AmazonEC2Client as client |  | AmazonEC2
-| *configuration* (producer) | The component configuration |  | EC2Configuration
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | *Required* The operation to perform. It can be createAndRunInstances, startInstances, stopInstances, terminateInstances, describeInstances, describeInstancesStatus, rebootInstances, monitorInstances, unmonitorInstances, createTags or deleteTags. There are 11 enums and the value can be one of: createAndRunInstances, startInstances, stopInstances, terminateInstances, describeInstances, describeInstancesStatus, rebootInstances, monitorInstances, unmonitorInstances [...]
-| *proxyHost* (producer) | To define a proxy host when instantiating the EC2 client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the EC2 client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the EC2 client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | The region in which ECS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() |  | String
-| *secretKey* (producer) | Amazon AWS Secret Key |  | String
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-|===
-// component options: END
-
-
-
-
-// endpoint options: START
-The AWS Elastic Compute Cloud (EC2) endpoint is configured using URI syntax:
-
-----
-aws-ec2:label
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *label* | *Required* Logical name |  | String
-|===
-
-
-=== Query Parameters (10 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *autoDiscoverClient* (common) | Setting the autoDiscoverClient mechanism, if true, the component will look for a client instance in the registry automatically otherwise it will skip that checking. | true | boolean
-| *accessKey* (producer) | Amazon AWS Access Key |  | String
-| *amazonEc2Client* (producer) | To use a existing configured AmazonEC2Client as client |  | AmazonEC2
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | *Required* The operation to perform. It can be createAndRunInstances, startInstances, stopInstances, terminateInstances, describeInstances, describeInstancesStatus, rebootInstances, monitorInstances, unmonitorInstances, createTags or deleteTags. There are 11 enums and the value can be one of: createAndRunInstances, startInstances, stopInstances, terminateInstances, describeInstances, describeInstancesStatus, rebootInstances, monitorInstances, unmonitorInstances [...]
-| *proxyHost* (producer) | To define a proxy host when instantiating the EC2 client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the EC2 client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the EC2 client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | The region in which ECS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() |  | String
-| *secretKey* (producer) | Amazon AWS Secret Key |  | String
-|===
-// endpoint options: END
-
-
-
-
-Required EC2 component options
-
-You have to provide the amazonEc2Client in the
-Registry or your accessKey and secretKey to access
-the https://aws.amazon.com/ec2/[Amazon EC2] service.
-
-== Usage
-
-=== Message headers evaluated by the EC2 producer
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Header |Type |Description
-
-|`CamelAwsEC2ImageId` |`String` |An image ID of the AWS marketplace
-
-|`CamelAwsEC2InstanceType` |com.amazonaws.services.ec2.model.InstanceType |The instance type we want to create and run
-
-|`CamelAwsEC2Operation` |`String` |The operation we want to perform
-
-|`CamelAwsEC2InstanceMinCount` |`Int` |The mininum number of instances we want to run.
-
-|`CamelAwsEC2InstanceMaxCount` |`Int` |The maximum number of instances we want to run.
-
-|`CamelAwsEC2InstanceMonitoring` |Boolean |Define if we want the running instances to be monitored
-
-|`CamelAwsEC2InstanceEbsOptimized` |`Boolean` |Define if the creating instance is optimized for EBS I/O.
-
-|`CamelAwsEC2InstanceSecurityGroups` |Collection |The security groups to associate to the instances
-
-|`CamelAwsEC2InstancesIds` |`Collection` |A collection of instances IDS to execute start, stop, describe and
-terminate operations on.
-
-|`CamelAwsEC2InstancesTags` |`Collection` |A collection of tags to add or remove from EC2 resources
-|=======================================================================
-
-== Supported producer operations
-
-- createAndRunInstances
-- startInstances
-- stopInstances
-- terminateInstances
-- describeInstances
-- describeInstancesStatus
-- rebootInstances
-- monitorInstances
-- unmonitorInstances
-- createTags
-- deleteTags
-
-== Producer Examples
-
-- createAndRunInstances: this operation will create an EC2 instance and run it
-
-[source,java]
---------------------------------------------------------------------------------
-from("direct:createAndRun")
-     .setHeader(EC2Constants.IMAGE_ID, constant("ami-fd65ba94"))
-     .setHeader(EC2Constants.INSTANCE_TYPE, constant(InstanceType.T2Micro))
-     .setHeader(EC2Constants.INSTANCE_MIN_COUNT, constant("1"))
-     .setHeader(EC2Constants.INSTANCE_MAX_COUNT, constant("1"))
-     .to("aws-ec2://TestDomain?accessKey=xxxx&secretKey=xxxx&operation=createAndRunInstances");
---------------------------------------------------------------------------------
-
-== Automatic detection of AmazonEC2 client in registry
-
-The component is capable of detecting the presence of an AmazonEC2 bean into the registry.
-If it's the only instance of that type it will be used as client and you won't have to define it as uri parameter.
-This may be really useful for smarter configuration of the endpoint.
-
-Dependencies
-
-Maven users will need to add the following dependency to their pom.xml.
-
-*pom.xml*
-
-[source,xml]
----------------------------------------
-<dependency>
-    <groupId>org.apache.camel</groupId>
-    <artifactId>camel-aws-ec2</artifactId>
-    <version>${camel-version}</version>
-</dependency>
----------------------------------------
-
-where `$\{camel-version}` must be replaced by the actual version of Camel.
-
-
-include::camel-spring-boot::page$aws-ec2-starter.adoc[]
diff --git a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
index 8807c1b..7e789f2 100644
--- a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/EndpointBuilderFactory.java
@@ -105,7 +105,6 @@ public interface EndpointBuilderFactory
             org.apache.camel.builder.endpoint.dsl.DozerEndpointBuilderFactory.DozerBuilders,
             org.apache.camel.builder.endpoint.dsl.DrillEndpointBuilderFactory.DrillBuilders,
             org.apache.camel.builder.endpoint.dsl.DropboxEndpointBuilderFactory.DropboxBuilders,
-            org.apache.camel.builder.endpoint.dsl.EC2EndpointBuilderFactory.EC2Builders,
             org.apache.camel.builder.endpoint.dsl.ECS2EndpointBuilderFactory.ECS2Builders,
             org.apache.camel.builder.endpoint.dsl.EKS2EndpointBuilderFactory.EKS2Builders,
             org.apache.camel.builder.endpoint.dsl.EhcacheEndpointBuilderFactory.EhcacheBuilders,
@@ -382,4 +381,4 @@ public interface EndpointBuilderFactory
         };
     }
 }
-//CHECKSTYLE:ON
\ No newline at end of file
+//CHECKSTYLE:ON
diff --git a/docs/components/modules/ROOT/nav.adoc b/docs/components/modules/ROOT/nav.adoc
index a217820..105e85e 100644
--- a/docs/components/modules/ROOT/nav.adoc
+++ b/docs/components/modules/ROOT/nav.adoc
@@ -25,7 +25,6 @@
 *** xref:aws-cw-component.adoc[AWS CloudWatch]
 *** xref:aws-ddb-component.adoc[AWS DynamoDB]
 *** xref:aws-ddbstream-component.adoc[AWS DynamoDB Streams]
-*** xref:aws-ec2-component.adoc[AWS Elastic Compute Cloud (EC2)]
 *** xref:aws-s3-component.adoc[AWS S3 Storage Service]
 *** xref:aws-swf-component.adoc[AWS Simple Workflow (SWF)]
 ** xref:aws2-summary.adoc[AWS 2]
diff --git a/docs/components/modules/ROOT/pages/aws-ec2-component.adoc b/docs/components/modules/ROOT/pages/aws-ec2-component.adoc
deleted file mode 100644
index 0cdb189..0000000
--- a/docs/components/modules/ROOT/pages/aws-ec2-component.adoc
+++ /dev/null
@@ -1,197 +0,0 @@
-[[aws-ec2-component]]
-= AWS Elastic Compute Cloud (EC2) Component (deprecated)
-//THIS FILE IS COPIED: EDIT THE SOURCE FILE:
-:page-source: components/camel-aws-ec2/src/main/docs/aws-ec2-component.adoc
-:docTitle: AWS Elastic Compute Cloud (EC2)
-:artifactId: camel-aws-ec2
-:description: Manage AWS EC2 instances.
-:since: 2.16
-:supportLevel: Stable-deprecated
-:deprecated: *deprecated*
-:component-header: Only producer is supported
-include::{cq-version}@camel-quarkus:ROOT:partial$reference/components/aws-ec2.adoc[opts=optional]
-//Manually maintained attributes
-:group: AWS
-
-*Since Camel {since}*
-
-*{component-header}*
-
-The EC2 component supports the ability to create, run, start, stop and terminate
-https://aws.amazon.com/ec2/[AWS EC2] instances.
-
-Prerequisites
-
-You must have a valid Amazon Web Services developer account, and be
-signed up to use Amazon EC2. More information is available at
-https://aws.amazon.com/ec2/[Amazon EC2].
-
-== URI Format
-
-[source,java]
--------------------------
-aws-ec2://label[?options]
--------------------------
-
-You can append query options to the URI in the following format,
-?options=value&option2=value&...
-
-== URI Options
-
-
-// component options: START
-The AWS Elastic Compute Cloud (EC2) component supports 12 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *autoDiscoverClient* (common) | Setting the autoDiscoverClient mechanism, if true, the component will look for a client instance in the registry automatically otherwise it will skip that checking. | true | boolean
-| *accessKey* (producer) | Amazon AWS Access Key |  | String
-| *amazonEc2Client* (producer) | To use a existing configured AmazonEC2Client as client |  | AmazonEC2
-| *configuration* (producer) | The component configuration |  | EC2Configuration
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | *Required* The operation to perform. It can be createAndRunInstances, startInstances, stopInstances, terminateInstances, describeInstances, describeInstancesStatus, rebootInstances, monitorInstances, unmonitorInstances, createTags or deleteTags. There are 11 enums and the value can be one of: createAndRunInstances, startInstances, stopInstances, terminateInstances, describeInstances, describeInstancesStatus, rebootInstances, monitorInstances, unmonitorInstances [...]
-| *proxyHost* (producer) | To define a proxy host when instantiating the EC2 client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the EC2 client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the EC2 client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | The region in which ECS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() |  | String
-| *secretKey* (producer) | Amazon AWS Secret Key |  | String
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-|===
-// component options: END
-
-
-
-
-// endpoint options: START
-The AWS Elastic Compute Cloud (EC2) endpoint is configured using URI syntax:
-
-----
-aws-ec2:label
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *label* | *Required* Logical name |  | String
-|===
-
-
-=== Query Parameters (10 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *autoDiscoverClient* (common) | Setting the autoDiscoverClient mechanism, if true, the component will look for a client instance in the registry automatically otherwise it will skip that checking. | true | boolean
-| *accessKey* (producer) | Amazon AWS Access Key |  | String
-| *amazonEc2Client* (producer) | To use a existing configured AmazonEC2Client as client |  | AmazonEC2
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | *Required* The operation to perform. It can be createAndRunInstances, startInstances, stopInstances, terminateInstances, describeInstances, describeInstancesStatus, rebootInstances, monitorInstances, unmonitorInstances, createTags or deleteTags. There are 11 enums and the value can be one of: createAndRunInstances, startInstances, stopInstances, terminateInstances, describeInstances, describeInstancesStatus, rebootInstances, monitorInstances, unmonitorInstances [...]
-| *proxyHost* (producer) | To define a proxy host when instantiating the EC2 client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the EC2 client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the EC2 client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | The region in which ECS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() |  | String
-| *secretKey* (producer) | Amazon AWS Secret Key |  | String
-|===
-// endpoint options: END
-
-
-
-
-Required EC2 component options
-
-You have to provide the amazonEc2Client in the
-Registry or your accessKey and secretKey to access
-the https://aws.amazon.com/ec2/[Amazon EC2] service.
-
-== Usage
-
-=== Message headers evaluated by the EC2 producer
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Header |Type |Description
-
-|`CamelAwsEC2ImageId` |`String` |An image ID of the AWS marketplace
-
-|`CamelAwsEC2InstanceType` |com.amazonaws.services.ec2.model.InstanceType |The instance type we want to create and run
-
-|`CamelAwsEC2Operation` |`String` |The operation we want to perform
-
-|`CamelAwsEC2InstanceMinCount` |`Int` |The mininum number of instances we want to run.
-
-|`CamelAwsEC2InstanceMaxCount` |`Int` |The maximum number of instances we want to run.
-
-|`CamelAwsEC2InstanceMonitoring` |Boolean |Define if we want the running instances to be monitored
-
-|`CamelAwsEC2InstanceEbsOptimized` |`Boolean` |Define if the creating instance is optimized for EBS I/O.
-
-|`CamelAwsEC2InstanceSecurityGroups` |Collection |The security groups to associate to the instances
-
-|`CamelAwsEC2InstancesIds` |`Collection` |A collection of instances IDS to execute start, stop, describe and
-terminate operations on.
-
-|`CamelAwsEC2InstancesTags` |`Collection` |A collection of tags to add or remove from EC2 resources
-|=======================================================================
-
-== Supported producer operations
-
-- createAndRunInstances
-- startInstances
-- stopInstances
-- terminateInstances
-- describeInstances
-- describeInstancesStatus
-- rebootInstances
-- monitorInstances
-- unmonitorInstances
-- createTags
-- deleteTags
-
-== Producer Examples
-
-- createAndRunInstances: this operation will create an EC2 instance and run it
-
-[source,java]
---------------------------------------------------------------------------------
-from("direct:createAndRun")
-     .setHeader(EC2Constants.IMAGE_ID, constant("ami-fd65ba94"))
-     .setHeader(EC2Constants.INSTANCE_TYPE, constant(InstanceType.T2Micro))
-     .setHeader(EC2Constants.INSTANCE_MIN_COUNT, constant("1"))
-     .setHeader(EC2Constants.INSTANCE_MAX_COUNT, constant("1"))
-     .to("aws-ec2://TestDomain?accessKey=xxxx&secretKey=xxxx&operation=createAndRunInstances");
---------------------------------------------------------------------------------
-
-== Automatic detection of AmazonEC2 client in registry
-
-The component is capable of detecting the presence of an AmazonEC2 bean into the registry.
-If it's the only instance of that type it will be used as client and you won't have to define it as uri parameter.
-This may be really useful for smarter configuration of the endpoint.
-
-Dependencies
-
-Maven users will need to add the following dependency to their pom.xml.
-
-*pom.xml*
-
-[source,xml]
----------------------------------------
-<dependency>
-    <groupId>org.apache.camel</groupId>
-    <artifactId>camel-aws-ec2</artifactId>
-    <version>${camel-version}</version>
-</dependency>
----------------------------------------
-
-where `$\{camel-version}` must be replaced by the actual version of Camel.
-
-
-include::camel-spring-boot::page$aws-ec2-starter.adoc[]


[camel] 07/07: CAMEL-16115 - Remove Camel-AWS-* components - AWS-EC2 - Added a migration note

Posted by ac...@apache.org.
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 4bc0f96ce570167c56ecab88994701a6d9d4c804
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Wed Feb 24 09:51:39 2021 +0100

    CAMEL-16115 - Remove Camel-AWS-* components - AWS-EC2 - Added a migration note
---
 docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_9.adoc | 1 +
 1 file changed, 1 insertion(+)

diff --git a/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_9.adoc b/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_9.adoc
index 23f92c1..3376024 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_9.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_9.adoc
@@ -53,3 +53,4 @@ the one to use above, and then add which -starter JARs you want to use in your C
 - Camel-AWS-IAM has been removed. Please switch to Camel-AWS2-IAM.
 - Camel-AWS-EKS has been removed. Please switch to Camel-AWS2-EKS.
 - Camel-AWS-ECS has been removed. Please switch to Camel-AWS2-ECS.
+- Camel-AWS-EC2 has been removed. Please switch to Camel-AWS2-EC2.


[camel] 06/07: CAMEL-16115 - Remove Camel-AWS-* components - AWS-ECS - Added a migration note

Posted by ac...@apache.org.
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 33f4ee7f4f1518c3da6f1630613260f56f72fbf1
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Wed Feb 24 09:49:56 2021 +0100

    CAMEL-16115 - Remove Camel-AWS-* components - AWS-ECS - Added a migration note
---
 docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_9.adoc | 1 +
 1 file changed, 1 insertion(+)

diff --git a/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_9.adoc b/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_9.adoc
index bb94df6..23f92c1 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_9.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-3x-upgrade-guide-3_9.adoc
@@ -52,3 +52,4 @@ the one to use above, and then add which -starter JARs you want to use in your C
 - Camel-AWS-Kinesis Firehose has been removed. Please switch to Camel-AWS2-Kinesis-firehose.
 - Camel-AWS-IAM has been removed. Please switch to Camel-AWS2-IAM.
 - Camel-AWS-EKS has been removed. Please switch to Camel-AWS2-EKS.
+- Camel-AWS-ECS has been removed. Please switch to Camel-AWS2-ECS.


[camel] 03/07: CAMEL-16115 - Remove Camel-AWS-* components - AWS-EC2

Posted by ac...@apache.org.
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 724d7f817ee00b0fae2710ac6db3bcd9685edac0
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Wed Feb 24 07:38:16 2021 +0100

    CAMEL-16115 - Remove Camel-AWS-* components - AWS-EC2
---
 .../component/ComponentsBuilderFactory.java        |  16 +-
 .../dsl/AwsEc2ComponentBuilderFactory.java         | 295 ----------------
 .../builder/endpoint/StaticEndpointBuilders.java   |  47 +--
 .../endpoint/dsl/EC2EndpointBuilderFactory.java    | 388 ---------------------
 4 files changed, 2 insertions(+), 744 deletions(-)

diff --git a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
index dd33835..03f408a 100644
--- a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
+++ b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/ComponentsBuilderFactory.java
@@ -348,20 +348,6 @@ public interface ComponentsBuilderFactory {
         return org.apache.camel.builder.component.dsl.AwsDdbstreamComponentBuilderFactory.awsDdbstream();
     }
     /**
-     * AWS Elastic Compute Cloud (EC2) (camel-aws-ec2)
-     * Manage AWS EC2 instances.
-     * 
-     * Category: cloud,management
-     * Since: 2.16
-     * Maven coordinates: org.apache.camel:camel-aws-ec2
-     * 
-     * @return the dsl builder
-     */
-    @Deprecated
-    static org.apache.camel.builder.component.dsl.AwsEc2ComponentBuilderFactory.AwsEc2ComponentBuilder awsEc2() {
-        return org.apache.camel.builder.component.dsl.AwsEc2ComponentBuilderFactory.awsEc2();
-    }
-    /**
      * AWS S3 Storage Service (camel-aws-s3)
      * Store and retrieve objects from AWS S3 Storage Service.
      * 
@@ -4750,4 +4736,4 @@ public interface ComponentsBuilderFactory {
     static org.apache.camel.builder.component.dsl.ZookeeperMasterComponentBuilderFactory.ZookeeperMasterComponentBuilder zookeeperMaster() {
         return org.apache.camel.builder.component.dsl.ZookeeperMasterComponentBuilderFactory.zookeeperMaster();
     }
-}
\ No newline at end of file
+}
diff --git a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AwsEc2ComponentBuilderFactory.java b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AwsEc2ComponentBuilderFactory.java
deleted file mode 100644
index dc7a648..0000000
--- a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/AwsEc2ComponentBuilderFactory.java
+++ /dev/null
@@ -1,295 +0,0 @@
-/*
- * 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.builder.component.dsl;
-
-import javax.annotation.Generated;
-import org.apache.camel.Component;
-import org.apache.camel.builder.component.AbstractComponentBuilder;
-import org.apache.camel.builder.component.ComponentBuilder;
-import org.apache.camel.component.aws.ec2.EC2Component;
-
-/**
- * Manage AWS EC2 instances.
- * 
- * Generated by camel-package-maven-plugin - do not edit this file!
- */
-@Generated("org.apache.camel.maven.packaging.ComponentDslMojo")
-public interface AwsEc2ComponentBuilderFactory {
-
-    /**
-     * AWS Elastic Compute Cloud (EC2) (camel-aws-ec2)
-     * Manage AWS EC2 instances.
-     * 
-     * Category: cloud,management
-     * Since: 2.16
-     * Maven coordinates: org.apache.camel:camel-aws-ec2
-     * 
-     * @return the dsl builder
-     */
-    @Deprecated
-    static AwsEc2ComponentBuilder awsEc2() {
-        return new AwsEc2ComponentBuilderImpl();
-    }
-
-    /**
-     * Builder for the AWS Elastic Compute Cloud (EC2) component.
-     */
-    interface AwsEc2ComponentBuilder extends ComponentBuilder<EC2Component> {
-        /**
-         * Setting the autoDiscoverClient mechanism, if true, the component will
-         * look for a client instance in the registry automatically otherwise it
-         * will skip that checking.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: true
-         * Group: common
-         * 
-         * @param autoDiscoverClient the value to set
-         * @return the dsl builder
-         */
-        default AwsEc2ComponentBuilder autoDiscoverClient(
-                boolean autoDiscoverClient) {
-            doSetProperty("autoDiscoverClient", autoDiscoverClient);
-            return this;
-        }
-        /**
-         * Amazon AWS Access Key.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param accessKey the value to set
-         * @return the dsl builder
-         */
-        default AwsEc2ComponentBuilder accessKey(java.lang.String accessKey) {
-            doSetProperty("accessKey", accessKey);
-            return this;
-        }
-        /**
-         * To use a existing configured AmazonEC2Client as client.
-         * 
-         * The option is a:
-         * &lt;code&gt;com.amazonaws.services.ec2.AmazonEC2&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param amazonEc2Client the value to set
-         * @return the dsl builder
-         */
-        default AwsEc2ComponentBuilder amazonEc2Client(
-                com.amazonaws.services.ec2.AmazonEC2 amazonEc2Client) {
-            doSetProperty("amazonEc2Client", amazonEc2Client);
-            return this;
-        }
-        /**
-         * The component configuration.
-         * 
-         * The option is a:
-         * &lt;code&gt;org.apache.camel.component.aws.ec2.EC2Configuration&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param configuration the value to set
-         * @return the dsl builder
-         */
-        default AwsEc2ComponentBuilder configuration(
-                org.apache.camel.component.aws.ec2.EC2Configuration configuration) {
-            doSetProperty("configuration", configuration);
-            return this;
-        }
-        /**
-         * Whether the producer should be started lazy (on the first message).
-         * By starting lazy you can use this to allow CamelContext and routes to
-         * startup in situations where a producer may otherwise fail during
-         * starting and cause the route to fail being started. By deferring this
-         * startup to be lazy then the startup failure can be handled during
-         * routing messages via Camel's routing error handlers. Beware that when
-         * the first message is processed then creating and starting the
-         * producer may take a little time and prolong the total processing time
-         * of the processing.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: false
-         * Group: producer
-         * 
-         * @param lazyStartProducer the value to set
-         * @return the dsl builder
-         */
-        default AwsEc2ComponentBuilder lazyStartProducer(
-                boolean lazyStartProducer) {
-            doSetProperty("lazyStartProducer", lazyStartProducer);
-            return this;
-        }
-        /**
-         * The operation to perform. It can be createAndRunInstances,
-         * startInstances, stopInstances, terminateInstances, describeInstances,
-         * describeInstancesStatus, rebootInstances, monitorInstances,
-         * unmonitorInstances, createTags or deleteTags.
-         * 
-         * The option is a:
-         * &lt;code&gt;org.apache.camel.component.aws.ec2.EC2Operations&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param operation the value to set
-         * @return the dsl builder
-         */
-        default AwsEc2ComponentBuilder operation(
-                org.apache.camel.component.aws.ec2.EC2Operations operation) {
-            doSetProperty("operation", operation);
-            return this;
-        }
-        /**
-         * To define a proxy host when instantiating the EC2 client.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param proxyHost the value to set
-         * @return the dsl builder
-         */
-        default AwsEc2ComponentBuilder proxyHost(java.lang.String proxyHost) {
-            doSetProperty("proxyHost", proxyHost);
-            return this;
-        }
-        /**
-         * To define a proxy port when instantiating the EC2 client.
-         * 
-         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param proxyPort the value to set
-         * @return the dsl builder
-         */
-        default AwsEc2ComponentBuilder proxyPort(java.lang.Integer proxyPort) {
-            doSetProperty("proxyPort", proxyPort);
-            return this;
-        }
-        /**
-         * To define a proxy protocol when instantiating the EC2 client.
-         * 
-         * The option is a: &lt;code&gt;com.amazonaws.Protocol&lt;/code&gt;
-         * type.
-         * 
-         * Default: HTTPS
-         * Group: producer
-         * 
-         * @param proxyProtocol the value to set
-         * @return the dsl builder
-         */
-        default AwsEc2ComponentBuilder proxyProtocol(
-                com.amazonaws.Protocol proxyProtocol) {
-            doSetProperty("proxyProtocol", proxyProtocol);
-            return this;
-        }
-        /**
-         * The region in which ECS client needs to work. When using this
-         * parameter, the configuration will expect the lowercase name of the
-         * region (for example ap-east-1) You'll need to use the name
-         * Region.EU_WEST_1.id().
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param region the value to set
-         * @return the dsl builder
-         */
-        default AwsEc2ComponentBuilder region(java.lang.String region) {
-            doSetProperty("region", region);
-            return this;
-        }
-        /**
-         * Amazon AWS Secret Key.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param secretKey the value to set
-         * @return the dsl builder
-         */
-        default AwsEc2ComponentBuilder secretKey(java.lang.String secretKey) {
-            doSetProperty("secretKey", secretKey);
-            return this;
-        }
-        /**
-         * Whether autowiring is enabled. This is used for automatic autowiring
-         * options (the option must be marked as autowired) by looking up in the
-         * registry to find if there is a single instance of matching type,
-         * which then gets configured on the component. This can be used for
-         * automatic configuring JDBC data sources, JMS connection factories,
-         * AWS Clients, etc.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: true
-         * Group: advanced
-         * 
-         * @param autowiredEnabled the value to set
-         * @return the dsl builder
-         */
-        default AwsEc2ComponentBuilder autowiredEnabled(boolean autowiredEnabled) {
-            doSetProperty("autowiredEnabled", autowiredEnabled);
-            return this;
-        }
-    }
-
-    class AwsEc2ComponentBuilderImpl
-            extends
-                AbstractComponentBuilder<EC2Component>
-            implements
-                AwsEc2ComponentBuilder {
-        @Override
-        protected EC2Component buildConcreteComponent() {
-            return new EC2Component();
-        }
-        private org.apache.camel.component.aws.ec2.EC2Configuration getOrCreateConfiguration(
-                org.apache.camel.component.aws.ec2.EC2Component component) {
-            if (component.getConfiguration() == null) {
-                component.setConfiguration(new org.apache.camel.component.aws.ec2.EC2Configuration());
-            }
-            return component.getConfiguration();
-        }
-        @Override
-        protected boolean setPropertyOnComponent(
-                Component component,
-                String name,
-                Object value) {
-            switch (name) {
-            case "autoDiscoverClient": getOrCreateConfiguration((EC2Component) component).setAutoDiscoverClient((boolean) value); return true;
-            case "accessKey": getOrCreateConfiguration((EC2Component) component).setAccessKey((java.lang.String) value); return true;
-            case "amazonEc2Client": getOrCreateConfiguration((EC2Component) component).setAmazonEc2Client((com.amazonaws.services.ec2.AmazonEC2) value); return true;
-            case "configuration": ((EC2Component) component).setConfiguration((org.apache.camel.component.aws.ec2.EC2Configuration) value); return true;
-            case "lazyStartProducer": ((EC2Component) component).setLazyStartProducer((boolean) value); return true;
-            case "operation": getOrCreateConfiguration((EC2Component) component).setOperation((org.apache.camel.component.aws.ec2.EC2Operations) value); return true;
-            case "proxyHost": getOrCreateConfiguration((EC2Component) component).setProxyHost((java.lang.String) value); return true;
-            case "proxyPort": getOrCreateConfiguration((EC2Component) component).setProxyPort((java.lang.Integer) value); return true;
-            case "proxyProtocol": getOrCreateConfiguration((EC2Component) component).setProxyProtocol((com.amazonaws.Protocol) value); return true;
-            case "region": getOrCreateConfiguration((EC2Component) component).setRegion((java.lang.String) value); return true;
-            case "secretKey": getOrCreateConfiguration((EC2Component) component).setSecretKey((java.lang.String) value); return true;
-            case "autowiredEnabled": ((EC2Component) component).setAutowiredEnabled((boolean) value); return true;
-            default: return false;
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
index 26c5ed5..6ef978c 100644
--- a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
+++ b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
@@ -1967,51 +1967,6 @@ public class StaticEndpointBuilders {
         return org.apache.camel.builder.endpoint.dsl.DdbStreamEndpointBuilderFactory.endpointBuilder(componentName, path);
     }
     /**
-     * AWS Elastic Compute Cloud (EC2) (camel-aws-ec2)
-     * Manage AWS EC2 instances.
-     * 
-     * Category: cloud,management
-     * Since: 2.16
-     * Maven coordinates: org.apache.camel:camel-aws-ec2
-     * 
-     * Syntax: <code>aws-ec2:label</code>
-     * 
-     * Path parameter: label (required)
-     * Logical name
-     * 
-     * @param path label
-     * @return the dsl builder
-     */
-    @Deprecated
-    public static org.apache.camel.builder.endpoint.dsl.EC2EndpointBuilderFactory.EC2EndpointBuilder awsEc2(
-            String path) {
-        return org.apache.camel.builder.endpoint.dsl.EC2EndpointBuilderFactory.endpointBuilder("aws-ec2", path);
-    }
-    /**
-     * AWS Elastic Compute Cloud (EC2) (camel-aws-ec2)
-     * Manage AWS EC2 instances.
-     * 
-     * Category: cloud,management
-     * Since: 2.16
-     * Maven coordinates: org.apache.camel:camel-aws-ec2
-     * 
-     * Syntax: <code>aws-ec2:label</code>
-     * 
-     * Path parameter: label (required)
-     * Logical name
-     * 
-     * @param componentName to use a custom component name for the endpoint
-     * instead of the default name
-     * @param path label
-     * @return the dsl builder
-     */
-    @Deprecated
-    public static org.apache.camel.builder.endpoint.dsl.EC2EndpointBuilderFactory.EC2EndpointBuilder awsEc2(
-            String componentName,
-            String path) {
-        return org.apache.camel.builder.endpoint.dsl.EC2EndpointBuilderFactory.endpointBuilder(componentName, path);
-    }
-    /**
      * AWS S3 Storage Service (camel-aws-s3)
      * Store and retrieve objects from AWS S3 Storage Service.
      * 
@@ -16667,4 +16622,4 @@ public class StaticEndpointBuilders {
         return org.apache.camel.builder.endpoint.dsl.ZooKeeperMasterEndpointBuilderFactory.endpointBuilder(componentName, path);
     }
 }
-//CHECKSTYLE:ON
\ No newline at end of file
+//CHECKSTYLE:ON
diff --git a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/EC2EndpointBuilderFactory.java b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/EC2EndpointBuilderFactory.java
deleted file mode 100644
index df4bbc0..0000000
--- a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/EC2EndpointBuilderFactory.java
+++ /dev/null
@@ -1,388 +0,0 @@
-/*
- * 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.builder.endpoint.dsl;
-
-import javax.annotation.Generated;
-import org.apache.camel.builder.EndpointConsumerBuilder;
-import org.apache.camel.builder.EndpointProducerBuilder;
-import org.apache.camel.builder.endpoint.AbstractEndpointBuilder;
-
-/**
- * Manage AWS EC2 instances.
- * 
- * Generated by camel build tools - do NOT edit this file!
- */
-@Generated("org.apache.camel.maven.packaging.EndpointDslMojo")
-public interface EC2EndpointBuilderFactory {
-
-
-    /**
-     * Builder for endpoint for the AWS Elastic Compute Cloud (EC2) component.
-     */
-    public interface EC2EndpointBuilder extends EndpointProducerBuilder {
-        /**
-         * Setting the autoDiscoverClient mechanism, if true, the component will
-         * look for a client instance in the registry automatically otherwise it
-         * will skip that checking.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: true
-         * Group: common
-         * 
-         * @param autoDiscoverClient the value to set
-         * @return the dsl builder
-         */
-        default EC2EndpointBuilder autoDiscoverClient(boolean autoDiscoverClient) {
-            doSetProperty("autoDiscoverClient", autoDiscoverClient);
-            return this;
-        }
-        /**
-         * Setting the autoDiscoverClient mechanism, if true, the component will
-         * look for a client instance in the registry automatically otherwise it
-         * will skip that checking.
-         * 
-         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
-         * type.
-         * 
-         * Default: true
-         * Group: common
-         * 
-         * @param autoDiscoverClient the value to set
-         * @return the dsl builder
-         */
-        default EC2EndpointBuilder autoDiscoverClient(String autoDiscoverClient) {
-            doSetProperty("autoDiscoverClient", autoDiscoverClient);
-            return this;
-        }
-        /**
-         * Amazon AWS Access Key.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param accessKey the value to set
-         * @return the dsl builder
-         */
-        default EC2EndpointBuilder accessKey(String accessKey) {
-            doSetProperty("accessKey", accessKey);
-            return this;
-        }
-        /**
-         * To use a existing configured AmazonEC2Client as client.
-         * 
-         * The option is a:
-         * &lt;code&gt;com.amazonaws.services.ec2.AmazonEC2&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param amazonEc2Client the value to set
-         * @return the dsl builder
-         */
-        default EC2EndpointBuilder amazonEc2Client(Object amazonEc2Client) {
-            doSetProperty("amazonEc2Client", amazonEc2Client);
-            return this;
-        }
-        /**
-         * To use a existing configured AmazonEC2Client as client.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;com.amazonaws.services.ec2.AmazonEC2&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param amazonEc2Client the value to set
-         * @return the dsl builder
-         */
-        default EC2EndpointBuilder amazonEc2Client(String amazonEc2Client) {
-            doSetProperty("amazonEc2Client", amazonEc2Client);
-            return this;
-        }
-        /**
-         * Whether the producer should be started lazy (on the first message).
-         * By starting lazy you can use this to allow CamelContext and routes to
-         * startup in situations where a producer may otherwise fail during
-         * starting and cause the route to fail being started. By deferring this
-         * startup to be lazy then the startup failure can be handled during
-         * routing messages via Camel's routing error handlers. Beware that when
-         * the first message is processed then creating and starting the
-         * producer may take a little time and prolong the total processing time
-         * of the processing.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: false
-         * Group: producer
-         * 
-         * @param lazyStartProducer the value to set
-         * @return the dsl builder
-         */
-        default EC2EndpointBuilder lazyStartProducer(boolean lazyStartProducer) {
-            doSetProperty("lazyStartProducer", lazyStartProducer);
-            return this;
-        }
-        /**
-         * Whether the producer should be started lazy (on the first message).
-         * By starting lazy you can use this to allow CamelContext and routes to
-         * startup in situations where a producer may otherwise fail during
-         * starting and cause the route to fail being started. By deferring this
-         * startup to be lazy then the startup failure can be handled during
-         * routing messages via Camel's routing error handlers. Beware that when
-         * the first message is processed then creating and starting the
-         * producer may take a little time and prolong the total processing time
-         * of the processing.
-         * 
-         * The option will be converted to a &lt;code&gt;boolean&lt;/code&gt;
-         * type.
-         * 
-         * Default: false
-         * Group: producer
-         * 
-         * @param lazyStartProducer the value to set
-         * @return the dsl builder
-         */
-        default EC2EndpointBuilder lazyStartProducer(String lazyStartProducer) {
-            doSetProperty("lazyStartProducer", lazyStartProducer);
-            return this;
-        }
-        /**
-         * The operation to perform. It can be createAndRunInstances,
-         * startInstances, stopInstances, terminateInstances, describeInstances,
-         * describeInstancesStatus, rebootInstances, monitorInstances,
-         * unmonitorInstances, createTags or deleteTags.
-         * 
-         * The option is a:
-         * &lt;code&gt;org.apache.camel.component.aws.ec2.EC2Operations&lt;/code&gt; type.
-         * 
-         * Required: true
-         * Group: producer
-         * 
-         * @param operation the value to set
-         * @return the dsl builder
-         */
-        default EC2EndpointBuilder operation(EC2Operations operation) {
-            doSetProperty("operation", operation);
-            return this;
-        }
-        /**
-         * The operation to perform. It can be createAndRunInstances,
-         * startInstances, stopInstances, terminateInstances, describeInstances,
-         * describeInstancesStatus, rebootInstances, monitorInstances,
-         * unmonitorInstances, createTags or deleteTags.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;org.apache.camel.component.aws.ec2.EC2Operations&lt;/code&gt; type.
-         * 
-         * Required: true
-         * Group: producer
-         * 
-         * @param operation the value to set
-         * @return the dsl builder
-         */
-        default EC2EndpointBuilder operation(String operation) {
-            doSetProperty("operation", operation);
-            return this;
-        }
-        /**
-         * To define a proxy host when instantiating the EC2 client.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param proxyHost the value to set
-         * @return the dsl builder
-         */
-        default EC2EndpointBuilder proxyHost(String proxyHost) {
-            doSetProperty("proxyHost", proxyHost);
-            return this;
-        }
-        /**
-         * To define a proxy port when instantiating the EC2 client.
-         * 
-         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param proxyPort the value to set
-         * @return the dsl builder
-         */
-        default EC2EndpointBuilder proxyPort(Integer proxyPort) {
-            doSetProperty("proxyPort", proxyPort);
-            return this;
-        }
-        /**
-         * To define a proxy port when instantiating the EC2 client.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param proxyPort the value to set
-         * @return the dsl builder
-         */
-        default EC2EndpointBuilder proxyPort(String proxyPort) {
-            doSetProperty("proxyPort", proxyPort);
-            return this;
-        }
-        /**
-         * To define a proxy protocol when instantiating the EC2 client.
-         * 
-         * The option is a: &lt;code&gt;com.amazonaws.Protocol&lt;/code&gt;
-         * type.
-         * 
-         * Default: HTTPS
-         * Group: producer
-         * 
-         * @param proxyProtocol the value to set
-         * @return the dsl builder
-         */
-        default EC2EndpointBuilder proxyProtocol(Protocol proxyProtocol) {
-            doSetProperty("proxyProtocol", proxyProtocol);
-            return this;
-        }
-        /**
-         * To define a proxy protocol when instantiating the EC2 client.
-         * 
-         * The option will be converted to a
-         * &lt;code&gt;com.amazonaws.Protocol&lt;/code&gt; type.
-         * 
-         * Default: HTTPS
-         * Group: producer
-         * 
-         * @param proxyProtocol the value to set
-         * @return the dsl builder
-         */
-        default EC2EndpointBuilder proxyProtocol(String proxyProtocol) {
-            doSetProperty("proxyProtocol", proxyProtocol);
-            return this;
-        }
-        /**
-         * The region in which ECS client needs to work. When using this
-         * parameter, the configuration will expect the lowercase name of the
-         * region (for example ap-east-1) You'll need to use the name
-         * Region.EU_WEST_1.id().
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param region the value to set
-         * @return the dsl builder
-         */
-        default EC2EndpointBuilder region(String region) {
-            doSetProperty("region", region);
-            return this;
-        }
-        /**
-         * Amazon AWS Secret Key.
-         * 
-         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
-         * 
-         * Group: producer
-         * 
-         * @param secretKey the value to set
-         * @return the dsl builder
-         */
-        default EC2EndpointBuilder secretKey(String secretKey) {
-            doSetProperty("secretKey", secretKey);
-            return this;
-        }
-    }
-
-    /**
-     * Proxy enum for
-     * <code>org.apache.camel.component.aws.ec2.EC2Operations</code> enum.
-     */
-    enum EC2Operations {
-        createAndRunInstances,
-        startInstances,
-        stopInstances,
-        terminateInstances,
-        describeInstances,
-        describeInstancesStatus,
-        rebootInstances,
-        monitorInstances,
-        unmonitorInstances,
-        createTags,
-        deleteTags;
-    }
-
-    /**
-     * Proxy enum for <code>com.amazonaws.Protocol</code> enum.
-     */
-    enum Protocol {
-        HTTP,
-        HTTPS;
-    }
-
-    public interface EC2Builders {
-        /**
-         * AWS Elastic Compute Cloud (EC2) (camel-aws-ec2)
-         * Manage AWS EC2 instances.
-         * 
-         * Category: cloud,management
-         * Since: 2.16
-         * Maven coordinates: org.apache.camel:camel-aws-ec2
-         * 
-         * Syntax: <code>aws-ec2:label</code>
-         * 
-         * Path parameter: label (required)
-         * Logical name
-         * 
-         * @param path label
-         * @return the dsl builder
-         */
-        @Deprecated
-        default EC2EndpointBuilder awsEc2(String path) {
-            return EC2EndpointBuilderFactory.endpointBuilder("aws-ec2", path);
-        }
-        /**
-         * AWS Elastic Compute Cloud (EC2) (camel-aws-ec2)
-         * Manage AWS EC2 instances.
-         * 
-         * Category: cloud,management
-         * Since: 2.16
-         * Maven coordinates: org.apache.camel:camel-aws-ec2
-         * 
-         * Syntax: <code>aws-ec2:label</code>
-         * 
-         * Path parameter: label (required)
-         * Logical name
-         * 
-         * @param componentName to use a custom component name for the endpoint
-         * instead of the default name
-         * @param path label
-         * @return the dsl builder
-         */
-        @Deprecated
-        default EC2EndpointBuilder awsEc2(String componentName, String path) {
-            return EC2EndpointBuilderFactory.endpointBuilder(componentName, path);
-        }
-    }
-    @Deprecated
-    static EC2EndpointBuilder endpointBuilder(String componentName, String path) {
-        class EC2EndpointBuilderImpl extends AbstractEndpointBuilder implements EC2EndpointBuilder {
-            public EC2EndpointBuilderImpl(String path) {
-                super(componentName, path);
-            }
-        }
-        return new EC2EndpointBuilderImpl(path);
-    }
-}
\ No newline at end of file


[camel] 02/07: CAMEL-16115 - Remove Camel-AWS-* components - AWS-EC2

Posted by ac...@apache.org.
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 8208d7bd50643d4ce16a0483831cab357e49350b
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Wed Feb 24 07:36:27 2021 +0100

    CAMEL-16115 - Remove Camel-AWS-* components - AWS-EC2
---
 bom/camel-bom/pom.xml            | 5 -----
 core/camel-allcomponents/pom.xml | 4 ----
 parent/pom.xml                   | 5 -----
 3 files changed, 14 deletions(-)

diff --git a/bom/camel-bom/pom.xml b/bom/camel-bom/pom.xml
index 907d5cc..747d353 100644
--- a/bom/camel-bom/pom.xml
+++ b/bom/camel-bom/pom.xml
@@ -148,11 +148,6 @@
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
-        <artifactId>camel-aws-ec2</artifactId>
-        <version>${project.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.camel</groupId>
         <artifactId>camel-aws-s3</artifactId>
         <version>${project.version}</version>
       </dependency>
diff --git a/core/camel-allcomponents/pom.xml b/core/camel-allcomponents/pom.xml
index 7893c6f..916654a 100644
--- a/core/camel-allcomponents/pom.xml
+++ b/core/camel-allcomponents/pom.xml
@@ -119,10 +119,6 @@
 		</dependency>
 		<dependency>
 			<groupId>org.apache.camel</groupId>
-			<artifactId>camel-aws-ec2</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.camel</groupId>
 			<artifactId>camel-aws-s3</artifactId>
 		</dependency>
 		<dependency>
diff --git a/parent/pom.xml b/parent/pom.xml
index 57fcde5..dbc7386 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -868,11 +868,6 @@
 			</dependency>
 			<dependency>
 				<groupId>org.apache.camel</groupId>
-				<artifactId>camel-aws-ec2</artifactId>
-				<version>${project.version}</version>
-			</dependency>
-			<dependency>
-				<groupId>org.apache.camel</groupId>
 				<artifactId>camel-aws-s3</artifactId>
 				<version>${project.version}</version>
 			</dependency>


[camel] 01/07: CAMEL-16115 - Remove Camel-AWS-* components - AWS-EC2

Posted by ac...@apache.org.
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 e2b7efb565abb28a6a106f58bdd0e6a52f60c67a
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Wed Feb 24 07:35:06 2021 +0100

    CAMEL-16115 - Remove Camel-AWS-* components - AWS-EC2
---
 components/camel-aws-ec2/pom.xml                   |  77 ---
 .../component/aws/ec2/EC2ComponentConfigurer.java  | 113 -----
 .../component/aws/ec2/EC2EndpointConfigurer.java   |  97 ----
 .../component/aws/ec2/EC2EndpointUriFactory.java   |  74 ---
 .../services/org/apache/camel/component.properties |   7 -
 .../services/org/apache/camel/component/aws-ec2    |   2 -
 .../org/apache/camel/configurer/aws-ec2-component  |   2 -
 .../org/apache/camel/configurer/aws-ec2-endpoint   |   2 -
 .../org/apache/camel/urifactory/aws-ec2-endpoint   |   2 -
 .../apache/camel/component/aws/ec2/aws-ec2.json    |  52 --
 .../src/main/docs/aws-ec2-component.adoc           | 195 --------
 .../camel/component/aws/ec2/EC2Component.java      |  82 ----
 .../aws/ec2/EC2ComponentVerifierExtension.java     |  91 ----
 .../camel/component/aws/ec2/EC2Configuration.java  | 167 -------
 .../camel/component/aws/ec2/EC2Constants.java      |  39 --
 .../camel/component/aws/ec2/EC2Endpoint.java       | 125 -----
 .../camel/component/aws/ec2/EC2Operations.java     |  32 --
 .../camel/component/aws/ec2/EC2Producer.java       | 427 ----------------
 .../component/aws/ec2/AmazonEC2ClientMock.java     | 310 ------------
 .../aws/ec2/EC2ComponentClientRegistryTest.java    |  71 ---
 .../aws/ec2/EC2ComponentConfigurationTest.java     | 133 -----
 .../component/aws/ec2/EC2ComponentSpringTest.java  | 244 ----------
 .../aws/ec2/EC2ComponentVerifierExtensionTest.java |  76 ---
 .../camel/component/aws/ec2/EC2OperationsTest.java |  59 ---
 .../camel/component/aws/ec2/EC2ProducerTest.java   | 536 ---------------------
 .../integration/EC2ComponentIntegrationTest.java   | 237 ---------
 .../src/test/resources/log4j2.properties           |  28 --
 .../aws/ec2/EC2ComponentSpringTest-context.xml     |  66 ---
 components/pom.xml                                 |   1 -
 29 files changed, 3347 deletions(-)

diff --git a/components/camel-aws-ec2/pom.xml b/components/camel-aws-ec2/pom.xml
deleted file mode 100644
index adbbe40..0000000
--- a/components/camel-aws-ec2/pom.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-<?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/maven-v4_0_0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>components</artifactId>
-        <version>3.9.0-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>camel-aws-ec2</artifactId>
-    <packaging>jar</packaging>
-
-    <name>Camel :: AWS EC2 (deprecated)</name>
-    <description>A Camel Amazon EC2 Web Service Component</description>
-
-    <properties>
-        <deprecatedSince>3.8.0</deprecatedSince>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-support</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.amazonaws</groupId>
-            <artifactId>aws-java-sdk-ec2</artifactId>
-            <version>${aws-java-sdk-version}</version>
-        </dependency>
-
-        <!-- for testing -->
-        <dependency>
-            <groupId>org.junit.jupiter</groupId>
-            <artifactId>junit-jupiter</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-test-spring-junit5</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-core-catalog</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.logging.log4j</groupId>
-            <artifactId>log4j-slf4j-impl</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.mockito</groupId>
-            <artifactId>mockito-junit-jupiter</artifactId>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-</project>
diff --git a/components/camel-aws-ec2/src/generated/java/org/apache/camel/component/aws/ec2/EC2ComponentConfigurer.java b/components/camel-aws-ec2/src/generated/java/org/apache/camel/component/aws/ec2/EC2ComponentConfigurer.java
deleted file mode 100644
index 0c264a7..0000000
--- a/components/camel-aws-ec2/src/generated/java/org/apache/camel/component/aws/ec2/EC2ComponentConfigurer.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/* Generated by camel build tools - do NOT edit this file! */
-package org.apache.camel.component.aws.ec2;
-
-import java.util.Map;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.spi.ExtendedPropertyConfigurerGetter;
-import org.apache.camel.spi.PropertyConfigurerGetter;
-import org.apache.camel.spi.ConfigurerStrategy;
-import org.apache.camel.spi.GeneratedPropertyConfigurer;
-import org.apache.camel.util.CaseInsensitiveMap;
-import org.apache.camel.support.component.PropertyConfigurerSupport;
-
-/**
- * Generated by camel build tools - do NOT edit this file!
- */
-@SuppressWarnings("unchecked")
-public class EC2ComponentConfigurer extends PropertyConfigurerSupport implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {
-
-    private org.apache.camel.component.aws.ec2.EC2Configuration getOrCreateConfiguration(EC2Component target) {
-        if (target.getConfiguration() == null) {
-            target.setConfiguration(new org.apache.camel.component.aws.ec2.EC2Configuration());
-        }
-        return target.getConfiguration();
-    }
-
-    @Override
-    public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
-        EC2Component target = (EC2Component) obj;
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "accesskey":
-        case "accessKey": getOrCreateConfiguration(target).setAccessKey(property(camelContext, java.lang.String.class, value)); return true;
-        case "amazonec2client":
-        case "amazonEc2Client": getOrCreateConfiguration(target).setAmazonEc2Client(property(camelContext, com.amazonaws.services.ec2.AmazonEC2.class, value)); return true;
-        case "autodiscoverclient":
-        case "autoDiscoverClient": getOrCreateConfiguration(target).setAutoDiscoverClient(property(camelContext, boolean.class, value)); return true;
-        case "autowiredenabled":
-        case "autowiredEnabled": target.setAutowiredEnabled(property(camelContext, boolean.class, value)); return true;
-        case "configuration": target.setConfiguration(property(camelContext, org.apache.camel.component.aws.ec2.EC2Configuration.class, value)); return true;
-        case "lazystartproducer":
-        case "lazyStartProducer": target.setLazyStartProducer(property(camelContext, boolean.class, value)); return true;
-        case "operation": getOrCreateConfiguration(target).setOperation(property(camelContext, org.apache.camel.component.aws.ec2.EC2Operations.class, value)); return true;
-        case "proxyhost":
-        case "proxyHost": getOrCreateConfiguration(target).setProxyHost(property(camelContext, java.lang.String.class, value)); return true;
-        case "proxyport":
-        case "proxyPort": getOrCreateConfiguration(target).setProxyPort(property(camelContext, java.lang.Integer.class, value)); return true;
-        case "proxyprotocol":
-        case "proxyProtocol": getOrCreateConfiguration(target).setProxyProtocol(property(camelContext, com.amazonaws.Protocol.class, value)); return true;
-        case "region": getOrCreateConfiguration(target).setRegion(property(camelContext, java.lang.String.class, value)); return true;
-        case "secretkey":
-        case "secretKey": getOrCreateConfiguration(target).setSecretKey(property(camelContext, java.lang.String.class, value)); return true;
-        default: return false;
-        }
-    }
-
-    @Override
-    public Class<?> getOptionType(String name, boolean ignoreCase) {
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "accesskey":
-        case "accessKey": return java.lang.String.class;
-        case "amazonec2client":
-        case "amazonEc2Client": return com.amazonaws.services.ec2.AmazonEC2.class;
-        case "autodiscoverclient":
-        case "autoDiscoverClient": return boolean.class;
-        case "autowiredenabled":
-        case "autowiredEnabled": return boolean.class;
-        case "configuration": return org.apache.camel.component.aws.ec2.EC2Configuration.class;
-        case "lazystartproducer":
-        case "lazyStartProducer": return boolean.class;
-        case "operation": return org.apache.camel.component.aws.ec2.EC2Operations.class;
-        case "proxyhost":
-        case "proxyHost": return java.lang.String.class;
-        case "proxyport":
-        case "proxyPort": return java.lang.Integer.class;
-        case "proxyprotocol":
-        case "proxyProtocol": return com.amazonaws.Protocol.class;
-        case "region": return java.lang.String.class;
-        case "secretkey":
-        case "secretKey": return java.lang.String.class;
-        default: return null;
-        }
-    }
-
-    @Override
-    public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
-        EC2Component target = (EC2Component) obj;
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "accesskey":
-        case "accessKey": return getOrCreateConfiguration(target).getAccessKey();
-        case "amazonec2client":
-        case "amazonEc2Client": return getOrCreateConfiguration(target).getAmazonEc2Client();
-        case "autodiscoverclient":
-        case "autoDiscoverClient": return getOrCreateConfiguration(target).isAutoDiscoverClient();
-        case "autowiredenabled":
-        case "autowiredEnabled": return target.isAutowiredEnabled();
-        case "configuration": return target.getConfiguration();
-        case "lazystartproducer":
-        case "lazyStartProducer": return target.isLazyStartProducer();
-        case "operation": return getOrCreateConfiguration(target).getOperation();
-        case "proxyhost":
-        case "proxyHost": return getOrCreateConfiguration(target).getProxyHost();
-        case "proxyport":
-        case "proxyPort": return getOrCreateConfiguration(target).getProxyPort();
-        case "proxyprotocol":
-        case "proxyProtocol": return getOrCreateConfiguration(target).getProxyProtocol();
-        case "region": return getOrCreateConfiguration(target).getRegion();
-        case "secretkey":
-        case "secretKey": return getOrCreateConfiguration(target).getSecretKey();
-        default: return null;
-        }
-    }
-}
-
diff --git a/components/camel-aws-ec2/src/generated/java/org/apache/camel/component/aws/ec2/EC2EndpointConfigurer.java b/components/camel-aws-ec2/src/generated/java/org/apache/camel/component/aws/ec2/EC2EndpointConfigurer.java
deleted file mode 100644
index 8590e46..0000000
--- a/components/camel-aws-ec2/src/generated/java/org/apache/camel/component/aws/ec2/EC2EndpointConfigurer.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/* Generated by camel build tools - do NOT edit this file! */
-package org.apache.camel.component.aws.ec2;
-
-import java.util.Map;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.spi.ExtendedPropertyConfigurerGetter;
-import org.apache.camel.spi.PropertyConfigurerGetter;
-import org.apache.camel.spi.ConfigurerStrategy;
-import org.apache.camel.spi.GeneratedPropertyConfigurer;
-import org.apache.camel.util.CaseInsensitiveMap;
-import org.apache.camel.support.component.PropertyConfigurerSupport;
-
-/**
- * Generated by camel build tools - do NOT edit this file!
- */
-@SuppressWarnings("unchecked")
-public class EC2EndpointConfigurer extends PropertyConfigurerSupport implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {
-
-    @Override
-    public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
-        EC2Endpoint target = (EC2Endpoint) obj;
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "accesskey":
-        case "accessKey": target.getConfiguration().setAccessKey(property(camelContext, java.lang.String.class, value)); return true;
-        case "amazonec2client":
-        case "amazonEc2Client": target.getConfiguration().setAmazonEc2Client(property(camelContext, com.amazonaws.services.ec2.AmazonEC2.class, value)); return true;
-        case "autodiscoverclient":
-        case "autoDiscoverClient": target.getConfiguration().setAutoDiscoverClient(property(camelContext, boolean.class, value)); return true;
-        case "lazystartproducer":
-        case "lazyStartProducer": target.setLazyStartProducer(property(camelContext, boolean.class, value)); return true;
-        case "operation": target.getConfiguration().setOperation(property(camelContext, org.apache.camel.component.aws.ec2.EC2Operations.class, value)); return true;
-        case "proxyhost":
-        case "proxyHost": target.getConfiguration().setProxyHost(property(camelContext, java.lang.String.class, value)); return true;
-        case "proxyport":
-        case "proxyPort": target.getConfiguration().setProxyPort(property(camelContext, java.lang.Integer.class, value)); return true;
-        case "proxyprotocol":
-        case "proxyProtocol": target.getConfiguration().setProxyProtocol(property(camelContext, com.amazonaws.Protocol.class, value)); return true;
-        case "region": target.getConfiguration().setRegion(property(camelContext, java.lang.String.class, value)); return true;
-        case "secretkey":
-        case "secretKey": target.getConfiguration().setSecretKey(property(camelContext, java.lang.String.class, value)); return true;
-        default: return false;
-        }
-    }
-
-    @Override
-    public Class<?> getOptionType(String name, boolean ignoreCase) {
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "accesskey":
-        case "accessKey": return java.lang.String.class;
-        case "amazonec2client":
-        case "amazonEc2Client": return com.amazonaws.services.ec2.AmazonEC2.class;
-        case "autodiscoverclient":
-        case "autoDiscoverClient": return boolean.class;
-        case "lazystartproducer":
-        case "lazyStartProducer": return boolean.class;
-        case "operation": return org.apache.camel.component.aws.ec2.EC2Operations.class;
-        case "proxyhost":
-        case "proxyHost": return java.lang.String.class;
-        case "proxyport":
-        case "proxyPort": return java.lang.Integer.class;
-        case "proxyprotocol":
-        case "proxyProtocol": return com.amazonaws.Protocol.class;
-        case "region": return java.lang.String.class;
-        case "secretkey":
-        case "secretKey": return java.lang.String.class;
-        default: return null;
-        }
-    }
-
-    @Override
-    public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
-        EC2Endpoint target = (EC2Endpoint) obj;
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "accesskey":
-        case "accessKey": return target.getConfiguration().getAccessKey();
-        case "amazonec2client":
-        case "amazonEc2Client": return target.getConfiguration().getAmazonEc2Client();
-        case "autodiscoverclient":
-        case "autoDiscoverClient": return target.getConfiguration().isAutoDiscoverClient();
-        case "lazystartproducer":
-        case "lazyStartProducer": return target.isLazyStartProducer();
-        case "operation": return target.getConfiguration().getOperation();
-        case "proxyhost":
-        case "proxyHost": return target.getConfiguration().getProxyHost();
-        case "proxyport":
-        case "proxyPort": return target.getConfiguration().getProxyPort();
-        case "proxyprotocol":
-        case "proxyProtocol": return target.getConfiguration().getProxyProtocol();
-        case "region": return target.getConfiguration().getRegion();
-        case "secretkey":
-        case "secretKey": return target.getConfiguration().getSecretKey();
-        default: return null;
-        }
-    }
-}
-
diff --git a/components/camel-aws-ec2/src/generated/java/org/apache/camel/component/aws/ec2/EC2EndpointUriFactory.java b/components/camel-aws-ec2/src/generated/java/org/apache/camel/component/aws/ec2/EC2EndpointUriFactory.java
deleted file mode 100644
index c3ddba0..0000000
--- a/components/camel-aws-ec2/src/generated/java/org/apache/camel/component/aws/ec2/EC2EndpointUriFactory.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/* Generated by camel build tools - do NOT edit this file! */
-package org.apache.camel.component.aws.ec2;
-
-import java.net.URISyntaxException;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.camel.spi.EndpointUriFactory;
-
-/**
- * Generated by camel build tools - do NOT edit this file!
- */
-public class EC2EndpointUriFactory extends org.apache.camel.support.component.EndpointUriFactorySupport implements EndpointUriFactory {
-
-    private static final String BASE = ":label";
-
-    private static final Set<String> PROPERTY_NAMES;
-    private static final Set<String> SECRET_PROPERTY_NAMES;
-    static {
-        Set<String> props = new HashSet<>(11);
-        props.add("autoDiscoverClient");
-        props.add("proxyPort");
-        props.add("lazyStartProducer");
-        props.add("proxyProtocol");
-        props.add("secretKey");
-        props.add("accessKey");
-        props.add("amazonEc2Client");
-        props.add("label");
-        props.add("region");
-        props.add("operation");
-        props.add("proxyHost");
-        PROPERTY_NAMES = Collections.unmodifiableSet(props);
-        Set<String> secretProps = new HashSet<>(2);
-        secretProps.add("secretKey");
-        secretProps.add("accessKey");
-        SECRET_PROPERTY_NAMES = Collections.unmodifiableSet(secretProps);
-    }
-
-    @Override
-    public boolean isEnabled(String scheme) {
-        return "aws-ec2".equals(scheme);
-    }
-
-    @Override
-    public String buildUri(String scheme, Map<String, Object> properties, boolean encode) throws URISyntaxException {
-        String syntax = scheme + BASE;
-        String uri = syntax;
-
-        Map<String, Object> copy = new HashMap<>(properties);
-
-        uri = buildPathParameter(syntax, uri, "label", null, true, copy);
-        uri = buildQueryParameters(uri, copy, encode);
-        return uri;
-    }
-
-    @Override
-    public Set<String> propertyNames() {
-        return PROPERTY_NAMES;
-    }
-
-    @Override
-    public Set<String> secretPropertyNames() {
-        return SECRET_PROPERTY_NAMES;
-    }
-
-    @Override
-    public boolean isLenientProperties() {
-        return false;
-    }
-}
-
diff --git a/components/camel-aws-ec2/src/generated/resources/META-INF/services/org/apache/camel/component.properties b/components/camel-aws-ec2/src/generated/resources/META-INF/services/org/apache/camel/component.properties
deleted file mode 100644
index 5a678ba..0000000
--- a/components/camel-aws-ec2/src/generated/resources/META-INF/services/org/apache/camel/component.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-components=aws-ec2
-groupId=org.apache.camel
-artifactId=camel-aws-ec2
-version=3.9.0-SNAPSHOT
-projectName=Camel :: AWS EC2 (deprecated)
-projectDescription=A Camel Amazon EC2 Web Service Component
diff --git a/components/camel-aws-ec2/src/generated/resources/META-INF/services/org/apache/camel/component/aws-ec2 b/components/camel-aws-ec2/src/generated/resources/META-INF/services/org/apache/camel/component/aws-ec2
deleted file mode 100644
index 01757fd..0000000
--- a/components/camel-aws-ec2/src/generated/resources/META-INF/services/org/apache/camel/component/aws-ec2
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.component.aws.ec2.EC2Component
diff --git a/components/camel-aws-ec2/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws-ec2-component b/components/camel-aws-ec2/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws-ec2-component
deleted file mode 100644
index 3eb7415..0000000
--- a/components/camel-aws-ec2/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws-ec2-component
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.component.aws.ec2.EC2ComponentConfigurer
diff --git a/components/camel-aws-ec2/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws-ec2-endpoint b/components/camel-aws-ec2/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws-ec2-endpoint
deleted file mode 100644
index c80d18c..0000000
--- a/components/camel-aws-ec2/src/generated/resources/META-INF/services/org/apache/camel/configurer/aws-ec2-endpoint
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.component.aws.ec2.EC2EndpointConfigurer
diff --git a/components/camel-aws-ec2/src/generated/resources/META-INF/services/org/apache/camel/urifactory/aws-ec2-endpoint b/components/camel-aws-ec2/src/generated/resources/META-INF/services/org/apache/camel/urifactory/aws-ec2-endpoint
deleted file mode 100644
index e4218d6..0000000
--- a/components/camel-aws-ec2/src/generated/resources/META-INF/services/org/apache/camel/urifactory/aws-ec2-endpoint
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.component.aws.ec2.EC2EndpointUriFactory
diff --git a/components/camel-aws-ec2/src/generated/resources/org/apache/camel/component/aws/ec2/aws-ec2.json b/components/camel-aws-ec2/src/generated/resources/org/apache/camel/component/aws/ec2/aws-ec2.json
deleted file mode 100644
index 9d17267..0000000
--- a/components/camel-aws-ec2/src/generated/resources/org/apache/camel/component/aws/ec2/aws-ec2.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{
-  "component": {
-    "kind": "component",
-    "name": "aws-ec2",
-    "title": "AWS Elastic Compute Cloud (EC2)",
-    "description": "Manage AWS EC2 instances.",
-    "deprecated": true,
-    "deprecatedSince": "3.8.0",
-    "firstVersion": "2.16.0",
-    "label": "cloud,management",
-    "javaType": "org.apache.camel.component.aws.ec2.EC2Component",
-    "supportLevel": "Stable",
-    "groupId": "org.apache.camel",
-    "artifactId": "camel-aws-ec2",
-    "version": "3.9.0-SNAPSHOT",
-    "scheme": "aws-ec2",
-    "extendsScheme": "",
-    "syntax": "aws-ec2:label",
-    "async": false,
-    "api": false,
-    "consumerOnly": false,
-    "producerOnly": true,
-    "lenientProperties": false
-  },
-  "componentProperties": {
-    "autoDiscoverClient": { "kind": "property", "displayName": "Auto Discover Client", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.aws.ec2.EC2Configuration", "configurationField": "configuration", "description": "Setting the autoDiscoverClient mechanism, if true, the component will look for a client instan [...]
-    "accessKey": { "kind": "property", "displayName": "Access Key", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws.ec2.EC2Configuration", "configurationField": "configuration", "description": "Amazon AWS Access Key" },
-    "amazonEc2Client": { "kind": "property", "displayName": "Amazon Ec2 Client", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.amazonaws.services.ec2.AmazonEC2", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ec2.EC2Configuration", "configurationField": "configuration", "description": "To use a existing configured AmazonEC2Client as client" },
-    "configuration": { "kind": "property", "displayName": "Configuration", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.aws.ec2.EC2Configuration", "deprecated": false, "autowired": false, "secret": false, "description": "The component configuration" },
-    "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during star [...]
-    "operation": { "kind": "property", "displayName": "Operation", "group": "producer", "label": "producer", "required": true, "type": "object", "javaType": "org.apache.camel.component.aws.ec2.EC2Operations", "enum": [ "createAndRunInstances", "startInstances", "stopInstances", "terminateInstances", "describeInstances", "describeInstancesStatus", "rebootInstances", "monitorInstances", "unmonitorInstances", "createTags", "deleteTags" ], "deprecated": false, "deprecationNote": "", "autowir [...]
-    "proxyHost": { "kind": "property", "displayName": "Proxy Host", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ec2.EC2Configuration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the EC2 client" },
-    "proxyPort": { "kind": "property", "displayName": "Proxy Port", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ec2.EC2Configuration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the EC2 client" },
-    "proxyProtocol": { "kind": "property", "displayName": "Proxy Protocol", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "com.amazonaws.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws.ec2.EC2Configuration", "configurationField": "configuration", "description": "To define a proxy protocol when instantiating the EC2 client" },
-    "region": { "kind": "property", "displayName": "Region", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ec2.EC2Configuration", "configurationField": "configuration", "description": "The region in which ECS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (f [...]
-    "secretKey": { "kind": "property", "displayName": "Secret Key", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws.ec2.EC2Configuration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" },
-    "autowiredEnabled": { "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which t [...]
-  },
-  "properties": {
-    "label": { "kind": "path", "displayName": "Label", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ec2.EC2Configuration", "configurationField": "configuration", "description": "Logical name" },
-    "autoDiscoverClient": { "kind": "parameter", "displayName": "Auto Discover Client", "group": "common", "label": "common", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.aws.ec2.EC2Configuration", "configurationField": "configuration", "description": "Setting the autoDiscoverClient mechanism, if true, the component will look for a client insta [...]
-    "accessKey": { "kind": "parameter", "displayName": "Access Key", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws.ec2.EC2Configuration", "configurationField": "configuration", "description": "Amazon AWS Access Key" },
-    "amazonEc2Client": { "kind": "parameter", "displayName": "Amazon Ec2 Client", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "com.amazonaws.services.ec2.AmazonEC2", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ec2.EC2Configuration", "configurationField": "configuration", "description": "To use a existing configured AmazonEC2Client as client" },
-    "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during sta [...]
-    "operation": { "kind": "parameter", "displayName": "Operation", "group": "producer", "label": "producer", "required": true, "type": "object", "javaType": "org.apache.camel.component.aws.ec2.EC2Operations", "enum": [ "createAndRunInstances", "startInstances", "stopInstances", "terminateInstances", "describeInstances", "describeInstancesStatus", "rebootInstances", "monitorInstances", "unmonitorInstances", "createTags", "deleteTags" ], "deprecated": false, "deprecationNote": "", "autowi [...]
-    "proxyHost": { "kind": "parameter", "displayName": "Proxy Host", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ec2.EC2Configuration", "configurationField": "configuration", "description": "To define a proxy host when instantiating the EC2 client" },
-    "proxyPort": { "kind": "parameter", "displayName": "Proxy Port", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ec2.EC2Configuration", "configurationField": "configuration", "description": "To define a proxy port when instantiating the EC2 client" },
-    "proxyProtocol": { "kind": "parameter", "displayName": "Proxy Protocol", "group": "producer", "label": "", "required": false, "type": "object", "javaType": "com.amazonaws.Protocol", "enum": [ "HTTP", "HTTPS" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "HTTPS", "configurationClass": "org.apache.camel.component.aws.ec2.EC2Configuration", "configurationField": "configuration", "description": "To define a proxy protocol when instantiating the EC2 client" },
-    "region": { "kind": "parameter", "displayName": "Region", "group": "producer", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.aws.ec2.EC2Configuration", "configurationField": "configuration", "description": "The region in which ECS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region ( [...]
-    "secretKey": { "kind": "parameter", "displayName": "Secret Key", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "configurationClass": "org.apache.camel.component.aws.ec2.EC2Configuration", "configurationField": "configuration", "description": "Amazon AWS Secret Key" }
-  }
-}
diff --git a/components/camel-aws-ec2/src/main/docs/aws-ec2-component.adoc b/components/camel-aws-ec2/src/main/docs/aws-ec2-component.adoc
deleted file mode 100644
index c6d0793..0000000
--- a/components/camel-aws-ec2/src/main/docs/aws-ec2-component.adoc
+++ /dev/null
@@ -1,195 +0,0 @@
-[[aws-ec2-component]]
-= AWS Elastic Compute Cloud (EC2) Component (deprecated)
-:docTitle: AWS Elastic Compute Cloud (EC2)
-:artifactId: camel-aws-ec2
-:description: Manage AWS EC2 instances.
-:since: 2.16
-:supportLevel: Stable-deprecated
-:deprecated: *deprecated*
-:component-header: Only producer is supported
-include::{cq-version}@camel-quarkus:ROOT:partial$reference/components/aws-ec2.adoc[opts=optional]
-//Manually maintained attributes
-:group: AWS
-
-*Since Camel {since}*
-
-*{component-header}*
-
-The EC2 component supports the ability to create, run, start, stop and terminate
-https://aws.amazon.com/ec2/[AWS EC2] instances.
-
-Prerequisites
-
-You must have a valid Amazon Web Services developer account, and be
-signed up to use Amazon EC2. More information is available at
-https://aws.amazon.com/ec2/[Amazon EC2].
-
-== URI Format
-
-[source,java]
--------------------------
-aws-ec2://label[?options]
--------------------------
-
-You can append query options to the URI in the following format,
-?options=value&option2=value&...
-
-== URI Options
-
-
-// component options: START
-The AWS Elastic Compute Cloud (EC2) component supports 12 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *autoDiscoverClient* (common) | Setting the autoDiscoverClient mechanism, if true, the component will look for a client instance in the registry automatically otherwise it will skip that checking. | true | boolean
-| *accessKey* (producer) | Amazon AWS Access Key |  | String
-| *amazonEc2Client* (producer) | To use a existing configured AmazonEC2Client as client |  | AmazonEC2
-| *configuration* (producer) | The component configuration |  | EC2Configuration
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | *Required* The operation to perform. It can be createAndRunInstances, startInstances, stopInstances, terminateInstances, describeInstances, describeInstancesStatus, rebootInstances, monitorInstances, unmonitorInstances, createTags or deleteTags. There are 11 enums and the value can be one of: createAndRunInstances, startInstances, stopInstances, terminateInstances, describeInstances, describeInstancesStatus, rebootInstances, monitorInstances, unmonitorInstances [...]
-| *proxyHost* (producer) | To define a proxy host when instantiating the EC2 client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the EC2 client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the EC2 client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | The region in which ECS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() |  | String
-| *secretKey* (producer) | Amazon AWS Secret Key |  | String
-| *autowiredEnabled* (advanced) | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | boolean
-|===
-// component options: END
-
-
-
-
-// endpoint options: START
-The AWS Elastic Compute Cloud (EC2) endpoint is configured using URI syntax:
-
-----
-aws-ec2:label
-----
-
-with the following path and query parameters:
-
-=== Path Parameters (1 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *label* | *Required* Logical name |  | String
-|===
-
-
-=== Query Parameters (10 parameters):
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *autoDiscoverClient* (common) | Setting the autoDiscoverClient mechanism, if true, the component will look for a client instance in the registry automatically otherwise it will skip that checking. | true | boolean
-| *accessKey* (producer) | Amazon AWS Access Key |  | String
-| *amazonEc2Client* (producer) | To use a existing configured AmazonEC2Client as client |  | AmazonEC2
-| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and [...]
-| *operation* (producer) | *Required* The operation to perform. It can be createAndRunInstances, startInstances, stopInstances, terminateInstances, describeInstances, describeInstancesStatus, rebootInstances, monitorInstances, unmonitorInstances, createTags or deleteTags. There are 11 enums and the value can be one of: createAndRunInstances, startInstances, stopInstances, terminateInstances, describeInstances, describeInstancesStatus, rebootInstances, monitorInstances, unmonitorInstances [...]
-| *proxyHost* (producer) | To define a proxy host when instantiating the EC2 client |  | String
-| *proxyPort* (producer) | To define a proxy port when instantiating the EC2 client |  | Integer
-| *proxyProtocol* (producer) | To define a proxy protocol when instantiating the EC2 client. There are 2 enums and the value can be one of: HTTP, HTTPS | HTTPS | Protocol
-| *region* (producer) | The region in which ECS client needs to work. When using this parameter, the configuration will expect the lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id() |  | String
-| *secretKey* (producer) | Amazon AWS Secret Key |  | String
-|===
-// endpoint options: END
-
-
-
-
-Required EC2 component options
-
-You have to provide the amazonEc2Client in the
-Registry or your accessKey and secretKey to access
-the https://aws.amazon.com/ec2/[Amazon EC2] service.
-
-== Usage
-
-=== Message headers evaluated by the EC2 producer
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Header |Type |Description
-
-|`CamelAwsEC2ImageId` |`String` |An image ID of the AWS marketplace
-
-|`CamelAwsEC2InstanceType` |com.amazonaws.services.ec2.model.InstanceType |The instance type we want to create and run
-
-|`CamelAwsEC2Operation` |`String` |The operation we want to perform
-
-|`CamelAwsEC2InstanceMinCount` |`Int` |The mininum number of instances we want to run.
-
-|`CamelAwsEC2InstanceMaxCount` |`Int` |The maximum number of instances we want to run.
-
-|`CamelAwsEC2InstanceMonitoring` |Boolean |Define if we want the running instances to be monitored
-
-|`CamelAwsEC2InstanceEbsOptimized` |`Boolean` |Define if the creating instance is optimized for EBS I/O.
-
-|`CamelAwsEC2InstanceSecurityGroups` |Collection |The security groups to associate to the instances
-
-|`CamelAwsEC2InstancesIds` |`Collection` |A collection of instances IDS to execute start, stop, describe and
-terminate operations on.
-
-|`CamelAwsEC2InstancesTags` |`Collection` |A collection of tags to add or remove from EC2 resources
-|=======================================================================
-
-== Supported producer operations
-
-- createAndRunInstances
-- startInstances
-- stopInstances
-- terminateInstances
-- describeInstances
-- describeInstancesStatus
-- rebootInstances
-- monitorInstances
-- unmonitorInstances
-- createTags
-- deleteTags
-
-== Producer Examples
-
-- createAndRunInstances: this operation will create an EC2 instance and run it
-
-[source,java]
---------------------------------------------------------------------------------
-from("direct:createAndRun")
-     .setHeader(EC2Constants.IMAGE_ID, constant("ami-fd65ba94"))
-     .setHeader(EC2Constants.INSTANCE_TYPE, constant(InstanceType.T2Micro))
-     .setHeader(EC2Constants.INSTANCE_MIN_COUNT, constant("1"))
-     .setHeader(EC2Constants.INSTANCE_MAX_COUNT, constant("1"))
-     .to("aws-ec2://TestDomain?accessKey=xxxx&secretKey=xxxx&operation=createAndRunInstances");
---------------------------------------------------------------------------------
-
-== Automatic detection of AmazonEC2 client in registry
-
-The component is capable of detecting the presence of an AmazonEC2 bean into the registry.
-If it's the only instance of that type it will be used as client and you won't have to define it as uri parameter.
-This may be really useful for smarter configuration of the endpoint.
-
-Dependencies
-
-Maven users will need to add the following dependency to their pom.xml.
-
-*pom.xml*
-
-[source,xml]
----------------------------------------
-<dependency>
-    <groupId>org.apache.camel</groupId>
-    <artifactId>camel-aws-ec2</artifactId>
-    <version>${camel-version}</version>
-</dependency>
----------------------------------------
-
-where `$\{camel-version}` must be replaced by the actual version of Camel.
-
-
-include::camel-spring-boot::page$aws-ec2-starter.adoc[]
diff --git a/components/camel-aws-ec2/src/main/java/org/apache/camel/component/aws/ec2/EC2Component.java b/components/camel-aws-ec2/src/main/java/org/apache/camel/component/aws/ec2/EC2Component.java
deleted file mode 100644
index 6a081ed..0000000
--- a/components/camel-aws-ec2/src/main/java/org/apache/camel/component/aws/ec2/EC2Component.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * 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.component.aws.ec2;
-
-import java.util.Map;
-import java.util.Set;
-
-import com.amazonaws.services.ec2.AmazonEC2;
-import org.apache.camel.CamelContext;
-import org.apache.camel.Endpoint;
-import org.apache.camel.spi.Metadata;
-import org.apache.camel.spi.annotations.Component;
-import org.apache.camel.support.DefaultComponent;
-
-/**
- * For working with Amazon's Elastic Compute Cloud (EC2).
- */
-@Component("aws-ec2")
-public class EC2Component extends DefaultComponent {
-
-    @Metadata
-    private EC2Configuration configuration = new EC2Configuration();
-
-    public EC2Component() {
-        this(null);
-    }
-
-    public EC2Component(CamelContext context) {
-        super(context);
-
-        registerExtension(new EC2ComponentVerifierExtension());
-    }
-
-    @Override
-    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
-
-        EC2Configuration configuration = this.configuration != null ? this.configuration.copy() : new EC2Configuration();
-        EC2Endpoint endpoint = new EC2Endpoint(uri, this, configuration);
-        setProperties(endpoint, parameters);
-        if (endpoint.getConfiguration().isAutoDiscoverClient()) {
-            checkAndSetRegistryClient(configuration);
-        }
-        if (configuration.getAmazonEc2Client() == null
-                && (configuration.getAccessKey() == null || configuration.getSecretKey() == null)) {
-            throw new IllegalArgumentException("amazonEC2Client or accessKey and secretKey must be specified");
-        }
-
-        return endpoint;
-    }
-
-    public EC2Configuration getConfiguration() {
-        return configuration;
-    }
-
-    /**
-     * The component configuration
-     */
-    public void setConfiguration(EC2Configuration configuration) {
-        this.configuration = configuration;
-    }
-
-    private void checkAndSetRegistryClient(EC2Configuration configuration) {
-        Set<AmazonEC2> clients = getCamelContext().getRegistry().findByType(AmazonEC2.class);
-        if (clients.size() == 1) {
-            configuration.setAmazonEc2Client(clients.stream().findFirst().get());
-        }
-    }
-}
diff --git a/components/camel-aws-ec2/src/main/java/org/apache/camel/component/aws/ec2/EC2ComponentVerifierExtension.java b/components/camel-aws-ec2/src/main/java/org/apache/camel/component/aws/ec2/EC2ComponentVerifierExtension.java
deleted file mode 100644
index 302879c..0000000
--- a/components/camel-aws-ec2/src/main/java/org/apache/camel/component/aws/ec2/EC2ComponentVerifierExtension.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * 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.component.aws.ec2;
-
-import java.util.Map;
-
-import com.amazonaws.SdkClientException;
-import com.amazonaws.auth.AWSCredentials;
-import com.amazonaws.auth.AWSCredentialsProvider;
-import com.amazonaws.auth.AWSStaticCredentialsProvider;
-import com.amazonaws.auth.BasicAWSCredentials;
-import com.amazonaws.regions.Regions;
-import com.amazonaws.services.ec2.AmazonEC2;
-import com.amazonaws.services.ec2.AmazonEC2ClientBuilder;
-import org.apache.camel.component.extension.verifier.DefaultComponentVerifierExtension;
-import org.apache.camel.component.extension.verifier.ResultBuilder;
-import org.apache.camel.component.extension.verifier.ResultErrorBuilder;
-import org.apache.camel.component.extension.verifier.ResultErrorHelper;
-
-public class EC2ComponentVerifierExtension extends DefaultComponentVerifierExtension {
-
-    public EC2ComponentVerifierExtension() {
-        this("aws-ec2");
-    }
-
-    public EC2ComponentVerifierExtension(String scheme) {
-        super(scheme);
-    }
-
-    // *********************************
-    // Parameters validation
-    // *********************************
-
-    @Override
-    protected Result verifyParameters(Map<String, Object> parameters) {
-
-        ResultBuilder builder = ResultBuilder.withStatusAndScope(Result.Status.OK, Scope.PARAMETERS)
-                .error(ResultErrorHelper.requiresOption("accessKey", parameters))
-                .error(ResultErrorHelper.requiresOption("secretKey", parameters))
-                .error(ResultErrorHelper.requiresOption("region", parameters));
-
-        // Validate using the catalog
-
-        super.verifyParametersAgainstCatalog(builder, parameters);
-
-        return builder.build();
-    }
-
-    // *********************************
-    // Connectivity validation
-    // *********************************
-
-    @Override
-    protected Result verifyConnectivity(Map<String, Object> parameters) {
-        ResultBuilder builder = ResultBuilder.withStatusAndScope(Result.Status.OK, Scope.CONNECTIVITY);
-
-        try {
-            EC2Configuration configuration = setProperties(new EC2Configuration(), parameters);
-            AWSCredentials credentials = new BasicAWSCredentials(configuration.getAccessKey(), configuration.getSecretKey());
-            AWSCredentialsProvider credentialsProvider = new AWSStaticCredentialsProvider(credentials);
-            AmazonEC2 client = AmazonEC2ClientBuilder.standard().withCredentials(credentialsProvider)
-                    .withRegion(Regions.valueOf(configuration.getRegion())).build();
-            client.describeInstances();
-        } catch (SdkClientException e) {
-            ResultErrorBuilder errorBuilder
-                    = ResultErrorBuilder.withCodeAndDescription(VerificationError.StandardCode.AUTHENTICATION, e.getMessage())
-                            .detail("aws_ec2_exception_message", e.getMessage())
-                            .detail(VerificationError.ExceptionAttribute.EXCEPTION_CLASS, e.getClass().getName())
-                            .detail(VerificationError.ExceptionAttribute.EXCEPTION_INSTANCE, e);
-
-            builder.error(errorBuilder.build());
-        } catch (Exception e) {
-            builder.error(ResultErrorBuilder.withException(e).build());
-        }
-        return builder.build();
-    }
-}
diff --git a/components/camel-aws-ec2/src/main/java/org/apache/camel/component/aws/ec2/EC2Configuration.java b/components/camel-aws-ec2/src/main/java/org/apache/camel/component/aws/ec2/EC2Configuration.java
deleted file mode 100644
index 1ceabbb..0000000
--- a/components/camel-aws-ec2/src/main/java/org/apache/camel/component/aws/ec2/EC2Configuration.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * 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.component.aws.ec2;
-
-import com.amazonaws.Protocol;
-import com.amazonaws.services.ec2.AmazonEC2;
-import org.apache.camel.RuntimeCamelException;
-import org.apache.camel.spi.Metadata;
-import org.apache.camel.spi.UriParam;
-import org.apache.camel.spi.UriParams;
-import org.apache.camel.spi.UriPath;
-
-@UriParams
-public class EC2Configuration implements Cloneable {
-
-    @UriPath(description = "Logical name")
-    @Metadata(required = true)
-    private String label;
-    @UriParam(label = "producer")
-    private AmazonEC2 amazonEc2Client;
-    @UriParam(label = "producer", secret = true)
-    private String accessKey;
-    @UriParam(label = "producer", secret = true)
-    private String secretKey;
-    @UriParam(label = "producer")
-    @Metadata(required = true)
-    private EC2Operations operation;
-    @UriParam(enums = "HTTP,HTTPS", defaultValue = "HTTPS")
-    private Protocol proxyProtocol = Protocol.HTTPS;
-    @UriParam(label = "producer")
-    private String proxyHost;
-    @UriParam(label = "producer")
-    private Integer proxyPort;
-    @UriParam
-    private String region;
-    @UriParam(label = "common", defaultValue = "true")
-    private boolean autoDiscoverClient = true;
-
-    public AmazonEC2 getAmazonEc2Client() {
-        return amazonEc2Client;
-    }
-
-    /**
-     * To use a existing configured AmazonEC2Client as client
-     */
-    public void setAmazonEc2Client(AmazonEC2 amazonEc2Client) {
-        this.amazonEc2Client = amazonEc2Client;
-    }
-
-    public String getAccessKey() {
-        return accessKey;
-    }
-
-    /**
-     * Amazon AWS Access Key
-     */
-    public void setAccessKey(String accessKey) {
-        this.accessKey = accessKey;
-    }
-
-    public String getSecretKey() {
-        return secretKey;
-    }
-
-    /**
-     * Amazon AWS Secret Key
-     */
-    public void setSecretKey(String secretKey) {
-        this.secretKey = secretKey;
-    }
-
-    public EC2Operations getOperation() {
-        return operation;
-    }
-
-    /**
-     * The operation to perform. It can be createAndRunInstances, startInstances, stopInstances, terminateInstances,
-     * describeInstances, describeInstancesStatus, rebootInstances, monitorInstances, unmonitorInstances, createTags or
-     * deleteTags
-     */
-    public void setOperation(EC2Operations operation) {
-        this.operation = operation;
-    }
-
-    public Protocol getProxyProtocol() {
-        return proxyProtocol;
-    }
-
-    /**
-     * To define a proxy protocol when instantiating the EC2 client
-     */
-    public void setProxyProtocol(Protocol proxyProtocol) {
-        this.proxyProtocol = proxyProtocol;
-    }
-
-    public String getProxyHost() {
-        return proxyHost;
-    }
-
-    /**
-     * To define a proxy host when instantiating the EC2 client
-     */
-    public void setProxyHost(String proxyHost) {
-        this.proxyHost = proxyHost;
-    }
-
-    public Integer getProxyPort() {
-        return proxyPort;
-    }
-
-    /**
-     * To define a proxy port when instantiating the EC2 client
-     */
-    public void setProxyPort(Integer proxyPort) {
-        this.proxyPort = proxyPort;
-    }
-
-    public String getRegion() {
-        return region;
-    }
-
-    /**
-     * The region in which ECS client needs to work. When using this parameter, the configuration will expect the
-     * lowercase name of the region (for example ap-east-1) You'll need to use the name Region.EU_WEST_1.id()
-     */
-    public void setRegion(String region) {
-        this.region = region;
-    }
-
-    public boolean isAutoDiscoverClient() {
-        return autoDiscoverClient;
-    }
-
-    /**
-     * Setting the autoDiscoverClient mechanism, if true, the component will look for a client instance in the registry
-     * automatically otherwise it will skip that checking.
-     */
-    public void setAutoDiscoverClient(boolean autoDiscoverClient) {
-        this.autoDiscoverClient = autoDiscoverClient;
-    }
-
-    // *************************************************
-    //
-    // *************************************************
-
-    public EC2Configuration copy() {
-        try {
-            return (EC2Configuration) super.clone();
-        } catch (CloneNotSupportedException e) {
-            throw new RuntimeCamelException(e);
-        }
-    }
-}
diff --git a/components/camel-aws-ec2/src/main/java/org/apache/camel/component/aws/ec2/EC2Constants.java b/components/camel-aws-ec2/src/main/java/org/apache/camel/component/aws/ec2/EC2Constants.java
deleted file mode 100644
index e3fc18c..0000000
--- a/components/camel-aws-ec2/src/main/java/org/apache/camel/component/aws/ec2/EC2Constants.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * 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.component.aws.ec2;
-
-/**
- * Constants used in Camel AWS EC2 module
- */
-public interface EC2Constants {
-
-    String IMAGE_ID = "CamelAwsEC2ImageId";
-    String INSTANCE_TYPE = "CamelAwsEC2InstanceType";
-    String OPERATION = "CamelAwsEC2Operation";
-    String INSTANCE_MIN_COUNT = "CamelAwsEC2InstanceMinCount";
-    String INSTANCE_MAX_COUNT = "CamelAwsEC2InstanceMaxCount";
-    String INSTANCE_MONITORING = "CamelAwsEC2InstanceMonitoring";
-    String INSTANCE_KERNEL_ID = "CamelAwsEC2InstanceKernelId";
-    String INSTANCE_EBS_OPTIMIZED = "CamelAwsEC2InstanceEbsOptimized";
-    String INSTANCE_SECURITY_GROUPS = "CamelAwsEC2InstanceSecurityGroups";
-    String INSTANCES_IDS = "CamelAwsEC2InstancesIds";
-    String INSTANCES_KEY_PAIR = "CamelAwsEC2InstancesKeyPair";
-    String INSTANCES_CLIENT_TOKEN = "CamelAwsEC2InstancesClientToken";
-    String INSTANCES_PLACEMENT = "CamelAwsEC2InstancesPlacement";
-    String INSTANCES_TAGS = "CamelAwsEC2InstancesTags";
-    String SUBNET_ID = "CamelAwsEC2SubnetId";
-}
diff --git a/components/camel-aws-ec2/src/main/java/org/apache/camel/component/aws/ec2/EC2Endpoint.java b/components/camel-aws-ec2/src/main/java/org/apache/camel/component/aws/ec2/EC2Endpoint.java
deleted file mode 100644
index 1dbb12d..0000000
--- a/components/camel-aws-ec2/src/main/java/org/apache/camel/component/aws/ec2/EC2Endpoint.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * 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.component.aws.ec2;
-
-import com.amazonaws.ClientConfiguration;
-import com.amazonaws.auth.AWSCredentials;
-import com.amazonaws.auth.AWSCredentialsProvider;
-import com.amazonaws.auth.AWSStaticCredentialsProvider;
-import com.amazonaws.auth.BasicAWSCredentials;
-import com.amazonaws.regions.Regions;
-import com.amazonaws.services.ec2.AmazonEC2;
-import com.amazonaws.services.ec2.AmazonEC2Client;
-import com.amazonaws.services.ec2.AmazonEC2ClientBuilder;
-import org.apache.camel.Category;
-import org.apache.camel.Component;
-import org.apache.camel.Consumer;
-import org.apache.camel.Processor;
-import org.apache.camel.Producer;
-import org.apache.camel.spi.UriEndpoint;
-import org.apache.camel.spi.UriParam;
-import org.apache.camel.support.ScheduledPollEndpoint;
-import org.apache.camel.util.ObjectHelper;
-
-/**
- * Manage AWS EC2 instances.
- */
-@UriEndpoint(firstVersion = "2.16.0", scheme = "aws-ec2", title = "AWS Elastic Compute Cloud (EC2)", syntax = "aws-ec2:label",
-             producerOnly = true, category = { Category.CLOUD, Category.MANAGEMENT })
-public class EC2Endpoint extends ScheduledPollEndpoint {
-
-    private AmazonEC2 ec2Client;
-
-    @UriParam
-    private EC2Configuration configuration;
-
-    public EC2Endpoint(String uri, Component component, EC2Configuration configuration) {
-        super(uri, component);
-        this.configuration = configuration;
-    }
-
-    @Override
-    public Consumer createConsumer(Processor processor) throws Exception {
-        throw new UnsupportedOperationException("You cannot receive messages from this endpoint");
-    }
-
-    @Override
-    public Producer createProducer() throws Exception {
-        return new EC2Producer(this);
-    }
-
-    @Override
-    public void doStart() throws Exception {
-        super.doStart();
-
-        ec2Client = configuration.getAmazonEc2Client() != null
-                ? configuration.getAmazonEc2Client() : (AmazonEC2Client) createEc2Client();
-    }
-
-    @Override
-    public void doStop() throws Exception {
-        if (ObjectHelper.isEmpty(configuration.getAmazonEc2Client())) {
-            if (ec2Client != null) {
-                ec2Client.shutdown();
-            }
-        }
-        super.doStop();
-    }
-
-    public EC2Configuration getConfiguration() {
-        return configuration;
-    }
-
-    public AmazonEC2 getEc2Client() {
-        return ec2Client;
-    }
-
-    AmazonEC2 createEc2Client() {
-        AmazonEC2 client = null;
-        ClientConfiguration clientConfiguration = null;
-        AmazonEC2ClientBuilder clientBuilder = null;
-        boolean isClientConfigFound = false;
-        if (ObjectHelper.isNotEmpty(configuration.getProxyHost()) && ObjectHelper.isNotEmpty(configuration.getProxyPort())) {
-            clientConfiguration = new ClientConfiguration();
-            clientConfiguration.setProxyProtocol(configuration.getProxyProtocol());
-            clientConfiguration.setProxyHost(configuration.getProxyHost());
-            clientConfiguration.setProxyPort(configuration.getProxyPort());
-            isClientConfigFound = true;
-        }
-        if (configuration.getAccessKey() != null && configuration.getSecretKey() != null) {
-            AWSCredentials credentials = new BasicAWSCredentials(configuration.getAccessKey(), configuration.getSecretKey());
-            AWSCredentialsProvider credentialsProvider = new AWSStaticCredentialsProvider(credentials);
-            if (isClientConfigFound) {
-                clientBuilder = AmazonEC2ClientBuilder.standard().withClientConfiguration(clientConfiguration)
-                        .withCredentials(credentialsProvider);
-            } else {
-                clientBuilder = AmazonEC2ClientBuilder.standard().withCredentials(credentialsProvider);
-            }
-        } else {
-            if (isClientConfigFound) {
-                clientBuilder = AmazonEC2ClientBuilder.standard();
-            } else {
-                clientBuilder = AmazonEC2ClientBuilder.standard().withClientConfiguration(clientConfiguration);
-            }
-        }
-        if (ObjectHelper.isNotEmpty(configuration.getRegion())) {
-            clientBuilder = clientBuilder.withRegion(Regions.valueOf(configuration.getRegion()));
-        }
-        client = clientBuilder.build();
-        return client;
-    }
-}
diff --git a/components/camel-aws-ec2/src/main/java/org/apache/camel/component/aws/ec2/EC2Operations.java b/components/camel-aws-ec2/src/main/java/org/apache/camel/component/aws/ec2/EC2Operations.java
deleted file mode 100644
index 935580f..0000000
--- a/components/camel-aws-ec2/src/main/java/org/apache/camel/component/aws/ec2/EC2Operations.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * 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.component.aws.ec2;
-
-public enum EC2Operations {
-
-    createAndRunInstances,
-    startInstances,
-    stopInstances,
-    terminateInstances,
-    describeInstances,
-    describeInstancesStatus,
-    rebootInstances,
-    monitorInstances,
-    unmonitorInstances,
-    createTags,
-    deleteTags
-}
diff --git a/components/camel-aws-ec2/src/main/java/org/apache/camel/component/aws/ec2/EC2Producer.java b/components/camel-aws-ec2/src/main/java/org/apache/camel/component/aws/ec2/EC2Producer.java
deleted file mode 100644
index ab4077d..0000000
--- a/components/camel-aws-ec2/src/main/java/org/apache/camel/component/aws/ec2/EC2Producer.java
+++ /dev/null
@@ -1,427 +0,0 @@
-/*
- * 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.component.aws.ec2;
-
-import java.util.Arrays;
-import java.util.Collection;
-
-import com.amazonaws.AmazonServiceException;
-import com.amazonaws.services.ec2.AmazonEC2;
-import com.amazonaws.services.ec2.model.CreateTagsRequest;
-import com.amazonaws.services.ec2.model.CreateTagsResult;
-import com.amazonaws.services.ec2.model.DeleteTagsRequest;
-import com.amazonaws.services.ec2.model.DeleteTagsResult;
-import com.amazonaws.services.ec2.model.DescribeInstanceStatusRequest;
-import com.amazonaws.services.ec2.model.DescribeInstanceStatusResult;
-import com.amazonaws.services.ec2.model.DescribeInstancesRequest;
-import com.amazonaws.services.ec2.model.DescribeInstancesResult;
-import com.amazonaws.services.ec2.model.InstanceType;
-import com.amazonaws.services.ec2.model.MonitorInstancesRequest;
-import com.amazonaws.services.ec2.model.MonitorInstancesResult;
-import com.amazonaws.services.ec2.model.Placement;
-import com.amazonaws.services.ec2.model.RebootInstancesRequest;
-import com.amazonaws.services.ec2.model.RunInstancesRequest;
-import com.amazonaws.services.ec2.model.RunInstancesResult;
-import com.amazonaws.services.ec2.model.StartInstancesRequest;
-import com.amazonaws.services.ec2.model.StartInstancesResult;
-import com.amazonaws.services.ec2.model.StopInstancesRequest;
-import com.amazonaws.services.ec2.model.StopInstancesResult;
-import com.amazonaws.services.ec2.model.TerminateInstancesRequest;
-import com.amazonaws.services.ec2.model.TerminateInstancesResult;
-import com.amazonaws.services.ec2.model.UnmonitorInstancesRequest;
-import com.amazonaws.services.ec2.model.UnmonitorInstancesResult;
-import org.apache.camel.Endpoint;
-import org.apache.camel.Exchange;
-import org.apache.camel.Message;
-import org.apache.camel.support.DefaultProducer;
-import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.URISupport;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A Producer which sends messages to the Amazon EC2 Service <a href="http://aws.amazon.com/ec2/">AWS EC2</a>
- */
-public class EC2Producer extends DefaultProducer {
-
-    private static final Logger LOG = LoggerFactory.getLogger(EC2Producer.class);
-
-    private transient String ec2ProducerToString;
-
-    public EC2Producer(Endpoint endpoint) {
-        super(endpoint);
-    }
-
-    @Override
-    public void process(Exchange exchange) throws Exception {
-        switch (determineOperation(exchange)) {
-            case createAndRunInstances:
-                createAndRunInstance(getEndpoint().getEc2Client(), exchange);
-                break;
-            case startInstances:
-                startInstances(getEndpoint().getEc2Client(), exchange);
-                break;
-            case stopInstances:
-                stopInstances(getEndpoint().getEc2Client(), exchange);
-                break;
-            case terminateInstances:
-                terminateInstances(getEndpoint().getEc2Client(), exchange);
-                break;
-            case describeInstances:
-                describeInstances(getEndpoint().getEc2Client(), exchange);
-                break;
-            case describeInstancesStatus:
-                describeInstancesStatus(getEndpoint().getEc2Client(), exchange);
-                break;
-            case rebootInstances:
-                rebootInstances(getEndpoint().getEc2Client(), exchange);
-                break;
-            case monitorInstances:
-                monitorInstances(getEndpoint().getEc2Client(), exchange);
-                break;
-            case unmonitorInstances:
-                unmonitorInstances(getEndpoint().getEc2Client(), exchange);
-                break;
-            case createTags:
-                createTags(getEndpoint().getEc2Client(), exchange);
-                break;
-            case deleteTags:
-                deleteTags(getEndpoint().getEc2Client(), exchange);
-                break;
-            default:
-                throw new IllegalArgumentException("Unsupported operation");
-        }
-    }
-
-    private EC2Operations determineOperation(Exchange exchange) {
-        EC2Operations operation = exchange.getIn().getHeader(EC2Constants.OPERATION, EC2Operations.class);
-        if (operation == null) {
-            operation = getConfiguration().getOperation();
-        }
-        return operation;
-    }
-
-    protected EC2Configuration getConfiguration() {
-        return getEndpoint().getConfiguration();
-    }
-
-    @Override
-    public String toString() {
-        if (ec2ProducerToString == null) {
-            ec2ProducerToString = "EC2Producer[" + URISupport.sanitizeUri(getEndpoint().getEndpointUri()) + "]";
-        }
-        return ec2ProducerToString;
-    }
-
-    @Override
-    public EC2Endpoint getEndpoint() {
-        return (EC2Endpoint) super.getEndpoint();
-    }
-
-    private void createAndRunInstance(AmazonEC2 ec2Client, Exchange exchange) {
-        String ami;
-        InstanceType instanceType;
-        RunInstancesRequest request = new RunInstancesRequest();
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(EC2Constants.IMAGE_ID))) {
-            ami = exchange.getIn().getHeader(EC2Constants.IMAGE_ID, String.class);
-            request.withImageId(ami);
-        } else {
-            throw new IllegalArgumentException("AMI must be specified");
-        }
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(EC2Constants.INSTANCE_TYPE))) {
-            instanceType = exchange.getIn().getHeader(EC2Constants.INSTANCE_TYPE, InstanceType.class);
-            request.withInstanceType(instanceType.toString());
-        } else {
-            throw new IllegalArgumentException("Instance Type must be specified");
-        }
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(EC2Constants.INSTANCE_MIN_COUNT))) {
-            int minCount = exchange.getIn().getHeader(EC2Constants.INSTANCE_MIN_COUNT, Integer.class);
-            request.withMinCount(minCount);
-        } else {
-            throw new IllegalArgumentException("Min instances count must be specified");
-        }
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(EC2Constants.INSTANCE_MAX_COUNT))) {
-            int maxCount = exchange.getIn().getHeader(EC2Constants.INSTANCE_MAX_COUNT, Integer.class);
-            request.withMaxCount(maxCount);
-        } else {
-            throw new IllegalArgumentException("Max instances count must be specified");
-        }
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(EC2Constants.INSTANCE_MONITORING))) {
-            boolean monitoring = exchange.getIn().getHeader(EC2Constants.INSTANCE_MONITORING, Boolean.class);
-            request.withMonitoring(monitoring);
-        }
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(EC2Constants.INSTANCE_KERNEL_ID))) {
-            String kernelId = exchange.getIn().getHeader(EC2Constants.INSTANCE_KERNEL_ID, String.class);
-            request.withKernelId(kernelId);
-        }
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(EC2Constants.INSTANCE_EBS_OPTIMIZED))) {
-            boolean ebsOptimized = exchange.getIn().getHeader(EC2Constants.INSTANCE_EBS_OPTIMIZED, Boolean.class);
-            request.withEbsOptimized(ebsOptimized);
-        }
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(EC2Constants.INSTANCE_SECURITY_GROUPS))) {
-            Collection securityGroups = exchange.getIn().getHeader(EC2Constants.INSTANCE_SECURITY_GROUPS, Collection.class);
-            request.withSecurityGroups(securityGroups);
-        }
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(EC2Constants.INSTANCES_KEY_PAIR))) {
-            String keyName = exchange.getIn().getHeader(EC2Constants.INSTANCES_KEY_PAIR, String.class);
-            request.withKeyName(keyName);
-        }
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(EC2Constants.INSTANCES_CLIENT_TOKEN))) {
-            String clientToken = exchange.getIn().getHeader(EC2Constants.INSTANCES_CLIENT_TOKEN, String.class);
-            request.withClientToken(clientToken);
-        }
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(EC2Constants.INSTANCES_PLACEMENT))) {
-            Placement placement = exchange.getIn().getHeader(EC2Constants.INSTANCES_PLACEMENT, Placement.class);
-            request.withPlacement(placement);
-        }
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(EC2Constants.SUBNET_ID))) {
-            String subnetId = exchange.getIn().getHeader(EC2Constants.SUBNET_ID, String.class);
-            request.withSubnetId(subnetId);
-        }
-        RunInstancesResult result;
-        try {
-            result = ec2Client.runInstances(request);
-        } catch (AmazonServiceException ase) {
-            LOG.trace("Run Instances command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-        LOG.trace("Creating and running instances with ami [{}] and instance type {}", ami, instanceType);
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private void startInstances(AmazonEC2 ec2Client, Exchange exchange) {
-        Collection instanceIds;
-        StartInstancesRequest request = new StartInstancesRequest();
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(EC2Constants.INSTANCES_IDS))) {
-            instanceIds = exchange.getIn().getHeader(EC2Constants.INSTANCES_IDS, Collection.class);
-            request.withInstanceIds(instanceIds);
-        } else {
-            throw new IllegalArgumentException("Instances Ids must be specified");
-        }
-        StartInstancesResult result;
-        try {
-            result = ec2Client.startInstances(request);
-        } catch (AmazonServiceException ase) {
-            LOG.trace("Start Instances command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-        LOG.trace("Starting instances with Ids [{}] ", Arrays.toString(instanceIds.toArray()));
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private void stopInstances(AmazonEC2 ec2Client, Exchange exchange) {
-        Collection instanceIds;
-        StopInstancesRequest request = new StopInstancesRequest();
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(EC2Constants.INSTANCES_IDS))) {
-            instanceIds = exchange.getIn().getHeader(EC2Constants.INSTANCES_IDS, Collection.class);
-            request.withInstanceIds(instanceIds);
-        } else {
-            throw new IllegalArgumentException("Instances Ids must be specified");
-        }
-        StopInstancesResult result;
-        try {
-            result = ec2Client.stopInstances(request);
-        } catch (AmazonServiceException ase) {
-            LOG.trace("Stop Instances command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-        LOG.trace("Stopping instances with Ids [{}] ", Arrays.toString(instanceIds.toArray()));
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private void terminateInstances(AmazonEC2 ec2Client, Exchange exchange) {
-        Collection instanceIds;
-        TerminateInstancesRequest request = new TerminateInstancesRequest();
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(EC2Constants.INSTANCES_IDS))) {
-            instanceIds = exchange.getIn().getHeader(EC2Constants.INSTANCES_IDS, Collection.class);
-            request.withInstanceIds(instanceIds);
-        } else {
-            throw new IllegalArgumentException("Instances Ids must be specified");
-        }
-        TerminateInstancesResult result;
-        try {
-            result = ec2Client.terminateInstances(request);
-        } catch (AmazonServiceException ase) {
-            LOG.trace("Terminate Instances command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-        LOG.trace("Terminating instances with Ids [{}] ", Arrays.toString(instanceIds.toArray()));
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private void describeInstances(AmazonEC2 ec2Client, Exchange exchange) {
-        Collection instanceIds;
-        DescribeInstancesRequest request = new DescribeInstancesRequest();
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(EC2Constants.INSTANCES_IDS))) {
-            instanceIds = exchange.getIn().getHeader(EC2Constants.INSTANCES_IDS, Collection.class);
-            request.withInstanceIds(instanceIds);
-        }
-        DescribeInstancesResult result;
-        try {
-            result = ec2Client.describeInstances(request);
-        } catch (AmazonServiceException ase) {
-            LOG.trace("Describe Instances command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private void describeInstancesStatus(AmazonEC2 ec2Client, Exchange exchange) {
-        Collection instanceIds;
-        DescribeInstanceStatusRequest request = new DescribeInstanceStatusRequest();
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(EC2Constants.INSTANCES_IDS))) {
-            instanceIds = exchange.getIn().getHeader(EC2Constants.INSTANCES_IDS, Collection.class);
-            request.withInstanceIds(instanceIds);
-        }
-        DescribeInstanceStatusResult result;
-        try {
-            result = ec2Client.describeInstanceStatus(request);
-        } catch (AmazonServiceException ase) {
-            LOG.trace("Describe Instances Status command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private void rebootInstances(AmazonEC2 ec2Client, Exchange exchange) {
-        Collection instanceIds;
-        RebootInstancesRequest request = new RebootInstancesRequest();
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(EC2Constants.INSTANCES_IDS))) {
-            instanceIds = exchange.getIn().getHeader(EC2Constants.INSTANCES_IDS, Collection.class);
-            request.withInstanceIds(instanceIds);
-        } else {
-            throw new IllegalArgumentException("Instances Ids must be specified");
-        }
-        try {
-            LOG.trace("Rebooting instances with Ids [{}] ", Arrays.toString(instanceIds.toArray()));
-            ec2Client.rebootInstances(request);
-        } catch (AmazonServiceException ase) {
-            LOG.trace("Reboot Instances command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-    }
-
-    private void monitorInstances(AmazonEC2 ec2Client, Exchange exchange) {
-        Collection instanceIds;
-        MonitorInstancesRequest request = new MonitorInstancesRequest();
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(EC2Constants.INSTANCES_IDS))) {
-            instanceIds = exchange.getIn().getHeader(EC2Constants.INSTANCES_IDS, Collection.class);
-            request.withInstanceIds(instanceIds);
-        } else {
-            throw new IllegalArgumentException("Instances Ids must be specified");
-        }
-        MonitorInstancesResult result;
-        try {
-            result = ec2Client.monitorInstances(request);
-        } catch (AmazonServiceException ase) {
-            LOG.trace("Monitor Instances command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-        LOG.trace("Start Monitoring instances with Ids [{}] ", Arrays.toString(instanceIds.toArray()));
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private void unmonitorInstances(AmazonEC2 ec2Client, Exchange exchange) {
-        Collection instanceIds;
-        UnmonitorInstancesRequest request = new UnmonitorInstancesRequest();
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(EC2Constants.INSTANCES_IDS))) {
-            instanceIds = exchange.getIn().getHeader(EC2Constants.INSTANCES_IDS, Collection.class);
-            request.withInstanceIds(instanceIds);
-        } else {
-            throw new IllegalArgumentException("Instances Ids must be specified");
-        }
-        UnmonitorInstancesResult result;
-        try {
-            result = ec2Client.unmonitorInstances(request);
-        } catch (AmazonServiceException ase) {
-            LOG.trace("Unmonitor Instances command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-        LOG.trace("Stop Monitoring instances with Ids [{}] ", Arrays.toString(instanceIds.toArray()));
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private void createTags(AmazonEC2 ec2Client, Exchange exchange) {
-        Collection instanceIds;
-        Collection tags;
-        CreateTagsRequest request = new CreateTagsRequest();
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(EC2Constants.INSTANCES_IDS))) {
-            instanceIds = exchange.getIn().getHeader(EC2Constants.INSTANCES_IDS, Collection.class);
-            request.withResources(instanceIds);
-        } else {
-            throw new IllegalArgumentException("Instances Ids must be specified");
-        }
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(EC2Constants.INSTANCES_TAGS))) {
-            tags = exchange.getIn().getHeader(EC2Constants.INSTANCES_TAGS, Collection.class);
-            request.withTags(tags);
-        } else {
-            throw new IllegalArgumentException("Tags must be specified");
-        }
-        CreateTagsResult result = new CreateTagsResult();
-        try {
-            result = ec2Client.createTags(request);
-        } catch (AmazonServiceException ase) {
-            LOG.trace("Create tags command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-        LOG.trace("Created tags [{}] on resources with Ids [{}] ", Arrays.toString(tags.toArray()),
-                Arrays.toString(instanceIds.toArray()));
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    private void deleteTags(AmazonEC2 ec2Client, Exchange exchange) {
-        Collection instanceIds;
-        Collection tags;
-        DeleteTagsRequest request = new DeleteTagsRequest();
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(EC2Constants.INSTANCES_IDS))) {
-            instanceIds = exchange.getIn().getHeader(EC2Constants.INSTANCES_IDS, Collection.class);
-            request.withResources(instanceIds);
-        } else {
-            throw new IllegalArgumentException("Instances Ids must be specified");
-        }
-        if (ObjectHelper.isNotEmpty(exchange.getIn().getHeader(EC2Constants.INSTANCES_TAGS))) {
-            tags = exchange.getIn().getHeader(EC2Constants.INSTANCES_TAGS, Collection.class);
-            request.withTags(tags);
-        } else {
-            throw new IllegalArgumentException("Tags must be specified");
-        }
-        DeleteTagsResult result = new DeleteTagsResult();
-        try {
-            result = ec2Client.deleteTags(request);
-        } catch (AmazonServiceException ase) {
-            LOG.trace("Delete tags command returned the error code {}", ase.getErrorCode());
-            throw ase;
-        }
-        LOG.trace("Delete tags [{}] on resources with Ids [{}] ", Arrays.toString(tags.toArray()),
-                Arrays.toString(instanceIds.toArray()));
-        Message message = getMessageForResponse(exchange);
-        message.setBody(result);
-    }
-
-    public static Message getMessageForResponse(final Exchange exchange) {
-        return exchange.getMessage();
-    }
-}
diff --git a/components/camel-aws-ec2/src/test/java/org/apache/camel/component/aws/ec2/AmazonEC2ClientMock.java b/components/camel-aws-ec2/src/test/java/org/apache/camel/component/aws/ec2/AmazonEC2ClientMock.java
deleted file mode 100644
index 692747c..0000000
--- a/components/camel-aws-ec2/src/test/java/org/apache/camel/component/aws/ec2/AmazonEC2ClientMock.java
+++ /dev/null
@@ -1,310 +0,0 @@
-/*
- * 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.component.aws.ec2;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-import com.amazonaws.AmazonServiceException;
-import com.amazonaws.services.ec2.AbstractAmazonEC2;
-import com.amazonaws.services.ec2.model.CreateTagsRequest;
-import com.amazonaws.services.ec2.model.CreateTagsResult;
-import com.amazonaws.services.ec2.model.DeleteTagsRequest;
-import com.amazonaws.services.ec2.model.DeleteTagsResult;
-import com.amazonaws.services.ec2.model.DescribeInstanceStatusRequest;
-import com.amazonaws.services.ec2.model.DescribeInstanceStatusResult;
-import com.amazonaws.services.ec2.model.DescribeInstancesRequest;
-import com.amazonaws.services.ec2.model.DescribeInstancesResult;
-import com.amazonaws.services.ec2.model.GroupIdentifier;
-import com.amazonaws.services.ec2.model.Instance;
-import com.amazonaws.services.ec2.model.InstanceMonitoring;
-import com.amazonaws.services.ec2.model.InstanceState;
-import com.amazonaws.services.ec2.model.InstanceStateChange;
-import com.amazonaws.services.ec2.model.InstanceStateName;
-import com.amazonaws.services.ec2.model.InstanceStatus;
-import com.amazonaws.services.ec2.model.InstanceType;
-import com.amazonaws.services.ec2.model.MonitorInstancesRequest;
-import com.amazonaws.services.ec2.model.MonitorInstancesResult;
-import com.amazonaws.services.ec2.model.Monitoring;
-import com.amazonaws.services.ec2.model.MonitoringState;
-import com.amazonaws.services.ec2.model.RebootInstancesRequest;
-import com.amazonaws.services.ec2.model.RebootInstancesResult;
-import com.amazonaws.services.ec2.model.Reservation;
-import com.amazonaws.services.ec2.model.RunInstancesRequest;
-import com.amazonaws.services.ec2.model.RunInstancesResult;
-import com.amazonaws.services.ec2.model.StartInstancesRequest;
-import com.amazonaws.services.ec2.model.StartInstancesResult;
-import com.amazonaws.services.ec2.model.StopInstancesRequest;
-import com.amazonaws.services.ec2.model.StopInstancesResult;
-import com.amazonaws.services.ec2.model.TerminateInstancesRequest;
-import com.amazonaws.services.ec2.model.TerminateInstancesResult;
-import com.amazonaws.services.ec2.model.UnmonitorInstancesRequest;
-import com.amazonaws.services.ec2.model.UnmonitorInstancesResult;
-import org.apache.camel.util.ObjectHelper;
-
-public class AmazonEC2ClientMock extends AbstractAmazonEC2 {
-
-    @Override
-    public RunInstancesResult runInstances(RunInstancesRequest runInstancesRequest) {
-        RunInstancesResult result = new RunInstancesResult();
-        if (runInstancesRequest.getImageId().equals("test-1")) {
-            Reservation res = new Reservation();
-            res.setOwnerId("1");
-            res.setRequesterId("user-test");
-            res.setReservationId("res-1");
-            Collection<Instance> instances = new ArrayList<>();
-            Instance ins = new Instance();
-            ins.setImageId(runInstancesRequest.getImageId());
-            ins.setInstanceType(runInstancesRequest.getInstanceType());
-            ins.setInstanceId("instance-1");
-            if (runInstancesRequest.getSecurityGroups() != null) {
-                if (runInstancesRequest.getSecurityGroups().contains("secgroup-1")
-                        && runInstancesRequest.getSecurityGroups().contains("secgroup-2")) {
-                    GroupIdentifier id1 = new GroupIdentifier();
-                    id1.setGroupId("id-1");
-                    id1.setGroupName("secgroup-1");
-                    GroupIdentifier id2 = new GroupIdentifier();
-                    id2.setGroupId("id-2");
-                    id2.setGroupName("secgroup-2");
-                    Collection<GroupIdentifier> secGroups = new ArrayList<>();
-                    secGroups.add(id1);
-                    secGroups.add(id2);
-                    ins.setSecurityGroups(secGroups);
-                } else if (ObjectHelper.isNotEmpty(runInstancesRequest.getKeyName())) {
-                    if (ObjectHelper.isNotEmpty(runInstancesRequest.getKeyName().contains("keypair-1"))) {
-                        GroupIdentifier id1 = new GroupIdentifier();
-                        id1.setGroupId("id-3");
-                        id1.setGroupName("secgroup-3");
-                        GroupIdentifier id2 = new GroupIdentifier();
-                        id2.setGroupId("id-4");
-                        id2.setGroupName("secgroup-4");
-                        Collection<GroupIdentifier> secGroups = new ArrayList<>();
-                        secGroups.add(id1);
-                        secGroups.add(id2);
-                        ins.setSecurityGroups(secGroups);
-                    }
-                }
-            }
-            instances.add(ins);
-            res.setInstances(instances);
-            result.setReservation(res);
-        } else {
-            throw new AmazonServiceException("The image-id doesn't exists");
-        }
-        return result;
-
-    }
-
-    @Override
-    public StartInstancesResult startInstances(StartInstancesRequest startInstancesRequest) {
-        StartInstancesResult result = new StartInstancesResult();
-        if (startInstancesRequest.getInstanceIds().get(0).equals("test-1")) {
-            Collection<InstanceStateChange> coll = new ArrayList<>();
-            InstanceStateChange sc = new InstanceStateChange();
-            InstanceState previousState = new InstanceState();
-            previousState.setCode(80);
-            previousState.setName(InstanceStateName.Stopped);
-            InstanceState newState = new InstanceState();
-            newState.setCode(16);
-            newState.setName(InstanceStateName.Running);
-            sc.setPreviousState(previousState);
-            sc.setCurrentState(newState);
-            sc.setInstanceId("test-1");
-            coll.add(sc);
-            result.setStartingInstances(coll);
-        } else {
-            throw new AmazonServiceException("The image-id doesn't exists");
-        }
-        return result;
-    }
-
-    @Override
-    public StopInstancesResult stopInstances(StopInstancesRequest stopInstancesRequest) {
-        StopInstancesResult result = new StopInstancesResult();
-        if (stopInstancesRequest.getInstanceIds().get(0).equals("test-1")) {
-            Collection<InstanceStateChange> coll = new ArrayList<>();
-            InstanceStateChange sc = new InstanceStateChange();
-            InstanceState previousState = new InstanceState();
-            previousState.setCode(80);
-            previousState.setName(InstanceStateName.Running);
-            InstanceState newState = new InstanceState();
-            newState.setCode(16);
-            newState.setName(InstanceStateName.Stopped);
-            sc.setPreviousState(previousState);
-            sc.setCurrentState(newState);
-            sc.setInstanceId("test-1");
-            coll.add(sc);
-            result.setStoppingInstances(coll);
-        } else {
-            throw new AmazonServiceException("The image-id doesn't exists");
-        }
-        return result;
-    }
-
-    @Override
-    public TerminateInstancesResult terminateInstances(TerminateInstancesRequest terminateInstancesRequest) {
-        TerminateInstancesResult result = new TerminateInstancesResult();
-        if (terminateInstancesRequest.getInstanceIds().contains("test-1")) {
-            Collection<InstanceStateChange> coll = new ArrayList<>();
-            InstanceStateChange sc = new InstanceStateChange();
-            InstanceState previousState = new InstanceState();
-            previousState.setCode(80);
-            previousState.setName(InstanceStateName.Running);
-            InstanceState newState = new InstanceState();
-            newState.setCode(16);
-            newState.setName(InstanceStateName.Terminated);
-            sc.setPreviousState(previousState);
-            sc.setCurrentState(newState);
-            sc.setInstanceId("test-1");
-            coll.add(sc);
-            result.setTerminatingInstances(coll);
-        } else {
-            throw new AmazonServiceException("The image-id doesn't exists");
-        }
-        return result;
-    }
-
-    @Override
-    public DescribeInstancesResult describeInstances(DescribeInstancesRequest describeInstancesRequest) {
-        DescribeInstancesResult result = new DescribeInstancesResult();
-        if (describeInstancesRequest.getInstanceIds().isEmpty()) {
-            Collection<Reservation> list = new ArrayList<>();
-            Reservation res = new Reservation();
-            res.setOwnerId("1");
-            res.setRequesterId("user-test");
-            res.setReservationId("res-1");
-            Collection<Instance> instances = new ArrayList<>();
-            Instance ins = new Instance();
-            ins.setImageId("id-1");
-            ins.setInstanceType(InstanceType.T2Micro);
-            ins.setInstanceId("instance-1");
-            instances.add(ins);
-            Instance ins1 = new Instance();
-            ins1.setImageId("id-2");
-            ins1.setInstanceType(InstanceType.T2Micro);
-            ins1.setInstanceId("instance-2");
-            instances.add(ins1);
-            res.setInstances(instances);
-            list.add(res);
-            result.setReservations(list);
-        } else {
-            if (describeInstancesRequest.getInstanceIds().contains("instance-1")) {
-                Collection<Reservation> list = new ArrayList<>();
-                Reservation res = new Reservation();
-                res.setOwnerId("1");
-                res.setRequesterId("user-test");
-                res.setReservationId("res-1");
-                Collection<Instance> instances = new ArrayList<>();
-                Instance ins = new Instance();
-                ins.setImageId("id-1");
-                ins.setInstanceType(InstanceType.T2Micro);
-                ins.setInstanceId("instance-1");
-                instances.add(ins);
-                res.setInstances(instances);
-                list.add(res);
-                result.setReservations(list);
-            }
-        }
-        return result;
-    }
-
-    @Override
-    public DescribeInstanceStatusResult describeInstanceStatus(DescribeInstanceStatusRequest describeInstanceStatusRequest) {
-        DescribeInstanceStatusResult result = new DescribeInstanceStatusResult();
-        Collection<InstanceStatus> instanceStatuses = new ArrayList<>();
-        if (describeInstanceStatusRequest.getInstanceIds().isEmpty()) {
-            InstanceStatus status = new InstanceStatus();
-            status.setInstanceId("test-1");
-            status.setInstanceState(new InstanceState().withName(InstanceStateName.Running));
-            instanceStatuses.add(status);
-            status.setInstanceId("test-2");
-            status.setInstanceState(new InstanceState().withName(InstanceStateName.Stopped));
-            instanceStatuses.add(status);
-        } else {
-            if (describeInstanceStatusRequest.getInstanceIds().contains("test-1")) {
-                InstanceStatus status = new InstanceStatus();
-                status.setInstanceId("test-1");
-                status.setInstanceState(new InstanceState().withName(InstanceStateName.Running));
-                instanceStatuses.add(status);
-            }
-            if (describeInstanceStatusRequest.getInstanceIds().contains("test-2")) {
-                InstanceStatus status = new InstanceStatus();
-                status.setInstanceId("test-2");
-                status.setInstanceState(new InstanceState().withName(InstanceStateName.Stopped));
-                instanceStatuses.add(status);
-            }
-        }
-        result.setInstanceStatuses(instanceStatuses);
-        return result;
-    }
-
-    @Override
-    public RebootInstancesResult rebootInstances(RebootInstancesRequest rebootInstancesRequest) {
-        return new RebootInstancesResult();
-    }
-
-    @Override
-    public MonitorInstancesResult monitorInstances(MonitorInstancesRequest monitorInstancesRequest) {
-        MonitorInstancesResult result = new MonitorInstancesResult();
-        if (!monitorInstancesRequest.getInstanceIds().isEmpty()) {
-            Collection<InstanceMonitoring> coll = new ArrayList<>();
-            Iterator<String> it = monitorInstancesRequest.getInstanceIds().iterator();
-            while (it.hasNext()) {
-                String id = it.next();
-                InstanceMonitoring mon = new InstanceMonitoring();
-                mon.setInstanceId(id);
-                Monitoring monitoring = new Monitoring();
-                monitoring.setState(MonitoringState.Enabled);
-                mon.setMonitoring(monitoring);
-                coll.add(mon);
-            }
-            result.setInstanceMonitorings(coll);
-        }
-        return result;
-    }
-
-    @Override
-    public UnmonitorInstancesResult unmonitorInstances(UnmonitorInstancesRequest unmonitorInstancesRequest) {
-        UnmonitorInstancesResult result = new UnmonitorInstancesResult();
-        if (!unmonitorInstancesRequest.getInstanceIds().isEmpty()) {
-            Collection<InstanceMonitoring> coll = new ArrayList<>();
-            Iterator<String> it = unmonitorInstancesRequest.getInstanceIds().iterator();
-            while (it.hasNext()) {
-                String id = it.next();
-                InstanceMonitoring mon = new InstanceMonitoring();
-                mon.setInstanceId(id);
-                Monitoring monitoring = new Monitoring();
-                monitoring.setState(MonitoringState.Disabled);
-                mon.setMonitoring(monitoring);
-                coll.add(mon);
-            }
-            result.setInstanceMonitorings(coll);
-        }
-        return result;
-    }
-
-    @Override
-    public CreateTagsResult createTags(CreateTagsRequest createTagsRequest) {
-        return new CreateTagsResult();
-    }
-
-    @Override
-    public DeleteTagsResult deleteTags(DeleteTagsRequest deleteTagsRequest) {
-        return new DeleteTagsResult();
-    }
-}
diff --git a/components/camel-aws-ec2/src/test/java/org/apache/camel/component/aws/ec2/EC2ComponentClientRegistryTest.java b/components/camel-aws-ec2/src/test/java/org/apache/camel/component/aws/ec2/EC2ComponentClientRegistryTest.java
deleted file mode 100644
index 98f1e3a..0000000
--- a/components/camel-aws-ec2/src/test/java/org/apache/camel/component/aws/ec2/EC2ComponentClientRegistryTest.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * 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.component.aws.ec2;
-
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertNotSame;
-import static org.junit.jupiter.api.Assertions.assertSame;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-
-public class EC2ComponentClientRegistryTest extends CamelTestSupport {
-
-    @Test
-    public void createEndpointWithMinimalEC2ClientConfiguration() throws Exception {
-
-        AmazonEC2ClientMock clientMock = new AmazonEC2ClientMock();
-        context.getRegistry().bind("amazonEc2Client", clientMock);
-        EC2Component component = context.getComponent("aws-ec2", EC2Component.class);
-        EC2Endpoint endpoint = (EC2Endpoint) component.createEndpoint("aws-ec2://TestDomain");
-
-        assertNotNull(endpoint.getConfiguration().getAmazonEc2Client());
-    }
-
-    @Test
-    public void createEndpointWithMinimalEC2ClientMisconfiguration() throws Exception {
-
-        EC2Component component = context.getComponent("aws-ec2", EC2Component.class);
-        assertThrows(IllegalArgumentException.class,
-                () -> component.createEndpoint("aws-ec2://TestDomain"));
-    }
-
-    @Test
-    public void createEndpointWithAutoDiscoverClientFalse() throws Exception {
-
-        AmazonEC2ClientMock clientMock = new AmazonEC2ClientMock();
-        context.getRegistry().bind("amazonEc2Client", clientMock);
-        EC2Component component = context.getComponent("aws-ec2", EC2Component.class);
-        EC2Endpoint endpoint = (EC2Endpoint) component
-                .createEndpoint("aws-ec2://TestDomain?accessKey=xxx&secretKey=yyy&autoDiscoverClient=false");
-
-        assertNotSame(clientMock, endpoint.getConfiguration().getAmazonEc2Client());
-    }
-
-    @Test
-    public void createEndpointWithAutoDiscoverClientTrue() throws Exception {
-
-        AmazonEC2ClientMock clientMock = new AmazonEC2ClientMock();
-        context.getRegistry().bind("amazonEc2Client", clientMock);
-        EC2Component component = context.getComponent("aws-ec2", EC2Component.class);
-        EC2Endpoint endpoint = (EC2Endpoint) component.createEndpoint("aws-ec2://TestDomain?accessKey=xxx&secretKey=yyy");
-
-        assertNotNull(endpoint.getConfiguration().getAmazonEc2Client());
-        assertSame(clientMock, endpoint.getConfiguration().getAmazonEc2Client());
-    }
-}
diff --git a/components/camel-aws-ec2/src/test/java/org/apache/camel/component/aws/ec2/EC2ComponentConfigurationTest.java b/components/camel-aws-ec2/src/test/java/org/apache/camel/component/aws/ec2/EC2ComponentConfigurationTest.java
deleted file mode 100644
index 6361dcc..0000000
--- a/components/camel-aws-ec2/src/test/java/org/apache/camel/component/aws/ec2/EC2ComponentConfigurationTest.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * 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.component.aws.ec2;
-
-import com.amazonaws.Protocol;
-import com.amazonaws.regions.Regions;
-import com.amazonaws.services.ec2.AmazonEC2Client;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertNull;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.mockito.Mockito.mock;
-
-public class EC2ComponentConfigurationTest extends CamelTestSupport {
-
-    @Test
-    public void createEndpointWithMinimalConfiguration() throws Exception {
-        AmazonEC2Client amazonEc2Client = mock(AmazonEC2Client.class);
-        context.getRegistry().bind("amazonEc2Client", amazonEc2Client);
-        EC2Component component = context.getComponent("aws-ec2", EC2Component.class);
-        EC2Endpoint endpoint = (EC2Endpoint) component
-                .createEndpoint("aws-ec2://TestDomain?amazonEc2Client=#amazonEc2Client&accessKey=xxx&secretKey=yyy");
-
-        assertEquals("xxx", endpoint.getConfiguration().getAccessKey());
-        assertEquals("yyy", endpoint.getConfiguration().getSecretKey());
-        assertNotNull(endpoint.getConfiguration().getAmazonEc2Client());
-    }
-
-    @Test
-    public void createEndpointWithOnlyAccessKeyAndSecretKey() throws Exception {
-        EC2Component component = context.getComponent("aws-ec2", EC2Component.class);
-        EC2Endpoint endpoint = (EC2Endpoint) component.createEndpoint("aws-ec2://TestDomain?accessKey=xxx&secretKey=yyy");
-
-        assertEquals("xxx", endpoint.getConfiguration().getAccessKey());
-        assertEquals("yyy", endpoint.getConfiguration().getSecretKey());
-        assertNull(endpoint.getConfiguration().getAmazonEc2Client());
-    }
-
-    @Test
-    public void createEndpointWithoutDomainName() throws Exception {
-        EC2Component component = context.getComponent("aws-ec2", EC2Component.class);
-        assertThrows(IllegalArgumentException.class,
-                () -> component.createEndpoint("aws-ec2:// "));
-    }
-
-    @Test
-    public void createEndpointWithoutAmazonSDBClientConfiguration() throws Exception {
-        EC2Component component = context.getComponent("aws-ec2", EC2Component.class);
-        assertThrows(IllegalArgumentException.class,
-                () -> component.createEndpoint("aws-ec2://TestDomain"));
-    }
-
-    @Test
-    public void createEndpointWithoutAccessKeyConfiguration() throws Exception {
-        EC2Component component = context.getComponent("aws-ec2", EC2Component.class);
-        assertThrows(IllegalArgumentException.class,
-                () -> component.createEndpoint("aws-ec2://TestDomain?secretKey=yyy"));
-    }
-
-    @Test
-    public void createEndpointWithoutSecretKeyConfiguration() throws Exception {
-        EC2Component component = context.getComponent("aws-ec2", EC2Component.class);
-        assertThrows(IllegalArgumentException.class,
-                () -> component.createEndpoint("aws-ec2://TestDomain?accessKey=xxx"));
-    }
-
-    @Test
-    public void createEndpointWithoutSecretKeyAndAccessKeyConfiguration() throws Exception {
-        AmazonEC2Client amazonEc2Client = mock(AmazonEC2Client.class);
-        context.getRegistry().bind("amazonEc2Client", amazonEc2Client);
-        EC2Component component = context.getComponent("aws-ec2", EC2Component.class);
-        component.createEndpoint("aws-ec2://TestDomain?amazonEc2Client=#amazonEc2Client");
-    }
-
-    @Test
-    public void createEndpointWithComponentElements() throws Exception {
-        EC2Component component = context.getComponent("aws-ec2", EC2Component.class);
-        component.getConfiguration().setAccessKey("XXX");
-        component.getConfiguration().setSecretKey("YYY");
-        EC2Endpoint endpoint = (EC2Endpoint) component.createEndpoint("aws-ec2://testDomain");
-
-        assertEquals("XXX", endpoint.getConfiguration().getAccessKey());
-        assertEquals("YYY", endpoint.getConfiguration().getSecretKey());
-    }
-
-    @Test
-    public void createEndpointWithComponentAndEndpointElements() throws Exception {
-        EC2Component component = context.getComponent("aws-ec2", EC2Component.class);
-        component.getConfiguration().setAccessKey("XXX");
-        component.getConfiguration().setSecretKey("YYY");
-        component.getConfiguration().setRegion(Regions.US_WEST_1.toString());
-        EC2Endpoint endpoint = (EC2Endpoint) component
-                .createEndpoint("aws-ec2://testDomain?accessKey=xxxxxx&secretKey=yyyyy&region=US_EAST_1");
-
-        assertEquals("xxxxxx", endpoint.getConfiguration().getAccessKey());
-        assertEquals("yyyyy", endpoint.getConfiguration().getSecretKey());
-        assertEquals("US_EAST_1", endpoint.getConfiguration().getRegion());
-    }
-
-    @Test
-    public void createEndpointWithComponentEndpointElementsAndProxy() throws Exception {
-        EC2Component component = context.getComponent("aws-ec2", EC2Component.class);
-        component.getConfiguration().setAccessKey("XXX");
-        component.getConfiguration().setSecretKey("YYY");
-        component.getConfiguration().setRegion(Regions.US_WEST_1.toString());
-        EC2Endpoint endpoint = (EC2Endpoint) component.createEndpoint(
-                "aws-ec2://testDomain?accessKey=xxxxxx&secretKey=yyyyy&region=US_EAST_1&proxyHost=localhost&proxyPort=9000&proxyProtocol=HTTP");
-
-        assertEquals("xxxxxx", endpoint.getConfiguration().getAccessKey());
-        assertEquals("yyyyy", endpoint.getConfiguration().getSecretKey());
-        assertEquals("US_EAST_1", endpoint.getConfiguration().getRegion());
-        assertEquals(Protocol.HTTP, endpoint.getConfiguration().getProxyProtocol());
-        assertEquals("localhost", endpoint.getConfiguration().getProxyHost());
-        assertEquals(Integer.valueOf(9000), endpoint.getConfiguration().getProxyPort());
-    }
-}
diff --git a/components/camel-aws-ec2/src/test/java/org/apache/camel/component/aws/ec2/EC2ComponentSpringTest.java b/components/camel-aws-ec2/src/test/java/org/apache/camel/component/aws/ec2/EC2ComponentSpringTest.java
deleted file mode 100644
index cc3f166..0000000
--- a/components/camel-aws-ec2/src/test/java/org/apache/camel/component/aws/ec2/EC2ComponentSpringTest.java
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
- * 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.component.aws.ec2;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import com.amazonaws.services.ec2.model.DescribeInstanceStatusResult;
-import com.amazonaws.services.ec2.model.DescribeInstancesResult;
-import com.amazonaws.services.ec2.model.InstanceStateName;
-import com.amazonaws.services.ec2.model.InstanceType;
-import com.amazonaws.services.ec2.model.MonitorInstancesResult;
-import com.amazonaws.services.ec2.model.MonitoringState;
-import com.amazonaws.services.ec2.model.RunInstancesResult;
-import com.amazonaws.services.ec2.model.StartInstancesResult;
-import com.amazonaws.services.ec2.model.StopInstancesResult;
-import com.amazonaws.services.ec2.model.TerminateInstancesResult;
-import com.amazonaws.services.ec2.model.UnmonitorInstancesResult;
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.apache.camel.test.spring.junit5.CamelSpringTestSupport;
-import org.junit.jupiter.api.Test;
-import org.springframework.context.support.AbstractApplicationContext;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-public class EC2ComponentSpringTest extends CamelSpringTestSupport {
-
-    @Test
-    public void createAndRunInstances() {
-
-        Exchange exchange = template.request("direct:createAndRun", new Processor() {
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(EC2Constants.OPERATION, EC2Operations.createAndRunInstances);
-                exchange.getIn().setHeader(EC2Constants.IMAGE_ID, "test-1");
-                exchange.getIn().setHeader(EC2Constants.INSTANCE_TYPE, InstanceType.T2Micro);
-                exchange.getIn().setHeader(EC2Constants.INSTANCE_MIN_COUNT, 1);
-                exchange.getIn().setHeader(EC2Constants.INSTANCE_MAX_COUNT, 1);
-            }
-        });
-
-        RunInstancesResult resultGet = (RunInstancesResult) exchange.getMessage().getBody();
-        assertEquals("test-1", resultGet.getReservation().getInstances().get(0).getImageId());
-        assertEquals(InstanceType.T2Micro.toString(), resultGet.getReservation().getInstances().get(0).getInstanceType());
-        assertEquals("instance-1", resultGet.getReservation().getInstances().get(0).getInstanceId());
-    }
-
-    @Test
-    public void ec2CreateAndRunTestWithKeyPair() throws Exception {
-
-        Exchange exchange = template.request("direct:createAndRun", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(EC2Constants.OPERATION, EC2Operations.createAndRunInstances);
-                exchange.getIn().setHeader(EC2Constants.IMAGE_ID, "test-1");
-                exchange.getIn().setHeader(EC2Constants.INSTANCE_TYPE, InstanceType.T2Micro);
-                exchange.getIn().setHeader(EC2Constants.INSTANCE_MIN_COUNT, 1);
-                exchange.getIn().setHeader(EC2Constants.INSTANCE_MAX_COUNT, 1);
-                exchange.getIn().setHeader(EC2Constants.INSTANCES_KEY_PAIR, "keypair-1");
-            }
-        });
-
-        RunInstancesResult resultGet = (RunInstancesResult) exchange.getMessage().getBody();
-        assertEquals("test-1", resultGet.getReservation().getInstances().get(0).getImageId());
-        assertEquals(InstanceType.T2Micro.toString(), resultGet.getReservation().getInstances().get(0).getInstanceType());
-        assertEquals("instance-1", resultGet.getReservation().getInstances().get(0).getInstanceId());
-        assertEquals(2, resultGet.getReservation().getInstances().get(0).getSecurityGroups().size());
-        assertEquals("id-3", resultGet.getReservation().getInstances().get(0).getSecurityGroups().get(0).getGroupId());
-        assertEquals("id-4", resultGet.getReservation().getInstances().get(0).getSecurityGroups().get(1).getGroupId());
-    }
-
-    @Test
-    public void startInstances() {
-
-        Exchange exchange = template.request("direct:start", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                Collection<String> l = new ArrayList<>();
-                l.add("test-1");
-                exchange.getIn().setHeader(EC2Constants.INSTANCES_IDS, l);
-            }
-        });
-
-        StartInstancesResult resultGet = (StartInstancesResult) exchange.getMessage().getBody();
-        assertEquals("test-1", resultGet.getStartingInstances().get(0).getInstanceId());
-        assertEquals(resultGet.getStartingInstances().get(0).getPreviousState().getName(),
-                InstanceStateName.Stopped.toString());
-        assertEquals(resultGet.getStartingInstances().get(0).getCurrentState().getName(), InstanceStateName.Running.toString());
-    }
-
-    @Test
-    public void stopInstances() {
-
-        Exchange exchange = template.request("direct:stop", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                Collection<String> l = new ArrayList<>();
-                l.add("test-1");
-                exchange.getIn().setHeader(EC2Constants.INSTANCES_IDS, l);
-            }
-        });
-
-        StopInstancesResult resultGet = (StopInstancesResult) exchange.getMessage().getBody();
-        assertEquals("test-1", resultGet.getStoppingInstances().get(0).getInstanceId());
-        assertEquals(InstanceStateName.Running.toString(),
-                resultGet.getStoppingInstances().get(0).getPreviousState().getName());
-        assertEquals(InstanceStateName.Stopped.toString(),
-                resultGet.getStoppingInstances().get(0).getCurrentState().getName());
-    }
-
-    @Test
-    public void terminateInstances() {
-
-        Exchange exchange = template.request("direct:terminate", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                Collection<String> l = new ArrayList<>();
-                l.add("test-1");
-                exchange.getIn().setHeader(EC2Constants.INSTANCES_IDS, l);
-            }
-        });
-
-        TerminateInstancesResult resultGet = (TerminateInstancesResult) exchange.getMessage().getBody();
-        assertEquals("test-1", resultGet.getTerminatingInstances().get(0).getInstanceId());
-        assertEquals(resultGet.getTerminatingInstances().get(0).getPreviousState().getName(),
-                InstanceStateName.Running.toString());
-        assertEquals(resultGet.getTerminatingInstances().get(0).getCurrentState().getName(),
-                InstanceStateName.Terminated.toString());
-    }
-
-    @Test
-    public void ec2DescribeSpecificInstancesTest() throws Exception {
-
-        Exchange exchange = template.request("direct:describe", new Processor() {
-
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                Collection<String> l = new ArrayList<>();
-                l.add("instance-1");
-                exchange.getIn().setHeader(EC2Constants.INSTANCES_IDS, l);
-            }
-        });
-
-        DescribeInstancesResult resultGet = (DescribeInstancesResult) exchange.getMessage().getBody();
-        assertEquals(1, resultGet.getReservations().size());
-        assertEquals(1, resultGet.getReservations().get(0).getInstances().size());
-    }
-
-    @Test
-    public void ec2DescribeStatusSpecificInstancesTest() throws Exception {
-
-        Exchange exchange = template.request("direct:describeStatus", new Processor() {
-
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                Collection<String> l = new ArrayList<>();
-                l.add("test-1");
-                exchange.getIn().setHeader(EC2Constants.INSTANCES_IDS, l);
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        DescribeInstanceStatusResult resultGet = (DescribeInstanceStatusResult) exchange.getMessage().getBody();
-        assertEquals(1, resultGet.getInstanceStatuses().size());
-        assertEquals(InstanceStateName.Running.toString(), resultGet.getInstanceStatuses().get(0).getInstanceState().getName());
-    }
-
-    @Test
-    public void ec2RebootInstancesTest() throws Exception {
-
-        template.request("direct:reboot", new Processor() {
-
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                Collection<String> l = new ArrayList<>();
-                l.add("test-1");
-                exchange.getIn().setHeader(EC2Constants.INSTANCES_IDS, l);
-            }
-        });
-    }
-
-    @Test
-    public void ec2MonitorInstancesTest() throws Exception {
-
-        Exchange exchange = template.request("direct:monitor", new Processor() {
-
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                Collection<String> l = new ArrayList<>();
-                l.add("test-1");
-                exchange.getIn().setHeader(EC2Constants.INSTANCES_IDS, l);
-            }
-        });
-
-        MonitorInstancesResult resultGet = (MonitorInstancesResult) exchange.getMessage().getBody();
-
-        assertEquals(1, resultGet.getInstanceMonitorings().size());
-        assertEquals("test-1", resultGet.getInstanceMonitorings().get(0).getInstanceId());
-        assertEquals(MonitoringState.Enabled.toString(),
-                resultGet.getInstanceMonitorings().get(0).getMonitoring().getState());
-    }
-
-    @Test
-    public void ec2UnmonitorInstancesTest() throws Exception {
-
-        Exchange exchange = template.request("direct:unmonitor", new Processor() {
-
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                Collection<String> l = new ArrayList<>();
-                l.add("test-1");
-                exchange.getIn().setHeader(EC2Constants.INSTANCES_IDS, l);
-            }
-        });
-
-        UnmonitorInstancesResult resultGet = (UnmonitorInstancesResult) exchange.getMessage().getBody();
-
-        assertEquals(1, resultGet.getInstanceMonitorings().size());
-        assertEquals("test-1", resultGet.getInstanceMonitorings().get(0).getInstanceId());
-        assertEquals(MonitoringState.Disabled.toString(),
-                resultGet.getInstanceMonitorings().get(0).getMonitoring().getState());
-    }
-
-    @Override
-    protected AbstractApplicationContext createApplicationContext() {
-        return new ClassPathXmlApplicationContext("org/apache/camel/component/aws/ec2/EC2ComponentSpringTest-context.xml");
-    }
-}
diff --git a/components/camel-aws-ec2/src/test/java/org/apache/camel/component/aws/ec2/EC2ComponentVerifierExtensionTest.java b/components/camel-aws-ec2/src/test/java/org/apache/camel/component/aws/ec2/EC2ComponentVerifierExtensionTest.java
deleted file mode 100644
index 8186fd3..0000000
--- a/components/camel-aws-ec2/src/test/java/org/apache/camel/component/aws/ec2/EC2ComponentVerifierExtensionTest.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * 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.component.aws.ec2;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.camel.Component;
-import org.apache.camel.component.extension.ComponentVerifierExtension;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-public class EC2ComponentVerifierExtensionTest extends CamelTestSupport {
-
-    // *************************************************
-    // Tests (parameters)
-    // *************************************************
-    @Override
-    public boolean isUseRouteBuilder() {
-        return false;
-    }
-
-    @Test
-    public void testParameters() throws Exception {
-        Component component = context().getComponent("aws-ec2");
-
-        ComponentVerifierExtension verifier
-                = component.getExtension(ComponentVerifierExtension.class).orElseThrow(IllegalStateException::new);
-
-        Map<String, Object> parameters = new HashMap<>();
-        parameters.put("secretKey", "l");
-        parameters.put("accessKey", "k");
-        parameters.put("region", "l");
-        parameters.put("label", "test");
-        parameters.put("operation", EC2Operations.describeInstances.toString());
-
-        ComponentVerifierExtension.Result result = verifier.verify(ComponentVerifierExtension.Scope.PARAMETERS, parameters);
-
-        assertEquals(ComponentVerifierExtension.Result.Status.OK, result.getStatus());
-    }
-
-    @Test
-    public void testConnectivity() throws Exception {
-        Component component = context().getComponent("aws-ec2");
-        ComponentVerifierExtension verifier
-                = component.getExtension(ComponentVerifierExtension.class).orElseThrow(IllegalStateException::new);
-
-        Map<String, Object> parameters = new HashMap<>();
-        parameters.put("secretKey", "l");
-        parameters.put("accessKey", "k");
-        parameters.put("region", "US_EAST_1");
-        parameters.put("label", "test");
-        parameters.put("operation", EC2Operations.describeInstances.toString());
-
-        ComponentVerifierExtension.Result result = verifier.verify(ComponentVerifierExtension.Scope.CONNECTIVITY, parameters);
-
-        assertEquals(ComponentVerifierExtension.Result.Status.ERROR, result.getStatus());
-    }
-
-}
diff --git a/components/camel-aws-ec2/src/test/java/org/apache/camel/component/aws/ec2/EC2OperationsTest.java b/components/camel-aws-ec2/src/test/java/org/apache/camel/component/aws/ec2/EC2OperationsTest.java
deleted file mode 100644
index 3ca3499..0000000
--- a/components/camel-aws-ec2/src/test/java/org/apache/camel/component/aws/ec2/EC2OperationsTest.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * 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.component.aws.ec2;
-
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-public class EC2OperationsTest {
-
-    @Test
-    public void supportedOperationCount() {
-        assertEquals(11, EC2Operations.values().length);
-    }
-
-    @Test
-    public void valueOf() {
-        assertEquals(EC2Operations.valueOf("createAndRunInstances"), EC2Operations.createAndRunInstances);
-        assertEquals(EC2Operations.valueOf("startInstances"), EC2Operations.startInstances);
-        assertEquals(EC2Operations.valueOf("stopInstances"), EC2Operations.stopInstances);
-        assertEquals(EC2Operations.valueOf("terminateInstances"), EC2Operations.terminateInstances);
-        assertEquals(EC2Operations.valueOf("describeInstances"), EC2Operations.describeInstances);
-        assertEquals(EC2Operations.valueOf("describeInstancesStatus"), EC2Operations.describeInstancesStatus);
-        assertEquals(EC2Operations.valueOf("rebootInstances"), EC2Operations.rebootInstances);
-        assertEquals(EC2Operations.valueOf("monitorInstances"), EC2Operations.monitorInstances);
-        assertEquals(EC2Operations.valueOf("unmonitorInstances"), EC2Operations.unmonitorInstances);
-        assertEquals(EC2Operations.valueOf("createTags"), EC2Operations.createTags);
-        assertEquals(EC2Operations.valueOf("deleteTags"), EC2Operations.deleteTags);
-    }
-
-    @Test
-    public void testToString() {
-        assertEquals("createAndRunInstances", EC2Operations.createAndRunInstances.toString());
-        assertEquals("startInstances", EC2Operations.startInstances.toString());
-        assertEquals("stopInstances", EC2Operations.stopInstances.toString());
-        assertEquals("terminateInstances", EC2Operations.terminateInstances.toString());
-        assertEquals("describeInstances", EC2Operations.describeInstances.toString());
-        assertEquals("describeInstancesStatus", EC2Operations.describeInstancesStatus.toString());
-        assertEquals("rebootInstances", EC2Operations.rebootInstances.toString());
-        assertEquals("monitorInstances", EC2Operations.monitorInstances.toString());
-        assertEquals("unmonitorInstances", EC2Operations.unmonitorInstances.toString());
-        assertEquals("createTags", EC2Operations.createTags.toString());
-        assertEquals("deleteTags", EC2Operations.deleteTags.toString());
-    }
-}
diff --git a/components/camel-aws-ec2/src/test/java/org/apache/camel/component/aws/ec2/EC2ProducerTest.java b/components/camel-aws-ec2/src/test/java/org/apache/camel/component/aws/ec2/EC2ProducerTest.java
deleted file mode 100644
index 9f05431..0000000
--- a/components/camel-aws-ec2/src/test/java/org/apache/camel/component/aws/ec2/EC2ProducerTest.java
+++ /dev/null
@@ -1,536 +0,0 @@
-/*
- * 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.component.aws.ec2;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import com.amazonaws.services.ec2.model.CreateTagsResult;
-import com.amazonaws.services.ec2.model.DeleteTagsResult;
-import com.amazonaws.services.ec2.model.DescribeInstanceStatusResult;
-import com.amazonaws.services.ec2.model.DescribeInstancesResult;
-import com.amazonaws.services.ec2.model.InstanceStateName;
-import com.amazonaws.services.ec2.model.InstanceType;
-import com.amazonaws.services.ec2.model.MonitorInstancesResult;
-import com.amazonaws.services.ec2.model.MonitoringState;
-import com.amazonaws.services.ec2.model.RunInstancesResult;
-import com.amazonaws.services.ec2.model.StartInstancesResult;
-import com.amazonaws.services.ec2.model.StopInstancesResult;
-import com.amazonaws.services.ec2.model.TerminateInstancesResult;
-import com.amazonaws.services.ec2.model.UnmonitorInstancesResult;
-import org.apache.camel.BindToRegistry;
-import org.apache.camel.EndpointInject;
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-public class EC2ProducerTest extends CamelTestSupport {
-
-    @BindToRegistry("amazonEc2Client")
-    AmazonEC2ClientMock amazonEc2Client = new AmazonEC2ClientMock();
-
-    @EndpointInject("mock:result")
-    private MockEndpoint mock;
-
-    @Test
-    public void ec2CreateAndRunTest() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:createAndRun", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(EC2Constants.OPERATION, EC2Operations.createAndRunInstances);
-                exchange.getIn().setHeader(EC2Constants.IMAGE_ID, "test-1");
-                exchange.getIn().setHeader(EC2Constants.INSTANCE_TYPE, InstanceType.T2Micro);
-                exchange.getIn().setHeader(EC2Constants.INSTANCE_MIN_COUNT, 1);
-                exchange.getIn().setHeader(EC2Constants.INSTANCE_MAX_COUNT, 1);
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        RunInstancesResult resultGet = (RunInstancesResult) exchange.getIn().getBody();
-        assertEquals("test-1", resultGet.getReservation().getInstances().get(0).getImageId());
-        assertEquals(InstanceType.T2Micro.toString(), resultGet.getReservation().getInstances().get(0).getInstanceType());
-        assertEquals("instance-1", resultGet.getReservation().getInstances().get(0).getInstanceId());
-    }
-
-    @Test
-    public void ec2CreateAndRunTestWithSecurityGroups() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:createAndRun", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(EC2Constants.OPERATION, EC2Operations.createAndRunInstances);
-                exchange.getIn().setHeader(EC2Constants.IMAGE_ID, "test-1");
-                exchange.getIn().setHeader(EC2Constants.INSTANCE_TYPE, InstanceType.T2Micro);
-                exchange.getIn().setHeader(EC2Constants.INSTANCE_MIN_COUNT, 1);
-                exchange.getIn().setHeader(EC2Constants.INSTANCE_MAX_COUNT, 1);
-                Collection<String> secGroups = new ArrayList<>();
-                secGroups.add("secgroup-1");
-                secGroups.add("secgroup-2");
-                exchange.getIn().setHeader(EC2Constants.INSTANCE_SECURITY_GROUPS, secGroups);
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        RunInstancesResult resultGet = (RunInstancesResult) exchange.getIn().getBody();
-        assertEquals("test-1", resultGet.getReservation().getInstances().get(0).getImageId());
-        assertEquals(InstanceType.T2Micro.toString(), resultGet.getReservation().getInstances().get(0).getInstanceType());
-        assertEquals("instance-1", resultGet.getReservation().getInstances().get(0).getInstanceId());
-        assertEquals(2, resultGet.getReservation().getInstances().get(0).getSecurityGroups().size());
-        assertEquals("id-1", resultGet.getReservation().getInstances().get(0).getSecurityGroups().get(0).getGroupId());
-        assertEquals("id-2", resultGet.getReservation().getInstances().get(0).getSecurityGroups().get(1).getGroupId());
-    }
-
-    @Test
-    public void ec2CreateAndRunImageIdNotSpecifiedTest() throws Exception {
-
-        mock.expectedMessageCount(0);
-        Exchange exchange = template.request("direct:createAndRun", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(EC2Constants.OPERATION, EC2Operations.createAndRunInstances);
-                exchange.getIn().setHeader(EC2Constants.INSTANCE_TYPE, InstanceType.T2Micro);
-                exchange.getIn().setHeader(EC2Constants.INSTANCE_MIN_COUNT, 1);
-                exchange.getIn().setHeader(EC2Constants.INSTANCE_MAX_COUNT, 1);
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        assertTrue(exchange.isFailed(), "Should be failed");
-        assertTrue(exchange.getException() instanceof IllegalArgumentException, "Should be IllegalArgumentException");
-        assertEquals("AMI must be specified", exchange.getException().getMessage());
-    }
-
-    @Test
-    public void ec2CreateAndRunInstanceTypeNotSpecifiedTest() throws Exception {
-
-        mock.expectedMessageCount(0);
-        Exchange exchange = template.request("direct:createAndRun", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(EC2Constants.OPERATION, EC2Operations.createAndRunInstances);
-                exchange.getIn().setHeader(EC2Constants.IMAGE_ID, "test-1");
-                exchange.getIn().setHeader(EC2Constants.INSTANCE_MIN_COUNT, 1);
-                exchange.getIn().setHeader(EC2Constants.INSTANCE_MAX_COUNT, 1);
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        assertTrue(exchange.isFailed(), "Should be failed");
-        assertTrue(exchange.getException() instanceof IllegalArgumentException, "Should be IllegalArgumentException");
-        assertEquals("Instance Type must be specified", exchange.getException().getMessage());
-    }
-
-    @Test
-    public void ec2CreateAndRunMinCountNotSpecifiedTest() throws Exception {
-
-        mock.expectedMessageCount(0);
-        Exchange exchange = template.request("direct:createAndRun", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(EC2Constants.OPERATION, EC2Operations.createAndRunInstances);
-                exchange.getIn().setHeader(EC2Constants.IMAGE_ID, "test-1");
-                exchange.getIn().setHeader(EC2Constants.INSTANCE_TYPE, InstanceType.T2Micro);
-                exchange.getIn().setHeader(EC2Constants.INSTANCE_MAX_COUNT, 1);
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        assertTrue(exchange.isFailed(), "Should be failed");
-        assertTrue(exchange.getException() instanceof IllegalArgumentException, "Should be IllegalArgumentException");
-        assertEquals("Min instances count must be specified", exchange.getException().getMessage());
-    }
-
-    @Test
-    public void ec2CreateAndRunMaxCountNotSpecifiedTest() throws Exception {
-
-        mock.expectedMessageCount(0);
-        Exchange exchange = template.request("direct:createAndRun", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(EC2Constants.OPERATION, EC2Operations.createAndRunInstances);
-                exchange.getIn().setHeader(EC2Constants.IMAGE_ID, "test-1");
-                exchange.getIn().setHeader(EC2Constants.INSTANCE_TYPE, InstanceType.T2Micro);
-                exchange.getIn().setHeader(EC2Constants.INSTANCE_MIN_COUNT, 1);
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        assertTrue(exchange.isFailed(), "Should be failed");
-        assertTrue(exchange.getException() instanceof IllegalArgumentException, "Should be IllegalArgumentException");
-        assertEquals("Max instances count must be specified", exchange.getException().getMessage());
-    }
-
-    @Test
-    public void ec2CreateAndRunTestWithKeyPair() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:createAndRun", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(EC2Constants.OPERATION, EC2Operations.createAndRunInstances);
-                exchange.getIn().setHeader(EC2Constants.IMAGE_ID, "test-1");
-                exchange.getIn().setHeader(EC2Constants.INSTANCE_TYPE, InstanceType.T2Micro);
-                exchange.getIn().setHeader(EC2Constants.INSTANCE_MIN_COUNT, 1);
-                exchange.getIn().setHeader(EC2Constants.INSTANCE_MAX_COUNT, 1);
-                exchange.getIn().setHeader(EC2Constants.INSTANCES_KEY_PAIR, "keypair-1");
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        RunInstancesResult resultGet = (RunInstancesResult) exchange.getIn().getBody();
-        assertEquals("test-1", resultGet.getReservation().getInstances().get(0).getImageId());
-        assertEquals(InstanceType.T2Micro.toString(), resultGet.getReservation().getInstances().get(0).getInstanceType());
-        assertEquals("instance-1", resultGet.getReservation().getInstances().get(0).getInstanceId());
-        assertEquals(2, resultGet.getReservation().getInstances().get(0).getSecurityGroups().size());
-        assertEquals("id-3", resultGet.getReservation().getInstances().get(0).getSecurityGroups().get(0).getGroupId());
-        assertEquals("id-4", resultGet.getReservation().getInstances().get(0).getSecurityGroups().get(1).getGroupId());
-    }
-
-    @Test
-    public void ec2CreateAndRunKoTest() throws Exception {
-
-        mock.expectedMessageCount(0);
-        template.request("direct:createAndRun", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(EC2Constants.OPERATION, EC2Operations.createAndRunInstances);
-                exchange.getIn().setHeader(EC2Constants.IMAGE_ID, "test-2");
-                exchange.getIn().setHeader(EC2Constants.INSTANCE_TYPE, InstanceType.T2Micro);
-                exchange.getIn().setHeader(EC2Constants.INSTANCE_MIN_COUNT, 1);
-                exchange.getIn().setHeader(EC2Constants.INSTANCE_MAX_COUNT, 1);
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-    }
-
-    @Test
-    public void ec2StartTest() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:start", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                Collection<String> l = new ArrayList<>();
-                l.add("test-1");
-                exchange.getIn().setHeader(EC2Constants.INSTANCES_IDS, l);
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        StartInstancesResult resultGet = (StartInstancesResult) exchange.getIn().getBody();
-        assertEquals("test-1", resultGet.getStartingInstances().get(0).getInstanceId());
-        assertEquals(InstanceStateName.Stopped.toString(),
-                resultGet.getStartingInstances().get(0).getPreviousState().getName());
-        assertEquals(InstanceStateName.Running.toString(), resultGet.getStartingInstances().get(0).getCurrentState().getName());
-    }
-
-    @Test
-    public void ec2StopTest() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:stop", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                Collection<String> l = new ArrayList<>();
-                l.add("test-1");
-                exchange.getIn().setHeader(EC2Constants.INSTANCES_IDS, l);
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        StopInstancesResult resultGet = (StopInstancesResult) exchange.getIn().getBody();
-        assertEquals("test-1", resultGet.getStoppingInstances().get(0).getInstanceId());
-        assertEquals(InstanceStateName.Running.toString(),
-                resultGet.getStoppingInstances().get(0).getPreviousState().getName());
-        assertEquals(InstanceStateName.Stopped.toString(), resultGet.getStoppingInstances().get(0).getCurrentState().getName());
-    }
-
-    @Test
-    public void ec2TerminateTest() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:terminate", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                Collection<String> l = new ArrayList<>();
-                l.add("test-1");
-                exchange.getIn().setHeader(EC2Constants.INSTANCES_IDS, l);
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        TerminateInstancesResult resultGet = (TerminateInstancesResult) exchange.getIn().getBody();
-        assertEquals("test-1", resultGet.getTerminatingInstances().get(0).getInstanceId());
-        assertEquals(InstanceStateName.Running.toString(),
-                resultGet.getTerminatingInstances().get(0).getPreviousState().getName());
-        assertEquals(InstanceStateName.Terminated.toString(),
-                resultGet.getTerminatingInstances().get(0).getCurrentState().getName());
-    }
-
-    @Test
-    public void ec2DescribeInstancesTest() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:describe", new Processor() {
-
-            @Override
-            public void process(Exchange exchange) throws Exception {
-
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        DescribeInstancesResult resultGet = (DescribeInstancesResult) exchange.getIn().getBody();
-        assertEquals(1, resultGet.getReservations().size());
-        assertEquals(2, resultGet.getReservations().get(0).getInstances().size());
-    }
-
-    @Test
-    public void ec2DescribeSpecificInstancesTest() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:describe", new Processor() {
-
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                Collection<String> l = new ArrayList<>();
-                l.add("instance-1");
-                exchange.getIn().setHeader(EC2Constants.INSTANCES_IDS, l);
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        DescribeInstancesResult resultGet = (DescribeInstancesResult) exchange.getIn().getBody();
-        assertEquals(1, resultGet.getReservations().size());
-        assertEquals(1, resultGet.getReservations().get(0).getInstances().size());
-    }
-
-    @Test
-    public void ec2DescribeInstancesStatusTest() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:describeStatus", new Processor() {
-
-            @Override
-            public void process(Exchange exchange) throws Exception {
-
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        DescribeInstanceStatusResult resultGet = (DescribeInstanceStatusResult) exchange.getIn().getBody();
-        assertEquals(2, resultGet.getInstanceStatuses().size());
-    }
-
-    @Test
-    public void ec2DescribeStatusSpecificInstancesTest() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:describeStatus", new Processor() {
-
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                Collection<String> l = new ArrayList<>();
-                l.add("test-1");
-                exchange.getIn().setHeader(EC2Constants.INSTANCES_IDS, l);
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        DescribeInstanceStatusResult resultGet = (DescribeInstanceStatusResult) exchange.getIn().getBody();
-        assertEquals(1, resultGet.getInstanceStatuses().size());
-        assertEquals(InstanceStateName.Running.toString(), resultGet.getInstanceStatuses().get(0).getInstanceState().getName());
-    }
-
-    @Test
-    public void ec2RebootInstancesTest() throws Exception {
-
-        mock.expectedMessageCount(1);
-        template.request("direct:reboot", new Processor() {
-
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                Collection<String> l = new ArrayList<>();
-                l.add("test-1");
-                exchange.getIn().setHeader(EC2Constants.INSTANCES_IDS, l);
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-    }
-
-    @Test
-    public void ec2MonitorInstancesTest() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:monitor", new Processor() {
-
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                Collection<String> l = new ArrayList<>();
-                l.add("test-1");
-                exchange.getIn().setHeader(EC2Constants.INSTANCES_IDS, l);
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        MonitorInstancesResult resultGet = (MonitorInstancesResult) exchange.getIn().getBody();
-
-        assertEquals(1, resultGet.getInstanceMonitorings().size());
-        assertEquals("test-1", resultGet.getInstanceMonitorings().get(0).getInstanceId());
-        assertEquals(MonitoringState.Enabled.toString(), resultGet.getInstanceMonitorings().get(0).getMonitoring().getState());
-    }
-
-    @Test
-    public void ec2UnmonitorInstancesTest() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:unmonitor", new Processor() {
-
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                Collection<String> l = new ArrayList<>();
-                l.add("test-1");
-                exchange.getIn().setHeader(EC2Constants.INSTANCES_IDS, l);
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        UnmonitorInstancesResult resultGet = (UnmonitorInstancesResult) exchange.getIn().getBody();
-
-        assertEquals(1, resultGet.getInstanceMonitorings().size());
-        assertEquals("test-1", resultGet.getInstanceMonitorings().get(0).getInstanceId());
-        assertEquals(MonitoringState.Disabled.toString(), resultGet.getInstanceMonitorings().get(0).getMonitoring().getState());
-    }
-
-    @Test
-    public void ec2CreateTagsTest() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:createTags", new Processor() {
-
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                Collection<String> l = new ArrayList<>();
-                l.add("test-1");
-                exchange.getIn().setHeader(EC2Constants.INSTANCES_IDS, l);
-                Collection<String> tags = new ArrayList<>();
-                tags.add("pacific");
-                exchange.getIn().setHeader(EC2Constants.INSTANCES_TAGS, tags);
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        CreateTagsResult resultGet = (CreateTagsResult) exchange.getIn().getBody();
-
-        assertNotNull(resultGet);
-    }
-
-    @Test
-    public void ec2DeleteTagsTest() throws Exception {
-
-        mock.expectedMessageCount(1);
-        Exchange exchange = template.request("direct:deleteTags", new Processor() {
-
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                Collection<String> l = new ArrayList<>();
-                l.add("test-1");
-                exchange.getIn().setHeader(EC2Constants.INSTANCES_IDS, l);
-                Collection<String> tags = new ArrayList<>();
-                tags.add("pacific");
-                exchange.getIn().setHeader(EC2Constants.INSTANCES_TAGS, tags);
-            }
-        });
-
-        assertMockEndpointsSatisfied();
-
-        DeleteTagsResult resultGet = (DeleteTagsResult) exchange.getIn().getBody();
-
-        assertNotNull(resultGet);
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:createAndRun")
-                        .to("aws-ec2://test?amazonEc2Client=#amazonEc2Client&operation=createAndRunInstances")
-                        .to("mock:result");
-                from("direct:start")
-                        .to("aws-ec2://test?amazonEc2Client=#amazonEc2Client&operation=startInstances")
-                        .to("mock:result");
-                from("direct:stop")
-                        .to("aws-ec2://test?amazonEc2Client=#amazonEc2Client&operation=stopInstances")
-                        .to("mock:result");
-                from("direct:terminate")
-                        .to("aws-ec2://test?amazonEc2Client=#amazonEc2Client&operation=terminateInstances")
-                        .to("mock:result");
-                from("direct:describe")
-                        .to("aws-ec2://test?amazonEc2Client=#amazonEc2Client&operation=describeInstances")
-                        .to("mock:result");
-                from("direct:describeStatus")
-                        .to("aws-ec2://test?amazonEc2Client=#amazonEc2Client&operation=describeInstancesStatus")
-                        .to("mock:result");
-                from("direct:reboot")
-                        .to("aws-ec2://test?amazonEc2Client=#amazonEc2Client&operation=rebootInstances")
-                        .to("mock:result");
-                from("direct:monitor")
-                        .to("aws-ec2://test?amazonEc2Client=#amazonEc2Client&operation=monitorInstances")
-                        .to("mock:result");
-                from("direct:unmonitor")
-                        .to("aws-ec2://test?amazonEc2Client=#amazonEc2Client&operation=unmonitorInstances")
-                        .to("mock:result");
-                from("direct:createTags")
-                        .to("aws-ec2://test?amazonEc2Client=#amazonEc2Client&operation=createTags")
-                        .to("mock:result");
-                from("direct:deleteTags")
-                        .to("aws-ec2://test?amazonEc2Client=#amazonEc2Client&operation=deleteTags")
-                        .to("mock:result");
-            }
-        };
-    }
-}
diff --git a/components/camel-aws-ec2/src/test/java/org/apache/camel/component/aws/ec2/integration/EC2ComponentIntegrationTest.java b/components/camel-aws-ec2/src/test/java/org/apache/camel/component/aws/ec2/integration/EC2ComponentIntegrationTest.java
deleted file mode 100644
index a1d9193..0000000
--- a/components/camel-aws-ec2/src/test/java/org/apache/camel/component/aws/ec2/integration/EC2ComponentIntegrationTest.java
+++ /dev/null
@@ -1,237 +0,0 @@
-/*
- * 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.component.aws.ec2.integration;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import com.amazonaws.services.ec2.model.InstanceType;
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.aws.ec2.EC2Constants;
-import org.apache.camel.component.aws.ec2.EC2Operations;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.Disabled;
-import org.junit.jupiter.api.Test;
-
-@Disabled("Must be manually tested. Provide your own accessKey and secretKey!")
-public class EC2ComponentIntegrationTest extends CamelTestSupport {
-
-    @Test
-    public void createAndRunInstancesTest() {
-
-        template.send("direct:createAndRun", new Processor() {
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(EC2Constants.IMAGE_ID, "ami-fd65ba94");
-                exchange.getIn().setHeader(EC2Constants.INSTANCE_TYPE, InstanceType.T2Micro);
-                exchange.getIn().setHeader(EC2Constants.INSTANCE_MIN_COUNT, 1);
-                exchange.getIn().setHeader(EC2Constants.INSTANCE_MAX_COUNT, 1);
-            }
-        });
-    }
-
-    @Test
-    public void createAndRunInstancesWithSecurityGroupsTest() {
-
-        template.send("direct:createAndRun", new Processor() {
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(EC2Constants.IMAGE_ID, "ami-fd65ba94");
-                exchange.getIn().setHeader(EC2Constants.INSTANCE_TYPE, InstanceType.T2Micro);
-                exchange.getIn().setHeader(EC2Constants.INSTANCE_MIN_COUNT, 1);
-                exchange.getIn().setHeader(EC2Constants.INSTANCE_MAX_COUNT, 1);
-                Collection<String> secGroups = new ArrayList<>();
-                secGroups.add("secgroup-1");
-                secGroups.add("secgroup-2");
-                exchange.getIn().setHeader(EC2Constants.INSTANCE_SECURITY_GROUPS, secGroups);
-            }
-        });
-    }
-
-    @Test
-    public void ec2CreateAndRunTestWithKeyPair() throws Exception {
-
-        template.request("direct:createAndRun", new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(EC2Constants.OPERATION, EC2Operations.createAndRunInstances);
-                exchange.getIn().setHeader(EC2Constants.IMAGE_ID, "ami-fd65ba94");
-                exchange.getIn().setHeader(EC2Constants.INSTANCE_TYPE, InstanceType.T2Micro);
-                exchange.getIn().setHeader(EC2Constants.INSTANCE_MIN_COUNT, 1);
-                exchange.getIn().setHeader(EC2Constants.INSTANCE_MAX_COUNT, 1);
-                exchange.getIn().setHeader(EC2Constants.INSTANCES_KEY_PAIR, "keypair-1");
-            }
-        });
-    }
-
-    @Test
-    public void stopInstances() {
-
-        template.send("direct:stop", new Processor() {
-            public void process(Exchange exchange) throws Exception {
-                Collection<String> l = new ArrayList<>();
-                l.add("test-1");
-                exchange.getIn().setHeader(EC2Constants.INSTANCES_IDS, l);
-            }
-        });
-    }
-
-    @Test
-    public void startInstances() {
-
-        template.send("direct:start", new Processor() {
-            public void process(Exchange exchange) throws Exception {
-                Collection<String> l = new ArrayList<>();
-                l.add("test-1");
-                exchange.getIn().setHeader(EC2Constants.INSTANCES_IDS, l);
-            }
-        });
-    }
-
-    @Test
-    public void terminateInstances() {
-
-        template.send("direct:terminate", new Processor() {
-            public void process(Exchange exchange) throws Exception {
-                Collection<String> l = new ArrayList<>();
-                l.add("test-1");
-                exchange.getIn().setHeader(EC2Constants.INSTANCES_IDS, l);
-            }
-        });
-    }
-
-    @Test
-    public void ec2DescribeInstancesTest() throws Exception {
-
-        template.request("direct:describe", new Processor() {
-
-            @Override
-            public void process(Exchange exchange) throws Exception {
-
-            }
-        });
-    }
-
-    @Test
-    public void ec2DescribeSpecificInstancesTest() throws Exception {
-
-        template.request("direct:describe", new Processor() {
-
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                Collection<String> l = new ArrayList<>();
-                l.add("instance-1");
-                exchange.getIn().setHeader(EC2Constants.INSTANCES_IDS, l);
-            }
-        });
-    }
-
-    @Test
-    public void ec2DescribeInstancesStatusTest() throws Exception {
-
-        template.request("direct:describeStatus", new Processor() {
-
-            @Override
-            public void process(Exchange exchange) throws Exception {
-
-            }
-        });
-    }
-
-    @Test
-    public void ec2DescribeStatusSpecificInstancesTest() throws Exception {
-
-        template.request("direct:describeStatus", new Processor() {
-
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                Collection<String> l = new ArrayList<>();
-                l.add("test-1");
-                exchange.getIn().setHeader(EC2Constants.INSTANCES_IDS, l);
-            }
-        });
-    }
-
-    @Test
-    public void ec2RebootInstancesTest() throws Exception {
-
-        template.request("direct:reboot", new Processor() {
-
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                Collection<String> l = new ArrayList<>();
-                l.add("test-1");
-                exchange.getIn().setHeader(EC2Constants.INSTANCES_IDS, l);
-            }
-        });
-    }
-
-    @Test
-    public void ec2MonitorInstancesTest() throws Exception {
-
-        template.request("direct:monitor", new Processor() {
-
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                Collection<String> l = new ArrayList<>();
-                l.add("test-1");
-                exchange.getIn().setHeader(EC2Constants.INSTANCES_IDS, l);
-            }
-        });
-    }
-
-    @Test
-    public void ec2UnmonitorInstancesTest() throws Exception {
-
-        template.request("direct:unmonitor", new Processor() {
-
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                Collection<String> l = new ArrayList<>();
-                l.add("test-1");
-                exchange.getIn().setHeader(EC2Constants.INSTANCES_IDS, l);
-            }
-        });
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:createAndRun")
-                        .to("aws-ec2://TestDomain?accessKey=xxxx&secretKey=xxxx&operation=createAndRunInstances");
-                from("direct:stop")
-                        .to("aws-ec2://TestDomain?accessKey=xxxx&secretKey=xxxx&operation=stopInstances");
-                from("direct:start")
-                        .to("aws-ec2://TestDomain?accessKey=xxxx&secretKey=xxxx&operation=startInstances");
-                from("direct:terminate")
-                        .to("aws-ec2://TestDomain?accessKey=xxxx&secretKey=xxxx&operation=terminateInstances");
-                from("direct:describe")
-                        .to("aws-ec2://TestDomain?accessKey=xxxx&secretKey=xxxx&operation=describeInstances");
-                from("direct:describeStatus")
-                        .to("aws-ec2://TestDomain?accessKey=xxxx&secretKey=xxxx&operation=describeInstancesStatus");
-                from("direct:reboot")
-                        .to("aws-ec2://TestDomain?accessKey=xxxx&secretKey=xxxx&operation=rebootInstances");
-                from("direct:monitor")
-                        .to("aws-ec2://TestDomain?accessKey=xxxx&secretKey=xxxx&operation=monitorInstances");
-                from("direct:unmonitor")
-                        .to("aws-ec2://TestDomain?accessKey=xxxx&secretKey=xxxx&operation=unmonitorInstances");
-            }
-        };
-    }
-}
diff --git a/components/camel-aws-ec2/src/test/resources/log4j2.properties b/components/camel-aws-ec2/src/test/resources/log4j2.properties
deleted file mode 100644
index 675288b..0000000
--- a/components/camel-aws-ec2/src/test/resources/log4j2.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-appender.file.type = File
-appender.file.name = file
-appender.file.fileName = target/camel-aws-ec2-test.log
-appender.file.layout.type = PatternLayout
-appender.file.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
-appender.out.type = Console
-appender.out.name = out
-appender.out.layout.type = PatternLayout
-appender.out.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
-rootLogger.level = INFO
-rootLogger.appenderRef.file.ref = file
diff --git a/components/camel-aws-ec2/src/test/resources/org/apache/camel/component/aws/ec2/EC2ComponentSpringTest-context.xml b/components/camel-aws-ec2/src/test/resources/org/apache/camel/component/aws/ec2/EC2ComponentSpringTest-context.xml
deleted file mode 100644
index 26a4de1..0000000
--- a/components/camel-aws-ec2/src/test/resources/org/apache/camel/component/aws/ec2/EC2ComponentSpringTest-context.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-<?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.
-
--->
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="
-    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
-    http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
-
-    <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
-        <route>
-            <from uri="direct:createAndRun"/>
-            <to uri="aws-ec2://Test?amazonEc2Client=#amazonEc2Client&amp;operation=createAndRunInstances"/>
-        </route>
-        <route>
-            <from uri="direct:start"/>
-            <to uri="aws-ec2://Test?amazonEc2Client=#amazonEc2Client&amp;operation=startInstances"/>
-        </route>
-        <route>
-            <from uri="direct:stop"/>
-            <to uri="aws-ec2://Test?amazonEc2Client=#amazonEc2Client&amp;operation=stopInstances"/>
-        </route>
-        <route>
-            <from uri="direct:terminate"/>
-            <to uri="aws-ec2://Test?amazonEc2Client=#amazonEc2Client&amp;operation=terminateInstances"/>
-        </route>
-        <route>
-            <from uri="direct:describe"/>
-            <to uri="aws-ec2://Test?amazonEc2Client=#amazonEc2Client&amp;operation=describeInstances"/>
-        </route>
-        <route>
-            <from uri="direct:describeStatus"/>
-            <to uri="aws-ec2://Test?amazonEc2Client=#amazonEc2Client&amp;operation=describeInstancesStatus"/>
-        </route>
-        <route>
-            <from uri="direct:reboot"/>
-            <to uri="aws-ec2://Test?amazonEc2Client=#amazonEc2Client&amp;operation=rebootInstances"/>
-        </route>
-        <route>
-            <from uri="direct:monitor"/>
-            <to uri="aws-ec2://Test?amazonEc2Client=#amazonEc2Client&amp;operation=monitorInstances"/>
-        </route>
-        <route>
-            <from uri="direct:unmonitor"/>
-            <to uri="aws-ec2://Test?amazonEc2Client=#amazonEc2Client&amp;operation=unmonitorInstances"/>
-        </route>
-    </camelContext>
-
-    <bean id="amazonEc2Client" class="org.apache.camel.component.aws.ec2.AmazonEC2ClientMock"/>
-</beans>
\ No newline at end of file
diff --git a/components/pom.xml b/components/pom.xml
index 7e8bc74..83687da 100644
--- a/components/pom.xml
+++ b/components/pom.xml
@@ -109,7 +109,6 @@
         <module>camel-avro-rpc</module>
         <module>camel-aws-cw</module>
         <module>camel-aws-ddb</module>
-        <module>camel-aws-ec2</module>
         <module>camel-aws-s3</module>
         <module>camel-aws-swf</module>
         <module>camel-aws2-athena</module>